daily-fix: upload-verifier in flight blocks finalize/status-advance
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 the /daily 2026-07-01 backfill problem sweep (route 2) from the #778 r4 upload round (sessions 0b873a86 / f0f20be3, 18:13–18:59Z).
Goal
Close the fallback loophole that let a session flip status to interpreting and finalize (terminate) the pod while the upload-verifier was still running.
Workflow gap
- Bug observed: on #778 (2026-07-01), status advanced to
interpretingand the pod was finalized on an "agent-level PASS fallback since no artifact declaration" while the upload-verifier was still in flight; itsepm:upload-verification v2verdict then came back FAIL (the FAIL itself was a marker-string defect — a phantom WandB entity URL — data was safe, but the ordering violation is real: with a genuine upload gap the pod would already have been gone). - Why it is a workflow gap: the standing contract (CLAUDE.md § agents-vs-skills composition diagram + upload-verifier spec) is "no interpretation PUBLISHED before upload-verification PASS, and pod termination strictly requires PASS" — but the /issue Step 8 flow apparently permits an agent-level fallback verdict to satisfy the gate when the verifier has produced no artifact declaration yet, i.e. the gate can be satisfied by absence-of-verdict.
- Confidence (emitter): medium (exact fallback wording came from session prose; the planner should locate the precise Step 8 / finalize text or code path).
Proposed change (refine in planning)
In .claude/skills/issue/SKILL.md Step 8 (and the finalize path it drives): an in-flight upload-verifier is BLOCKING for status-advance and pod-finalize — a missing/undeclared artifact list is a WAIT (or a verifier re-spawn), never a PASS-equivalent; only an explicit epm:upload-verification PASS satisfies the gate. Add the negative case to whatever mechanical check guards the transition.
Scope / surfaces
- Primary target:
.claude/skills/issue/SKILL.md(Step 8 results-landed batch / gate ordering) - Check whether
scripts/dispatch_issue.py/ the finalize helper encodes the same fallback; fix both if so.
Constraints / invariants
- Workflow-surface only;
workflow_lint.py --check-asks/--check-referencespass; do not introduce a new user gate (the fix is ordering, not approval).