移除前端 consume 轮询兜底
- 唤醒只由 notify 驱动,bootstrap 后立刻 consume 一次补齐竞态窗口 - 定时 tick 无法自举:判断活动回合本身依赖事件,唤醒丢失时定时器不会启动 - 主规范、ADR 与实施计划同步删除该条款
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
1. 先用真实 app-server 会话核对 `item.started` 与 `item.completed` 的条目 id 是否同一 id 空间;不一致则先在适配层统一 id,再进入后续步骤。
|
||||
2. Thread Manager 事件自足化:`item.started` / `item.completed` 携带经同一套脱敏、截断、路径归一的完整条目,且与历史切片同形。
|
||||
3. 删除 Direct 回合事件发点、`direct_turn_stream.rs` / `direct_tool_calls.rs` 两个投影模块及其命令注册,保留历史切片读取与 `subscribe` / `consume` / notify。
|
||||
4. 前端收敛为单一 reducer:bootstrap 与 consume 走同一条事件流,notify 唤醒为主、活动回合期间低频 `consume` tick 兜底,过期后重新订阅并原子替换。
|
||||
4. 前端收敛为单一 reducer:bootstrap 与 consume 走同一条事件流,bootstrap 后立刻 consume 一次补齐竞态窗口,此后只由 notify 唤醒,过期后重新订阅并原子替换。
|
||||
5. 首屏与分页:以 `lastCompletedItemId` 为锚点取最近切片,锚点按原始条目 id 推进,切片无可见条目时自动连拉(上限 5 页)。
|
||||
6. 删除前端 `directTurnStream` / `directToolCalls` 状态、活动回合快照接管与流排序回退分支,把聊天投影收敛成"条目 → 视图"一条路径。
|
||||
7. 测试与文档收口:补 reducer 单测、解锁跳过的工具卡片用例、更新主规范并把冲突的实施计划与工具卡片文档改写为当前状态。
|
||||
@@ -34,5 +34,5 @@
|
||||
|
||||
- 条目 id 空间不一致会让活跃条目永远收不到完成事件:这是第 1 步的显式前置验证,不通过不进入实现。
|
||||
- 事件 payload 变大(命令输出、文件变更明细):继续沿用既有截断上限,并观察 Thread Manager 单 thread 字节上限是否被提前触发。
|
||||
- 订阅过期与 notify 丢失:以重新 `subscribe` + 原子替换处理过期,以低频 tick 兜底丢失,两者都需要单测覆盖。
|
||||
- 订阅过期:以重新 `subscribe` + bootstrap 后立即 `consume` + 原子替换处理,需要单测覆盖;不引入定时轮询。
|
||||
- 回滚点:每一步都保持"新源可用即不依赖旧源"的中间态可回退;不允许出现新源未启用而旧源已删除的提交。
|
||||
|
||||
Reference in New Issue
Block a user