A review page for epic conduit-test-ahu8. Part 1 shows each component the beads tell an agent to build, using the round-3 scenario: one 44-minute turn with 34 messages, an open Ask at #24, and #1 raised by you. Part 2 lists the 16 places the spec departs from the B3, B7 and M4 mockups, each with the reason and what reversing it would cost.
The turns are live and built on B3 · Scrub and summary: the coloured activity strip, two pin rows, the card above the pins, and the summary with its model pill. The spec's level function runs on real weights, so the counts match the mockups: Key 6, Balanced 16, All 34. Drag along the strip or the pins, tap a pin or a group pill, press ▲ Raise, and use the keyboard once a turn has focus. The other originals are B7 · Footnoted recap and M4 · Teach mode.
Everything sits inside the existing TurnActivity block, which keeps its head and step log. A pure surfaceTurn function decides what the strip, pins and card show, and the Svelte components just render it. With the feature off, the block looks exactly like today's.
From top to bottom: the head with its unread count, the card, the two pin rows, the coloured activity strip with its thumb, the axis, then the summary. The card always sits above the pins, with its caret pointing at the pin it shows, in live and settled turns alike.
session_switched path.session_switched path.Done. The session list, unread badges and push deep links now run on the typed stream. session_switched survives behind CONDUIT_LEGACY_SWITCH=1 for one release. One open question: recapture phone-sidebar (a 2px shift), or keep the old paint order?
Working · 38m 12s or Worked · 18 searches · … (click to open the step log), the bill, and N unread, which opens the next unread. It reads All read ✓ at zero. Unread covers every surfaced message, not just those at the current level.needs reply on the open Ask, ▲ you · reason, ● unread, #24 · 31:02 · 7/16 and a Read checkbox. Body: the full text as markdown, never clamped. Foot: ↩ Reply, ▲ Raise, ▼ Lower, ⇄ Retype, then now ⇥ (live, once you've moved off the newest), ‹ ›, and fold (–) or close (✕).00:00 · the Ask chip ? 1 open · #24 · progress 21/30 read › (opens the next unread) · ⚠ N not judged · the level control (Final, Key, Balanced, All, with a count) and its override dot · 38:12 now, or now ⇥ once you've scrubbed away in a live turn.… pin and holds the card. Once Jev answers, a routine message's pin disappears, the card falls back to the newest surfaced message, and the routine line joins the step log. Try Next message arrives.Each pin sits at its time offset. Pins are placed most urgent first into two rows, 34px apart (38px on phone). A pin with no room joins its nearest placed neighbour's group pill, which shows the most urgent member and +k. Tapping a pill opens its lead, and tapping again cycles through the members. While a member is open, the pill shows that member's number, filled. The open Ask is never grouped.
Fold, Final, short turns, nothing at this level, Jev failures, and a turn split into several blocks.
Handing back while the visual suite runs. I'll continue with the unread counter.
Final only · N hidden. Opening any message (Ask chip, a citation, u) switches the session to Balanced.⚠ N not judged with a tooltip.B3's summary box, with its model pill. Each summary is at most 4 sentences, and each [#n] is a citation chip. Citations to unread messages are bold and filled, a citation you've followed turns dashed, and hovering one lifts its pin. When the turn moves on, you can summarise just what's new since the last summary, and page between the old and new ones with ‹ ›.
sonnet-5 · at turn end ▾ opens a menu with the model (Sonnet, Opus, Off) and timing (When a turn ends, On request). It's the global setting, so it applies to every session, and Settings › Surfacing shows the same values. Try it: every turn on this page follows.· 4 new and the box offers ✦ Summarize 4 new · since 38:12 (cheap and short) or ↻ Whole turn.sonnet-5 · 13 updates · 1.8s · written at 44:30, ↻ Regenerate, ✓ Mark N read. Citations are checked against the turn's message numbers, and invalid ones are dropped.Marks are B3's: ▲ Raise and ▼ Lower move a message one level, and ⇄ Retype picks another category. Each opens a one-line Why? row in the card with reason chips and a free-text box. A mark stores the level you chose for that one message, so it doesn't move when weights change. Weights change only through Settings.
▲ Raise #26: All → Balanced. Why?, then Jev's working (● Finding · p .64 × 40 = 26, or routine · p .88), reason chips, your own reason (Enter saves), no reason, and ✕.▲ you · reason, and a Saved · Undo toast shows for 6s. If a ▼ drops a message below the level, the card keeps it open with "Hidden at this level · in the step log".The live turn's composer above already holds two tokens, as in the scenario. Press ↩ Reply (or r) on any message to drop another. Open What the agent receives to see the exact text that gets sent.
? #24 Ask. You write your reply around tokens in the normal composer, so one message can answer several.Re #24 (Ask, 31:02): "<first 280 chars>", followed by your text. The transcript shows the sent text as is.Keys work only while focus is inside the turn, never globally, so typing in the composer is never captured. Click a strip and try them.
| ← → Home End | previous or next pin at the level, first or last |
| digits, then Enter | open #n; if it's below the level it opens with a note |
| a | open the Ask |
| u | next unread (B3 used n, see departure 12) |
| s | open or close the summary |
| r | reply to the open message |
| + − | raise or lower the open message |
| m | toggle read (B3 used v) |
| Esc | close the Why row, then menus, then fold or close the card |
The same components in the same order, at B3's phone sizes: text at least 12px, targets at least 32px tall.
session_switched path.session_switched path.Done. The session list now runs on the typed stream. One open question: recapture phone-sidebar, or keep the old paint order?
00:00, and the level shows Bal.The flag lives in the daemon, because the daemon makes the paid calls. The feature is active when it's enabled and the key is valid or set by an environment variable. The level, model and timing here are the same values the summary pill and level dot change.
The categories are edited as a local draft, with Save and Discard. Change a weight and the readout recomputes for free, because verdicts are cached. Save, and every turn on this page re-levels at once (see departure 8).
what line, a sample count, a weight stepper (±5, or type a value), and actions. Built-ins: Edit definition, Retire, and ↺ Reset when changed. Custom categories: Edit (label, glyph, colour, what, not_for, examples, weight) and Delete, confirmed in the row.score(draft) at no cost. Changing criteria, adding or retiring a category re-scores only when you press Test against my corrections, which shows its Jev call count first.M4's ledger, now read from the database. Opus proposes changes from your marks, and you review them one by one. score uses the same sample every time, so before and after are comparable. Applying a weight change here re-levels the turns above.
#n, an excerpt, Jev's current answer, your mark, your reason, whether the current set agrees, and Clear.avoid.These are the plan's 16 departures from B3, B7 and M4, in the plan's order. For each one, decide whether to keep the departure or go back to the mockup.