Skip to content

falsifier-alert: make the cold control's conclusion non-ambient - #7022

Merged
briansrls merged 1 commit into
mainfrom
claude/ci-perf-regression-qooreh
Jul 21, 2026
Merged

briansrls merged 1 commit into
mainfrom
claude/ci-perf-regression-qooreh

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

What

Adds .github/workflows/falsifier-alert.yml — a small workflow_run-triggered companion to the affected-set falsifier:

  • Transition to red (falsifier concludes failure, no open alert issue): opens a falsifier-alert-labeled issue @-mentioning the operator, with the run link and a summary of what goes dark while the cold control is red (per-PR selection unverified, Gate-1 emit receipts not executing, known-red probe accounting frozen).
  • Sustained red: heartbeat comment at most every 20h (no spam — 29 consecutive reds would have produced 1 issue + ~1 comment/day, not 29 notifications).
  • Transition to green: comments the green run receipt and auto-closes the issue.

Why

The falsifier ran red for 29 consecutive scheduled runs (2026-07-16 → 07-21) without anyone noticing, because nothing consumed its conclusion — operator's words: "totally ambient/gets ignored unless a human literally goes to look at it." During that window the chronic batch-1 red (non_fold_residue_clean_holds / non_fold_residue_no_unrostered_or_stale) was actually fixed on main by roster tending — verified offline with a faithful replica of the nfr_* analyzer over the current corpus (live=120, unrostered=0, stale=0) — but the OOM kept killing the run before batch 1 could report, and no one could see either fact.

Why hand-maintained yml is admissible here

gunbc.generated_artifact enumerates exactly two workflow artifacts (ci.yml, falsifier.yml), so this new file sits outside the drift wall. It is a declared interim: the file header carries a dissolve-on into gunbc.falsifier_workflow for when the workflow emit seam models workflow_run triggers + issue effects, at which point the alert becomes a typed effect row beside the batches it observes.

Note: workflow_run triggers only arm once this file is on the default branch — the alert does nothing until merged.

The deeper §5 construction (falsifier freshness as an input to the merge-admission gate, so a dead cold control eventually blocks merges instead of paging) is deliberately out of scope here and staffed separately.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XZDbzW6ev1wqgfiQYgRUGD


Generated by Claude Code

The affected-set falsifier — the whole-corpus cold control that verifies
per-PR selection and is the sole executor of the Gate-1 emit receipts —
ran red for 29 consecutive scheduled runs (2026-07-16 through 07-21)
without any human noticing, because nothing consumed its conclusion.
Meanwhile the chronic batch-1 red (non_fold_residue_clean_holds /
non_fold_residue_no_unrostered_or_stale) was actually FIXED by roster
tending on main (verified offline: a faithful replica of the nfr_*
analyzer over the current corpus reads live=120, unrostered=0, stale=0),
so the only remaining blocker is floor memory — and nobody could see
that either.

Add a hand-maintained companion workflow (declared interim; ci.yml and
falsifier.yml stay generated+drift-gated, and gunbc.generated_artifact
enumerates exactly those two, so this file is outside the drift wall):
on falsifier completion, transition-to-red opens a labeled issue
mentioning the operator, sustained red heartbeats at most every 20h,
and transition-to-green closes the issue with the run receipt.
Dissolve-on marker in the file header: folds into
gunbc.falsifier_workflow when the emit seam models workflow_run
triggers + issue effects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XZDbzW6ev1wqgfiQYgRUGD
@cursor

cursor Bot commented Jul 21, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@briansrls
briansrls merged commit d547241 into main Jul 21, 2026
1 check passed
@briansrls
briansrls deleted the claude/ci-perf-regression-qooreh branch July 21, 2026 19:13
briansrls pushed a commit that referenced this pull request Jul 21, 2026
…ise.

extdeps_external_authority_gate_passes failed Bool(false) on 3a7bc79 with
branch behind main on cli_run/emit_rust. PR contribution unchanged: 3-file
.dag strip.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants