Skip to content

v0.18.0 — walk legibility + studio drive mode

Choose a tag to compare

@kvdm-co-pilot kvdm-co-pilot released this 27 Aug 14:31
· 82 commits to main since this release

Two approved feature waves. Harness → 0.16.0.

Walk legibility

The walk speaks human, the console carries it, and the console is always there.

  • Briefs name their specs"specs": ["catalog", "entry-editing"] in the cmp:feature block, the **Spec:** paragraph as fallback, filename as default. One pairing function feeds the board, coverage, the walk and the console. Closes a real defect: a brief whose promises live in two specs used to put a standing false instruction on the primary surface, inviting a second definition of already-signed behavior.
  • Chat is a walk surface — every reply opens with a machinery-authored header line (the statusline's own string, delivered by the per-prompt hook and pasted verbatim). It cannot drift, and unlike the statusline it persists in the transcript.
  • Plain words at the boundary — stage glosses and artifact translation everywhere a human reads, including the Stop hook, which now opens ■ Prove — not done: …. Ledger ids never change.
  • Time is part of position — the lane's cost is read from its own flight recorder ("98s last full run"), never estimated.
  • The console leads every call to action — your-turn cards point at the studio first; the In-flight card carries the full promise list with per-promise state, the measured lane cost, the signature button on the row, and arrivals as now/after buttons.
  • The console is a residentpreview now spawns a detached console that survives MCP respawns; connecting the MCP inside a create-cmp app ensures one at session start; a crashed console is loud on four surfaces (statusline · console down, doctor's console-liveness finding, the injected prompt, and the tool result).

Studio drive mode

Third report of the same complexity problem, fixed by demotion rather than another aggregation layer.

  • Drive replaces Overview as the driving surface: the live chain, the walk cards, the queue with its buttons — with the page's own digest and history folded away.
  • Pages answer first — every mirror section renders its verdict, with the complete derived corpus behind one "Read the full …" disclosure. A section the queue points at greets open, and "take me there" opens the folds on the way. The spec-mirror principle is untouched; only default expansion changed.
  • The live chainRequest: <the ask> · ✓ 1 → ◉ 2 → ○ 3 · now: step 2 of 3, in the studio, the injected prompt, and qa/walk-status.mjs. Three labeled provenance tiers: the request is recorded mechanically from the human's own prompt; the steps are agent-declared through the new node qa/plan.mjs and always carry their age; the lane/render markers say what is actually running and override. The chain gates nothing — the walk stays the truth — and its ephemeral files are excluded from the receipt's hashed inputs, so a prompt can never invalidate a receipt.

Release evidence

  • Fleet check PASS — a scratch app stamped from this tree and its full lane run; harnessIntegrity: PASS (@create-cmp/harness 0.16.0 — 40 files verified).
  • Engine suite 1148/1148; inspector suite 556/556; plugin bundle rebuilt and verified current.
  • Evidence rung: L1 desktop. No device was attached for this release, so e2eSmoke, androidChecks and tokenDrift SKIPped — v0.17.1 shipped with L2 device proof and this one does not. The changed surface is Node-side (lane libraries and console rendering) and CI's stamp + assembleDebug lane passed on the merge commit, so the risk is low, but the rung is genuinely lower and is recorded rather than glossed.

Full changelog: v0.17.1...v0.18.0