Trace linter
A CI linter that fails the build the moment the traceability graph rots — because 80%-accurate traceability is worse than none.
Lightweight requirements traceability (the DO-178C idea, without the ceremony): the point is impact analysis — “if I change this, what’s affected?” — which is exactly the question a drift-reviewing agent asks on every PR.
trace-lint.mjs runs in CI from day one and fails on:
- a feature past
proposedwith zero code-tag references, - a code tag whose ID doesn’t resolve to a markdown file,
- any
depends_on/decisions/affectsedge pointing at a missing ID, - a feature claiming
status: builtwhose ID isn’t in both code and tests.
The grep-based v1 ships first; the ID graph is a small ontology, so a later v2 may be SHACL over a generated graph. A convention without a linter is a suggestion.