跳到主要内容

Step 3 · Claude(治理 / 架构 reviewer 视角)独立 review 报告

0. 执行摘要

当前文档包整体能支撑 Claude 在工程化期间承担「主控 + 架构 reviewer」工作。事实源分工清晰(行为契约 ADR-007 sup / 工程契约 ADR-008 sup / 派生 schema cognition-1.1-contract / 实施切片 m0-walking-skeleton / 子系统接口 4 份)、cross-reference 网络成型、五件套整体调用的「持续构建」状态语义已贯穿到 L2 / L3。整体打分 4.0 / 5

是否阻塞 C-1:排查报告的 2 条 P0(CONF-1 死链 + CONF-2「5 字段→6 字段」措辞同步)已修;本次独立 review 未发现新增 P0 阻塞项。本 review 发现 4 条新 P1 + 3 条新 P2,建议在 C-1 跑起来后并行修,不阻塞 C-1

诚实保留:(a) Claude 1M context 在跨文档一致性上能比 Codex 走得更深,但实际上能落到「治理决策清晰度」的内容并不多——这套文档体系本来就由 Claude 主控起草,已经做过跨文档自洽;(b) 工程化期间 Claude 的真正价值反而在 Codex PR review 时的「跨 ADR + 子系统 + engineering-pack」三角对齐,这一点目前缺一份 review checklist(见 §7 / §8)。

1. review 范围与方法

精读:排查报告(42 发现 / 11 已修)+ 入口汇总 + ADR-007 sup §2.1–2.6 + ADR-008 sup §1–§4 + product-definition §6.4 / §7.3 + architecture §29 + architecture-anti-bloat-guard 全文 + subsystems/README + eval-harness + mca-classifier + Phase 7 SLA §一–§四 + .archon/{README, milestone-M0.yaml} + topic agent-pack.yaml。

快速扫读:architecture §1 / §2 / §17 / §27 锚段 + cognition-1.1-contract 关键字段表 + m0-walking-skeleton §3 / §3.5 / §13 / §15 + status.md 三个工作流。

方法:先把排查报告 42 条逐一 cross-check 一遍标已修,再用「事实源指针」「字段一致性」「角色路径完备性」三维度扫剩余文档,再用「治理张力点」清单做对抗式提问(C-1 实施期间会出什么问题→反查文档够不够给出答案)。

2. ADR 可追溯性

评分:4.5 / 5

强项

  • 8 机制 / MCA / S1 / 11 评测 / 6 字段 + 1 元数据这五条核心决策都能在 30 秒内追溯到 ADR-007 sup §2.1–2.5 或 ADR-008 sup §2 的某个子节。
  • supplements / superseded-by-prep / related-adrs frontmatter 字段在两份 supplement 上都齐全,跨 ADR 关系显式登记(ADR-007 sup vs ADR-007 working 骨架 / ADR-008 sup vs ADR-008 主体 + ADR-009)。
  • inbox → accepted 路径有 trace:2026-05-28--finbayes-cognition-mechanism-output-extension-to-adr008.md 标 promoted,promoted_to 指向 ADR-008 sup 新路径。
  • R1 / R2 修订均保留 audit trail(ADR-008 sup §4.1 显式记录「applicability_flags 从文本承接恢复为独立顶层字段」的拍板理由 + 用户 R1 修订时间戳)。

