fix(aura-research, aura-cli, aura-runner): milestone-fieldtest bugs — the unwired ramp hole + three diagnostics

RED-first fixes for the four M42 A/B findings. campaign introspect
--unwired now drills into a present-but-empty presentation section
exactly as it drills into data, listing persist_taps/emit as open slots
— the miss caused three of the cold start's five dead ends (the process
sibling has no analogous nested-required shape, verified). The override
panic catch wraps known non-diagnostic payloads (capacity overflow) in
domain prose while passing real constructor messages through
byte-identical; a kind-mismatched override renders as prose naming
path, expected and got kinds with a write-this example instead of the
ParamKindMismatch debug struct; chart's unknown-handle refusal names
the current trace surface (exec --tap / presentation.persist_taps)
instead of the retired --trace flag.

closes #319
This commit is contained in:
2026-07-26 00:37:28 +02:00
parent e6b60bf680
commit 77ad0465cb
5 changed files with 183 additions and 8 deletions
+25
View File
@@ -421,6 +421,31 @@ fn chart_unknown_name_refuses_with_exit_1_and_message() {
let _ = std::fs::remove_dir_all(&cwd);
}
/// BUG 4 (#319 fieldtest cycle 2): the not-found remedy still names `--trace`
/// — a flag no verb carries anymore (verb dissolution, #220). It must point
/// at the CURRENT trace-production surface instead: `exec --tap` for a
/// single blueprint, or a campaign's `presentation.persist_taps` section.
#[test]
fn chart_unknown_name_refusal_names_the_current_trace_surface_not_trace_flag() {
let cwd = temp_cwd("chart-unknown-trace-surface");
let out =
Command::new(BIN).args(["chart", "ghost"]).current_dir(&cwd).output().expect("spawn chart ghost");
assert_eq!(out.status.code(), Some(1), "unknown name must exit 1: {:?}", out.status);
let stderr = String::from_utf8_lossy(&out.stderr);
assert!(
!stderr.contains("--trace"),
"the retired --trace flag must not appear anywhere in the refusal: {stderr}"
);
assert!(
stderr.contains("--tap") && stderr.contains("persist_taps"),
"the refusal must point at the current trace-production surface \
(exec --tap / a campaign's presentation.persist_taps): {stderr}"
);
let _ = std::fs::remove_dir_all(&cwd);
}
/// Property (milestone fieldtest B1): a sweep / walk-forward `--trace` family is
/// chartable by the very handle the producing run prints. Those verbs fan a
/// selection-free sweep out per member into the #224 depth-2 layout