Skip to content

Resume interrupted queued loops from centralized SQLite state - #114

Draft
suprie wants to merge 1 commit into
mainfrom
codex/central-run-recovery
Draft

suprie wants to merge 1 commit into
mainfrom
codex/central-run-recovery

Conversation

@suprie

@suprie suprie commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Queued runs interrupted mid-phase currently start a fresh implementation session, while repository-local runtime YAML can differ between worktrees. This change saves run plans and execution snapshots in per-user SQLite and continues unfinished work in the retained worktree.

Changes

  • Import legacy runtime YAML once from the canonical main checkout; preserve the original files.
  • Share operational records across linked worktrees and check execution revisions inside a write transaction.
  • Save provider session checkpoints before a final response exists. Continue unfinished phases with native resumption or recovery instructions, without requeuing completed phases.
  • Add “Continue unfinished loop” controls and shared ASD-STE100 writing guidance for Claude and Codex.
  • Document the migration boundary and update project memory.

Validation

Validated after integration with current main (b6f72fa, including the handoff changes):

  • 766 Rust unit tests passed; 9 live-provider tests ignored.
  • 34 frontend tests passed.
  • Frontend production build, formatting, strict Clippy, and staged secret scan passed.
  • Documentation-test harness passed with an isolated build directory.
  • Recovery tests cover retained worktree edits, shared state, stale writes, provider checkpoints, and missing Codex-thread fallback before task dispatch.

Scope and follow-up

This is the first migration slice. Interactive “Start next loop” still starts a fresh conversation. Transcripts, multi-agent manifests, and delivery/handoff records retain their existing file storage. Live-provider interruption/resumption still needs a manual smoke test.

The SQLx dependency required cached transitive dependency resolution updates in Cargo.lock. Pre-existing runtime YAML edits and unrelated PRD checkbox changes are excluded.

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