Skip to content

feat: harden durable workflow resume#80

Draft
SSS135 wants to merge 3 commits into
QuintinShaw:mainfrom
SSS135:split/pr74-durable-resume
Draft

feat: harden durable workflow resume#80
SSS135 wants to merge 3 commits into
QuintinShaw:mainfrom
SSS135:split/pr74-durable-resume

Conversation

@SSS135

@SSS135 SSS135 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the durable resume foundation requested in #74:

  • versioned and migrated run artifacts
  • stable scoped execution IDs, including nested workflows
  • longest-compatible-prefix journal replay with durable suffix invalidation
  • exact per-agent and aggregate usage accounting across replay
  • crash-to-paused recovery and backup discovery
  • cross-process run leases with stale-owner takeover
  • persisted execution controls, including concurrency
  • fail-closed durability boundaries
  • restart and remove lifecycle controls

Recovery resumes from the last durable message or tool-result boundary.

Temporary stack

This draft builds on #83 because durable lifecycle actions extend its workflow_control contract. Review the durable commit after #83, or wait until #83 lands and this branch is rebased.

Validation

  • npm test: 939/939 passed across 64 suites
  • focused durable-resume suites: passed
  • Biome: passed
  • TypeScript build: passed
  • git diff --check: passed
  • repeated independent shortcut, quality, spec, and adversarial durability reviews completed; all reproduced findings were addressed

Split from and supersedes the durable-state and replay portion of #74.

@SSS135 SSS135 changed the title Draft: harden durable workflow resume feat: harden durable workflow resume Jul 16, 2026
@SSS135
SSS135 force-pushed the split/pr74-durable-resume branch from c8c1714 to dc283c9 Compare July 16, 2026 12:05
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