优化: 波10审查回填(CR-51 PASS-WATCH yellow回波11修/CR-52 PASS)

This commit is contained in:
2026-06-17 01:48:05 +08:00
parent 31e048faf7
commit b6fe405431

View File

@@ -337,7 +337,9 @@
- ⑨**useAiConversations status 透传**:switchConversation mapper 透传 status 字段(archived_segment/compressed 落 AiMessage 供渲染折叠),types.ts 未含此字段经 cast 读写闭环。 - ⑨**useAiConversations status 透传**:switchConversation mapper 透传 status 字段(archived_segment/compressed 落 AiMessage 供渲染折叠),types.ts 未含此字段经 cast 读写闭环。
- **⚠️ 已知设计取舍(backend 自报,记审查项)**:clear_context 经 messages_mut() 改 status 后,ContextManager.history_tokens(私有字段无 setter)不立即扣减 archived 段 token(与 compress_old_messages 路径不同,compress 内部扣 token)。后果:history_tokens 短暂偏高,build_for_request 超预算裁剪可能比实际更早触发,属保守方向(不超发)不劣化安全性。代码注释已标注口径。 - **⚠️ 已知设计取舍(backend 自报,记审查项)**:clear_context 经 messages_mut() 改 status 后,ContextManager.history_tokens(私有字段无 setter)不立即扣减 archived 段 token(与 compress_old_messages 路径不同,compress 内部扣 token)。后果:history_tokens 短暂偏高,build_for_request 超预算裁剪可能比实际更早触发,属保守方向(不超发)不劣化安全性。代码注释已标注口径。
### CR-260616-51 波8 F-15阶段3 agentic loop自动压缩(0202b51) + AE-2025-04会话级授权(6ec191e) — 🟡 待审 ### CR-260616-51 波8 F-15阶段3 agentic loop自动压缩(0202b51) + AE-2025-04会话级授权(6ec191e) — ✅ 已审(PASS-WATCH·🟡1回波11修)
- **复审结论(2026-06-17·波10 wsm0tk95c agent CR-51)**: ⚠ **PASS-WATCH** — 🔴0 🟡1 ⚪2。阶段3(loop语义/触发/防重入成对/延迟mutate/降级/emit路由)+ AE-04(TrustKey/session_trust/audit查trust/ai_approve写trust/toast桥接/FR-S1)逻辑全 PASS,devflow 79 + df-ai 107 passed,vue-tsc EXIT 0。**🟡 yellow 回流波11修**:audit.rs:593-596 trust-hit 放行分支 `.await tools_arc.execute``&mut session`(注释 L593 声称锁外但代码持锁,与 Low risk spawn 模式不一致),run_command 慢命令阻塞该会话所有触 state.ai_session 的 IPC(30+)。修法:对齐 Low risk spawn+clone(trust_hits Vec 收集→循环外 join_all spawn execute 锁外→串行回填持锁)+ 修正注释。⚪2 非阻断(摘要 insert_at 二次压缩边缘/canonicalize 失败回退边缘)。
- **范围**: 2 agent 并行 workflow wigdmq5s4,文件域零重叠(阶段3 独占 agentic.rs;AE-04 独占 mod.rs/audit.rs/commands.rs/tool_registry.rs/AiChat.vue/useAiEvents.ts/types.ts/i18n×2)。 - **范围**: 2 agent 并行 workflow wigdmq5s4,文件域零重叠(阶段3 独占 agentic.rs;AE-04 独占 mod.rs/audit.rs/commands.rs/tool_registry.rs/AiChat.vue/useAiEvents.ts/types.ts/i18n×2)。
- **commit**: 0202b51(阶段3)+ 6ec191e(AE-04)。分 2 commit(语义清,功能不同)。 - **commit**: 0202b51(阶段3)+ 6ec191e(AE-04)。分 2 commit(语义清,功能不同)。
@@ -357,7 +359,9 @@
- ⑫**AE-04 FR-S1**:TrustKey 只含 tool+dir,不含 api_key/文件内容/命令串(mod.rs:189 注释)。 - ⑫**AE-04 FR-S1**:TrustKey 只含 tool+dir,不含 api_key/文件内容/命令串(mod.rs:189 注释)。
- **待修项回流 todo**: **无**(核心 grep+test+构建全 PASS;阶段3 延迟 mutate 口径 + AE-04 目录级粒度为设计取舍非 bug)。 - **待修项回流 todo**: **无**(核心 grep+test+构建全 PASS;阶段3 延迟 mutate 口径 + AE-04 目录级粒度为设计取舍非 bug)。
### CR-260616-52 波9 B-260617-01 run_workflow审批执行(方案a2后端分支)(e23b316) — 🟡 待审 ### CR-260616-52 波9 B-260617-01 run_workflow审批执行(方案a2后端分支)(e23b316) — ✅ 已审(PASS)
- **复审结论(2026-06-17·波10 wsm0tk95c agent CR-52)**: ✅ **PASS** — 🔴0 🟡0 ⚪3。a2 实施正确:run_workflow_inner 抽取语义零变化(命令层瘦转发)/ ai_approve 分支(commands.rs:317)仅隔离 run_workflow 其余不变 / execute_run_workflow_for_tool 回填 Ok json(execution_id)让 LLM 收成功 / AE-04 trust_key_for(:294)在分支(:317)前且 run_workflow 返 None 不写 trust / audit trust 查询 + create/switch clear 未动 / High 去重缓存断重试双层 / handler 防御文案正常不可达 / FR-S1 tool_result 仅 task_id+target_status+execution_id。devflow 79 passed。⚪3 非阻断:①workflow.rs:124 triggered_by 注释声称 ai 实际 manual(已知待办)②mod.rs:465 空 config 既有行为(对齐前端)③tool_registry.rs:547 _db 死代码冗余。
- **范围**: 单 agent workflow wf8r5vlno,走查+实施。改 workflow.rs(run_workflow_inner 抽取)/ mod.rs(execute_run_workflow_for_tool)/ commands.rs(ai_approve run_workflow 分支)/ tool_registry.rs(handler 注释+防御文案)。 - **范围**: 单 agent workflow wf8r5vlno,走查+实施。改 workflow.rs(run_workflow_inner 抽取)/ mod.rs(execute_run_workflow_for_tool)/ commands.rs(ai_approve run_workflow 分支)/ tool_registry.rs(handler 注释+防御文案)。
- **commit**: e23b316。 - **commit**: e23b316。