From 0f8b3d10453e633784a7192fd69c6788cf391ea4 Mon Sep 17 00:00:00 2001 From: BP <11394934+benjipeng@users.noreply.github.com> Date: Wed, 23 Sep 2026 11:24:21 -0400 Subject: [PATCH] docs: close stage 34, and say in the roadmap what the phase file says Stage 34's plan is consumed: every decision it held already lives in the contract, the composer spec and the conversation-chrome spike, so it is deleted and the phase file's entry says what the stage delivered, which frames the user reviewed, and that they reviewed the activity line in their own terminal. The spike and the branding plan stop pointing at the deleted plan. The roadmap row still called stage 28 in progress; its plan and the phase file both say every slice is implemented and it awaits the user's terminal test, as stage 16 does, and the row now says so. --- .agents/phases/phase-04-product-polish.md | 19 +++--- .agents/plans/phase-04-stage-10-branding.md | 4 +- .../phase-04-stage-34-conversation-chrome.md | 68 ------------------- .agents/roadmap.md | 2 +- .agents/spikes/conversation-chrome/README.md | 2 +- 5 files changed, 15 insertions(+), 80 deletions(-) delete mode 100644 .agents/plans/phase-04-stage-34-conversation-chrome.md diff --git a/.agents/phases/phase-04-product-polish.md b/.agents/phases/phase-04-product-polish.md index 8e324a2..c4a2ed2 100644 --- a/.agents/phases/phase-04-product-polish.md +++ b/.agents/phases/phase-04-product-polish.md @@ -2,7 +2,7 @@ | Field | Value | | --- | --- | -| Status | Active; stages 1–9, 11–15, 17–27, 29 and 31–33 complete; stages 16 and 28 await the user's terminal test; stage 30 automatic-compaction visibility unstarted; stage 34 conversation chrome in progress; stage 10 branding planned and unstarted | +| Status | Active; stages 1–9, 11–15, 17–27, 29 and 31–34 complete; stages 16 and 28 await the user's terminal test; stage 30 automatic-compaction visibility unstarted; stage 10 branding planned and unstarted | | Parent roadmap | [Plexmaton Roadmap](../roadmap.md) | | Product contract | [UI/UX](../ui-ux.md) | | Depends on | Phase 01 interaction ownership; Phase 02 journal/accounting/budget projections; Phase 03 durable collaboration, owned child scheduling, Handoff/Stop, passive recovery and canonical Attention | @@ -392,13 +392,16 @@ Rejected: treating JSONL round trips as independent export/import acceptance. whole turn at once. Where hosted-tool spend belongs in the cost surface stays open in [ui-ux](../ui-ux.md) §open questions. -34. **Conversation chrome — in progress.** The user's turn sits on a band of lifted ground behind a - blue `›` instead of an accent-coloured bar, the composer's rule names the model rather than - repeating the agent, and the activity line moves while the agent works: - the mark's core, the label, elapsed time, effort, and how long the route has been quiet. Both - were chosen from rendered candidates beside Claude Code, Codex and Grok, and both change - presentation only; motion runs on the workspace's one clock ([motion](../specs/motion.md)). The - [stage plan](../plans/phase-04-stage-34-conversation-chrome.md) owns the order. +34. **Conversation chrome — complete.** The user's turn sits on a band behind a blue `›`, and the + composer's rule names the model and its effort (COM-4). The activity line moves on the one + [motion](../specs/motion.md) clock and reads the turn's time without the user's waits, the + effort, and the primary's quiet; idle, it gives its rows back (COM-5). Chosen from rendered + candidates in the [spike](../spikes/conversation-chrome/README.md); the user reviewed the band at + [120](../../crates/plexmaton-tui/frames/user-message-120.svg), + [88](../../crates/plexmaton-tui/frames/user-message-88.svg), + [60](../../crates/plexmaton-tui/frames/user-message-60.svg) and + [hovered](../../crates/plexmaton-tui/frames/user-message-120-hover.svg), and the activity line in + their own terminal. Other roadmap work in performance, math and extensibility receives a stage when its evidence is ready; this phase opening does not claim those capabilities have started. diff --git a/.agents/plans/phase-04-stage-10-branding.md b/.agents/plans/phase-04-stage-10-branding.md index 37fdbfb..7980a7f 100644 --- a/.agents/plans/phase-04-stage-10-branding.md +++ b/.agents/plans/phase-04-stage-10-branding.md @@ -34,8 +34,8 @@ square. It is presentation and nothing else reads it. ## Order and why Static geometry before motion, as the stage has always said. Placement before motion so the frames -that motion must not disturb exist first. The motion owner is stage 34's, so this stage waits for it -rather than growing a second clock. +that motion must not disturb exist first. The mark moves on the motion owner stage 34 landed rather +than growing a second clock. ## Deliberately not in this plan diff --git a/.agents/plans/phase-04-stage-34-conversation-chrome.md b/.agents/plans/phase-04-stage-34-conversation-chrome.md deleted file mode 100644 index d614b31..0000000 --- a/.agents/plans/phase-04-stage-34-conversation-chrome.md +++ /dev/null @@ -1,68 +0,0 @@ -# Plan — Phase 04 stage 34, conversation chrome - -| Field | Value | -| --- | --- | -| Phase | [Phase 04](../phases/phase-04-product-polish.md) stage 34 | -| Contract | [ui-ux](../ui-ux.md) §transcript grammar and its activity-line rule; EFF-4 in [reasoning-effort](../specs/reasoning-effort.md); FR-1 in [frame-loop](../specs/frame-loop.md); TR-6 in [transcript-layout](../specs/transcript-layout.md); SEL-1 and SEL-2 in [selection-and-copy](../specs/selection-and-copy.md) | -| Evidence | [Conversation chrome spike](../spikes/conversation-chrome/README.md): the rendered candidates the user chose from and the survey of three other CLIs | -| Status | Slices 1–4 of 5 implemented and locally verified | - -## Outcome - -The user's turn is told by its surface rather than by a shout, and a working agent is told by a -row that moves and says only what is known: how long the turn has run, at what effort, and how long -the route has been quiet. Both are presentation. Removing either changes no journal entry, no -request and no replay. - -## Contract - -MOT-1 to MOT-3 live in [motion](../specs/motion.md), promoted when the motion owner cited them. - -## Slices - -1. **User message band — implemented.** The user's rows sit on a band of lifted ground across the - conversation's width, the action gutter included, opened by a `›` in the user's own blue, - continuation indented under the text. The band is an eighteenth role, the palette's ground - carried a third of the way to its line, so a theme still reaches every colour. Hover keeps its - boundary rules and puts the copy action on the band. The accent bar is gone. Closed by frames at - wide, medium and narrow, a hovered frame, SEL-2 copy unchanged, TR-6 spacing unchanged, and the - user's message no longer drawing in the accent role. -2. **Composer rule names the model — implemented.** The user found `Message Plexmaton` said nothing: - the primary composer can address only the primary agent, whose name the box above already - carries. The rule now reads the model's display name and its effort, `Muse Spark 1.3 · high`, and - plain `Message` before a model is named; a collapsed composer and a worker's input keep naming - their agent, because there the name does distinguish. Closed by the renamed COM-4 test, refreshed - frames, and every PTY smoke waiting on its own model's title. -3. **Motion owner — implemented.** The effort rail's clock became the workspace's one motion owner: - one deadline, each moving thing answering only whether it is visible, the phase held at the top - of view state where every renderer reads it. The effort rail is its first user with no change in - behaviour. Closed by the effort tests passing unchanged and - `mot_1_one_deadline_serves_every_mover_and_late_wakes_coalesce`. -4. **Activity line — implemented.** The row opens with the mark, then the label, then muted - readings: elapsed across the turn, stopped while an approval or a question waits on the user, the - effort, and after five seconds with nothing from the primary's own route `quiet for`, which a - child's stream does not interrupt. Elapsed reads `11s`, `2m 11s`, `1h 2m`; a short row drops - effort, then quiet, then elapsed. The mark is the Nerd Font's circle, rounded square and square, - outline then filled, eight frames at 200 ms, which the user chose in their own terminal over the - Unicode cycles that shook. It wears blue, the server-tool colour while a hosted search runs, and - stands still in the action-required colour during approval. The readings are presentation: events - are dated as they are applied and the motion clock supplies the instant a frame is drawn for. - After the user's first look in kitty the row gained a blank row beneath it and gives up its rows - when idle with nothing waiting; a selection note never opens them, and rides the status row while - they are closed. Closed by refreshed current-work frames, the readings, turn-count, child-quiet - and footer-rows tests, the selection drags that no longer move, MOT-2 for the mark, and the - activity smokes. -5. **Documents.** Evidence tables current; SVG review of the frames attached; this plan deleted; - the phase row says done. - -## Order and why - -The band first, because it needs no clock and its frames are the baseline every later frame is -compared against. The motion owner before the activity line, so the row is born on the shared clock -and never grows one of its own. Documents last, once the frames exist to review. - -## Deliberately not in this plan - -A token count on the row, because Responses reports usage only at the end of a turn. A verb list, -because the labels are semantic states. Folding long user messages. The mark itself, which is -[stage 10](./phase-04-stage-10-branding.md) and shares MOT-1 to MOT-3. diff --git a/.agents/roadmap.md b/.agents/roadmap.md index 655e5bc..321a527 100644 --- a/.agents/roadmap.md +++ b/.agents/roadmap.md @@ -34,7 +34,7 @@ table in `AGENTS.md` allows. | 01 | One real agent in the workspace: a thin loop over one provider, and the transcript grammar against its output | Closed 2026-09-03: delivered one live OpenAI-compatible agent, five bounded native tools with explicit approval and cancellation, and the reviewed responsive transcript grammar | | 02 | Canonical session state, persistence, durable permission policy, provider transports, context projection and project instructions | Closed 2026-09-12 by scoped evidence: delivered JSONL sessions and recovery, four provider dialects, compaction, durable permissions, AGENTS.md and conversation tree/rewind; unproven recovery/readmission acceptance inherited by Phase 03, independent export/import by Phase 04; MCP optional | | 03 | Durable multi-agent mailbox and runtime ownership | Closed 2026-09-16: delivered ordered durable delegation/mail, owned child scheduling, Stop and Handoff control, passive, process-kill and in-app switch recovery, canonical Attention and the accepted responsive agent workspace | -| 04 | Product polish, performance hardening, math in production, and extensibility | Active; stages 1–9, 11–15, 17–27, 29 and 31–33 complete; stage 16 effort selection awaits user testing; stage 28 model-switch degradation in progress; stage 30 automatic-compaction visibility unstarted; stage 34 conversation chrome in progress; stage 10 branding planned and unstarted | +| 04 | Product polish, performance hardening, math in production, and extensibility | Active; stages 1–9, 11–15, 17–27, 29 and 31–34 complete; stages 16 and 28 await the user's terminal test; stage 30 automatic-compaction visibility unstarted; stage 10 branding planned and unstarted | ## Locked diff --git a/.agents/spikes/conversation-chrome/README.md b/.agents/spikes/conversation-chrome/README.md index 35afe67..a64ddb8 100644 --- a/.agents/spikes/conversation-chrome/README.md +++ b/.agents/spikes/conversation-chrome/README.md @@ -3,7 +3,7 @@ | Field | Value | | --- | --- | | Question | How the working agent, the user's turn and the mark should look, decided from rendered candidates | -| Feeds | [stage 34](../../plans/phase-04-stage-34-conversation-chrome.md) and [stage 10](../../plans/phase-04-stage-10-branding.md) plans | +| Feeds | [Phase 04](../../phases/phase-04-product-polish.md) stage 34, complete, and the [stage 10](../../plans/phase-04-stage-10-branding.md) plan | | Method | HTML mockups in the palette, opened for the user; two kitty scripts for what a browser cannot show | Every decision below was made by the user on a rendered frame, 2026-09-21 and 2026-09-22. The