弱项

  • 同号不同物的命名空间消歧只在 ADR-008 sup §1.1 一处显式说明finbayes-arch-rewrite/decisions/ADR-008-LLM-Provider-接口抽象.mdfinbayes-whitepaper-rewrite/decisions/ADR-008-战略层与架构层关于结构化认知输出的对齐.md 是两个不同 ADR-008,外部读者第一次看到 M0 yaml.ai-provider-shim.anchor_doc: ADR-008-LLM-Provider-接口抽象.md 时容易和 ADR-008 sup 混淆。建议在两份 ADR-008 主体 frontmatter 各加一行 disambiguation-note
  • ADR-007 sup 状态语义「accepted(经过研究产出但仍在持续构建)」在多处被简写成 accepted:5 处下游引用(product-def §6.4 / architecture §29 / 4 子系统 README / subsystems/README / engineering-pack 头部)只有 product-def §6.4 + product-def §13 维护检查保留了完整状态语义;其余 4 处只写 accepted。诚实状态保持有微弱衰减,建议把完整状态语义补回。
  • ADR-007 supplement 「持续构建」的触发条件未单独写一份 supplement v2 触发条件 ADR:Phase 5 治理 §3 v1→v2 升级门槛分散在 ADR-007 sup §2.5 + Phase 5 草稿,没有形成「supplement v2 何时产出 / 由谁拍板 / 输入清单」的一页化文档。Claude 角色在 6 个月后准备启动 v2 时会需要先到 Phase 5 草稿做一遍 grep。

修复建议

  • P2:两份 ADR-008 主体加 disambiguation-note frontmatter。
  • P2:4 处下游引用补完整状态语义(一次性 sed 改完)。
  • P1(未来):在 ADR-007 sup §6 加一段「supplement v2 触发条件 checklist」+ 链到 Phase 5 §3 升级门槛。

3. 跨工作流交接

评分:4 / 5

强项

  • 三个 FinBayes 工作流的状态已经清晰区分:cognition-system-research stable(已 hand-off)/ whitepaper-v3-downstream-sync active(P0 首批已落)/ arch-rewrite stable 但有 post-stable-additions 段。每份 status.md frontmatter 都有 hand-offfollowup-pointer 显式指向下游。
  • pre-engineering-readiness.md 作为「单点入口」聚合了 4 commit / 20+ 新文档 / 11 准入维度状态表 + 6 角色阅读路径,C-1 启动时 Codex 不需要重新梳理工作流谱系。
  • 4 子系统 README 把 4 个上位事实源(ADR-007 sup / ADR-008 sup / architecture / product-definition / Phase 5 / Phase 7 SLA)列成一张表 + 一致性约束 6 条;任何字段定义都能 single-point 反查。

弱项

  • finbayes-whitepaper-rewrite 工作流的 status.md 没有在本次 review 显式核验:ADR-008 sup 落在该工作流,但工作流主线状态是否仍允许继续修 ADR-008 主体?如果 C-1 期间 R2 mini-review 又发现 ADR-008 sup 需要补字段,归口路径是「whitepaper-rewrite 工作流继续动 supplement」还是「再起 ADR-008 supplement v2」?文档未明示。
  • 工程仓代码 vs 治理库 ADR 微差异的归口规则未文档化:CLAUDE.md 写「工程执行产物不进本仓」,但反向规则(Codex 写代码发现 ADR 漏字段 / 字段类型偏差时,是改代码还是改 ADR)没有 single point。这条规则一旦不写清,C-1 期间 Codex PR 卡 review 时会反复消耗 Claude 主控 context。
  • architecture-anti-bloat-guard 与各 milestone yaml 的耦合点未声明:守门约束「≥ 80 行强制拆出」是否要求 M1+ milestone yaml 也加 anti-bloat 检查步骤?现在 M0 yaml 没有这一节。

修复建议

  • P1:在 architecture-anti-bloat-guard §2 末尾加一行「工程仓代码 vs 治理库 ADR 微差异归口规则」明文:实施期 < M0 收尾,先以 ADR 为准、改 ADR;M0 收尾后允许走「双向同步 PR」。
  • P1:whitepaper-rewrite status.md 显式登记「ADR-008 sup 仍接受 R2+ 修订;C-1 期间任何字段补漏请直接 supplement-update 不另起 v2」。
  • P2:M0 yaml 增一节 anti_bloat_gate(指针到 architecture-anti-bloat-guard),让 M1+ yaml 自然继承。

4. 跨文档一致性(1M context 优势区)

评分:4 / 5

排查报告 11 条已修都已确认(CONF-1 / CONF-2 / CONF-3 / CONF-4 / CONF-5 部分 / CONF-7 + INC-1 / INC-6 / INC-7 / INC-10)。本次 1M context 扫读发现以下新不一致项:

