No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
- Source mode: Auto
- Repository: pingdotgg/t3code
- Branch: main
- File: .coderabbit.config.ts
- Commit: 66ee628
- Layers: Repository TS config
- Review profile: CHILL
- Plan: Advanced
- Run ID:
e1157bdb-4a5f-46bf-a3d1-21fbaa1182ad
📥 Commits
Reviewing files that changed from the base of the PR and between 66ee628e0875b2b735b199f42e6151e347833637 and e7044817366c2611daa64471bd46ccdbdb9c219f.
📒 Files selected for processing: 13
apps/server/src/orchestration-v2/DelegatedCompletionDelivery.test.tsapps/server/src/orchestration-v2/EffectOutbox.tsapps/server/src/orchestration-v2/EffectWorker.test.tsapps/server/src/orchestration-v2/EffectWorker.tsapps/server/src/orchestration-v2/FoundationPersistence.test.tsapps/server/src/orchestration-v2/Orchestrator.tsapps/server/src/orchestration-v2/ProviderRuntimeRecoveryService.tsapps/server/src/orchestration-v2/RestartContinuation.test.tsapps/server/src/orchestration-v2/RestartContinuation.tsapps/server/src/persistence/Migrations.tsapps/server/src/persistence/Migrations/069_RestartRecoveryIndex.tsdocs/internals/server-updates.mddocs/user/updating.md
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.
📝 Walkthrough
Restart recovery now tracks process-loss counts and uses them to control continuation limits. The outbox coordinates recovery admission, child-before-parent ordering, and effect retention. Delegated-completion deliveries remain available while a cancelled parent needs a resume.
Changes: Restart recovery and delegated delivery
Layer / File(s) Summary Process-loss count and continuation limit
apps/server/src/orchestration-v2/EffectOutbox.ts,apps/server/src/orchestration-v2/ProviderRuntimeRecoveryService.ts,apps/server/src/orchestration-v2/RestartContinuation.ts,apps/server/src/orchestration-v2/EffectWorker.ts,apps/server/src/orchestration-v2/*test.ts,docs/internals/server-updates.md,docs/user/updating.mdContinuation effects carry processLossCountthrough recovery and execution. Recovery increments the count for unfinished runs, uses it for the continuation limit, and sets it to zero for planned shutdowns. Tests cover the count and limit behavior. The documentation describes the recovery limit and resets.Recovery admission, ordering, and retention
apps/server/src/orchestration-v2/EffectOutbox.ts,apps/server/src/orchestration-v2/FoundationPersistence.test.ts,apps/server/src/persistence/Migrations.ts,apps/server/src/persistence/Migrations/069_RestartRecoveryIndex.ts,docs/internals/server-updates.mdThe outbox limits active continuation recovery, claims child continuation work before parent work, and retains effects referenced by active continuation runs. Tests cover admission, ordering, and pruning. Migration 69 adds a partial index for active restart-continuation runs. Delegated-completion delivery hold
apps/server/src/orchestration-v2/Orchestrator.ts,apps/server/src/orchestration-v2/DelegatedCompletionDelivery.test.ts,docs/internals/server-updates.mdDelivery offering and queued-wake dispatch check whether a cancelled parent still needs a resume. User messages, MCP messages, and restart continuations can re-offer the saved delivery. Tests cover repeated wake dispatch and resumption actions. Priority: ➖ Normal
Estimated code review effort: 4 (Complex) | ~45 minutes
Change: Bug fix
Sequence Diagram(s)
mermaid1 sequenceDiagram 2 participant ProviderRuntimeRecoveryService 3 participant EffectOutbox 4 participant EffectWorker 5 participant RestartContinuation 6 ProviderRuntimeRecoveryService->>EffectOutbox: enqueue continuation with processLossCount 7 EffectOutbox->>EffectWorker: provide eligible continuation 8 EffectWorker->>RestartContinuation: call continueRestartedRun with processLossCount Possibly related issues
- Issue 23871 — The change re-offers saved delegated results after a user message or explicit MCP send.
- Issue 24059 — The change limits active recovery and carries process-loss counts across restarts.
Suggested reviewers:
t3dotgg
Merge Risk: ⚪ Minimal · up to e7044
No unresolved issue identified here prevents merging after normal checks.
Pre-merge checks: Passed 3 · Failed 1
Failed Failed checks: 1 warning
Check name Status Explanation Resolution Description check Warning The description provides detailed problem, change, verification, limitations, and issue context, but it does not use the required section headings. The required scope and approval evidence is incomple… Restructure the description under ## Problem, ## Change, ## Scope and approval, and ## Verification. Add the triaged issue or approval discussion link and the explicit maintainer approval comment, or explain why this focused fix qualifies f… Passed Passed checks: 3 passed
Check name Status Explanation Title check Passed The title clearly and concisely describes the primary change: bounding automatic server restart recovery. Linked Issues check Passed Check skipped because no linked issues were found for this pull request. Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check
Explanation
The description provides detailed problem, change, verification, limitations, and issue context, but it does not use the required section headings. The required scope and approval evidence is incomplete: it references
#24059but states that maintainer triage and approval remain outstanding.Resolution
Restructure the description under ## Problem, ## Change, ## Scope and approval, and ## Verification. Add the triaged issue or approval discussion link and the explicit maintainer approval comment, or explain why this focused fix qualifies for an exemption. Retain the reported verification results and limitations under ## Verification.
✨ Finishing Touches
🧪 Generate unit tests (beta)
- Create a new PR
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.