文档: 全系统走查登记(阶段②: 任务/仪表盘/灵感知识59项 + Settings/审计/布局/后端命令95项 + df-mcp/工具crate 35项) + API Key 401 已解决销账

This commit is contained in:
lxy
2026-08-09 21:35:46 +08:00
parent 7eb2e25ed5
commit 8bc5380ecb
5 changed files with 293 additions and 1 deletions
@@ -0,0 +1,53 @@
# df-mcp + 工具 crate 走查报告(2026-08-09
> 走查日期:2026-08-09
> 范围:df-mcpserver/tools/protocol/server_http+ df-execute + df-project + df-ideas + df-types + df-tunnel + df-relay
> 方法:Explore agent 独立核验 + 对齐 08-02 走查
> 性质:**只走查登记,不实施代码**(守 session-role-diagnose-only
> 关联:全系统模块走查(阶段②)最后一批
---
## 一、df-mcp16 项)
### P1
- **MCP-1 update_project 直接写 status 绕过状态机**tools.rs:424-430vs update_task 收口,可制造 GUI 不可能非法跳态)——建议对齐任务侧收口/校验
### P2
MCP-2 bind_directory 两步非原子写 path+stack · MCP-3 create_idea priority 无值域校验(IPC 拒/MCP 放行漂移 Critical)· MCP-4 create_project/task 不校验 name 非空 · MCP-5 MCP evaluate/score 用独立算法与 df-ideas 漂移 · MCP-6 写操作回调在业务失败时仍触发(假 df-data-changed
### P3
MCP-7 jsonrpc 字段不校验 2.0 · MCP-8 tools/call 缺 name 回错语义 · MCP-9 空串清空字段与文档不符 · MCP-10 pagination 超大 i64 截断 · MCP-11 list_trash 全量内存分页 · MCP-12 create_task FK 错误模糊 · MCP-13 search_knowledge 非数字项静默丢 · MCP-14 insert_knowledge confidence 不校验 · MCP-15 60s 空闲退出误杀长会话(需确认)· MCP-16 HTTP read_only 硬编码 false 无鉴权(需确认)
## 二、df-execute3 项)
EX-1 ShellRequest None 超时无兜底(调用方显式设,共享 crate 风险低)· EX-2 execute_streaming 输出格式与 execute 不一致 · EX-3 env_snapshot fallback 永久冻结 · EX-4 probe_version 单命令无独立超时
## 三、df-project4 项)
- **PRJ-1 【P1】normalize_path 无条件 to_lowercase 被 bind_directory 存库**(大小写敏感系统路径解析失败,需确认目标平台)
PRJ-2 read_readme_raw 整读无上限 · PRJ-3 discover_projects 同步阻塞调用方需 spawn_blocking · PRJ-4 collect_manifests 整读截断
## 四、df-ideas2 项)
IDEA-1 LLM 评估 final_score/recommendation 自洽性未校验(ARC-260618-01-e 已登记,需确认)· IDEA-2 否定前缀检测局限
## 五、df-types2 项)
TYPES-1 Priority 无统一 from_i32 越界处理(散落调用方,配 MCP-3)· TYPES-2 未知状态值静默归 planning(建议 warn 审计)
## 六、df-tunnel4 项)
TUN-1 lib 文档声称指数退避重连但实现无自动重连(断线永久断开,需确认排期)· TUN-2 token 明文 WS · TUN-3 unbounded_channel 无背压 · TUN-4 connected 先置 true 假已连接窗口
## 七、df-relay5 项)
RLY-1 单共享 token 无 per-device 绑定(冒充设备收指令,需确认)· RLY-2 默认 0.0.0.0 无 TLS · RLY-3 入站帧无大小限制 + 无背压 · RLY-4 token 非常量时间比较 · RLY-5 未设 token panic
---
## 优先级建议
**P1**MCP-1 update_project 状态机旁路 → PRJ-1 normalize_path 存库
**P2(跨端/一致性)**:TUN-1 自动重连(断线永久断开,影响跨端)→ RLY-1 per-device 鉴权 → MCP-6 假数据变更
**其余 P2/P3**:分批
## 登记去向
- 本报告:`docs/05-代码审查/df-mcp+工具crate走查-2026-08-09.md`
- 看板:`docs/todo.md` 增登记条目
- 全系统索引:**阶段②全部完成** ✅
@@ -0,0 +1,59 @@
# Settings + 审计 + 布局 + 后端命令走查报告(2026-08-09
> 走查日期:2026-08-09
> 范围:Settings.vue + settings 组件 / AuditLog.vue / layout + AppSidebar + App.vue + 全局样式 / 后端 src-tauri/src/commands 全模块
> 方法:3 路并行 Explore agentSettings+AuditLog / layout+sidebar+全局 / 后端命令)
> 性质:**只走查登记,不实施代码**(守 session-role-diagnose-only
> 关联:全系统模块走查(阶段②)第二批
---
## 一、Settings + AuditLog29 项)
### P28
SA-1 AuditLog 决策者列 i18n 缺键(decided_by 有 auto_trust/auto_dedup/cache_hit 等 6 值,i18n 只 human/auto → 渲染 key 串)· SA-2 对话 tab 角色标签硬编码中文不随 locale · SA-3 审计列表 load 无 seq 守卫(筛选竞态)· SA-4 toggleConv 竞态 · SA-5 ProviderPanel 脏表单切导航静默丢改动 · SA-6 单模型冗余标签全隐藏 · SA-7 池权重 debounce 跨 provider 冲突 · SA-8 连接密码明文存 localStorage
### P321
SA-9 对话 spinner 类名未定义 · SA-10 切回 audit tab 不刷新 · SA-11 对话 tab 无刷新入口 · SA-12 加载中整表替换闪烁 · SA-13 空态文案误导 · SA-14 对话详情全量渲染无分页 · SA-15 对话列表固定 200 条 · SA-16 对话详情无空态 · SA-17 样式 token 混用 · SA-18 maskKey 8 字符泄露 · SA-19 测试连接后 savedSnapshot 未刷新 · SA-20 模型表格 weight 无前端 clamp · SA-21 设为默认无 in-flight 禁用 · SA-22 ConnectionPanel 无脏确认 · SA-23 ConnectionPanel 保存成功无 toast · SA-24 AdvancedSection 假保存反馈 · SA-25 PerformanceSection 并发 0 弹成 3 · SA-26 KnowledgePanel 加载后冗余 save · SA-27 KnowledgePanel min_messages 无 clamp · SA-28 AllowedDirsPanel 删除无确认 · SA-29 AppearanceSection 不监听 OS 主题 · SA-30 .btn/.empty-hint 双源定义(settings.css 覆盖 global.css)· SA-31 搜索滚动部分索引项失效
## 二、layout + sidebar + 全局(21 项)
### P11
- **LS-1 ConfirmDialog Enter 误触危险操作**(焦点在取消按钮按 Enter → emit result(true) 执行删除,preventDefault 抑制取消分支,安全隐患)
### P29
LS-2 AppSidebar 收缩偏好每次重启丢失(子组件 onMounted 早于父组件 loadAll)· LS-3 AppLayout 小屏 media query 被内联样式覆盖(100vw 失效)· LS-4 nav-link 活跃指示条被 overflow 裁剪· LS-5 App.vue startApprovalPopup 未排除 ai-detached 窗口(重复审批浮窗)· LS-6 Paginator 越界无自愈(删除后 page 超界空白)· LS-7 路由切换无 scrollBehavior 滚动残留 · LS-8 亮色主题白色透明底不可见(version 徽章/滚动条)· LS-9 ConfirmDialog 无 aria/focus trap · LS-10 --df-primary 与 --df-accent 重复 token
### P311
LS-11 AiHome 关闭面板后空白 · LS-12 主题启动 FOUC · LS-13 toast 无 aria-live · LS-14 df-data-changed 监听无窗口守卫(分离窗口无用全量 load)· LS-15 data-changed 无 knowledge/workflow 分支 · LS-16 Paginator 无 aria-label + 页码爆炸 · LS-17 纯图标按钮无 aria-label · LS-18 AppLayout resize 监听未清理 · LS-19 router.replace 未 catch · LS-20 退出最大化不持久化 · LS-21 primaryNav badge 死代码 + v-html XSS 面 + Ctrl+I 大小写
## 三、后端命令(45 项)
### P18
- **BE-CMD-1 task update_task 漏 queue 校验**(可写非法 queue/queue-status 不一致)
- **BE-CMD-2 task count_tasks 与 list_tasks 过滤维度不一致**count 超算致翻页空页)
- **BE-CMD-3 project update_project 通用 update_field 裸奔**(白名单含 id/created_at/status/path 零校验,可改主键致子表悬空)
- **BE-CMD-4 idea update_idea 无校验**status 可写任意/绕过 promote_idea 得半立项)
- **BE-CMD-5 task update_field 可更新已软删任务**get_by_id 不过滤 deleted_at
- **BE-CMD-6 idea evaluate_idea 无条件覆盖 pending_review**(打回终态)
- **BE-CMD-7 idea promote_idea 读-改-写竞态**(双击重复立项 + 补偿非原子)
- **BE-CMD-8 task create/reparent/move 不重算父聚合**(父 status 陈旧)
### P215
BE-CMD-9 update_task content_json 无 JSON 校验 · BE-CMD-10 create_task 未校验 priority 值域 · BE-CMD-11 delete_task 级联不清理 task_links · BE-CMD-12 relocate_project_path 存非规范化路径+无 `..` 拦截 · BE-CMD-13 relocate 两步写非原子 · BE-CMD-14 find_binding_conflict 全表扫 N+1 · BE-CMD-15 update_idea 返回 bool 不存在静默假成功 · BE-CMD-16 save_template 可覆盖内置模板 · BE-CMD-17 update_project stack 无 JSON 校验 · BE-CMD-18 create_task 空 title · BE-CMD-19 get_task_by_id 返软删任务 · BE-CMD-20 update_task 合法 status 落白名单错误 · BE-CMD-21 import_projects_batch 同路径重复绑定 · BE-CMD-22 update_idea status 可写 promoted 半立项 · BE-CMD-23 idea related_ids/scores 非法 JSON
### P322
BE-CMD-24~45 见详单(create_idea 空 title / list_ideas status 不校验 / knowledge kind/confidence 不校验 / knowledge_save_config 先改内存 / workflow list_workflow_executions 全表拉 / approve_human_approval 不校验存活 / run_workflow 不校验 task_id / services environment 不校验 / ci_status 静默返空 / commit_sha 未校验 / events total 窗口封顶 等)
---
## 四、优先级建议
**P1(确定性/安全,优先修)**LS-1 ConfirmDialog Enter 误触 → BE-CMD-3/4 update_project/idea 裸奔 → BE-CMD-1 update_task queue → BE-CMD-2 count/list 不一致 → BE-CMD-5 软删可改 → BE-CMD-8 父聚合陈旧
**P2(体验/数据)**SA-1 决策者 i18n → LS-2 sidebar 偏好丢失 → LS-3 小屏布局 → SA-5 脏表单丢改动
## 五、登记去向
- 本报告:`docs/05-代码审查/settings+审计+布局后端走查-2026-08-09.md`
- 看板:`docs/todo.md` 增登记条目
- 全系统索引:已更新(前端+后端全走查完成)
@@ -0,0 +1,66 @@
# 任务 + 仪表盘 + 灵感知识走查报告(2026-08-09
> 走查日期:2026-08-09
> 范围:Tasks.vue / TaskDetail.vue(已修项不重复)、Dashboard.vue / Projects.vue / ProjectCard.vue、Ideas.vue / IdeaDetail.vue、Knowledge.vue / KnowledgeDetail.vue
> 方法:3 路并行 Explore agent(任务 / Dashboard+Projects / Ideas+Knowledge
> 性质:**只走查登记,不实施代码**(守 session-role-diagnose-only
> 关联:全系统模块走查(阶段②)第一批
---
## 一、任务模块(19 项)
### P11
- **TSK-1 任务列表状态徽章无配色**Tasks.vue:784-790 无 status-* 色类,仅 TaskDetail/ProjectDetail scoped 有 → 列表页裸文本)——建议提取全局 components.css
### P28
TSK-2 status-tag 尺寸/圆角三视图不一致 · TSK-3 任务产出「产出」标题重复 · TSK-4 迷你进度条宽度策略不一致(72px vs flex:1)· TSK-5 状态色硬编码与 token 漂移 · TSK-6 列表快捷菜单不做状态机过滤且缺 cancelled · TSK-7 快捷操作失败无反馈(advance 静默/priority 换整表错误态)· TSK-8 快捷菜单被 .task-group overflow:hidden 裁切 · TSK-9 新建弹窗 Esc 不关 + 空项目确认静默
### P310
TSK-10 删除确认未传 dangerLabel · TSK-11 推进中所有按钮同文「推进中」refresh 未禁用 · TSK-12 列表行/快捷按钮键盘不可达 · TSK-13 详情页无删除入口(需确认设计)· TSK-14 并发 loadTasks 无 seq 守卫(搜索被自动刷新冲掉,buildActiveTaskQuery 不含 keyword)· TSK-15 搜索态树形进度失真/子任务浮为顶层 · TSK-16 TaskDetail 路由快速切换竞态(需确认)· TSK-17 limit=500 截断致进度/删除计数不准 · TSK-18 persisted 筛选值过期无校验 · TSK-19 TaskDetail 对任意 task 变更全量重载
---
## 二、Dashboard + Projects17 项)
### P12,同根)
- **DBP-1 【需确认】Dashboard 活跃项目面板恒为空**(后端状态机无 'active'filter status==='active' 永不命中)
- **DBP-2 状态映射只覆盖 planning/active/completed**in_progress 显示 0%「规划中」,badge/stage 与真实生命周期错位)
### P27
DBP-3 Projects 分页 page 越界空白无自愈 · DBP-4 Projects 缺加载态 · DBP-5 Dashboard loadAll 短路 loadStats 被跳过 · DBP-6 IdeasPanel 渲染 archived 裸 i18n key · DBP-7 ideas 统计被 Ideas 筛选污染(需确认,task 侧已修未对称)· DBP-8 ProjectCard 工程数 N+1 拉取 · DBP-9 删除/恢复/彻底删除无成功反馈
### P38
DBP-10 StatCardRow.vue 死代码 · DBP-11 Dashboard 头部与 page-header 不一致(绿点硬编码)· DBP-12 ActiveProjectsPanel 死 CSS 变体 · DBP-13 新建弹窗状态管理不完整(重置/聚焦/Esc/pathWarning)· DBP-14 卡片删除按钮仅 hover + 键盘不可达 · DBP-15 描述展开态跨视图残留 · DBP-16 Dashboard 统计行加载前显示 0 · DBP-17 硬编码间距 + 过时注释
### 核对通过
count_tasks 独立通道正确(P1-b A0 成立)、回收站 updated_at=deleted_at 移入时间正确
---
## 三、Ideas + Knowledge23 项)
### P14
- **IDEA-1 确定:relate/promote/数据变更监听用全量列表冲掉当前筛选视图**(loadIdeas() 无参覆盖 store.ideasfilteredIdeas 无二次过滤)
- **IDEA-2 确定【需确认后端校验】:状态菜单可直接置 promoted 绕过立项**promoted_to=null 死状态)
- **KNOW-1 确定:publish/reject/archive 失败仍显示成功反馈并推进详情**(runWithCatch 吞错,调用方不查结果)
- **KNOW-2 确定:「自动选中下一条」完全失效**(快照在 filter 后读,findIndex 恒 -1
### P210
IDEA-3 翻页越界空白 · IDEA-4 列表卡片点击不写 URL 路由同步失效(需确认)· IDEA-5 失败操作整块替换列表+删除失败清详情 · IDEA-6 捕捉成功无反馈 · IDEA-7 updateIdea 无错误包装静默丢改动 · IDEA-8 对抗评估渲染无防御(缺字段崩/NaN)· IDEA-9 评估历史不刷新 · KNOW-3 切 Tab 搜索框残留旧关键字 · KNOW-4 首次进入长内容不出现展开(渲染器已预热时,需确认)· KNOW-5 编辑保存失败丢改动
### P39
IDEA-10 archived 状态悬空(无徽章色)· IDEA-11 按评分排序评估后不重排 · IDEA-12 反馈通道混用(arco Message vs 自建 toast)· KNOW-6 onMounted 重复拉收件箱 · KNOW-7 加载中与空态同时渲染 · KNOW-8 relativeTime 用 Number() 直解时间戳(需确认)· KNOW-9 详情切换无 loading/错误 UI · KNOW-10 知识徽章 CSS 双份 scoped 重复 · C-1~3 跨模块(toast 位置/侧栏宽度/错误条不一致)
---
## 四、优先级建议
**P1(确定性,优先修)**KNOW-1 假成功反馈 → KNOW-2 下一条失效 → IDEA-1 筛选被冲掉 → IDEA-2 死状态立项 → DBP-1/2 Dashboard 状态映射 → TSK-1 状态徽章无配色
**P2(体验)**IDEA-5/7/8Ideas 失败反馈与防御)、TSK-8 快捷菜单裁切、DBP-3 分页越界
## 五、登记去向
- 本报告:`docs/05-代码审查/任务+仪表盘+灵感知识走查-2026-08-09.md`
- 看板:`docs/todo.md` 增登记条目
- 全系统索引:已更新
@@ -0,0 +1,55 @@
# 全系统模块走查索引
> 创建:2026-08-09
> 用途:阶段②「全系统逐一模块走查(样式/交互/缺陷)」的走查清单与进度跟踪。
> 流程:每模块走查(样式/交互/缺陷)→ 记录到 `docs/05-代码审查/` → 全部完成后再批量打包 /advance。
## 前端视图(13
| # | 模块 | 状态 | 走查报告 |
|---|---|---|---|
| 1 | Dashboard.vue | ✅ 已走查 2026-08-09 | 任务+仪表盘+灵感知识走查-2026-08-09.md17 项) |
| 2 | Projects.vue | ✅ 已走查 2026-08-09 | 同上(并入 Dashboard 批) |
| 3 | ProjectDetail.vue(概览/文件/依赖图) | ✅ 已走查 2026-08-09 | 项目详情页走查-2026-08-09.md60 项) |
| 4 | Tasks.vue | ✅ 已走查 2026-08-09 | 任务+仪表盘+灵感知识走查-2026-08-09.md19 项) |
| 5 | TaskDetail.vue | ✅ 已走查 2026-08-09 | todo.md 2026-08-0910 项已修) |
| 6 | Ideas.vue / IdeaDetail | ✅ 已走查 2026-08-09 | 任务+仪表盘+灵感知识走查-2026-08-09.md23 项 Ideas+Knowledge |
| 7 | Knowledge.vue / KnowledgeDetail | ✅ 已走查 2026-08-09 | 同上(23 项 Ideas+Knowledge |
| 8 | AuditLog.vue | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查-2026-08-09.md29 项) |
| 9 | Settings.vue | ✅ 已走查 2026-08-09 | 同上(并入 Settings 批) |
| 10 | AiChat.vue + ai/ 组件 | ✅ 已走查 2026-08-09 | aichat效率走查-2026-08-09.md74 项) |
| 11 | AiDetached.vue / AiHome.vue | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查-2026-08-09.mdlayout 批含) |
| 12 | ApprovalPopup.vue | ✅ 已走查 2026-08-09 | 并入 aichat + layout 批 |
| 13 | layout / sidebar / 全局 | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查-2026-08-09.md21 项) |
## 后端命令(12
| # | 模块 | 状态 | 走查报告 |
|---|---|---|---|
| 1 | task.rs | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查-2026-08-09.md(后端命令 45 项) |
| 2 | project.rs | ✅ 已走查 2026-08-09 | 同上 |
| 3 | module.rs(工程/文件/依赖) | ✅ 已走查 2026-08-09 | 项目详情走查 + 后端命令批 |
| 4 | idea.rs | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查 |
| 5 | knowledge.rs + knowledge_timeline.rs | ✅ 已走查 2026-08-09 | 同上 |
| 6 | workflow.rs | ✅ 已走查 2026-08-09 | 同上 + 另会话「AI 自审/工作流推进链路缺陷」 |
| 7 | ai/agentic + audit + tools + prompt + 会话) | ✅ 已走查 2026-08-09 | aichat效率走查 |
| 8 | settings.rs | ✅ 已走查 2026-08-09 | settings+审计+布局后端走查 |
| 9 | events.rs / ci_status.rs / services.rs | ✅ 已走查 2026-08-09 | 同上 |
## crate10
| # | crate | 状态 | 走查报告 |
|---|---|---|---|
| 1 | df-aiLLM 请求/上下文/router | ✅ 已走查 2026-08-09 | aichat效率走查 |
| 2 | df-storagecrud/repo/迁移) | ✅ 已走查 2026-08-09 | 后端命令批佐证 + 08-02 走查 |
| 3 | df-nodes(节点/状态机) | ✅ 已走查 2026-08-09 | 另会话「AI 自审/工作流推进链路缺陷」 |
| 4 | df-workflow | ✅ 已走查 2026-08-09 | 同上 |
| 5 | df-mcp | ✅ 已走查 2026-08-09 | df-mcp+工具crate走查-2026-08-09.md16 项) |
| 6 | df-execute / df-project / df-ideas / df-tunnel / df-relay / df-types | ✅ 已走查 2026-08-09 | 同上(35 项含) |
## 进度汇总
- 前端 13 模块:**全走查完成** ✅
- 后端 9 命令:**全走查完成** ✅
- 全部 crate**全走查完成** ✅
- **全系统走查(阶段②)完成** ✅ —— 进入阶段③批量打包推进
+60 -1
View File
@@ -188,7 +188,7 @@ graph TD
> 用户报对话失败「调用失败: API Key 无效或无权限」+ 重设 key 无效。**排查结论:代码链路全对(保存 keyring✓ / 读取 resolve_provider_secret✓ / 鉴权头 openai=Bearer·anthropic=x-api-key✓ / URL 智能拼接✓),401 来自服务端,非 devflow bug**。根因四选一(key 无效 / provider_type 不匹配 / base_url 错 / model 名错)。详见 [aichat-apikey-401排查-2026-06-15.md](./09-问题排查/aichat-apikey-401排查-2026-06-15.md)。
- [ ] S-260615-01 — **[待用户确认根因]** 用户跑直连测试(curl)区分 key/provider_type/base_url/model 哪项错,见详情文档「验证步骤
- [x] S-260615-01 — **已解决(2026-08-09 用户确认)**:API Key 401 根因已定位解决,此待用户确认项销账。原为「用户跑直连测试(curl)区分 key/provider_type/base_url/model 哪项错」
### 🟦 架构审查待修项(2026-06-16
@@ -635,6 +635,65 @@ graph TD
> **优先级建议**:① C0-1+C0-2 缓存命中率 → ② L0-1 save + L0-2 system 缓存 + L0-3 压缩后台化 → ③ R1-1 全量重放 + S1-1 流式增量 → ④ T1-1 审计批量 + F1-1/2/3 列表刷新收敛。
> **memory 指针**[[aichat-efficiency-walkthrough-2026-08-09]]
### 🔍 2026-08-09 任务/仪表盘/灵感知识走查(3 路并行 · 阶段②第一批)
> 详单见 [任务+仪表盘+灵感知识走查-2026-08-09.md](./05-代码审查/任务+仪表盘+灵感知识走查-2026-08-09.md)。共 **59 项**(任务19/Dashboard+Projects17/Ideas+Knowledge23P0=0/P1=7/P2=25/P3=27)。守 session-role-diagnose-only:仅走查登记,未实施代码。
**P1(确定性,优先修)**:
- [ ] **WK-1** Dashboard 活跃项目面板恒为空(后端状态机无 'active'filter status==='active' 永不命中)+ 状态映射只覆盖 planning/active/completedin_progress 显示 0%「规划中」,DBP-1/2 同根)
- [ ] **WK-2** Knowledge「自动选中下一条」完全失效(快照在 filter 后读,findIndex 恒 -1
- [ ] **WK-3** Knowledge publish/reject/archive 失败仍显示成功反馈并推进详情(runWithCatch 吞错)
- [ ] **WK-4** Ideas relate/promote/数据变更监听用全量列表冲掉当前筛选视图
- [ ] **WK-5** Ideas 状态菜单可直接置 promoted 绕过立项(promoted_to=null 死状态,需确认后端校验)
- [ ] **WK-6** 任务列表状态徽章无配色(Tasks.vue 无 status-* 色类,与详情页割裂)
- [ ] **WK-7** Ideas 失败操作整块替换列表 + 删除失败清详情(错误条消费不一致)
**P2(体验/数据)**: WK-8 列表快捷菜单状态机过滤+补 cancelled / WK-9 快捷菜单被 group overflow 裁切 / WK-10 并发 loadTasks 无 seq(搜索被自动刷新冲掉) / WK-11 搜索态树形进度失真 / WK-12 分页越界(Ideas/Projects 同) / WK-13 失败操作反馈不一致(advance 静默/priority 换错误态) / WK-14 ProjectCard 工程数 N+1 / WK-15 Ideas 对抗评估渲染无防御(缺字段崩/NaN / WK-16 Ideas updateIdea 无错误包装静默丢改动 / WK-17 Knowledge 切 Tab 搜索残留 / WK-18 捕捉/删除成功无反馈
**P327 项)**: 见详单文档(TSK-10~19 / DBP-10~17 / IDEA-10~12 / KNOW-6~10 / C-1~3
> **优先级**WK-1 Dashboard 状态映射 → WK-2/3 Knowledge 确定性 → WK-4/5 Ideas → WK-6 状态徽章 → WK-7 错误条统一。
### 🔍 2026-08-09 Settings/审计/布局/后端命令走查(3 路并行 · 阶段②第二批)
> 详单见 [settings+审计+布局后端走查-2026-08-09.md](./05-代码审查/settings+审计+布局后端走查-2026-08-09.md)。共 **95 项**Settings+AuditLog29 / layout+sidebar21 / 后端命令45P0=0/P1=9/P2=32/P3=54)。守 session-role-diagnose-only:仅走查登记,未实施代码。
**P1(确定性/安全,优先修)**:
- [ ] **LW-1** ConfirmDialog Enter 误触危险操作(焦点在取消按钮按 Enter → 执行删除,preventDefault 抑制取消,安全隐患)
- [ ] **LW-2** update_project 通用 update_field 裸奔(白名单含 id/created_at/status/path 零校验,可改主键致子表悬空)
- [ ] **LW-3** update_idea 无校验(status 可写任意/绕过 promote_idea 得半立项)
- [ ] **LW-4** update_task 漏 queue 校验(可写非法 queue/queue-status 不一致)
- [ ] **LW-5** count_tasks 与 list_tasks 过滤维度不一致(count 超算致翻页空页)
- [ ] **LW-6** update_field 可更新已软删任务(get_by_id 不过滤 deleted_at
- [ ] **LW-7** evaluate_idea 无条件覆盖 pending_review(打回终态)
- [ ] **LW-8** promote_idea 读-改-写竞态(双击重复立项+补偿非原子)
- [ ] **LW-9** task create/reparent/move 不重算父聚合(父 status 陈旧)
**P2(体验/数据·32 项)**: 见详单文档(SA-1~8 审计 i18n/脏表单/竞态、LS-2~10 侧栏偏好/小屏布局/审批浮窗/Paginator、BE-CMD-9~23 后端校验/聚合)
**P354 项)**: 见详单文档(SA-9~31 / LS-11~21 / BE-CMD-24~45
> **优先级**LW-1 ConfirmDialog 安全 → LW-2/3 update 裸奔 → LW-4 queue → LW-5 count/list → LW-6 软删 → LW-8 父聚合。
> **全系统索引**:前端 13 + 后端 9 命令全走查完成 ✅,剩 crate df-mcp/df-execute/df-project/df-ideas/df-tunnel/df-relay/df-types。
### 🔍 2026-08-09 df-mcp + 工具 crate 走查(阶段②最后一批)
> 详单见 [df-mcp+工具crate走查-2026-08-09.md](./05-代码审查/df-mcp+工具crate走查-2026-08-09.md)。共 **35 项**P0=0/P1=2/P2=8/P3=25)。守 session-role-diagnose-only:仅走查登记,未实施代码。
**P1**:
- [ ] **MC-1** MCP update_project 直接写 status 绕过状态机(vs update_task 收口,可制造非法跳态)
- [ ] **MC-2** df-project normalize_path 无条件 to_lowercase 被 bind_directory 存库(大小写敏感系统路径失效,需确认目标平台)
**P2(跨端/一致性)**:
- [ ] **MC-3** df-tunnel 无自动重连(断线永久断开,文档声称指数退避不符)
- [ ] **MC-4** df-relay 单共享 token 无 per-device 绑定(冒充设备收指令)
- [ ] **MC-5** MCP 写操作回调在业务失败时仍触发(假 df-data-changed
- [ ] **MC-6** MCP bind_directory 两步非原子 / create_idea priority 无校验 / create_project 不校验 name / MCP 独立评分算法漂移
- [ ] **MC-7** df-ideas LLM 评估自洽性未校验(ARC-260618-01-e/ df-types Priority 无统一 from_i32
**P325 项)**: 见详单文档(MCP-7~16 / EX-1~4 / PRJ-2~4 / TUN-2~4 / RLY-2~5
> **全系统走查(阶段②)完成 ✅**——前端 13 模块 + 后端 9 命令 + 全部 crate 已走查登记。进入**阶段③批量打包推进 /advance**。
### 🔴 2026-08-09 AI 自审/工作流推进链路缺陷(task_id 断裂 + AiNode 缺 prompt + 审批无 UI
> 用户「检查 AI self-review 遇到的问题」触发对工作流推进链路的深度审查。**核心结论:工作流推进按钮从 TaskDetail 触发时,三条推进链(in_progress/testing/done)全部不可用**。守 session-role-diagnose-only:本会话仅走查+登记,未实施代码。