EPS
← All tasks·#1746Completed

daily-fix: step9c gate degrade on collection ImportError

kind: infra#wf-fix#wf-fix-fp:e7a8febc29ab#daily-auto-filed
track:

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 compare correctly 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/, or tasks/.
  • scripts/workflow_lint.py no-flags run + --check-asks pass 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

Activity