关联 RFC / 架构
目标问题
Runtime Event v4 只能描述线性 Run 和单个 subagent 生命周期,缺少 workflow/node/artifact 层级、幂等 event_id 与可重放 sequence。客户端无法在断线后恢复任务图,也无法稳定展示并行 Explore、审批、replan 和 needs_recovery。
实现设计(How)
- 发布 Runtime Event payload v5,envelope 增加 event_id、workflow_id、node_id、parent_node_id 和 Workflow 内单调 sequence。
- 增加 workflow、node、artifact、approval、recovery、node compact 事件;现有 agent/tool/permission/budget/usage/hook/checkpoint 事件携带节点归属。
- Gateway 新增 getWorkflow、resolveWorkflowApproval、resolveWorkflowRecovery、listWorkflowEvents RPC。
- 状态与事件同事务持久化;Gateway 重连先取 snapshot,再从 sequence 增量重放。
- TUI v2 reducer 保存 Workflow/Node map、依赖、活动节点、审批/权限/恢复状态和 last sequence;使用 event_id 去重并检测缺口。
- TUI v1 固定 v4 且目录冻结,本阶段不修改
internal/tui/;正式 v5 切换后停止支持 TUI v1。
- Runtime 不双发 v4/v5;切换作为明确 breaking change。
影响模块:Runtime event contracts、Gateway contracts/RPC/relay/docs、TUI v2 gateway/reducer/view 和协议生成示例。
边界与非目标:Gateway 不推导 Workflow 状态;TUI v2 不导入 Runtime/Session;不建立 v4 投影层;不修改 TUI v1。
任务拆解
测试与验证(Done)
风险与回滚
- 风险:v5 切换导致旧客户端立即失效。先完成 TUI v2 conformance 和发布指引,再切换 Runtime。
- 风险:事件与状态不一致。事件 sequence 与状态迁移同事务,Gateway 只中继持久化事实。
- 风险:Reducer 遇到缺口产生错误 UI。检测缺口后重新请求 snapshot。
- 回滚:正式切换前可回退 v5 入口;切换后按完整版本回滚,不在 Runtime 内长期维护 v4 双发。
关联 RFC / 架构
目标问题
Runtime Event v4 只能描述线性 Run 和单个 subagent 生命周期,缺少 workflow/node/artifact 层级、幂等 event_id 与可重放 sequence。客户端无法在断线后恢复任务图,也无法稳定展示并行 Explore、审批、replan 和 needs_recovery。
实现设计(How)
internal/tui/;正式 v5 切换后停止支持 TUI v1。影响模块:Runtime event contracts、Gateway contracts/RPC/relay/docs、TUI v2 gateway/reducer/view 和协议生成示例。
边界与非目标:Gateway 不推导 Workflow 状态;TUI v2 不导入 Runtime/Session;不建立 v4 投影层;不修改 TUI v1。
任务拆解
cmd/neocode-tuiv2。测试与验证(Done)
风险与回滚