daily-fix: inline lint gate defers under high VM load
Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.
No comments yet.
Overview / Motivation
Auto-filed by /daily 2026-08-02 (route 2: behavior/logic change -> independent review) from the nightly problem sweep (miner6, session a0400dd4, task #1345).
Goal
The inline payload lint gate does not false-block payloads because the shared VM happened to be at load 30 when the mapped tests ran.
Workflow gap
- Bug observed: A certified inline-gate run FAILed exit 3 under VM load1~31 (1 failed + 3 error mapped tests, 8m34s pytest) and PASSed clean ~35 min later once load dropped -- the session improvised a load-drop Monitor watch and retried (session a0400dd4, 17:08-18:25Z, task #1345). unverified hypothesis -- verify at plan time: the failures were load-flake (timeout-sensitive tests), inferred from the clean retry at low load.
- Why it is a workflow gap: The gate's mapped-pytest leg is timing-sensitive; fleet-busy hours make gate verdicts load-dependent, and each false BLOCK costs a manual retry loop the session must improvise.
- Confidence (emitter): low
- verified-at-filing:
grep -c -iE 'getloadavg|loadavg|load1' scripts/inline_lint_gate.py-> 0 (no load awareness).
Proposed change (refine in planning)
check os.getloadavg() before the mapped-pytest leg; above a threshold (~20 on this 32-core VM) either wait bounded for load to drop or return a distinct INCONCLUSIVE-under-load verdict, so a loaded fleet doesn't convert to false BLOCKs.
Scope / surfaces
- Primary target:
scripts/inline_lint_gate.py
Constraints / invariants
- Workflow-surface rules apply;
scripts/workflow_lint.py --check-askspasses; ruff on touched files passes. - This session runs under
EPM_WORKFLOW_FIX_SESSION=1(Provenanceworkflow_fix_target:line) -- it MUST NOT auto-route its own subagents' workflow-fix candidates (recursion guard).
Provenance
-
fingerprint: 517ebd1cb2be
-
workflow_fix_target: scripts/inline_lint_gate.py