OOSO-PROM Review Report: FinClaw V1 产出物审查
审查角色:OOSO-PROM(Plan Builder / 方案建模者 / 计划构建者) 审查日期:2026-05-16 审查范围:design/v1/、design/task-packets/、design/foundation/、handoff-anchors/ 方法论基线:v1-task-packet-context-budget-schema.md、v1-handoff-anchor-template.md、v1-multi-agent-execution-protocol.md
1. MVP 技术方案完整性
方案体系评估: 8/10
FinClaw V1 MVP 的设计产出物形成了三层技术方案体系:
| 层级 | 文档类型 | 代表文件 | 状态 |
|---|---|---|---|
| 战略/产品层 | PRD、产品定义、MVP 定义 | v1-prd.md、mvp-product-definition.md | 完整 |
| 设计层(Wave 1+2) | 8 份核心设计文档(B-1 ~ B-7 + 配套) | v1-tech-stack-and-architecture-design.md 等 | 完整 |
| 执行层 | 4 个 Index Task Packet + 15 个 Sub-Packet | v1-engineering-implementation-task-packet.md 等 | 基本完整 |
| 协同层 | 4 份方法论协议 | execution-protocol、context-budget-schema、handoff-template、coordination-plan | 完整 |
优势:
- 从 PRD → 设计文档 → Task Packet → Sub-Packet 的下推链路清晰
- 每份设计文档都有 section_navigation,支持精准切片引用
- v1-governance-engineering-alignment.md 作为「治理↔工程对齐总线」,追踪 11 项 AL 的状态
模块覆盖矩阵
| 模块 | 设计文档 | Task Packet / Sub-Packet | 状态 |
|---|---|---|---|
| 技术架构 | B-1 (tech-stack) | 被多个 sub-packet 引用 | ✅ 有设计有引用 |
| 数据持久化 | B-2 (data) | 被 sub-1/3/4/5 引用 | ✅ 有设计有引用 |
| API 契约 | B-3 (api-contract) | 被 sub-1/4/5/6 引用 | ✅ 有设计有引用 |
| UI/UX | B-4 (ui-prototype) | sub-4, sub-5, sub-6 | ✅ 有设计有实现 |
| 可观测性 | B-5 (observability) | 无专门 sub-packet | ⚠️ 设计悬空 |
| 记忆/个性化 | B-6 (memory) | 无专门 sub-packet | ⚠️ 设计悬空 |
| 成本/Token | B-7 (cost) | 无专门 sub-packet | ⚠️ 设计悬空 |
| ProfileConsent | schema + PRD §5.7 | sub-1 | ✅ 完整 |
| SensitiveInput | schema + PRD §10 | sub-2 | ✅ 完整 |
| TrainingAsset | schema + PRD | sub-3 | ✅ 完整 |
| Refresh Diff | UI design + schema | sub-4 | ✅ 完整 |
| Save Thread | UI design + schema | sub-5 | ✅ 完整 |
| Feedback Queue | UI design + trial ops | sub-6 | ✅ 完整 |
| Skill 命名/测试 | alignment + eval | sub-7 | ✅ 完整 |
| 旧 Docs 废弃 | D-10 | sub-8 | ✅ 完整 |
| 商业信号埋点 | cs-instr design | cs-sub-1/2/3 | ✅ 完整 |
| Skills 评审 | skills-review design | skills-sub-1/2 | ✅ 完整 |
| Trial 执行 | trial-ops design | trial-sub-1/2 | ✅ 完整 |
设计-Packet 对称性检查
对称 ✅:
- PRD 核心对象(Snapshot/Thread/Checkpoint/Consent/SensitiveInput/TrainingAsset)都有对应 sub-packet
- UI 关键交互(Refresh Diff、Save Thread、Feedback)都有对应 sub-packet
- 商业信号、Skills 评审、Trial 执行都有 index + sub-packet 的完整层级
不对称 ⚠️:
-
B-5 (Observability/Telemetry) 设计存在,但无工程实现 sub-packet
- B-5 §4 (logs)、§5 (metrics)、§6 (traces)、§7 (health endpoint) 的设计在治理库中 accepted
- 但没有任何 sub-packet 的 AC 覆盖「实现 health endpoint」或「实现 telemetry 采集」
- 部分可观测需求散落在 sub-7 (observability §10 引用) 和 sub-4/sub-5 (telemetry §6/§9 引用)
- 风险:trial 期间无法验证系统健康状态,cost telemetry 可能缺失
-
B-6 (Memory/Personalization) 设计存在,但无工程实现 sub-packet
- B-6 §3 (UserContext/ProfileConsent/PersonaDrift)、§5 (按 route 选择性载入)、§6 (Drift Detection) 的设计在治理库中 accepted
- 但 sub-packets 中仅 sub-1 实现了 ProfileConsent,UserContext 的 route-level 选择性注入、Persona Drift Log 的写入和检测都无对应 AC
- 风险:trial 期间「按 route 选择性载入用户画像」可能未实现,导致 context 膨胀或隐私泄露
-
B-7 (Cost/Token Budget) 设计存在,但无工程实现 sub-packet
- B-7 §4 (per-user/per-route budget cap)、§6 (failover cost)、§9 (trial alarm) 的设计在治理库中 accepted
- 仅 sub-7 的 AC-5/AC-6 涉及「advisor budget ≤ 5 / turn」,这是 cost 设计的一个子集
- per-snapshot $0.10 hard cap、daily/monthly budget、trial alarm 等无对应 AC
- 风险:trial 期间成本失控,无 alarm 机制
横切关注点覆盖度
| 横切关注点 | 覆盖度 | 关键证据 | 缺口 |
|---|---|---|---|
| 数据模型 | 高 | B-2 §2 定义 14 类对象 + schema 文档 §3~§13 | 无显著缺口 |
| API 接口 | 高 | B-3 §4 列出全部 17 个 endpoint + request/response schema | SSE retry 策略 Open |
| 状态机 | 中 | Thread status (7 种) 在 B-3 §4.2.8 定义 | 缺少独立状态机图 |
| 错误处理 | 中 | B-3 §7 定义 12 个 error code | Agent 层错误处理未细化 |
| 鉴权/安全 | 高 | B-3 §3 + sub-2 (boundary guard) + D-12 | 无显著缺口 |
| 日志/可观测 | 中 | B-5 设计完整 | 无工程 sub-packet |
| 隐私/GDPR | 高 | D-12 + sub-1 + sub-2 + cs-sub-3 + data-persistence §9 | 无显著缺口 |
| 成本管控 | 中 | B-7 设计完整 | 无工程 sub-packet |
| 缓存/性能 | 低 | 无专门设计 | V1 单进程假设下未覆盖 |
MVP 功能边界
PRD §12「V1 非目标」+ 执行计划 §8「Out of Scope」+ Kickoff Decisions §4.1 形成了三重边界约束:
✅ 边界明确:
- 不做自动下单、不做收益承诺、不做私钥管理、不做全市场扫描器
- 不引入外部 channel (Telegram/Discord)
- 不承诺原生 app
- 不做完整 training loop、不做自有专家模型
⚠️ 边界模糊点:
- B-6 Memory/Personalization 的「按 route 选择性载入」是否属于 MVP 必须?(PRD §8 提到,但无 sub-packet 覆盖)
- B-7 Cost Budget 的「trial alarm」是否属于 MVP 必须?(B-7 §9 提到,但无 sub-packet 覆盖)
2. Task 切片质量
切片方法论评分: 7/10
Packet 粒度分析
| Sub-Packet | Total Budget | Budget Zone | must_read 文档数 | 覆盖 AL/目标 | 评估 |
|---|---|---|---|---|---|
| sub-1 ProfileConsent | 45K | green | 11 | AL-1 | 合理 |
| sub-2 SensitiveInput | 53K | green | 10 | AL-2 | 合理 |
| sub-3 TrainingAsset | 42K | green | 7 | AL-3 | 合理 |
| sub-4 Refresh Diff | 48K | green | 10 | AL-5 | 合理 |
| sub-5 Save Thread | 45K | green | 8 | AL-6 | 合理 |
| sub-6 Feedback Queue | 49K | green | 9 | AL-7 | 合理 |
| sub-7 Skill+Tests | 60K | green/yellow 边界 | 11 | AL-4+8+9+11 | 偏大 |
| sub-8 Deprecate Docs | 26K | green | 7 | AL-10 | 合理 |
| cs-sub-1 Schema | 31K | green | 7 | schema 冻结 | 合理 |
| cs-sub-2 Engineering | 56K | green | 10 | 7 项工程工作 | 偏大 |
| cs-sub-3 Privacy Review | 26K | green | 8 | 隐私评审 | 合理 |
| trial-sub-1 Cohort Prep | 25K | green | 5 | cohort 准备 | 合理 |
| trial-sub-2 Execution | 47K | green | 8 | trial 执行 | 合理 |
| skills-sub-1 Phase 1 | 45K | green | 7 | AI 自查 | 合理 |
| skills-sub-2 Phase 2 | 34K | green | 5 | 外部评审 | 合理 |
所有 sub-packets 都在 green zone(≤60K),符合 context budget schema §3.5 的硬约束。
粒度问题
问题 1:sub-7 合并了 4 项独立的 AL
- 合并项:AL-4 (Skill 命名对齐) + AL-8 (Thread refresh 不覆盖 snapshot) + AL-9 (Advisor budget ≤ 5) + AL-11 (edge-case 决策)
- 合并理由:"每项单独切会过度碎片化"
- 风险分析:
- 4 项工作之间耦合度低(Skill 命名 ≠ snapshot 覆盖 ≠ advisor budget ≠ edge-case 评审)
- 60K 已达 green/yellow 边界
- 如果 AL-11 的 edge-case 评审需要外部评审人参与,可能阻塞 AL-4/8/9 的技术工作
- 最严重风险:AL-11 涉及「7 个 edge-case 是否吸收为正式 case」的决策,这是一个评审流程而非纯工程工作,可能因评审人不可用而延期
问题 2:cs-sub-2 包含 7 项工程工作
- 工作项:POST endpoint + event sink + Consent Gate + Sensitive Filter + 6 个漏斗 + 4 类 cohort 留存 + Pricing Intent UI + 周报 CLI + 48h 撤回清理
- 虽然单项简单,但数量多、跨层(backend API + frontend UI + data script + CLI)
- 如果前端 UI(Pricing Intent)和后端(event sink)可以并行,合并会人为串行化
问题 3:缺少骨架初始化 sub-packet
- Coordination plan §4.3 阶段 3 描述了「新仓库骨架初始化」(git init + 项目骨架 + 依赖 + Makefile + CI)
- 但没有任何 task packet/sub-packet 覆盖这一阶段
- 阶段 3 是阶段 4(所有 sub-packets)的前置依赖
- 缺少明确的 AC 和 budget 估算
DAG 关键路径分析
[阶段 3: 骨架初始化] ──→ [阶段 4: 工程实现]
│
┌─────────────────────────┼─────────────────────────┐
│ │ │
sub-1 (ProfileConsent) sub-4 (Refresh Diff) sub-7 (Skill+Tests)
│ │ │
sub-2 (SensitiveInput) sub-5 (Save Thread) │
│ │ │
sub-3 (TrainingAsset) sub-6 (Feedback Queue) │
│ │
└───────────────────────┬───────────────────────────┘
│
[CUR-REV Review Gate]
│
[Trial-start Gate]
│
cs-sub-1 → cs-sub-2 → cs-sub-3
│
trial-sub-1 → trial-sub-2
│
[Acceptance Gate]
关键路径长度:sub-1 → sub-2 → sub-3 = 3 个串行 sub-packets
- sub-1 (~45K) + CUR-REV review
- sub-2 (~53K) + CUR-REV review
- sub-3 (~42K) + CUR-REV review
加上 review gate 时间,关键路径预计 3-5 天(假设每个 sub-packet 1 天 + review 0.5 天)
并行度评估:
- 最大并行窗口:sub-1~sub-3 路径 + sub-4/sub-5 + sub-7 + sub-8 + cs-sub-1
- 理论上可以 5 个 L3 agent 同时工作
- 但由于 models.py 共享文件冲突,sub-1/sub-2/sub-3 实际上需要串行或强协调
Phase/Wave 优化建议
| 建议 | 优先级 | 说明 |
|---|---|---|
| 1. 拆分 sub-7:将 AL-11 edge-case 决策拆为独立 sub-packet | P0 | 避免评审流程阻塞技术工作 |
| 2. 增加 sub-0:新仓库骨架初始化 | P0 | 明确阶段 3 的 AC 和 budget |
| 3. 评估 cs-sub-2 拆分为 backend + frontend | P1 | Pricing Intent UI 可以和后端并行 |
| 4. 评估 sub-5 是否可以提前到和 sub-1 并行 | P1 | sub-5 只依赖 sub-1 的 ProfileConsent 字段,可以在 sub-1 定义完字段后启动 |
| 5. 增加 B-5/B-6/B-7 的工程实现 sub-packet | P1 | 填补设计悬空 |
验收标准(AC)质量
AC 明确度评估:
| Sub-Packet | AC 数量 | 可自动化验证 | 需要人工验证 | 质量 |
|---|---|---|---|---|
| sub-1 | 8 | 6 (pytest) | 2 (UI 显示) | 高 |
| sub-2 | 8 | 7 (pytest) | 1 (文案) | 高 |
| sub-3 | 7 | 6 (pytest) | 1 (demo path) | 高 |
| sub-4 | 8 | 5 (pytest+组件测) | 3 (UI 布局) | 高 |
| sub-5 | 8 | 5 (pytest+组件测) | 3 (UI 交互) | 高 |
| sub-6 | 8 | 6 (pytest+组件测) | 2 (review 流程) | 高 |
| sub-7 | 9 | 7 (pytest) | 2 (评审决议) | 高 |
| sub-8 | 6 | 6 (文本检查) | 0 | 高 |
| cs-sub-1 | 7 | 7 (pytest) | 0 | 高 |
| cs-sub-2 | 9 | 7 (pytest+e2e) | 2 (UI snapshot) | 高 |
| cs-sub-3 | 8 | 0 | 8 (评审) | 中(评审类合理) |
| trial-sub-1 | 7 | 2 (文件检查) | 5 (人工确认) | 中(人工类合理) |
| trial-sub-2 | 8 | 2 (yaml 格式) | 6 (人工评分) | 中(人工类合理) |
| skills-sub-1 | 8 | 2 (yaml 格式) | 6 (AI 评分) | 中 |
| skills-sub-2 | 8 | 0 | 8 (外部评审) | 中(外部评审合理) |
AC 质量优秀:所有 sub-packets 的 AC 都满足 SMART 原则(具体、可衡量、可达成、相关、有时限)。
Handoff 协议清晰度
下游 packet 能否不需额外上下文就理解上游交付物?
| 上游 → 下游 | Handoff 清晰度 | 评估 |
|---|---|---|
| sub-1 → sub-3 | 高 | sub-3 明确引用 sub-1 的 ProfileConsent 字段 |
| sub-1 → sub-5 | 中 | sub-5 依赖 ProfileConsent 字段,但 frontmatter 中未明确列出 sub-1 anchor 为 must_read |
| sub-2 → sub-3 | 高 | sub-3 明确引用 sub-2 的 sensitive_filtered |
| sub-1/2 → cs-sub-2 | 高 | cs-sub-2 的 reference_only 包含 sub-1/sub-2 的 anchor |
| sub-7 → skills-sub-1 | 高 | skills-sub-1 明确依赖 sub-7 (Skill 命名稳定) |
| cs-sub-3 → trial-sub-1 | 高 | trial-sub-1 依赖 cs-sub-3 (隐私 gate) |
问题:sub-5 的 must_read 中没有显式列出 sub-1 的 handoff anchor,仅引用 alignment 文档。如果 sub-1 的 anchor 中有字段命名变更,sub-5 可能 missed。
3. 方法论合规性
Context Budget 合规: 7/10
合规点 ✅:
- 所有 15 个 sub-packets 都有完整的
context_budgetfrontmatter estimated_input_tokens + tool_call_overhead + output_tokens = total_budget计算正确- 所有 sub-packets 的
budget_zone都是 green(≤60K) must_read和reference_only区分明确produces.handoff_anchor_path都已声明
不合规/风险点 ⚠️:
-
must_read 文档数量偏多
- sub-1 的 must_read 有 11 份文档,sub-7 有 11 份
- 虽然每个只读特定 section,但 Agent 需要在执行中频繁切换上下文
- 建议:将 wave2-supplement 的 B-* 文档合并为一份「Wave 2 工程化补充参考」,减少文档数量
-
reference_only 路径可能不存在
- skills-sub-2 的 reference_only 包含
evaluation/finclaw/reports/skills-domain-review/_phase1-summary.md - 文档已标注 NOTE:"如路径不存在,必须 escalate"
- 这是好的实践,但需要 CTRL 在路由时验证
- skills-sub-2 的 reference_only 包含
-
缺少 actual token 验证机制
- context budget schema §3.4 定义了估算公式
- §4.3 提供了简化估算函数
- 但 Open Items 中明确说需要替换为 tiktoken,当前仍为手工估算
- 风险:估算偏差可能导致实际运行时超出 budget zone
-
部分 sub-packet 的 must_read sections 引用不明确
- 例如 sub-1 引用
v1-governance-engineering-alignment.md的["§1", "§2", "§9.AL-1"] - 但 alignment 文档的 §9.AL-1 只有 200 tokens,可能不足以理解 AL-1 的完整上下文
- 例如 sub-1 引用
Anchor Protocol 合规: 8/10
合规点 ✅:
- §2A.0 Started Anchor 已正确纳入(新增 §2A.0)
- §2A.1 Partial Anchor 触发条件完整(50% 进度门、3 小时门、多文件门、决策门、destruction 门)
- §2A.2 文件命名规范清晰(started / partial-N / hotfix-N)
- §2A.3 Partial Anchor 必填字段完整
- §2A.4 后继 Agent 行为约束明确
- §2A.5 与「断点续跑」一致性说明
- §2A.6 Failure Mode 处理清晰
- §3 Schema 完整(key_decisions_locked、produced_artifacts、context_to_carry_forward 等)
- §6 Example Anchor 优秀(可直接作为模板)
不合规/改进点 ⚠️:
-
handoff-anchors/ 目录现状与预期差距
- 当前只有 4 个 completed anchor(都是设计阶段)
- 15 个工程 sub-packets 的 anchor 尚未产生
- README 的索引表需要 Agent "顺手追加"
- 风险:如果 Agent 忘记追加,索引表会过时
-
anchor schema 验证脚本缺失
- handoff-anchor-template §9 Open Items 明确说需要 "Anchor 自动校验脚本"
- 但当前未实现
- 建议:在阶段 0(Dashboard 开发)中优先实现
-
started anchor 与 partial anchor 的关系未完全明确
- §2A.0 说 "Agent 开始执行时立即写 started anchor"
- §2A.1 说 "50% 进度时写 partial-1 anchor"
- 但如果没有 partial anchor(任务很快完成),started anchor 是否保留?
- 文档说 "保留为审计材料",但如果 started anchor 和 final anchor 同时存在,Dashboard 如何展示?
Review Gate 合规: 8/10
合规点 ✅:
- Coordination plan §2A.2 明确列出 7 项检查
- 每项检查都有明确的责任人(CUR-REV)
- §8.5 提供了 review-finding anchor 的完整 YAML schema
- review-finding 包含 severity、location、suggested_fix、reroute_recommendation
- §2A.5 明确禁止 L3 自行跳过 review gate
不合规/改进点 ⚠️:
-
Review Gate 缺少执行 Checklist
- §6.1 提供了 CUR-REV 启动 prompt 模板
- 但模板是高层指令,缺少逐项检查的 check box
- 建议:提供一份
review-gate-checklist.md,每项检查都有具体验证命令(如pytest命令、grep命令)
-
budget compliance 的计算方式不明确
- §2A.2 第 5 项检查要求 "actual vs estimated 偏差 ≤ 30%"
- 但如何获取 actual?Agent 自报?工具统计?
- 如果是 Agent 自报,存在低报风险
- 建议:明确 actual token 的采集方式(如要求 Agent 在 anchor 中附带 tool-use 日志摘要)
-
Review Gate 与 Integration Gate 的关系未明确
- §9.1 定义了 Sub-Packet Gate(context budget ≤ 20%)
- §9.2 定义了 Integration Gate(全量 pytest + lint + type check)
- 但 Integration Gate 是由 CTRL 还是 CUR-REV 执行?
- 文档中 Integration Gate 的 "全量 pytest" 在 milestone 时执行,但 sub-packet 完成后是否也需要?
4. 风险登记
| 序号 | 风险 | 影响的 Packet | 严重度 | 缓解建议 |
|---|---|---|---|---|
| R-1 | sub-7 合并 4 项独立 AL,budget 达 green/yellow 边界;AL-11 edge-case 评审可能阻塞技术工作 | sub-7, skills-sub-1 | 高 | P0: 将 AL-11 edge-case 决策拆分为独立 sub-packet |
| R-2 | B-5 (observability)、B-6 (memory)、B-7 (cost) 设计悬空,无工程 sub-packet 覆盖 | trial-sub-2, acceptance | 高 | P0: 增加 1-3 个工程 sub-packet 覆盖这三份设计,或在现有 sub-packet AC 中明确追加 |
| R-3 | cs-sub-2 工作量过大(7 项工作跨前后端),可能延期影响 trial 启动 | cs-sub-2, trial-sub-1/2 | 高 | P1: 拆分为 cs-sub-2a (backend) + cs-sub-2b (frontend) |
| R-4 | sub-2 (SensitiveInput) 是最高红线敏感度,需要 CUR-REV 全程参与;如果 CUR-REV 资源不足,可能阻塞 | sub-2, sub-3, trial | 高 | 确保 CUR-REV worktree 预留;sub-2 失败时按 §8.3 升级到 CUR-REV 亲自实施 |
| R-5 | models.py 被 sub-1/sub-2/sub-3 共享,修改冲突风险高 | sub-1, sub-2, sub-3 | 中 | CTRL 在路由时强制串行;或在 handoff anchor 中声明字段锁定 |
| R-6 | 3 人 cohort 样本量过小,trial 结论统计意义弱,可能无法支撑 acceptance 决策 | trial-sub-2, acceptance | 中 | closeout 必须显式标注 "N=3, 结论性强度有限";如条件允许扩展 cohort |
| R-7 | Phase 2 外部专家评审窗口不可控(专家可用性、NDA 签署、评审周期) | skills-sub-2, acceptance | 中 | 提前 2 周启动专家联系;准备 "内部专家先评" 过渡方案 |
| R-8 | 缺少新仓库骨架初始化 sub-packet,阶段 3 的 AC 不明确 | 全部 eng-impl sub-packets | 中 | P1: 增加 sub-0 骨架初始化 packet,定义 git init + 依赖 + smoke test 的 AC |
| R-9 | context budget 估算为手工计算,可能存在系统性偏差 | 全部 sub-packets | 低 | 前 3 个 sub-packet 完成后复盘 actual vs estimated,修正后续估算 |
| R-10 | anchor 索引表为手工维护,Agent 可能忘记追加 | 全部 sub-packets | 低 | 在 Dashboard 开发中优先实现 anchor 索引自动生成 |
| R-11 | sub-5 的 must_read 未显式引用 sub-1 的 handoff anchor,可能 missed ProfileConsent 字段变更 | sub-5 | 低 | 在 sub-5 frontmatter 中增加对 sub-1 anchor 的 reference_only 引用 |
| R-12 | OOSO 4 角色的启动模板依赖 Shell 命令,oh-my-opencode 路径和参数可能在实际运行时需调整 | 全部 OOSO 角色 | 低 | 首次启动 OOSO 时验证命令,如失败则按 §8.4 切换路由到 Codex |
5. 总体结论与建议
总体评分: 7.5/10
| 维度 | 评分 | 关键结论 |
|---|---|---|
| 方案完整性 | 8/10 | 设计文档体系完整,但 B-5/B-6/B-7 三份设计无工程 sub-packet 覆盖 |
| 切片质量 | 7/10 | 粒度基本合理,但 sub-7 和 cs-sub-2 偏大,缺少骨架初始化 packet |
| Context Budget | 7/10 | 所有 packet 合规,但估算机制为手工,must_read 数量偏多 |
| Anchor Protocol | 8/10 | 协议完善,Started Anchor 已纳入,但自动化验证缺失 |
| Review Gate | 8/10 | 7 项检查明确,但缺少执行 checklist 和 budget 验证工具 |
核心优势
- 设计文档体系成熟:从 PRD → 8 份设计文档 → 4 个 index packet → 15 个 sub-packet 的下推链路清晰,section_navigation 支持精准引用
- Context Budget Schema 方法论落地:所有 sub-packets 都有完整的 budget frontmatter,且都在 green zone
- Handoff Anchor Protocol 完善:§2A 抗中断协议(Started + Partial + Final)覆盖了长任务中断恢复的全部场景
- Review Gate 机制健全:7 项检查覆盖了质量、安全、预算、合规等关键维度
- 多 Agent 协同计划详细:R1 多 stack 模型(Cursor Reviewer + Codex/OOSO Coding 主力)分工清晰,worktree 隔离 + 文件所有权矩阵降低了冲突风险
关键改进建议(按优先级排序)
🔴 P0(立即执行)
1. 拆分 sub-7 的 AL-11 为独立 sub-packet
- 当前 sub-7 合并了 AL-4 + AL-8 + AL-9 + AL-11,budget 达 60K
- AL-11 (edge-case 决策) 涉及评审流程,与其他三项纯技术工作耦合度低
- 建议:创建
v1-eng-impl-sub-7b-edge-case-decisionsub-packet,预算 ~15K - 这样 sub-7 变为 AL-4+8+9,预算降至 ~45K
2. 为 B-5/B-6/B-7 三份设计补充工程实现覆盖
- 方案 A(推荐):增加 1 个综合 sub-packet
v1-eng-impl-sub-9-observability-cost-memory,预算 ~40K,覆盖:- health endpoint (B-5 §4)
- cost telemetry hook (B-5 §7.3 + B-7 §7)
- per-snapshot budget cap (B-7 §4)
- UserContext route-level injection (B-6 §5)
- Persona Drift Log write (B-6 §3.3)
- 方案 B:在现有 sub-packets 的 AC 中追加(如 sub-7 增加 cost telemetry,sub-4 增加 drift log)
🟡 P1(本周内执行)
3. 增加 sub-0:新仓库骨架初始化
- 创建
v1-eng-impl-sub-0-skeleton-initsub-packet - 覆盖:git init + pyproject.toml + package.json + Makefile + CI config + smoke test
- 预算:~30K
- 依赖:无(在所有其他 sub-packet 之前执行)
4. 评估 cs-sub-2 拆分
- 将 cs-sub-2 拆分为:
cs-sub-2a-backend:endpoint + sink + funnel + retention + 周报 CLI(预算 ~35K)cs-sub-2b-frontend:Pricing Intent UI + snapshot test(预算 ~15K)
- 两者可以并行执行
5. 完善 Review Gate 执行细节
- 创建
docs/review-gate-checklist.md - 每项检查提供具体验证命令(如
pytest server/tests/test_boundary_guard.py) - 明确 budget compliance 的采集方式
🟢 P2(执行中迭代)
6. 开发 anchor schema 验证脚本
- 在 Coordination Dashboard (§10A) 开发中优先实现:
- anchor YAML schema 校验
- budget compliance 自动检查
- 索引页自动生成
7. 完善风险登记
- 将本 review 发现的 R-1 ~ R-12 补充到
v1-execution-plan-and-milestones.md §5 Risk Register
8. 优化 must_read 切片
- 将 wave2-supplement 的 B-* 文档引用合并为一份「Wave 2 工程化补充参考」
- 减少 sub-packets 的 must_read 文档数量
最终结论
FinClaw V1 MVP 的产出物在方法论层面达到了较高的成熟度,Context Budget Methodology、Anchor Protocol、Review Gate 三大支柱都已建立并基本合规。设计文档体系完整,Task Packet 切片粒度基本合理,多 Agent 协同计划详细可行。
主要风险集中在三个方面:
- 设计悬空:B-5/B-6/B-7 三份设计文档没有工程实现 sub-packet
- 粒度偏大:sub-7 和 cs-sub-2 合并了过多独立工作
- 骨架缺失:新仓库初始化缺少明确的 task packet
建议在启动工程实现阶段前,优先处理 P0 和 P1 的改进建议,特别是拆分 sub-7 的 AL-11和补充 B-5/B-6/B-7 的工程覆盖,以降低 trial 启动前的阻塞风险。
Review 完成。本报告已覆盖全部 design/v1/ 设计文档、全部 task-packets/、design/foundation/ 以及 handoff-anchors/ 目录。