audit: cycle 0109 tidy (drift resolved by ledger/glossary lift + tap-channel cross-pin)
Architect verdict: drift_found — the code holds (C1 honored not assumed: the nominee re-run's metrics-equality hard refusal; C22/C14 clean: existing TraceStore + unchanged viewer, serde-default widening round-trips, name composition single-sourced in derive_trace_name). Resolved here: - C18: the 0107 paragraph's 'persist_taps is deferred' points forward; new cycle-0109 realization paragraph records the closed tap vocabulary + UnknownTap tier, the nominee-only non-reduce re-run with the C1 metrics guard, the campaign trace family layout, the trace_name claim contract, the loud-skip lines, and the noted chart-over-family-root debt. - Glossary: tap entry names the closed vocabulary + escalation rule; campaign document's presentation clause references it; campaign run gains the trace_name pointer. - Debt fixed inline (architect med): tap_channel gains the emit_vocabulary-twin debug_assert cross-pin so a fifth vocabulary tap fails loudly instead of silently skipping. The consumed 0108 fieldtest spec is removed with the cycle's spec+plan (all its dispositions shipped: F6 #205, F8 #207, F11 #206, F7/F9/F10 doc-tightens). Regression: cargo test --workspace 1041/0; clippy -D warnings clean; cargo doc 0 warnings. refs #201
This commit is contained in:
@@ -476,6 +476,17 @@ enum TapChannel {
|
||||
/// An unknown name cannot reach here (`validate_campaign` refuses it) and
|
||||
/// maps to `None` all the same rather than guessing.
|
||||
fn tap_channel(tap: &str) -> Option<TapChannel> {
|
||||
// The emit_vocabulary debug_assert's twin: every vocabulary tap must be
|
||||
// either routable here or the one known cost-only tap — a future fifth
|
||||
// vocabulary entry fails loudly instead of silently skipping with the
|
||||
// hardcoded needs-a-cost-run message.
|
||||
debug_assert!(
|
||||
aura_research::tap_vocabulary()
|
||||
.iter()
|
||||
.all(|t| *t == "net_r_equity"
|
||||
|| matches!(*t, "equity" | "exposure" | "r_equity")),
|
||||
"tap_vocabulary drifted from the channels campaign_run routes"
|
||||
);
|
||||
match tap {
|
||||
"equity" => Some(TapChannel::Equity),
|
||||
"exposure" => Some(TapChannel::Exposure),
|
||||
|
||||
Reference in New Issue
Block a user