mudler / mudler/vllm.cpp

agent-ready cannot pass anywhere: the checker-discovery loop always skips five arg-gated gates against the zero-skip READY contract

Open
#2,367 0 comments 0 reactions 0 assignees View on GitHub

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/--head required)
  • check-arm-isa-build.py, check-cpu-isa-build.py, check-cuda-fat-gencode.py (--compile-commands required)
  • check-triton-aot-multiarch.py (--vendored-root required)

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:

  1. 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.
  2. 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 HEAD locally (always constructible); give the build-artifact gates explicit blocks that run when their input exists (compile_commands.json under build/, 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.