docs(cli,ledger): #168 cycle-close audit — reconcile the --trace surfaces (closes #168)

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
This commit is contained in:
2026-07-10 00:04:27 +02:00
parent abbfbdc208
commit f2526b1720
3 changed files with 13 additions and 7 deletions
+1 -1
View File
@@ -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. clean error naming the missing knob, not a silent default.
Use `aura <cmd> --help` for the full data-window (`--real`/`--from`/`--to`), Use `aura <cmd> --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 ## Authoring & introspecting topology
+3 -3
View File
@@ -447,7 +447,7 @@ fn emit_chart(name: &str, tap: Option<&str>, mode: ChartMode, env: &project::Env
NameKind::NotFound => { NameKind::NotFound => {
eprintln!( eprintln!(
"aura: no recorded run or family '{name}' under runs/traces \ "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); std::process::exit(1);
} }
@@ -2149,7 +2149,7 @@ struct RunCmd {
/// Window end (Unix ms, inclusive); requires --real. /// Window end (Unix ms, inclusive); requires --real.
#[arg(long)] #[arg(long)]
to: Option<i64>, to: Option<i64>,
/// Persist the run's taps under `runs/traces/<name>` and still print the report. /// Not accepted — CLI-side trace persistence is retired (see #224).
#[arg(long)] #[arg(long)]
trace: Option<String>, trace: Option<String>,
} }
@@ -2235,7 +2235,7 @@ struct McCmd {
/// Family name for the synthetic seed-resweep (records without persisting traces). /// Family name for the synthetic seed-resweep (records without persisting traces).
#[arg(long)] #[arg(long)]
name: Option<String>, name: Option<String>,
/// 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)] #[arg(long)]
trace: Option<String>, trace: Option<String>,
/// Blueprint IS-refit axis `<name>=<csv>` (repeatable, >=1 required; --real mode). /// Blueprint IS-refit axis `<name>=<csv>` (repeatable, >=1 required; --real mode).
+9 -3
View File
@@ -999,8 +999,12 @@ stay byte-unchanged, and the field carries `#[serde(default)]` (C18). Below the
`runs/traces/<n>/<member_key>/` via the same `persist_traces_r` the single run uses; `runs/traces/<n>/<member_key>/` via the same `persist_traces_r` the single run uses;
per-member `--trace` is symmetric across all three sweep strategies. per-member `--trace` is symmetric across all three sweep strategies.
[HISTORY — the built-in `--strategy` sweep triple (sma / momentum / r-sma) was [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 retired with the demos → blueprint-data (#159, cuts 1b-4). The per-member
`--trace` symmetry now lives on the `aura sweep <blueprint.json>` path.] `--trace` symmetry was NOT carried to the `aura sweep <blueprint.json>` 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 **Realization (cycle 0068, #115 — position-event derive).** [The derivation
survives as the **deploy / reconciliation** layer per the 2026-06-28 reframe — its 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 (overlay / small-multiples across members) — now realized (#107; see the
families-comparison amendment below). 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/<name>/` (`persist_campaign_traces`); `aura chart <name>` 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 **Amendment (real-data family source, #106, 8e5d14b).** The family runs gain an
**opt-in real-data source axis**: `aura sweep|walkforward --real <SYMBOL> [--from **opt-in real-data source axis**: `aura sweep|walkforward --real <SYMBOL> [--from
<ms>] [--to <ms>]` streams real M1 close bars from the data-server archive (the #71 <ms>] [--to <ms>]` 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 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 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 `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` **Content-addressed reproduction shipped (cycle 0094, #158, C18)**: `topology_hash`
landed cycle 0092; re-deriving a member's FlatGraph from a stored manifest + the landed cycle 0092; re-deriving a member's FlatGraph from a stored manifest + the