daily-fix: HF routing snapshot stale at merge-gate time
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-19 (route 2) from transcript-mined problems (see evidence in ## Provenance).
Goal
Fix the HF_ROUTING_FROZEN_SNAPSHOT staleness race in scripts/workflow_lint.py: the grandfather list is generated at implementer time, so a file landing on main between snapshot generation and the merge gate makes the live-hf-retry-routing check fire on a file the round never touched — regenerate (or auto-append with WARN) at merge-gate time.
Workflow gap
- Bug observed: the new
[live-hf-retry-routing]check fired onscripts/issue1482_g1probe_stage.py, created on main AFTER the #1547 implementer generated its frozen snapshot; the Step 10d gate BLOCKED and needed a hot snapshot fix (74bf37250b) + re-run. - Why it is a workflow gap: under fleet churn (20+ merges/day) any implementer-time frozen snapshot goes stale before its merge gate; each staleness hit costs a gate round.
- Confidence (emitter): medium-high
- verified-at-filing:
grep -n HF_ROUTING_FROZEN_SNAPSHOT scripts/workflow_lint.py→ :497 (doc), :7745 (frozenset def), :8089 (exemption check) — mechanism present, per-target hits bind; context read: the snapshot is a hardcoded frozenset in the file (an implementer-time artifact by construction). Incident: session 51183509 (task #1547) @ 20:45 UTC 2026-07-19, gate BLOCK + hot-fix 74bf37250b.
Proposed change (candidate diff sketch — refine in planning)
(none — sketch: at gate time, treat a flagged file that is UNTOUCHED by the round's diff as pre-existing-on-main → WARN + auto-append candidate instead of BLOCK; keep BLOCK for round-touched files)
Scope / surfaces
- Primary target:
scripts/workflow_lint.py(the live-hf-retry-routing check + snapshot mechanism)
Constraints / invariants
- Workflow-surface rules apply where the target is workflow surface;
scripts/workflow_lint.py --check-askspasses; ruff on touched files passes. - Recursion guard applies where tagged wf-fix (workflow_fix_target Provenance line below).
Provenance
- workflow_fix_target: scripts/workflow_lint.py
- fingerprint: fef76460d74a
Mined evidence: epm:progress 'BLOCK — NEW [live-hf-retry-routing] fires on scripts/issue1482_g1probe_stage.py (created on main AFTER the implementer's snapshot generation...)' (#1547, 2026-07-19).