daily-fix: step9c gate degrade on collection ImportError
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-07-27 problem sweep (transcript mining, 44 in-window transcripts). Sessions 60cd2d8b (#1720, ~40 min), 206fe014 (#1728, ~45 min), 116cfd96 (#1731, ~40 min), 2026-07-27.
Goal
One collection-broken test file on main should not abort the entire Step 9c gate run.
Workflow gap
- Bug observed:
tests/test_workflow_lint_inline_round_duty_mirror.py(ImportError from the #1698 lost-update) aborted collection -> pytest rc=2 ->step9c_baseline comparecorrectly refused to classify a partial run (MF-1b) -> each session hand-diagnosed, deselected the file, and re-ran the FULL gate (~37 min each). The refusal is correct; the abort-the-world collection behavior is the fixable half. - Why it is a workflow gap: the gate recipe runs pytest without
--continue-on-collection-errors, and the selector has no arm that deselects files already collection-red in the baseline ledger — so a known main-side breakage taxes every touched-scope session ~40 min. - Confidence (emitter): medium
- verified-at-filing:
grep -c 'continue-on-collection-errors' scripts/select_step9c_tests.py scripts/step9c_baseline.py .claude/skills/issue/SKILL.md-> 0/0/0, compose time.
Proposed change (candidate diff sketch — refine in planning)
Either (a) add --continue-on-collection-errors to the Step 9c gate pytest invocation (SKILL.md recipe) with compare-side handling of collect-error rows as per-file failures (classifiable pre-existing), or (b) teach select_step9c_tests.py to auto-deselect files marked collection-red in the fresh baseline ledger, WARN-loudly. Planner weighs (a) vs (b); MF-1b's refusal-to-classify semantics for genuinely partial runs must be preserved.
Scope / surfaces
- Primary targets:
scripts/select_step9c_tests.py,scripts/step9c_baseline.py,.claude/skills/issue/SKILL.md(Step 9c gate recipe)
Constraints / invariants
- Workflow-surface only — never experiment code,
configs/, ortasks/. scripts/workflow_lint.pyno-flags run +--check-askspass on touched files; ruff passes where applicable.- This session runs under a
workflow_fix_target:Provenance line — it MUST NOT auto-route its own subagents' workflow-fix candidates (recursion guard).
Provenance
-
fingerprint: e7a8febc29ab
-
workflow_fix_target: scripts/select_step9c_tests.py, scripts/step9c_baseline.py, .claude/skills/issue/SKILL.md