- 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
86 lines
6.8 KiB
Markdown
86 lines
6.8 KiB
Markdown
# 待审查队列
|
|
|
|
> **职责分离**:
|
|
> - **主会话**(编码合并后 / 巡检)→ 【**写入**】"当前队列"区,登记待审查项(范围 + 维度 + commit)。
|
|
> - **审查 agent**(独立会话 / workflow)→ 【**读取**】"当前队列",执行审查,完成回填结论 + 移到"已审归档"。
|
|
>
|
|
> 这里**只放审查登记**,不放推进待办(推进待办见 [todo.md](./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_err` helper)
|
|
- `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 联动时加)。
|
|
- **范围外(记录不审,非本批缺陷)**:
|
|
- ⚪ **工作区 crud.rs 226行未提交** = `R-PD-10` `storage_err` DRY 重构(提取包装函数替换散落 `.map_err(|e| Error::Storage(e.to_string()))`),非 4dc5219 范围,独立审查留待其 commit。
|
|
- ⚪ **`status-abandoned` CSS class ↔ `cancelled` 后端态** = 历史命名别名(`constants/project.ts:83` `cancelled: 'status-abandoned'` 映射闭环,功能正确),非本批引入。命名语义瑕疵(abandoned 弃用 ≠ cancelled 取消),low,可选优化。
|
|
- **待修项回流 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](./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 处理
|