feat: the document-first surface closes — show read-back, typed stops, bare plateau

The #300 keystone cycle: the residual run-quintet flags were already
document vocabulary on the --real arm (#210/#220); this closes the loop
and ratifies the surface.

- `aura process|campaign show <content-id>` prints a registered
  document's canonical bytes (print!, no framing — #164), so
  generate -> retrieve -> hand-extend -> re-register needs no direct
  store filesystem access. Refusals reuse the store-hint prose, exit 1.
- walkforward/mc --stop-length/--stop-k become clap-typed i64/f64
  (generalize's form); stop_knob_or and its parse_csv_list helper are
  deleted (multi-value/invalid input is now clap's exit-2 rejection —
  the two dissolved-verb refusal tests retarget, the type-dead unit
  test is deleted).
- --select accepts bare `plateau` as the documented default
  plateau:mean (#227 carry); document schema untouched — the two
  spellings generate content-id-identical campaigns (test-pinned).
- family.rs's quadruplicated demo stop literal collapses onto one
  DEFAULT_STOP const (maintainer-lens drift finding).
- Ledger: C25's "which projection next" line resolved (document-first
  delivered, per-verb identity re-ratified — F8; host/MCP stay
  demand-driven); C18 records the read-back.

Design triage, fork decisions F1-F8, and the auto-signed spec live on
the reference issue. Verification: full workspace suite 1482 passed /
0 failed with the real GER40 archive exercised (the byte-identity
round-trips ran, not skipped); clippy -D warnings clean.

closes #300
This commit is contained in:
2026-07-21 12:50:10 +02:00
parent 4ed6455b64
commit 757e3ac1bd
5 changed files with 517 additions and 100 deletions
+11 -3
View File
@@ -1598,6 +1598,10 @@ by design (the 0106 fieldtest corpus stays as the historical record). Known debt
metric-roster triplication (still hand-maintained, but drift from the shipped
`aura-analysis` types is now test-caught by a cross-crate guard, #190;
single-source removal waits on #147), deflation-constant duplication (#199).
#300 (2026-07-21) closed the store's read loop: `aura process|campaign show
<content-id>` prints a registered document's canonical bytes — the
generate → retrieve → hand-extend → re-register cycle needs no direct store
filesystem access.
**Realization (cycle 0108, #200 — the annotator stages execute).** The v2 executable
shape is `std::sweep [std::gate]* [std::walk_forward]? [std::monte_carlo]?
[std::generalize]?` — an ordered optional annotator suffix, each at most once,
@@ -2526,9 +2530,13 @@ vocabulary (blueprints, process/campaign documents, registry records) is the
canonical layer, and every control surface — the one-shot CLI's executor
verbs, any future long-running host, any MCP face, a World program — is a
projection/executor over those artifacts, never a second home for intent.
Which projection is built next (document-first flag-vocabulary completion, a
typed-protocol host, an MCP face, or none until demand) is deliberately open
— recorded as an open direction fork on #295.
The owner resolved the direction 2026-07-21 (minuted on #295): **document-first
completion first** — delivered by #300: the executor verb set is settled
(`run`, the four thin per-verb generators, and the document verbs
validate/introspect/register/show/run/runs, `show` being #300's read-back
addition), the verbs' per-verb identity re-ratified (#300 F8 — reduction, not
grammar collapse), and a typed-protocol host or MCP face remains demand-driven,
unbuilt.
### C26 — Harness input binding: role names bind archive columns
**Guarantee.** A strategy blueprint declares WHICH data it consumes as the NAMES