新不一致项 1(P1)ADR-008 sup §2.7 mca_bucket.bucket_label 枚举值定义

  • ADR-008 sup §2.7 列:enum["B1", "B2", "B3", "B4", "B5a", "B5b", "B6", "B7"](8 个 label / 7 桶);mca-classifier §1 文本写「B1-B7 含 B5a / B5b 拆分(R1 拆 B5)」概念是「B5 拆为 B5a + B5b」;但 ADR-008 sup §2.7 把 B5 完全替换为 B5a + B5b(没有 B5)。两处口径自洽(B5 物理上被拆掉,所以 enum 不含 B5),但读者第一次看 ADR-008 sup §2.7 时缺一行注释解释「B5 被 R1 拆为 B5a + B5b 故 enum 不含 B5」。修复:ADR-008 sup §2.7 加一行注释 + 反向指针到 ADR-007 sup §2.4 拆桶段。

新不一致项 2(P1)endogeneity 字段语义

  • 排查报告 ADR-008 待拍板 7 处之一是「endogeneity 键约束」,但 ADR-008 sup §2.2 现行定义是 dict[str, enum["endogenous", "exogenous"]](按 edge_id 分类)——这已经是个完整约束。该条「待拍板」可能已经被起草过程隐式拍板而排查报告未及时更新。建议入口汇总「待拍板清单」从 7 处降为 6 处,把 endogeneity 移到「已实质拍板」。

新不一致项 3(P2):cognition-1.1-contract §5 ConfigDict 用 extra="ignore"(L171),与 m0-walking-skeleton §3 主体 extra='forbid'(L1305)+ §3.5 extra='ignore'(L273)三处缺少 inline 注释解释设计意图差异。Codex 复制时可能引入 schema 校验 drift。修复:契约源 §5 ConfigDict 旁加注释。

新不一致项 4(P2):Phase 5 §3.3 + Phase 4 治理表「6 轴 + L/D/F/N/C/I」剩余处(Phase 5 L296 / L305 / L307 / L331 + Phase 4 L296)未列 K 列。排查报告标「超 P1 范围」合理,但建议加 §-级 R1 修订指针段,避免 R2 时被直接复用。

新不一致项 5(P2):「accepted(持续构建)」状态语义在下游 5 处仅 4 处保留(见 §2 弱项 2)。

修复建议:以上 5 条均为 30 分钟以内 text patch。

5. 待拍板决策聚合 + 归口路径

排查报告 + 入口汇总聚合了 5 类待拍板(ADR-008 sup 7 + Phase 4 评测 8 + data-providers 4 + data-splits 4 + B-1 4 = 27 项)。按归口路径分类如下:

分类数量项目示例归口路径
必拍(C-1 启动前)0(P0 已修,无新增)
必拍(C-1 期间)5endogeneity 键约束(待澄清是否已隐式拍板)/ worst_axis 多桶裁决 v1 排序 / kelly_cap 下游消费协议 / phase_label 枚举具体清单 / s1.evidence 失效路径C-1 实施 Codex 在子系统 §7 待解决问题段发现时,回 Claude 主控走 30 分钟决议 + 直接 inline 补 ADR-008 sup
自然解决(Phase 5 治理首季)10退化阈值 15% / D3 MAE_max / bootstrap n_resample / ECE bin / D4 链路相似度三分量权重 / D8-D11 R1 公式标定 / case_id 改造 / dev-test-holdout 13-4-1 / holdout 是否独立 repo / case 库根目录命名Phase 5 §3 季度全量评估首季完成 + L2 拍板 → 走 sync 更新 eval-harness-formulas + data-splits
直接出 ADR(建议在 C-1 期间起,不等 Phase 5)6data-providers 4 处(license 合规 / 爬取合规基线 / 跨源口径仲裁 / 历史回填窗口)+ regulation_status None 形态语义 + 「worst_axis 优先级」MCA 子系统级建议各自起一份独立 ADR,data-providers 4 处合并为一份「ADR-data-governance-baseline」就够
延后 R2(不阻塞 v1)6MCA 桶强制约束阈值 R2 标定 / phase_matrix.cells v1 起步精度 / 图谱存储选型 / S1 回路收敛策略细节 / B7 桶补足扩展 / D11 B4-B7 扩桶M1+ 各 milestone engineering-pack 出来时再拍板

