Add the AM-1 rule-coverage gate

make coverage compares the GR-rule IDs defined in specs/GroundRules.md
against the covers: lists in scenarios/ground/*.yaml. It exits 1 if a
scenario claims a rule the spec does not define, so coverage cannot be
inflated by an invented ID, and exits 2 while rules remain uncovered.

Current reading: 34/58 (58%). AM-1 requires 100%.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-31 02:23:38 +02:00
parent 27b7fe4329
commit 27016af216
2 changed files with 37 additions and 0 deletions

View file

@ -15,6 +15,9 @@ test:
$(CARGO) test --workspace
## run all GROUND scenarios through cb-sim
coverage:
python3 tools/rule-coverage.py
sim:
$(CARGO) run -q -p cb-sim -- scenarios/ground/*.yaml