Row: UPSTREAM-SYNC-HEADPIN
scripts/check-pr-size.py cannot classify .agents/scripts/**, so no pull
request may add or modify a file there.
Reproduction
Committing two lease-job scripts beside the three already tracked in
.agents/scripts/:
$ python3 scripts/check-pr-size.py --base origin/main --head HEAD --branch row/UPSTREAM-SYNC-HEADPIN
ERROR: PR size check could not classify the change: unclassified repository path '.agents/scripts/headpin-e126687-job-a.sh'
$ echo $?
1
classify_path fails closed at scripts/check-pr-size.py:519 and no rule above
it matches .agents/scripts/. Failing closed is right; the gap is that the class
was never taught.
Why it matters
Three job scripts are already tracked there, and
.agents/specs/glm5-next-flash.md says why: a run is committed "so the run is
reproducible". .agents/specs/cuda-keepquant-iq2xs-iq4xs.md already records this
same checker rejecting .agents/scripts/glm53-dsa-first-load.sh, so this is the
second time it has been hit.
The effect is that evidence a report depends on cannot be committed. #2593's
sync report §5.3 rests on what changed between two job scripts; its C10 now
records that the scripts exist only as sha256s and that the diff is therefore
checkable only against itself.
What this is not
Not a request to widen the classifier by a general directory exemption. AGENTS.md
requires policy, checker, document, script, test, CI, generated and product paths
to be classified explicitly and forbids hiding mutable files behind a directory
exemption. .agents/scripts/** wants its own explicit class.
Changing it is a semantic checker change, so it needs a spec, a red-before test
and green-after evidence, and it must not ride inside a sync record. That is why
#2593 reverted the attempt rather than fixing it in flow.
Row:
UPSTREAM-SYNC-HEADPINscripts/check-pr-size.pycannot classify.agents/scripts/**, so no pullrequest may add or modify a file there.
Reproduction
Committing two lease-job scripts beside the three already tracked in
.agents/scripts/:classify_pathfails closed atscripts/check-pr-size.py:519and no rule aboveit matches
.agents/scripts/. Failing closed is right; the gap is that the classwas never taught.
Why it matters
Three job scripts are already tracked there, and
.agents/specs/glm5-next-flash.mdsays why: a run is committed "so the run isreproducible".
.agents/specs/cuda-keepquant-iq2xs-iq4xs.mdalready records thissame checker rejecting
.agents/scripts/glm53-dsa-first-load.sh, so this is thesecond time it has been hit.
The effect is that evidence a report depends on cannot be committed. #2593's
sync report §5.3 rests on what changed between two job scripts; its C10 now
records that the scripts exist only as sha256s and that the diff is therefore
checkable only against itself.
What this is not
Not a request to widen the classifier by a general directory exemption. AGENTS.md
requires policy, checker, document, script, test, CI, generated and product paths
to be classified explicitly and forbids hiding mutable files behind a directory
exemption.
.agents/scripts/**wants its own explicit class.Changing it is a semantic checker change, so it needs a spec, a red-before test
and green-after evidence, and it must not ride inside a sync record. That is why
#2593 reverted the attempt rather than fixing it in flow.