A Claude Code rollback rehearsal verifies a recovery target, restores an isolated environment, checks all external effects, and proves old code can read new data

Make Claude Code rehearse rollback before production approval

A rollback note says recovery should work. A rollback rehearsal checks the exact target, non-code state, data compatibility, recovery time, and service behaviour before approval.

August 8, 2026 · 5 min · 958 words · Thomas De Vos
Read Make Claude Code rehearse rollback before production approval
A Claude Code denial-path eval blocks a plausible production database write because the run has read-only permission

Test the Claude Code tool call that must be refused

A refusal test can pass because the tool is broken. Pair denied calls with permitted controls and adapter faults before trusting an MCP permission gate.

August 7, 2026 · 8 min · 1551 words · Thomas De Vos
Read Test the Claude Code tool call that must be refused
An irreversibility gate blocks a Claude Code production feature flag deletion because recovery is untested and approval is missing

Stop Claude Code before an irreversible tool call

Claude Code can revert a patch, but Git cannot restore every MCP or production effect. Add an irreversibility gate before destructive tool calls run.

August 6, 2026 · 5 min · 980 words · Thomas De Vos
Read Stop Claude Code before an irreversible tool call
Two passing Claude Code test commands point to different commit, working tree, and lockfile fingerprints, so the review marks one result stale and requests a rerun

Bind Claude Code test results to the code they actually tested

Claude Code can report passing tests from different repository states. Add a run fingerprint so each result names the exact code, dependencies, tools, and policy it tested.

August 5, 2026 · 5 min · 1065 words · Thomas De Vos
Read Bind Claude Code test results to the code they actually tested
An approved effect contract and a Claude Code MCP write enter a receipt gate that checks the principal, target, state change, and independent verification before completion

Require an effect receipt after every Claude Code MCP write

An MCP tool can return success after changing the wrong target or using the wrong authority. Make Claude Code prove the external effect before it reports completion.

August 1, 2026 · 5 min · 959 words · Thomas De Vos
Read Require an effect receipt after every Claude Code MCP write
A shared working tree enters a diff ownership gate where Claude Code changes continue to review while a developer edit and unattributed generated file are excluded

Make Claude Code prove diff ownership before it commits

Claude Code can accidentally include a developer’s unfinished edit or another agent’s output in its patch. Record the baseline, attribute every hunk, and block commits when ownership is unclear.

July 31, 2026 · 6 min · 1149 words · Thomas De Vos
Read Make Claude Code prove diff ownership before it commits
An approved Claude Code plan bound to commit A reaches a freshness gate after commit B changes a relevant dependency, so execution stops and the agent replans for review

Expire Claude Code plans when the repository changes

A Claude Code plan can become stale after another commit changes its assumptions. Bind approval to repository state and force a replan when the relevant boundary moves.

July 30, 2026 · 6 min · 1117 words · Thomas De Vos
Read Expire Claude Code plans when the repository changes
Claude Code sends a write through an MCP tool, receives a timeout, and verifies the external system before continuing, retrying, or stopping

A Claude Code tool timeout does not mean the action failed

A timed-out MCP tool call may have completed after the connection closed. Verify the external result before Claude Code retries a write.

July 29, 2026 · 9 min · 1773 words · Thomas De Vos
Read A Claude Code tool timeout does not mean the action failed
An AI agent proposal passing through schema, operation, target, policy, dry-run, and approval checks before a receiving system may execute it

Treat AI agent output as untrusted input at every handoff

An approved AI agent can still produce a dangerous command, query, or tool argument. Validate generated output at the receiving boundary before another system acts on it.

July 28, 2026 · 7 min · 1292 words · Thomas De Vos
Read Treat AI agent output as untrusted input at every handoff
A tested Claude Code commit changing after a rebase, causing a release gate to reject stale evidence and run the checks again

Your green check belongs to a commit, not a pull request

A Claude Code branch can change after tests pass and approval is given. Bind test results, review evidence, and release approval to the exact commit that produced them.

July 26, 2026 · 6 min · 1260 words · Thomas De Vos
Read Your green check belongs to a commit, not a pull request