daily-fix: canonical verify_plan --json parse (overall key)
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-12 problem sweep (transcript-mined; sessions b49bb04a (#1284), 3d500bd2 (#1285), 3077c244 (#1283)).
Goal
Give /issue sessions a canonical verify_plan.py --json verdict-parse snippet so they stop improvising a wrong one.
Workflow gap
- Bug observed: 3 of 3 sessions on 2026-07-12 independently improvised the same wrong parse of
verify_plan.py --jsonoutput —d.get('verdict')— printedverdict: None | n_fail: 0 | n_warn: 0, then inferred PASS fromn_fail=0. The actual key isoverall("PASS"|"FAIL",scripts/verify_plan.py_json_payload, ~line 5654). Harmless today (the n_fail fallback happened to be right) but the improvised parse would mis-read a future payload change and the repeatedNoneis a standing confusion. - Why it is a workflow gap: no workflow-surface file documents the JSON contract or a canonical parse; each session writes it fresh.
- Confidence (emitter): medium
- verified-at-filing:
grep -rn "get('verdict')" .claude/ scripts/→ 0 workflow-surface hits (only unrelated experiment-script JSONs) (2026-07-13);grep -n "overall" scripts/verify_plan.pyconfirms the payload key.
Proposed change (candidate diff sketch — refine in planning)
Add a canonical snippet to the /issue SKILL.md plan-verify step (and/or the planner agent doc):
uv run python scripts/verify_plan.py --issue <N> --json | uv run python -c \
"import json,sys; d=json.load(sys.stdin); print(d['overall'], 'n_fail=',d['n_fail'], 'n_warn=',d['n_warn'])"
using the real overall key (fail loud on a missing key rather than .get() defaulting to None).
Scope / surfaces
- Primary target:
.claude/skills/issue/SKILL.md(the plan-verify step that postsepm:plan-verify). - Grep the workflow surface for other
verify_plan.py --jsonmentions and align.
Constraints / invariants
- Workflow-surface only. Lint gates pass. Recursion guard applies to the spawned session.
Provenance
-
fingerprint: 592b1c85a51c
-
workflow_fix_target: .claude/skills/issue/SKILL.md
Origin: /daily 2026-07-12 transcript sweep (identical improvised parse at b49bb04a L90 09:28:39Z, 3d500bd2 L90 09:33:48Z, 3077c244 L90 08:36:21Z).