From f2526b17202c3efe48d539b4e33bb19af586040c Mon Sep 17 00:00:00 2001 From: Brummel Date: Fri, 10 Jul 2026 00:04:27 +0200 Subject: [PATCH] =?UTF-8?q?docs(cli,ledger):=20#168=20cycle-close=20audit?= =?UTF-8?q?=20=E2=80=94=20reconcile=20the=20--trace=20surfaces=20(closes?= =?UTF-8?q?=20#168)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The #168 refusal left sibling --trace surfaces still lying and the design ledger still describing CLI --trace as a live persist path (surfaced by the cycle-close architect drift review). Reconcile them to record reality: - the chart NotFound hint no longer points at `aura run --trace` (itself refused); it names the live trace-writer (a campaign document's persist_taps presentation). - RunCmd/McCmd --trace help stop promising persistence (both flags already refuse). - README drops --trace from the live naming flags. - the ledger records the CLI --trace retirement: per-member --trace was never wired to the blueprint sweep (`let _ = persist`) and was silently dropped at #159/#220 — it never migrated as the old HISTORY note claimed; the single live TraceStore::write is the campaign persist_taps; restoration is deferred to #224. Workspace suite green (62 groups / 0 failed), clippy -D warnings clean. closes #168 --- README.md | 2 +- crates/aura-cli/src/main.rs | 6 +++--- docs/design/INDEX.md | 12 +++++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8511c2f..0ce9615 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ don't want to vary with a single-value axis (`--axis name=4`). Omitting one is a clean error naming the missing knob, not a silent default. Use `aura --help` for the full data-window (`--real`/`--from`/`--to`), -naming (`--name`/`--trace`), and selection (`--select`) flags. +naming (`--name`), and selection (`--select`) flags. ## Authoring & introspecting topology diff --git a/crates/aura-cli/src/main.rs b/crates/aura-cli/src/main.rs index 3a3ab48..ca9817c 100644 --- a/crates/aura-cli/src/main.rs +++ b/crates/aura-cli/src/main.rs @@ -447,7 +447,7 @@ fn emit_chart(name: &str, tap: Option<&str>, mode: ChartMode, env: &project::Env NameKind::NotFound => { eprintln!( "aura: no recorded run or family '{name}' under runs/traces \ - (run `aura run --trace {name}` first)" + (traces are written by a campaign document's `persist_taps` presentation)" ); std::process::exit(1); } @@ -2149,7 +2149,7 @@ struct RunCmd { /// Window end (Unix ms, inclusive); requires --real. #[arg(long)] to: Option, - /// Persist the run's taps under `runs/traces/` and still print the report. + /// Not accepted — CLI-side trace persistence is retired (see #224). #[arg(long)] trace: Option, } @@ -2235,7 +2235,7 @@ struct McCmd { /// Family name for the synthetic seed-resweep (records without persisting traces). #[arg(long)] name: Option, - /// Family name that also persists each seed's taps (mutually exclusive with --name). + /// Not accepted with --real — the R-bootstrap records without a family name. #[arg(long)] trace: Option, /// Blueprint IS-refit axis `=` (repeatable, >=1 required; --real mode). diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index f190611..2f34bcf 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -999,8 +999,12 @@ stay byte-unchanged, and the field carries `#[serde(default)]` (C18). Below the `runs/traces///` via the same `persist_traces_r` the single run uses; per-member `--trace` is symmetric across all three sweep strategies. [HISTORY — the built-in `--strategy` sweep triple (sma / momentum / r-sma) was -retired with the demos → blueprint-data (#159, cuts 1b-4); the per-member -`--trace` symmetry now lives on the `aura sweep ` path.] +retired with the demos → blueprint-data (#159, cuts 1b-4). The per-member +`--trace` symmetry was NOT carried to the `aura sweep ` path — it +was silently dropped at #159/#220 (`run_blueprint_sweep` never wired `persist`; +`let _ = persist`), and #168 makes the surface honest: `sweep`/`walkforward` (like +the pre-existing `run`/`mc`) now refuse `--trace` outright. See the CLI-`--trace` +retirement amendment below.] **Realization (cycle 0068, #115 — position-event derive).** [The derivation survives as the **deploy / reconciliation** layer per the 2026-06-28 reframe — its @@ -1836,6 +1840,8 @@ view-side change — the write-side precondition for the family-comparison **vie (overlay / small-multiples across members) — now realized (#107; see the families-comparison amendment below). +**Amendment (CLI `--trace` retired, #168 / #224).** The CLI-verb `--trace` story above (single-run `run --trace`, amendment 3b56efb; per-member `sweep|mc|walkforward --trace`, #104) describes capabilities that no longer reach the code. `run` and `mc` refuse `--trace` (structurally parseable, refused at dispatch); the per-member family `--trace` was never wired to the blueprint sweep (`run_blueprint_sweep`'s `let _ = persist`) and was silently dropped when the welded `--strategy` triple retired (#159/#220). #168 makes the surface honest — `sweep`/`walkforward --trace` now refuse up front (exit 2, forward-pointer to #224). The single live `TraceStore::write` site is the campaign `presentation.persist_taps` → `runs/traces//` (`persist_campaign_traces`); `aura chart ` reads that back. Restoring CLI-side per-member trace-writing is deferred to #224. + **Amendment (real-data family source, #106, 8e5d14b).** The family runs gain an **opt-in real-data source axis**: `aura sweep|walkforward --real [--from ] [--to ]` streams real M1 close bars from the data-server archive (the #71 @@ -2150,7 +2156,7 @@ construction** (and stays so across #159's harness retirement — the listing tr sweep actually resolves, never a second source of truth). The names are prefixed by the current r-sma wrapping (`sma_signal.fast.length`, the nested-composite prefix), not the raw `param_space` — which is why the discovery lives on the sweep verb (it owns the wrapping), not -`graph introspect`. Per-member trace-writing on `--trace` (#168) remains tracked debt. +`graph introspect`. CLI `--trace` is refused on all verbs (#168 for sweep/walkforward; run/mc already refused); the live trace-writer is the campaign `presentation.persist_taps` (`persist_campaign_traces`), and restoring per-member CLI traces is tracked by #224. **Content-addressed reproduction shipped (cycle 0094, #158, C18)**: `topology_hash` landed cycle 0092; re-deriving a member's FlatGraph from a stored manifest + the