归口路径建议表

待拍板类型建议归口建议时点备注
字段语义类(ADR-008 sup 7 处)Claude 主控 + 工程实施 Codex 双签C-1 期间 inline30 分钟决议 → ADR-008 sup §-update + audit trail 段
评测公式校准类(Phase 4 8 项)Phase 5 治理首季 + EvalHarness reviewerT0 + 3 个月入 eval-harness-formulas R2 release notes
数据治理类(data-providers 4 处)法务 + 数据治理 owner(待指定) + Claude 主控建议 C-1 期间立 ADR实施时如果数据 Provider 接入前没拍板,会触发合规问题
子系统级 trade-off(B-1 4 项 + 子系统 §7 待解决)子系统 owner(M1+ 才会有正式 owner)+ Claude 主控M0 收尾盘点时统一处理各子系统 §7 列表诚实保留

6. 工程化期间治理张力点

张力点应对策略
C-1 PR 跨文档 review checklist 缺失建议在 .archon/workflows/milestone-M0.yaml pr-review-gate 节点 required_checks 之外另起一份 pr-review-checklist.md(10 行以内):(1) 凭证不变量端到端 / (2) ADR 引用必须出现 / (3) snake_case 一致 / (4) structured_result_version 字段固定 1.1 / (5) extra= 配置与 §3 主体或 §3.5 分别对齐 / (6) 子系统 §0 范围与定位段更新(如改 §1 接口)/ (7) audit trail 影响项
代码 vs ADR 微差异归口见 §3 修复建议 1
ADR-007 supplement「持续构建」状态在工程化期间如何承接C-1 期间不触发 v2;Phase 5 治理首季评估完成(T0+3 月)后才进入「supplement v2 触发条件 checklist」评估。M0 期间保持「v1 起步 / draft / working」标签不变
跨工作流 hand-off 后的反向触发已发生在 cognition-system-research → arch-rewrite;如 C-1 期间 Codex 在 causal_graph.correlation_regime 实施时发现 ADR-008 sup 不足,归口路径是 whitepaper-rewrite 继续动 supplement;建议 status.md 显式写明(见 §3 修复建议 2)
团队新成员 onboarding6 角色阅读路径已成型(pre-engineering-readiness.md §5),新人按角色 + 1 小时即可建立坐标系;但「治理 / 架构 reviewer」路径只列了 5 份文档,缺一份「review checklist」(同张力点 1)
17 ADR + 5 supplement 在 review 时的索引粒度当前 ADR 目录用文件名而非数字编号 + 名词扫读;建议加一份 governance/workstreams/finbayes-arch-rewrite/decisions/INDEX.md(10 行表格)替代「ls 出来扫文件名」

7. 你这个角色现在能 / 不能做什么

