What
The secondary-oracle registry added .agents/oracles/<id>.md (AGENTS.md, "When vLLM has no implementation"). scripts/check-pr-size.py has no pattern for that directory, so all eight files are unclassified and classify_path raises.
Reproduced on unmodified origin/main:
$ python3 -m pytest tests/scripts/test_check_pr_size.py::PathClassification::test_every_tracked_and_current_change_path_is_classified -q
AssertionError: Lists differ: ['.agents/oracles/README.md', '.agents/ora[200 chars].md'] != []
First list contains 8 additional elements.
1 failed
All eight:
.agents/oracles/README.md
.agents/oracles/diffusers.md
.agents/oracles/llama-cpp.md
.agents/oracles/sglang.md
.agents/oracles/transformers.md
.agents/oracles/tt-forge.md
.agents/oracles/vllm-omni.md
.agents/oracles/vllm.md
Why it matters
Any PR touching an oracle pin gets unclassified repository path from a required check — so the registry is unusable as designed the moment anyone records a pin. The point of one-file-per-oracle is that pinning is cheap; an unclassified path makes it impossible.
Fix
.agents/oracles/*.md is structurally identical to .agents/specs/ and .agents/claims/ — one file per key, globbed for reading, deliberately not a shared table. It takes the same procedure class they do.
Found while landing #615. Fixing it in the same flow per AGENTS.md, since it is small, obvious, adds no semantics, and currently reds main.
What
The secondary-oracle registry added
.agents/oracles/<id>.md(AGENTS.md, "When vLLM has no implementation").scripts/check-pr-size.pyhas no pattern for that directory, so all eight files are unclassified andclassify_pathraises.Reproduced on unmodified
origin/main:All eight:
Why it matters
Any PR touching an oracle pin gets
unclassified repository pathfrom a required check — so the registry is unusable as designed the moment anyone records a pin. The point of one-file-per-oracle is that pinning is cheap; an unclassified path makes it impossible.Fix
.agents/oracles/*.mdis structurally identical to.agents/specs/and.agents/claims/— one file per key, globbed for reading, deliberately not a shared table. It takes the sameprocedureclass they do.Found while landing #615. Fixing it in the same flow per AGENTS.md, since it is small, obvious, adds no semantics, and currently reds
main.