Skip to content

check-pr-size.py cannot classify .agents/scripts/**, so no PR can add a job script there #2607

Description

@localai-org-maint-bot

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions