Skip to content

Port mutation harness to Node (drop the lone .py) - #19

Merged
daniloc merged 1 commit into
mainfrom
chore/port-mutation-harness-to-node
Jun 25, 2026
Merged

Port mutation harness to Node (drop the lone .py)#19
daniloc merged 1 commit into
mainfrom
chore/port-mutation-harness-to-node

Conversation

@daniloc

@daniloc daniloc commented Jun 25, 2026

Copy link
Copy Markdown
Owner

The mutation harness was the only Python in an all-TypeScript/Node repo (it went Python to dodge bash string-quoting, a non-issue in Node). Rewrite as scripts/invariant-mutation-probe.mjs (Node built-ins only), delete the .py, and point the CI step at node instead of python3 — no new language in the stack, no python3 dependency in CI/pre-push.

Behaviour identical: same edge table, same ANCHORED/VACUOUS/SHADOWED/INVALID classification (NO_COLOR + ANSI strip + multi-marker match), --changed incremental mode, strict exit, captured-output diagnostics, git-revert safety. Verified locally: full sweep 6 anchored / 1 shadowed / exit 0; fail path exit 1. This PR touches no chokepoint, so the PR-event step runs --changed (trivial pass); full-mode runs on the post-merge main push.

🤖 Generated with Claude Code

The harness was the only Python in an otherwise all-TypeScript/Node repo — it
started as bash, went Python to escape shell-quoting of TS string literals, but
that's a non-issue in Node. Rewrite as scripts/invariant-mutation-probe.mjs (Node
built-ins only: child_process/fs/path), delete the .py, and point the CI step at
`node` instead of `python3`. No new language in the stack, no python3 dependency in
CI or pre-push.

Behaviour is identical: same edge table, same ANCHORED/VACUOUS/SHADOWED/INVALID
classification (NO_COLOR + ANSI strip + multi-marker match), --changed incremental
mode, strict exit, captured-output diagnostics, git-revert safety. Verified locally:
full sweep 6 anchored / 1 shadowed / exit 0; fail path (drifted match) exit 1.

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

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 35f7972 Jun 25 2026, 07:37 PM

@daniloc
daniloc merged commit 8108690 into main Jun 25, 2026
5 checks passed
@daniloc
daniloc deleted the chore/port-mutation-harness-to-node branch June 25, 2026 19:39
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