能做(4.0 / 5 信心):

  • 架构层 PR review:对 Codex 提交的 cognition/types.py / migrations DDL / provider shim / annotation/* 等代码逐文件 review,判断是否偏离 ADR-007 sup / ADR-008 sup / 4 子系统接口签名 / cognition-1.1-contract §1–§5 派生表。1M context 能同时 load 6 文件 + 全文 grep,判断「snake_case 一致」「字段类型对齐」「structured_result_version 固定 1.1」「extra= ConfigDict 与 §3 主体或 §3.5 分别对齐」这种「跨 4 文档」断言。
  • 治理决策拍板(30 分钟级):对「字段语义类」「子系统 §7 trade-off」「snake_case / Literal enum / Optional 字段 v1 起步是否合理」等 ADR-008 sup 7 处或子系统 §7 内 trade-off 拍板,inline 写入 supplement-update + audit trail。
  • 跨文档一致性追踪:每周 1 次跑「字段名 / 状态语义 / 桶位枚举 / 时钟编号 / 7 桶 vs 8 label」grep 扫读,对照 ADR-007 sup / ADR-008 sup / 4 子系统 / 5 engineering-pack 是否仍自洽;任何漂移触发 30 分钟 inline 修复。
  • 里程碑级 anti-bloat 守门:M0 收尾时跑 wc -l architecture.md 对比 6052 行基线,按 architecture-anti-bloat-guard §4 阈值(< 5% 放行 / 5%-10% 主动复盘 / > 10% 被动拆)做决策。

做不到(诚实保留):

  • 代码细节级 review:Pydantic v2 字段类型 / DDL 索引 / asyncio.TaskGroup join 屏障实现 / alembic 规范——应由 Codex 审视。
  • token 负载 / 性能基线:M0 latency / token / 评测耗时——需要工程仓真实数据。
  • 凭证 negative test fixture 覆盖度:需要 Codex + 安全审计 sub-agent 专项。

8. 建议(按优先级)

P0(阻塞 C-1):0 项。排查报告 P0 已修。

P1(建议在 C-1 期间补,不阻塞启动)

  1. 加一份 PR review checklist.archon/workflows/pr-review-checklist.md 10 行以内,承接 §6 张力点 1。
  2. architecture-anti-bloat-guard §2 末尾加「代码 vs ADR 微差异归口规则」一行
  3. whitepaper-rewrite status.md 显式登记 ADR-008 sup R2+ 修订归口
  4. ADR-008 sup §2.7 bucket_label 枚举 + B5 拆分注释(见 §4 新不一致项 1)。
  5. 入口汇总待拍板清单从 7 → 6 处endogeneity 标记已隐式拍板,见 §4 新不一致项 2)。
  6. ADR-007 sup §6 加 「supplement v2 触发条件 checklist」段(见 §2 弱项 3)。
  7. 起一份 ADR-data-governance-baseline 合并 data-providers 4 处治理空白(见 §5 归口表)。

P2(C-1 结束后 / M0 收尾盘点处理)

  1. cognition-1.1-contract §5 ConfigDict 加注释解释为何用 extra="ignore"(见 §4 新不一致项 3)。
  2. Phase 5 / Phase 4 治理表 R1 修订指针段(见 §4 新不一致项 4)。
  3. ADR-007 sup「accepted(持续构建)」完整状态语义在下游 4 处统一补回。
  4. 两份 ADR-008 主体加 disambiguation-note frontmatter(见 §2 弱项 1)。
  5. ADR 目录加 INDEX.md(见 §6 张力点 6)。
  6. M0 yaml 增 anti_bloat_gate 节(见 §3 修复建议 3)。

9. 与 Codex 视角的差异预期

Claude(治理 / 架构 reviewer 视角)做的事 ≠ Codex(工程实施视角)做的事。预期 Codex 会发现 Claude 没发现的:

Codex 强项区(预期 Codex 会发现 Claude 没发现的):

  • Pydantic v2 字段类型边界(Annotated[float, Field] vs confloat / Literal vs StrEnum)。
  • DDL 索引与 ORM:四表外键 / 复合索引 / JSON 字段 path 索引在 SQLite 实际跑通的细节。
  • topic agent-pack.yaml max_tokens: 8000 / per_source_tokens: 1500 在 17 sources 实际 load 时是否装得下,spec mode 是否需收缩。
  • 凭证 negative test fixture 5 类正则覆盖完整度 + 误伤检查。
  • alembic + verify-kb + derive-check 三套 gate 在 C-1 启动时的实际跑通依赖。
  • asyncio.TaskGroup 在 S1 回路 N=3 + task cancellation 时的 race condition。

Claude 强项区(互补):已在 §4 列 5 条跨文档不一致 + ADR audit trail 是否保留 + 工作流 hand-off 边界。

两边都该发现:M0 yaml pass_criteria 路径在工程仓的存在性 / 5 engineering-pack frontmatter maturity 与子系统 README 一致性约束的匹配。