Language diagnostic drift — findings (2026)
Language diagnostic drift — findings (2026)
Section titled “Language diagnostic drift — findings (2026)”Probe charter
Section titled “Probe charter”Determine whether the same logical mistake can surface under different IDs, severities, or messages across:
vox-compiler/vox checkcrates/vox-lspdocument validationvox-code-auditdetectors- Optional Web IR / emit validators
Evidence (2026-05-11)
Section titled “Evidence (2026-05-11)”- LSP maps typechecker diagnostics with
source: Some("vox-lsp")while preserving stringcodefrom the compiler (vox-lsp/src/lib.rs). - Phase plans mandate stable IDs and
--for-llmJSON (Phase 2 plan); implementation completeness must be tracked separately.
Hypotheses
Section titled “Hypotheses”- Source field drift: Consumers keyed on
sourcemay dedupe incorrectly between"vox"and"vox-lsp". - Detector overlap: TOESTUB / audit rules may duplicate compiler warnings with different naming until SSOT collapse completes.
- HIR-only diagnostics: Extra HIR validation in LSP when
include_hirmay diverge from default CLI flags.
Recommended next steps
Section titled “Recommended next steps”- Add a small golden fixture set: one
.voxfile per canonical diagnostic; snapshot CLI JSON vs LSP payload. - Document precedence rules in vox-diagnostic-ux-ssot-2026.md once measurements exist.
- Optionally unify
sourcestring or add explicittoolfield in--for-llmoutput (future RFC).