Skip to content

Reference: diagnostic ID policy

Machine-readable registry: contracts/diagnostics/registry.v1.yaml.

  1. Append-only codes — Once published in a stable release, a diagnostic code string is not repurposed; deprecate via alias messages instead.
  2. Namespaced owners
    • vox-compilerE#### style, lint.*, typecheck.*, vox/<category>/<slug> for newer namespaces (mesh language spine plan).
    • vox-code-audit — hierarchical rule IDs such as skeleton/untested-pub-api, stub/todo, security/hardcoded-secret/*, ai-laziness/*.
  3. Disjoint prefixes — Audit rule IDs must not exactly equal any compiler code listed in vox_compiler::typeck::diagnostics::codes::ALL_COMPILER_DIAGNOSTIC_CODES (enforced by crates/vox-compiler/tests/audit_rule_collision.rs). The YAML registry summarizes reserved prefixes for humans.