Skip to content

Make MCP execution crash-recoverable - #106

Merged
bordumb merged 3 commits into
mainfrom
codex/mcp-crash-checkpoints
Aug 13, 2026
Merged

Make MCP execution crash-recoverable#106
bordumb merged 3 commits into
mainfrom
codex/mcp-crash-checkpoints

Conversation

@bordumb

@bordumb bordumb commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Outcome

A gateway can die after durable reservation or provider entry and a replacement process can recover the exact native-owned execution without re-entering the provider or reconstructing Auths semantics.

Changes

  • add authenticated native checkpoints for reserved, possible-effect, and receipt-pending states
  • require execution stores to commit checkpoints with reservation and provider entry
  • add explicit matching auths.recover(...) APIs in TypeScript and Python
  • persist one authority validity epoch with the recoverable development manifest so independent processes derive the same authority and execution identity
  • make development stores reject old disposable execution state, validate reference ownership, close completed checkpoints, and accept only byte-identical receipt replay
  • add process-kill recovery tests in both SDKs

Safety

  • recovery records remain opaque and authenticated by Rust
  • recovery reauthorizes the exact action and derives the stable execution identity before loading pending state
  • provider-entry recovery always reconciles; it never blindly invokes again
  • stale or completed references fail closed

Validation

  • TypeScript build passes
  • Rust and Python formatting applied
  • authoritative validation delegated to GitHub CI per repository policy

@bordumb
bordumb merged commit f16062b into main Aug 13, 2026
33 checks passed
@bordumb
bordumb deleted the codex/mcp-crash-checkpoints branch August 13, 2026 21:23
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