diff --git a/crates/aura-research/src/lib.rs b/crates/aura-research/src/lib.rs index 0570eaa..62b4b63 100644 --- a/crates/aura-research/src/lib.rs +++ b/crates/aura-research/src/lib.rs @@ -624,8 +624,12 @@ pub fn content_id_of(canonical: &str) -> String { /// reference here, unlike the block-schema tables above (:105). Same #160/0105 /// drift class; fails safe in the direction that matters: a metric renamed or /// removed upstream surfaces as `DocFault::UnknownMetric` at parse/validation -/// time, never a silent accept. Keep this list in sync by hand when the -/// upstream field sets change. +/// time, never a silent accept. A cross-crate guard test +/// (`aura-campaign/tests/metric_vocabulary_e2e.rs`, #190) also enumerates the +/// shipped scalar fields via serde and goes red on any desync, so a stale +/// hand-edit here is test-caught rather than silent. Keep this list in sync by +/// hand when the upstream field sets change (single-sourcing it away waits on +/// #147). pub fn metric_vocabulary() -> &'static [&'static str] { &[ "expectancy_r", diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index 2f34bcf..bf439a6 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -1473,7 +1473,9 @@ are validated against), and a blueprint-file mode on `--content-id`. The both `RollMode`s; the shipped `folds` slot mapped to nothing the machinery accepts), with a new `ZeroWalkForwardLength` intrinsic fault; wf-bearing process docs get new content ids by design (the 0106 fieldtest corpus stays as the historical record). Known debt: -metric-roster triplication (#190), deflation-constant duplication (#199). +metric-roster triplication (still hand-maintained, but drift from the shipped +`aura-analysis` types is now test-caught by a cross-crate guard, #190; +single-source removal waits on #147), deflation-constant duplication (#199). **Realization (cycle 0108, #200 — the annotator stages execute).** The v2 executable shape is `std::sweep [std::gate]* [std::walk_forward]? [std::monte_carlo]? [std::generalize]?` — an ordered optional annotator suffix, each at most once,