Make finalized stream responses annotation-capable #10
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
lab/pilcrow#10
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Carry Pilcrow's normative finalized-response annotation interaction into the continuous session stream. Any finalized assistant response may become the one active annotation surface while other responses remain fully readable without permanent marginalia. Older responses remain annotatable while newer work is live; the provisional response is not annotatable.
Use one input and submission flow. With zero annotations, send ordinary readable Pi user content. With one or more annotations, serialize the established structured TOON payload. Text and validated raster attachments work in either form. While Pi is working, both forms use the same ordinary steering behavior as Pi's TUI; do not expose delivery-mode or native queue controls.
An unannotated reply entered while viewing an older response is an ordinary current message with no hidden source-response identity. Preserve canonical rendered-text targeting, one-response range containment, existing attachment validation, and submission authority safeguards.
Acceptance criteria
Blocked by
Implemented in jj revision
9e1efee1(feat(web): integrate annotations into finalized stream responses).What changed:
Audit and regression coverage:
Validation:
git diff --checkpassed.vp checkremains blocked only by the unchanged pre-existing formatting issue in.dev/agents/triage-labels.md.Protocol remains exact v9. Durable hub-owned draft/submission recovery is intentionally left to #11. No server was managed.