agent-ready cannot pass anywhere: the checker-discovery loop always skips five arg-gated gates against the zero-skip READY contract
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
What
Since the preflight checker-discovery loop landed (d574f514a), every local python3 scripts/agent-ready.py fails on every host, for every branch, including a clean checkout of origin/main. The loop runs every scripts/check-*.py WITHOUT arguments; five checkers require them and always exit with argparse usage errors, which the loop reports as SKIP ("needs arguments preflight does not supply"):
check-pr-size.py(--base/--headrequired)check-arm-isa-build.py,check-cpu-isa-build.py,check-cuda-fat-gencode.py(--compile-commandsrequired)check-triton-aot-multiarch.py(--vendored-rootrequired)
agent-ready.py invokes preflight with --fail-on-skip and refuses any skip — its documented #998 contract — so READY FAILED everywhere since the loop landed. Reproduce on origin/main 397a7c027: five SKIPs, READY FAILED.
Root cause
Two intended designs contradict:
- The discovery loop's stated rule: "A checker that needs arguments this block cannot supply is a SKIP carrying the reason, never silence" — a skip is the HONEST report for an unrunnable gate.
- agent-ready's #998 contract: the pre-handoff gate reads ANY skip as "not ready", because a skip once masked a trailer check that never ran.
Each is right alone; together they make READY unsatisfiable for every branch since the five checkers fell under the loop.
Candidate repairs (the fixing row decides with the developer)
- (a) Preflight constructs what it can and names what it cannot: run
check-pr-size.py --base "$BASE_SHA" --head HEADlocally (always constructible); give the build-artifact gates explicit blocks that run when their input exists (compile_commands.jsonunderbuild/, the vendored triton root) and skip naming the absent artifact when it does not. agent-ready's zero-skip contract stays intact; the skip population becomes genuinely host-conditional instead of unconditional. - (b) agent-ready learns a stated tolerance class for artifact-gated skips. Weakens #998; needs the developer.
- (c) A combination.
Blocking
Every pre-push READY on every branch and host since d574f514a. Found pushing the tt_clock_state W2 row, which classified its gate run against this issue as the named blocker.
Owning row (candidate): CHECKER-READY-ARG-GATES.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with scripts/agent-ready.py and the preflight checker-discovery loop, reproducing the five SKIPs on origin/main at 397a7c027. Read the argument requirements in check-pr-size.py, check-arm-isa-build.py, check-cpu-isa-build.py, check-cuda-fat-gencode.py, and check-triton-aot-multiarch.py, then review the candidate repairs with the developer. Done means the chosen design resolves the unconditional skips without violating the documented READY contract.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ci-cd, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100