Skip to content

check-affected --tests overruns its budget and stalls the ready flip #12639

Closed

Description

@kyle-sexton

Problem

check-affected.sh --tests, the last part of /source-control:pull-request ready's verify gate on a draft, can run far past its 120 s budget, which stalls the ready flip.

Measured

Two runs on #12614's branch on melo-lap-001 WSL, with other lanes' evals running:

  • 364 suites selected, stopped at 14 of 224 after 25 minutes.
  • A second run at --jobs 1 --budget 120 was still going after about 40 minutes, when it was stopped.

Expected: about 2 minutes, from --tests passes a default job count of at most 8 and the 120 s budget.

Likely cause

  • run-plugin-tests.sh:41 calls the budget "the wall clock the whole run aims to finish in", and :608 only reports OVER BUDGET after the run, so nothing stops or shrinks the run. Read this session.
  • The job count fell to 1, probably from the free-memory cap (check-affected.sh:130-131). UNVERIFIED.
  • Why this branch selects 364 suites is UNVERIFIED. It adds lib/ copies, a contract doc row and scripts/shared-copies.txt entries.

Fix to weigh

Let the budget end a local run: stop launching suites when it is spent and report the rest as left to CI, the way --tests already reports unrun suites as a skip. CI runs the full set either way, so the local gate needs only a bounded sample.

Done when

  • A local check-affected.sh --tests ends within about its budget plus one suite's run, and names the suites it left to CI.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  2. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Small
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: a local check-affected.sh --tests run (the last step of /source-control:pull-request ready's verify gate) can run far past its 120 s budget, because the budget is only reported after the run. This stalls the ready flip. The proposed fix is to stop launching suites once the budget is spent and name the rest as left to CI. Done when a local run ends within about its budget plus one suite and names the suites it left to CI.

    Still to confirm while working: why the job count fell to 1, and why this branch selects 364 suites. I found no likely duplicate among the open issues.

    Automated triage, applied by the lanes App.

  3. added
    priority: highSignificant impact, or blocks an imminent release; staff this cycle.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 3, 2026
  5. added
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 3, 2026
  6. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  7. self-assigned this
    on Nov 3, 2026
  8. kyle-sexton commented on Nov 3, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  9. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    Contributor

    This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41572558254, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T04:41:59Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.

  10. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  11. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  12. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    already-leased: another session holds a live lease on #12639, so run https://github.com/melodic-software/claude-code-plugins/actions/runs/41581265469 ran no model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: highSignificant impact, or blocks an imminent release; staff this cycle.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Type

Fields

Work status

agent-ready

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions