Row: -
scripts/agent-ready.py is AGENTS.md's documented "before remote handoff" command
(§Commands: python3 scripts/agent-ready.py # before remote handoff). On this checkout it
cannot return green for any change, because five checkers always skip.
Measured
scripts/agent-preflight.sh:584-595 auto-discovers scripts/check-*.py and classifies any
checker whose argparse demands arguments preflight cannot supply as a SKIP:
elif printf '%s' "$output" | grep -qE 'the following arguments are required|...'; then
skip "$name" "needs arguments preflight does not supply: ..."
agent-ready.py then refuses on the skip:
5 gate(s) SKIPPED: check-arm-isa-build.py check-cpu-isa-build.py
check-cuda-fat-gencode.py check-pr-size.py check-triton-aot-multiarch.py
NOT a green preflight: a skipped gate reported nothing about this tree.
READY FAILED: local preflight did not report every gate green.
Each of the five was run directly and each exits rc=2 on an argparse usage error:
| Checker |
Demands |
check-arm-isa-build.py |
--compile-commands |
check-cpu-isa-build.py |
--compile-commands |
check-cuda-fat-gencode.py |
--compile-commands and --library/--cuobjdump-list |
check-triton-aot-multiarch.py |
--vendored-root and --library/--nm-list |
check-pr-size.py |
--base --head |
Four need build artifacts (compile_commands.json, a built library, a vendored Triton root).
check-cuda-fat-gencode.py is driven by scripts/build-linux-accelerator-release.sh:58, a
release lane, not by preflight.
These skip for every change, independent of what the change touches. It was observed on a
diff confined to audio_processor.{h,cpp}, dots3_note_processor.{h,cpp},
mm_chat_dots3note.cpp, two docs, three tests and a spec — nothing that could make a
build-artifact checker start or stop needing its arguments — and it also skipped while a
populated build tree still existed, so it is not "the build directory was deleted".
Why this is the defect and not the discipline
AGENTS.md says so itself, in the section retiring the line-count gates: "A gate that fires on
ordinary work is the defect, not the discipline." A handoff command that no change can
satisfy trains its readers to ignore it, which is worse than not having it — and the plain
gate AGENTS.md actually mandates, scripts/agent-preflight.sh without --fail-on-skip, is
green (rc 0, 101 ok, zero FAIL) on the same tree.
Not fixed in flow, deliberately
A repair changes checker semantics, which AGENTS.md routes to the normal row/spec/fresh-review
path rather than the in-flow rule: "A semantic checker change needs a spec, a red-before test
or mutation, and green-after evidence." This issue exists so the finding is not lost; it
needs an owning row in the gate lane, and this Row: - line should be replaced with one when
that owner is identified.
Shapes a fix might take
Stated as options, not a decision. Either agent-ready.py distinguishes a STRUCTURAL skip
(the checker cannot run without artifacts preflight never builds) from a MEANINGFUL one (the
checker could have run and did not), and refuses only on the latter; or preflight supplies the
artifacts for the four that need them, which makes it a build step; or the five are declared
out of preflight's scope and gated only in the lane that can feed them, which is where
check-cuda-fat-gencode.py already lives.
Incidental, worth recording beside it
The finding surfaced because the command had been reported green after being run as
python3 scripts/agent-ready.py 2>&1 | tail -20 — so the exit code read was tail's, not the
script's. That trap has now produced a false green on this repository more than once.
Row:
-scripts/agent-ready.pyis AGENTS.md's documented "before remote handoff" command(§Commands:
python3 scripts/agent-ready.py # before remote handoff). On this checkout itcannot return green for any change, because five checkers always skip.
Measured
scripts/agent-preflight.sh:584-595auto-discoversscripts/check-*.pyand classifies anychecker whose argparse demands arguments preflight cannot supply as a SKIP:
agent-ready.pythen refuses on the skip:Each of the five was run directly and each exits
rc=2on an argparse usage error:check-arm-isa-build.py--compile-commandscheck-cpu-isa-build.py--compile-commandscheck-cuda-fat-gencode.py--compile-commandsand--library/--cuobjdump-listcheck-triton-aot-multiarch.py--vendored-rootand--library/--nm-listcheck-pr-size.py--base --headFour need build artifacts (
compile_commands.json, a built library, a vendored Triton root).check-cuda-fat-gencode.pyis driven byscripts/build-linux-accelerator-release.sh:58, arelease lane, not by preflight.
These skip for every change, independent of what the change touches. It was observed on a
diff confined to
audio_processor.{h,cpp},dots3_note_processor.{h,cpp},mm_chat_dots3note.cpp, two docs, three tests and a spec — nothing that could make abuild-artifact checker start or stop needing its arguments — and it also skipped while a
populated build tree still existed, so it is not "the build directory was deleted".
Why this is the defect and not the discipline
AGENTS.md says so itself, in the section retiring the line-count gates: "A gate that fires on
ordinary work is the defect, not the discipline." A handoff command that no change can
satisfy trains its readers to ignore it, which is worse than not having it — and the plain
gate AGENTS.md actually mandates,
scripts/agent-preflight.shwithout--fail-on-skip, isgreen (rc 0, 101 ok, zero FAIL) on the same tree.
Not fixed in flow, deliberately
A repair changes checker semantics, which AGENTS.md routes to the normal row/spec/fresh-review
path rather than the in-flow rule: "A semantic checker change needs a spec, a red-before test
or mutation, and green-after evidence." This issue exists so the finding is not lost; it
needs an owning row in the gate lane, and this
Row: -line should be replaced with one whenthat owner is identified.
Shapes a fix might take
Stated as options, not a decision. Either
agent-ready.pydistinguishes a STRUCTURAL skip(the checker cannot run without artifacts preflight never builds) from a MEANINGFUL one (the
checker could have run and did not), and refuses only on the latter; or preflight supplies the
artifacts for the four that need them, which makes it a build step; or the five are declared
out of preflight's scope and gated only in the lane that can feed them, which is where
check-cuda-fat-gencode.pyalready lives.Incidental, worth recording beside it
The finding surfaced because the command had been reported green after being run as
python3 scripts/agent-ready.py 2>&1 | tail -20— so the exit code read wastail's, not thescript's. That trap has now produced a false green on this repository more than once.