Single-source the declared-metric vocabulary against the shipped metric types #190
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
aura_research::metric_vocabulary() hand-lists the 17 scalar field names of RMetrics/RunMetrics (aura-analysis) and the FamilySelection annotation scores — the same 3-copy drift class the std-vocabulary roster macro closed for node type ids (#160, cycle 0105): a field rename or addition in aura-analysis silently desyncs the gate/stage metric checks in process documents (an unknown metric still refuses, so it fails safe, but a NEW metric is silently un-gateable until the roster is hand-updated).
Likely shape: a roster macro or a build-time check tying the list to the type definitions (the 0105 pattern), or at minimum a cross-crate test pinning metric_vocabulary() against serde field enumeration of the three types.
Triage 2026-07-09 (tree at
68317ec) — the drift class has tripled since filing; the names are in sync today, but nothing goes red when they stop being:idearemoved: the minimum fix is a concrete, small task.