Skip to content

CI: boundary-oracle mutation ratchet (re-land, ANSI fix + diagnostics) - #18

Merged
daniloc merged 3 commits into
mainfrom
diag/mutation-ratchet-ci
Jun 25, 2026
Merged

CI: boundary-oracle mutation ratchet (re-land, ANSI fix + diagnostics)#18
daniloc merged 3 commits into
mainfrom
diag/mutation-ratchet-ci

Conversation

@daniloc

@daniloc daniloc commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Re-lands the mutation ratchet as a CI gate after #16's push-to-main failure, with the actual root cause fixed.

Root cause of the first failure

Not the 7×-pool-boot I guessed in the revert. The mutations worked in CI — every oracle caught its break (e.g. context-capability AssertionError: expected undefined to be true; sql-ident expected [Function] to throw). The harness misread its own output: CI forces ANSI color, which interleaves escape codes into vitest's Tests N failed summary, so the ANCHORED regex missed and every passing edge was misfiled INVALID. Confirmed via a diagnostic run on this branch that dumps captured oracle output.

Fixes

  • Harness diagnosability: dumps the captured oracle output for any VACUOUS/INVALID verdict (the black box that made CI: boundary-oracle mutation ratchet #16 un-diagnosable).
  • Classifier robustness: run vitest with NO_COLOR, strip ANSI before matching, and detect ANCHORED via any of vitest's failure markers.
  • CI wiring: PR → --changed vs base (incremental); push to main → full backstop. Full-mode verified green in CI on this branch (6 anchored · 1 shadowed · 0 invalid) before re-gating.

🤖 Generated with Claude Code

…roduce

Adds captured-output dumping to the mutation harness for VACUOUS/INVALID verdicts
(the black box that made the first re-land's CI failure un-diagnosable), and
re-adds the CI step in temporary full-mode-on-every-event so a PR reproduces the
push-to-main failure with that output visible. Not a keeper — once the
7x-pool-boot incompatibility is understood, this reverts to the gated form.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 25, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
mnemion 09ef7b3 Jun 25 2026, 07:08 PM

daniloc and others added 2 commits June 25, 2026 15:03
The diagnostic dump proved the mutations DID work in CI — the oracles caught every
break (context-capability AssertionError "expected undefined to be true";
sql-ident "expected [Function] to throw"). The harness misread its own output:
CI forces ANSI color, which interleaves escape codes into vitest's summary
("Tests \x1b[..m1 failed"), so the `Tests \d+ failed` regex missed and every
ANCHORED edge was misfiled INVALID. The 7x-pool-boot theory was wrong; all boots
ran fine.

Fix: run vitest with NO_COLOR/FORCE_COLOR=0, strip ANSI before matching, and detect
ANCHORED via any of vitest's failure markers (summary line, "Failed Tests N", or a
"FAIL …​.test." line) rather than one brittle pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Full-mode now verified green in CI (prior commit's diagnostic run: 6 anchored, 1
shadowed, 0 invalid). Switch the step from diagnostic full-mode-on-every-event back
to the intended gated form: incremental on PRs, full backstop on push to main. Keep
the captured-output dump — it's what made this fixable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@daniloc daniloc changed the title DIAGNOSTIC: reproduce mutation-ratchet CI failure with captured output CI: boundary-oracle mutation ratchet (re-land, ANSI fix + diagnostics) Jun 25, 2026
@daniloc
daniloc merged commit 29bfc2d into main Jun 25, 2026
5 checks passed
@daniloc
daniloc deleted the diag/mutation-ratchet-ci branch June 25, 2026 19:09
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.

1 participant