Skip to content

test(langgraph): characterize checkpoint replay and write uncertainty - #1142

Merged
blove merged 7 commits into
mainfrom
codex/checkpoint-protocol
Sep 23, 2026
Merged

blove merged 7 commits into
mainfrom
codex/checkpoint-protocol

Conversation

@blove

@blove blove commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Checkpoint replay, reconnect, and a failed write response have different execution consequences. Add three tests against the existing local client-tools graph and locked LangGraph API to make those consequences explicit before implementing a neutral checkpoint command.

  • Terminal pending-call replay retains the call ID and makes no model request; pre-agent replay makes one request and produces a fresh call ID. Completed terminal replay also makes no model request.
  • A resumable stream rejoins the same run from its cursor, emits the final checkpoint, and matches an exact persisted-state read without creating another run.
  • A proxy drops a state-write response only after upstream acceptance. With retries disabled, the caller rejects while exactly one child checkpoint persists with the submitted parent.

The setup exposes local API/journal URLs to test workers. Fixtures stay local; threads and the fault-injection proxy are cleaned up. This changes only three e2e files and adds no production API.

Validation: the native client-tools e2e target passes all 7 tests, including the 3 new protocol tests and 4 existing browser tests. Repeated implementation runs and a separate parent run passed. New-spec ESLint, standalone TypeScript, and diff checks pass; the setup's preexisting relative ports import still triggers a direct Nx boundary lint error. Independent spec and code-quality reviews approved.

Provenance: LangGraph API 0.9.0, LangGraph 1.2.4, in-memory runtime 0.29.0, JavaScript SDK 1.10.0, and published middleware 0.1.0 from the existing lock. These tests establish final persistence after reconnect, not immediate durability of every event or retention across server restarts. They do not exercise browser tool execution or durable execution-store claims.

Based on main after #1138 merged. The signed integration head has the identical complete tree as the previously CI-tested head, and a fresh full native e2e run passes all 7 tests. Require current-head CI before merging.

Forward the existing AbortSignal to LangGraph state writes and cover cancellation through normal and protected transports with real HTTP regressions. Include the generated API documentation and parity inventory update.
@vercel

vercel Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
threadplane Ignored Ignored Preview Sep 23, 2026 8:41pm UTC

Request Review

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove changed the base branch from codex/state-write-cancellation to main September 23, 2026 20:37
@blove
blove marked this pull request as ready for review September 23, 2026 20:37
@blove
blove enabled auto-merge (squash) September 23, 2026 20:37
@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@blove
blove merged commit bb64e8f into main Sep 23, 2026
32 of 34 checks passed
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