Architect (cycle 9124275..1baee77) holds: the C27 boundary is preserved and ledger-anchored (selection = run-mode authority, fold growth stays Rust/role 2; validation solely in the shared bind_tap_plan seam before store I/O; unlisted taps inert); C1 byte-identity pinned for the explicit all-record plan vs the record-all default; ledger discipline kept (superseded C27 sentence verbatim in the new history sidecar); the C25 projection tension was explicitly adjudicated in C27's Current state, deferral #312/#327 minuted. Drift resolution: - [medium] C14 exit-class: --tap-content refusals (unknown label / undeclared tap) exit 1 through the assembly crate's runner-side registers while C14 assigns argv/blueprint-content faults to class 2. Pre-existing register family (#283 duplicate-tap, #286 exposes- neither). RESOLVED AS TRACKED-FORWARD to #297 (RunnerError propagation is where the CLI regains class authority; evidence comment with concrete sites posted there). A CLI-side shadow pre-validation was rejected: it duplicates the bind_tap_plan seam and can drift. - [low] FIXED here: the three hand-rolled `aura run` usage strings and the loaded-blueprint-grammar comment now name --tap. - [low] ADJUDICATED equivalent-as-delivered: the fold-mean expectation is derived from the pinned R_SMA_PRICES const rather than a second record run — an independent derivation of the same series; the spec's intent (fold row equals the series mean) is pinned. Regression: aura-bench report-only, exit 0, all five surfaces within tolerance, fingerprints OK (engine 13.78M bars/s Δ-1.6%, ingest 13.13M Δ+1.0%, campaign_sweep rss 93.9MB Δ+1.9%, campaign_heavy rss 106.9MB Δ+5.4%, cli run 3.6ms Δ-0.3%; loadavg-5.3 warning noted, report-only). No baseline update. Cycle spec + plan + the spent m1 fieldtest spec removed from the working tree (git-ignored files, shell rm per lifecycle). refs #310, refs #297
This commit is contained in:
@@ -1474,7 +1474,7 @@ fn is_blueprint_file(arg: &Option<String>) -> Option<&str> {
|
||||
/// mirroring the old `parse_blueprint_run_args` window guard (`--from`/`--to`
|
||||
/// require `--real`; empty symbol rejected). Refuses in place (stderr + exit 2).
|
||||
fn run_data_from(real: Option<&str>, from: Option<i64>, to: Option<i64>) -> RunData {
|
||||
let usage = "Usage: aura run <blueprint.json> [--params <json-cell-array>] [--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]]";
|
||||
let usage = "Usage: aura run <blueprint.json> [--params <json-cell-array>] [--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]] [--tap <TAP=FOLD> …]";
|
||||
match real {
|
||||
Some(s) if !s.is_empty() => RunData::Real { symbol: s.to_string(), from, to },
|
||||
Some(_) => {
|
||||
@@ -1799,13 +1799,13 @@ fn tap_plan_from_args(args: &[String]) -> Result<TapPlan, String> {
|
||||
fn dispatch_run(a: RunCmd, env: &aura_runner::project::Env) {
|
||||
match is_blueprint_file(&a.blueprint) {
|
||||
Some(path) => {
|
||||
// The loaded-blueprint grammar takes only --params/--seed/--real/--from/--to;
|
||||
// The loaded-blueprint grammar takes only --params/--seed/--real/--from/--to/--tap;
|
||||
// the built-in-only flags are rejected here (exit 2), never silently dropped —
|
||||
// mirroring the sweep/mc blueprint branches, which reject their non-branch flags
|
||||
// exhaustively (refuse-don't-guess). clap's optional `[blueprint]` positional
|
||||
// makes these structurally parseable, so the guard is re-asserted at dispatch.
|
||||
if a.trace.is_some() {
|
||||
eprintln!("aura: Usage: aura run <blueprint.json> [--params <json-cell-array>] [--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]]");
|
||||
eprintln!("aura: Usage: aura run <blueprint.json> [--params <json-cell-array>] [--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]] [--tap <TAP=FOLD> …]");
|
||||
std::process::exit(2);
|
||||
}
|
||||
let doc = std::fs::read_to_string(path).unwrap_or_else(|e| {
|
||||
@@ -1893,7 +1893,8 @@ fn dispatch_run(a: RunCmd, env: &aura_runner::project::Env) {
|
||||
None => {
|
||||
eprintln!(
|
||||
"aura: Usage: aura run <blueprint.json> [--params <json-cell-array>] \
|
||||
[--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]]"
|
||||
[--seed <n>] [--real <SYMBOL> [--from <ms>] [--to <ms>]] \
|
||||
[--tap <TAP=FOLD> …]"
|
||||
);
|
||||
std::process::exit(2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user