workflow-fix: gotchas.md — production-n-calibrated gates bind at smoke n
kind: infra#wf-fix#wf-fix-fp:a4c2a7c6c975
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 the workflow-fix-on-bug protocol from a failure-lesson (gotcha_candidate: yes) raised on task #1345 (emitting agent: experiment-implementer, crash-fix round 3).
Goal
Add the smoke-scale-gate trap to .claude/rules/gotchas.md: production-n-calibrated kill gates deterministically kill smoke legs.
Workflow gap
- Bug observed: #1345's smoke leg was deterministically killed by a ±0.02 parity gate comparing n=8 smoke fits against n≈5000 anchors (R²≈−1.5), and a smoke yield floor of 2 (kept=1) rc-21-halted the exact phase the smoke exists to exercise. Two GCE launch cycles burned before the fix round.
- Why it is a workflow gap: the PASS_UNIFIED smoke=sweep-with-tiny-n convention (issue SKILL Step 6d.0) interacts with plan kill-criteria calibrated at production n; no rule warns implementers to thread the smoke flag into gate-bearing phases. gotchas.md owns codebase/infra traps of this class.
- Confidence (emitter): high
- verified-at-filing:
grep -n "smoke" .claude/rules/gotchas.md | grep -ci "gate\|floor\|parity"→ 0 (no existing smoke-scale-gate bullet, 2026-07-15). Per-target: .claude/rules/gotchas.md 0 hits for the pattern (absence-of-guard claim — the 0-hit result IS the evidence).
Proposed change (candidate diff sketch — refine in planning)
- gotchas.md new bullet "Production-n-calibrated gates bind at smoke n":
- a ±tol anchor-reproduction check or absolute yield floor is structurally
- unsatisfiable at smoke n (PASS_UNIFIED runs the identical chain at tiny n).
- Thread --smoke into every gate-bearing phase: run the gate COMPUTATION
- identically, demote production-n-calibrated verdicts to informational,
- size smoke floors so any nonzero yield proceeds; production halt paths
- stay byte-untouched + unit-pinned. (#1345 r3; agent-memory twin:
- experiment-implementer/feedback_smoke_scale_gates.md)
Scope / surfaces
- Primary target:
.claude/rules/gotchas.md - Grep before editing (
grep -rln 'smoke' .claude/rules/ .claude/skills/issue/SKILL.md | head) — consider whether the issue SKILL Step 6d.0 PASS_UNIFIED prose should cross-reference the trap; list hits in the plan.
Constraints / invariants
- Workflow-surface only. LESSONS.md index untouched (gotchas.md row exists).
scripts/workflow_lint.pypasses.- Recursion guard: the spawned session carries workflow_fix_target and must not auto-route its own candidates.
Provenance
- workflow_fix_target: .claude/rules/gotchas.md
- fingerprint: a4c2a7c6c975
Activity