diff --git a/findings/RISK-F-0002-ops-warden-sign-ungated.md b/findings/RISK-F-0002-ops-warden-sign-ungated.md index 8290b02..0e877e5 100644 --- a/findings/RISK-F-0002-ops-warden-sign-ungated.md +++ b/findings/RISK-F-0002-ops-warden-sign-ungated.md @@ -10,7 +10,8 @@ date_reported: "2026-08-18" system: ops-warden environment: production fix_owner: ops-warden -fix_tracking: WARDEN-WP-0007 (gate shipped, disabled) / FLEX-WP-0007 (runtime deploy) +fix_tracking: ZONE-WP-0001 / WARDEN-WP-0032 (successor; the original framing is superseded) +fix_tracking_superseded: "WARDEN-WP-0007 (archived 2026-07-08) / FLEX-WP-0007 (finished 2026-06-29)" related: [RISK-F-0001] # Graded by risk-nexus 2026-08-19 — docs/rulings/2026-08-19-first-grading.md severity: medium diff --git a/tools/fix_tracker.py b/tools/fix_tracker.py index 7aaca3d..7baf80b 100644 --- a/tools/fix_tracker.py +++ b/tools/fix_tracker.py @@ -83,7 +83,13 @@ def report() -> list[str]: if not tracking or str(tracking).startswith("unset"): lines.append(f"{f['id']} ({f.get('severity')}) — NO FIX TRACKING; owner {f.get('fix_owner')}") continue - for r in resolve(tracking): + resolved = resolve(tracking) + if not resolved: + # An id the tracker cannot parse is not the same as no tracking, and + # silently printing neither is how a gap hides. + lines.append(f"{f['id']} — fix_tracking '{tracking}' names no workplan this tool can resolve") + continue + for r in resolved: if r["moved"]: age = (now - r["moved"]).days window = STALL_DAYS.get(f.get("severity"), 30)