- todo: ARC-05越层核验0命中+四领域拆分/ARC-06破环aiShared/FR-D3三子项闭环销账+新增ARC-06b遗留
- 待审查: 登记CR-260616-02(batch29+R-PD-10代码 fc767e1)待审
- DOC-14: df-storage/SQLite-CRUD文档表数V13/V9→V15对齐migrations.rs schema_version=15
6.8 KiB
6.8 KiB
待审查队列
职责分离:
- 主会话(编码合并后 / 巡检)→ 【写入】"当前队列"区,登记待审查项(范围 + 维度 + commit)。
- 审查 agent(独立会话 / workflow)→ 【读取】"当前队列",执行审查,完成回填结论 + 移到"已审归档"。
这里只放审查登记,不放推进待办(推进待办见 todo.md)。 主会话不在这里做审查,只登记 + 读 todo 推进。审查发现的【待修代码项】回流 todo 作推进待办。
审查规则(审查 agent 遵守)
- 只读审查,不改代码。
- 独立 grep/read 核验源码,不信文档 / 会话描述 / 设计声明的结论(防上下文污染)。
- 每条 finding 须
file:line源码佐证 + evidence。 - 严重度:high(破坏性 / 数据错 / 回归) / med(逻辑瑕疵 / 边界漏) / low(风格 / 可读)。
- 完成回填:总体 verdict(PASS / ISSUES / WATCH)+ high/med/low 清单 + 待修项回流 todo。
状态图例
🟡 待审 / 🔵 审查中 / ✅ 已审(结论) / 🔴 待修(有 high 问题)
当前队列
CR-260616-02 batch29+R-PD-10 代码改动批次 — 🟡 待审
- commit:
fc767e1优化: R-PD-10 storage_err DRY统一 + FR-D3 migrations if链转数组循环 - 状态: 🟡 待审(中优 — DRY 重构 + 迁移逻辑改,主代理已独立核查)
- 改动文件:
crates/df-storage/src/crud.rs(R-PD-10: 110 处.map_err(|e| Error::Storage(e.to_string()))统一storage_errhelper)crates/df-storage/src/migrations.rs(FR-D3: run() 15 个if current_version<N块改[(i32, fn); 15]step 数组循环,零行为变更)
- 主代理核查: cargo check -p df-storage exit 0 + cargo test -p df-storage 11 集成全过(含 open_in_memory→run 全量迁移路径)+ git diff 边界合规(2 文件符合 df-storage 域)
- 审查关注点: ①R-PD-10 helper 泛型
E: ToString全 110 处类型兼容 ②FR-D3 step 数组循环行为等价(同 current_version 同序执行同 migrate_vN)③迁移数据安全(PRAGMA 幂等探测 + schema_version INSERT 保留) - 范围外: ARC-05/06 验证性无代码改动(此前批次已闭环,本次仅核验)+ DOC 文档(V13→V15 表数对齐,低审)
已审归档
CR-260616-01-fixes 审查待修项修复批次 — ✅ 已审(PASS)
- commit:
4dc5219修复: CR-01审查待修项①类7项(CSS补 testing/blocked 徽章 + CAS防回收站推进 + DRY + 注释 + 测试改名 + advancing 接文案) - 审查时间: 2026-06-16(独立审查 agent · 防"主代理已核查双绿"代入,亲核源码)
- 总体结论: ✅ PASS — 🔴0 🟡0 ⚪2(范围外观察项)
- 独立核验(不信主代理核查声明,grep/read 亲验 7 项①类修复):
- ① CR-01-B CAS deleted_at 语义 ✅ —
soft_delete(crud.rs:800)设deleted_at非空;advance_status_atomic两分支(bump_rounds + 普通,crud.rs:855/859)均加AND deleted_at IS NULL,回收站任务affected=0 → None必败。D-02 软删收口正确,一处关闭。 - ② CR-01-A CSS 配色跨视图一致 ✅ — TaskDetail.vue:344-345 与 Tasks.vue:413-414 逐字镜像(testing 橙
#ff9800/ blocked 红danger 0.5px 边框),跨视图统一。 - ③ CR-01-C DRY 文案零变更 ✅ —
ALL_STATES(task_state_machine.rs:48-56)=["todo","in_progress","in_review","testing","done","blocked","cancelled"],join("/")= 原硬编码串,顺序与值全等,无运行时文案变化。 - CR-01-H 测试改名 ✅ —
cas_returns_none_when_status_mismatch(task_advance_node.rs:313)真存在,改名后注释指向正确的 CAS 失败测试。 - CR-01-I advancing i18n ✅ — zh/en 均有(taskDetail.ts:38
推进中.../Advancing...),TaskDetail.vue:63 接 advancing 态。 - CR-01-F 白名单注释 ✅ —
allowed_columns_for("tasks")(crud.rs:331)数组无review_rounds+ 注释说明专用路径(仅 advance_status_atomic),收口防误补。 - CR-01-E state.rs 注释 ✅ — build_registry(state.rs:240)注释准确,说明 TaskAdvanceNode 未注册原因(阶段2 DAG 联动时加)。
- ① CR-01-B CAS deleted_at 语义 ✅ —
- 范围外(记录不审,非本批缺陷):
- ⚪ 工作区 crud.rs 226行未提交 =
R-PD-10storage_errDRY 重构(提取包装函数替换散落.map_err(|e| Error::Storage(e.to_string()))),非4dc5219范围,独立审查留待其 commit。 - ⚪
status-abandonedCSS class ↔cancelled后端态 = 历史命名别名(constants/project.ts:83cancelled: 'status-abandoned'映射闭环,功能正确),非本批引入。命名语义瑕疵(abandoned 弃用 ≠ cancelled 取消),low,可选优化。
- ⚪ 工作区 crud.rs 226行未提交 =
- 待修项回流 todo: 无(7 项全过,无新缺陷)。
CR-260616-01 任务推进链(batch28) — ✅ 已审
- commit:
d2cb38c新增: 任务推进链(7态状态机+advance_task CAS原子写)+软删除+前后端7态对齐 - 审查时间: 2026-06-16(5 路并行多角度·防代入独立核验)
- 决策依据: D-260616-01(前端7态对齐) / D-02(任务软删除) / D-03(advance_task 走 df-nodes Node trait) / D-04(阶段1先行)
- 总体结论: 🔴0 🟡6 ⚪4 — 质量优
- 8 点 checklist 全过:
- 状态机矩阵 ✅(7态15转换,前后端单一真相源)
- CAS 原子 ✅(
WHERE id AND status=expected+ affected=0 报错) - 退回累加原子 ✅(同 UPDATE)
- V15 迁移幂等 ✅(版本门控 + column_exists 双层,八版零事故)
- IPC 真 thin ✅(D-03 守住,task.rs 仅 3 行转发)
- i18n 成对零遗漏 ✅(28 key)
- create_task 不暴露 rounds ✅
- 测试 25 个 ✅
- F-03 status 双写 = 已知延后(阶段3 三件同落地,非新缺陷)
- 范围外澄清: df-ai/lib.rs(
mod retry) + script_node.rs(shell_type) = 同 commit 无关连带改,零风险误报 - 待修项回流 todo(CR-01-A~I,见 todo.md "审查发现待修项"区):
- [P1] CR-01-A TaskDetail.vue scoped style 补
.status-testing/.status-blocked(D-01 前端7态遗漏,testing/blocked 徽章裸渲染丢样式;同查 Tasks.vue/Dashboard) - [P1] CR-01-B crud.rs advance_status_atomic CAS SQL 加
AND deleted_at IS NULL(get_by_id 宏无软删过滤→回收站任务可被 advance,D-02 软删对齐遗漏,语义错乱) - [P2] CR-01-C task_advance_node.rs:46 错误7态硬编码改
ALL_STATES.join("/")(DRY 单一事实源) - [P2] CR-01-D task_advance_node.rs:62 同态拒绝(from==to)/非法转换区分(现合并 InvalidState,前端无法分辨)
- [P2] CR-01-E state.rs build_registry 注释补「task_advance 未注册(阶段2联动时加)」
- [P2] CR-01-F crud.rs:325 白名单注释补 review_rounds 专用路径
- [P3] CR-01-G TaskDetail.vue:218 advance 失败错误走 i18n 分级(en locale 也中文)
- [P3] CR-01-H task_advance_node.rs:297 测试改名(实际未测 CAS 失败)
- [P3] CR-01-I i18n
taskDetail.advancing冗余 key 处理
- [P1] CR-01-A TaskDetail.vue scoped style 补