githubnext/chopinPublic

Let's compose rich plans together

Show in the composer whether a message reaches the Planner or only the room

A message without @chopin is sent as a room message, and the composer gave
no sign of it, so a member who expected a Planner reply got silence.

The composer now says, below the draft and before anything is sent, "Sends
to the Planner, which will reply" or "Room only. Add @chopin to ask the
Planner". The cue comes from the same chatSendPayload prediction the send
uses, so it follows references and an off Planner (no cue) exactly as the
wire destination will. The @chopin addressing rule and addressed() are
unchanged, and the Send button keeps its name.

Assistant-workflow: goal (run c99248c7-a6cb-4858-95f9-5039c865f0b6)
Assistant-model: Claude Sonnet 5.5
Assistant-verification: bun test passed: apps/web 355 pass, 0 fail, including destinationCue cases for room, planner, reference-masked mention, empty draft and Planner off
Assistant-verification: bun run types and bun run ci passed: dprint, oxlint (7 existing warnings, none new), tokens, design contract, Impeccable (no new findings)
Assistant-verification: playwright e2e passed: bun run e2e e2e/harness.e2e.ts, 2 passed including the composer destination cue test
Co-authored-by: Alex Lavaee <lavaman131@github.com>
ALAlex Lavaee authored
18fa280Patch
Parent2706f4f
4 files changed+79-1
StackedSplit
apps/web/src/chat/chat.tsx+21 −1
apps/web/src/chat/references.test.ts+27 −0
apps/web/src/chat/references.ts+18 −0
e2e/harness.e2e.ts+13 −0