Skip to content

merge-prep: Live conversation signposts (supersedes #497)#574

Draft
spashii wants to merge 8 commits into
mainfrom
sam/rebase-feat-signposts-main
Draft

merge-prep: Live conversation signposts (supersedes #497)#574
spashii wants to merge 8 commits into
mainfrom
sam/rebase-feat-signposts-main

Conversation

@spashii
Copy link
Copy Markdown
Member

@spashii spashii commented May 13, 2026

Supersedes #497 by @dtrn2048 — same commits, plus a merge commit that resolves conflicts against current main so it can be merged without a dirty state.

What changed vs #497

Nothing in @dtrn2048's commits. The tip is a merge commit (merge: bring main into feat/signposts-main) that resolves three real-code conflicts and twelve mechanical locale conflicts.

Real-code conflicts

  • echo/frontend/src/components/conversation/hooks/index.ts — JUDGMENT CALL, please review.
    Main migrated useConversationById to call the v2 BFF (bff.get('/conversations/{id}', {include_chunks, include_tags})). PR Add live conversation signposts #497 adds the signposts relation to the existing direct-Directus query.

    The BFF's /conversations/{id} endpoint does not currently expose signposts. I had three options:

    1. Take main's BFF call and drop signposts from the response → breaks the feature.
    2. Take feature's direct Directus call → preserves the feature but reverts the BFF migration for this one hook.
    3. Add include_signposts to the BFF endpoint → real feature work, out of scope for a merge.

    I chose (2). Left a NOTE comment in the file flagging that (3) is the right long-term fix. If you'd prefer (1) or want me to do (3) before merge, say so.

  • echo/frontend/src/components/project/ProjectPortalEditor.tsx: union — language enum gains "uk" (from main) and the schema gains signposting_focus_terms (from feature). Both clean adds.

  • echo/server/dembrane/scheduler.py: both branches added a new scheduler.add_job(...) in the same spot. Kept both jobs.

Mechanical conflicts

  • echo/frontend/src/locales/*.po — 12 files, new msgids on both sides. Took union, re-ran lingui extract to canonicalize #: paths.
  • echo/frontend/src/locales/*.ts — regenerated via lingui compile --typescript.

tsc --noEmit and python -m py_compile both pass locally.

Footprint vs the workspaces epic

Overlap: 12 files (6 locales + the BFF-related hook + tasks.py + a couple of routes). Real rebase friction points if workspaces lands after this:

  • echo/server/dembrane/tasks.py (workspaces +190 lines there; this PR adds +95)
  • echo/frontend/src/components/conversation/hooks/index.ts (workspaces did a -399 line refactor)

The hook conflict above is exactly the kind of thing workspaces will need to revisit anyway — once include_signposts lands on the BFF, the local revert goes away.

Deploy notes (unchanged from #497)

  • New Directus collection conversation_signpost + fields — schema sync needed on deploy.
  • No new env vars.

Confidence

Medium. The locale + scheduler resolutions are confident. The hook resolution is a real architectural call that I'd like a second pair of eyes on before merge.

What I did not do

  • Did not merge. Human call.
  • Did not run the Directus schema sync. Out of scope.
  • Did not add include_signposts to the BFF endpoint. That's a follow-up if you want option (3) above.

Original PR: #497

dtrn2048 and others added 8 commits March 26, 2026 18:59
Harden the new signposting coordination and test paths so the validated review findings no longer block merge.

Made-with: Cursor
Apply the ruff import and dead-code cleanups from the backend lint pass so the branch stays green.

Made-with: Cursor
Resolves conflicts for PR #497 against current main:

- echo/frontend/src/components/conversation/hooks/index.ts:
  main migrated useConversationById to the v2 BFF; PR #497 needs the
  `signposts` relation which the BFF does not yet expose. Kept the
  feature's direct-Directus call and left a NOTE flagging the follow-up.

- echo/frontend/src/components/project/ProjectPortalEditor.tsx:
  Union of additions — language enum gains 'uk' (from main) and the
  schema gains signposting_focus_terms (from feature).

- echo/server/dembrane/scheduler.py:
  Both branches added a new scheduler.add_job(); kept both jobs
  (task_catch_up_pending_signposts + task_check_scheduled_reports).

- echo/frontend/src/locales/*.po: union of new msgids, then re-ran
  lingui extract to canonicalize source paths.
- echo/frontend/src/locales/*.ts: regenerated via lingui compile.

Prep for review/merge; supersedes #497.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2c6ca8c0-3a5c-4fc4-9db2-f1c1440f433a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sam/rebase-feat-signposts-main

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

Hi !

Thank you for contributing to Dembrane ECHO! Before we consider your Pull Request, we ask that you sign our Contributor License Agreement (CLA). This is only required for your first Pull Request.

Please review the CLA, and sign it by adding your GitHub username to the contributors.yml file. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants