feat(cli): annotator-stage seam flips + doc tidy + gated e2e with the mc suffix (0108 task 5)

The retired v1-boundary test is replaced by v2 pins: mc-before-wf
refuses with the executor shape prose (while process validate accepts
the same doc — the tier boundary observable across two commands, added
by the task-2 e2e phase and kept), single-instrument generalize
refuses data-free on the built fixture project, and the two
addressing-mode tests' stale rationale comments now name the
member-data seam they actually hit. PROCESS_BLOCKS doc strings drop
'in v1' (introspection text only — no content id moves). The gated
real-data e2e extends its process with the monte_carlo suffix and
asserts the pooled_oos bootstrap in the final campaign_run line — ran
its full assert path on this host.

Task-5 duplicates the plan had double-drafted (task 2's e2e phase
pre-landed three of its tests) were correctly NOT re-added.

Gates: workspace 1025/0 (fully green again), clippy -D warnings clean.

refs #200
This commit is contained in:
2026-07-04 01:28:06 +02:00
parent a1cd7bc6f5
commit 7e4e9a8827
2 changed files with 279 additions and 81 deletions
+2 -2
View File
@@ -188,7 +188,7 @@ pub const PROCESS_BLOCKS: &[BlockSchema] = &[
},
BlockSchema {
id: "std::monte_carlo",
doc: "R-bootstrap over realised R (terminal annotator in v1)",
doc: "R-bootstrap over realised R (terminal annotator)",
slots: &[
SlotInfo { name: "resamples", kind: SlotKind::U32, required: true },
SlotInfo { name: "block_len", kind: SlotKind::U32, required: true },
@@ -196,7 +196,7 @@ pub const PROCESS_BLOCKS: &[BlockSchema] = &[
},
BlockSchema {
id: "std::generalize",
doc: "cross-instrument worst-case floor (terminal annotator in v1)",
doc: "cross-instrument worst-case floor (terminal annotator)",
slots: &[SlotInfo { name: "metric", kind: SlotKind::MetricName, required: true }],
},
];