A Claude Code transcript passes through five independent evidence checks for identity, authority, durable effect, observation, and cleanup before a reviewer accepts the run

A Claude Code audit trail needs proof beyond the transcript

A Claude Code transcript can describe an MCP action without proving who was authorized, what committed, whether an independent read saw it, or what rollback left behind.

September 9, 2026 · 6 min · 1136 words · Thomas De Vos
Read A Claude Code audit trail needs proof beyond the transcript
A Claude Code MCP write passes through an acknowledgement gate, durable commit check, and independent read before a durability receipt is issued

Claude Code got a success receipt before the write was durable

An MCP tool can return success after accepting a write but before durable storage. Define acknowledgement levels, verify the committed version, and give Claude Code a durability receipt.

September 7, 2026 · 5 min · 995 words · Thomas De Vos
Read Claude Code got a success receipt before the write was durable
Two parallel Claude Code writes request operation IDs from one atomic identity ledger, which issues unique IDs and blocks collisions before MCP dispatch

Claude Code gave two parallel writes the same operation ID

Two parallel Claude Code tool calls can share an operation ID and corrupt retry evidence. Allocate identity centrally, bind it to intent, and reject collisions before dispatch.

September 6, 2026 · 5 min · 989 words · Thomas De Vos
Read Claude Code gave two parallel writes the same operation ID
Two Claude Code eval cases are separated by a reset gate that verifies a clean sandbox before the second case starts

Claude Code passed the eval because the previous case cleaned up for it

A Claude Code eval can pass only because an earlier case left the sandbox in a helpful state. Give every case a fresh environment, a state fingerprint, and a reset receipt.

September 5, 2026 · 5 min · 951 words · Thomas De Vos
Read Claude Code passed the eval because the previous case cleaned up for it
Three Claude Code subagents request reservations from one parent-owned budget ledger, which admits two calls and blocks the third before the shared ceiling is exceeded

Claude Code stayed under every child budget and still overspent

Three Claude Code subagents each stayed inside their local limit. Together they broke the run budget because nobody reserved spend at the parent boundary.

September 4, 2026 · 5 min · 928 words · Thomas De Vos
Read Claude Code stayed under every child budget and still overspent
A new Claude Code run is blocked because its pooled MCP session still carries the previous tenant context

Claude Code changed tenants. The MCP session did not.

A new Claude Code run selected the right tenant, but its pooled MCP session kept the previous tenant context. Bind every session to the authority it carries.

September 3, 2026 · 4 min · 810 words · Thomas De Vos
Read Claude Code changed tenants. The MCP session did not.
A revoked Claude Code permission is blocked when the MCP gateway compares a cached allow decision with the current policy version and revocation epoch

Claude Code lost permission. The MCP cache still said allow

Revoking Claude Code access is useless if an MCP gateway keeps serving an old allow decision. Bind cached authorization to policy version, resource state, and a short expiry.

September 1, 2026 · 5 min · 858 words · Thomas De Vos
Read Claude Code lost permission. The MCP cache still said allow
An approved Claude Code MCP call is stopped when a redirect changes the destination, then allowed only after scheme, host, port, TLS identity, and resolved network range match the transport binding

Claude Code approved one MCP server. The request went somewhere else.

An MCP approval can bind to a tool name while DNS, redirects, proxies, and service discovery send the request elsewhere. Pin the transport identity at dispatch time.

August 31, 2026 · 5 min · 918 words · Thomas De Vos
Read Claude Code approved one MCP server. The request went somewhere else.
A Claude Code call to an MCP method labelled read only fans out into a paid warehouse query, stored export, webhook, and audit-state change before an effect contract gates the call

Claude Code called a read-only MCP tool 186 times. The bill said otherwise.

An MCP method labelled read only can still start paid queries, create exports, send webhooks, and change audit state. Control the effects, not the method name.

August 30, 2026 · 5 min · 887 words · Thomas De Vos
Read Claude Code called a read-only MCP tool 186 times. The bill said otherwise.
Claude Code receives the first 100 of 8,742 records, follows every cursor against one snapshot, and produces a collection completeness receipt

Claude Code checked the first page and called the job done

An MCP tool returned 100 clean records, so Claude Code declared a migration complete. The other 8,642 records were still waiting behind a cursor.

August 29, 2026 · 5 min · 889 words · Thomas De Vos
Read Claude Code checked the first page and called the job done