A Claude Code MCP permission delta showing one intended staging index allowed while production access, destructive DDL, another database, and role changes remain denied

Test the permission delta before widening Claude Code MCP access

A broader MCP grant may unblock one Claude Code task while authorizing unrelated production actions. Test what became possible and what must remain forbidden.

August 9, 2026 · 5 min · 897 words · Thomas De Vos
Read Test the permission delta before widening Claude Code MCP access
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

Happy-path evals show whether Claude Code can use a tool. A denial-path fixture proves whether it refuses a plausible request that exceeds its approved authority.

August 7, 2026 · 5 min · 971 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 · 7 min · 1345 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