08d09df97d
Amend the cycle-0065 spec with the "Iteration 3 - the CLI surface" design: make the Stage-1 R layer operable from the command line (the research loop's primary verb, ergonomic for Claude to drive), splitting the CLI/recording surface out of the originally-lumped iter-2. Design (forks derived under /boss, user-delegated "du entscheidest das Design", recorded on #117): - Promote vol_stop + risk_executor from test fixtures to public aura-engine composite-builders; the embedded stop generalizes to a StopRule{Fixed,Vol} enum (a C11 structural axis), vol_stop the volatility-defined default. - aura run --harness <name>: a compile-time selector (sma|macd|stage1-r) over Rust-authored built-ins - running, not wiring (C9/C17 intact: no runtime registry, no DSL). Replaces the run literal-slice arms with a parse_run_args tokenizer so --harness/--real/--trace compose orthogonally; --macd kept as an alias. - The stage1-r harness fans one bias into both SimBroker (pip) and the RiskExecutor (R), so one RunReport carries both yardsticks honestly; the run path folds summarize_r -> RunMetrics.r (additive, skip_serializing_if keeps pip-only/legacy JSON byte-unchanged), round_trip_cost=0.0 (Stage-1 is frictionless; a --cost knob is a follow-on). - An r_equity tap (LinComb of cum_realized_r+unrealized_r) persists via an extended persist_traces and renders through the existing aura chart --tap - no new viewer code. Scope line: "operable from the CLI" = run+inspect a Rust-authored harness (the #109 (a) reading the contracts settle), not authoring topology in the CLI; the broad #109 meta-level stays a separate future milestone. Deferred follow-ons: R-sweep families + rank-by-sqn, rich R-record charting, the bias_sign_flips metric rename (never carried out in iter-0; field is still exposure_sign_flips). Verified before signing: grounding-check PASS (all substrate + post-patch current-code claims ratified by green tests) - the autonomous /boss signature; plus an advisory 5-lens spec-skeptic panel (criterion/invariants/scope SOUND; ambiguity + plan-readiness BLOCKs resolved inline: the argv tokenizer, the 3-tap persist change, the round_trip_cost value, the dual-tap arg provenance), re-grounded after the patch. refs #129 #117