维护者确认:PR #2558 fix(desktop): seal recovered predecessor plans
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
该 PR 需要维护者确认(arch 触发:核心路径改动 795 行)。
改动内容:
- 新增 `RecoveryPlanSettlement` 类(maker-ipc/recoveryPlanSettlement.ts),把恢复计划的 settleDone / settleError 收口改为带 `turnGeneration` / `isCurrentGeneration` 的世代校验,只允许当前 provider 世代结算;
- `messagePersistBroadcaster` 新增 `persistRecoveredCodexPlanOnDone` / `closeCodexPlanUpdatesForRecovery` / `isCodexPlanUpdateClosed`,在恢复回合持久化时封口 predecessor plan 的 update_plan 事件;
- `forkSessionAtMessage` 改为先 drain 持久化队列再读 fork 快照;sessionActiveTurn / agentInputQueue 相关契约同步调整。
这改变了恢复/编排热路径上的跨模块数据契约(新类、新导出、结算调用新参数),不是同结构内的实现替换,因此进入维护者确认。
确认方式:
- 认可本次结构调整 → 直接在 PR 上 Approve,门即放行;
- 需要修改 → Request Changes 写明要求,作者改完重新推代码后,再 Approve 即放行。
关联 PR:https://github.com/makecindy/cindy/pull/2558
---
关联 PR:#2558(作者 @zyaoii);本 issue 由 review-pr 流程自动创建,用于先讨论该 PR 涉及的技术架构调整,维护者确认后 PR 会恢复推进。
Contributor guide
Research direction
Review PR #2558 and start with maker-ipc/recoveryPlanSettlement.ts, messagePersistBroadcaster, and forkSessionAtMessage. Check how turnGeneration, recovery persistence, and queue draining change the sessionActiveTurn and agentInputQueue contracts. Done means a maintainer approves the architectural change, or requests changes for the author to address.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, desktop
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100