mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-07 15:57:53 +08:00
双视角评审实测证伪整包搬家可行性前提(go build 证实 import cycle): - openai 子系统实为 46 文件 65K 行(含 69 白盒测试),非摸底称的 7168 行单文件 - 双向硬耦合:正向 178 符号/64 未导出;反向 57 符号经 6 个核心文件结构级引用 - 69 个 openai 测试 100% 白盒,move 即破 gate,无黑盒等价锚点 - 循环论证(L2 触发=搬家完成、搬家收益=为 L2 铺路)+ 零拉动信号 裁决:交付 C-C 依赖测绘,Phase-4 标 Deferred + 可观测触发条件。 架构债务发现:AccountRuntimeBlocker 误命名 openai 专属、实为通用调度依赖。 含 Phase-3 PHASE_SUMMARY 归档。
2.1 KiB
2.1 KiB
Phase-4 评审 — 回归风险/循环依赖/YAGNI 视角(2026-06-12)
评审对象:SEAM-DESIGN v1。结论与架构评审收敛:第一刀 C-C + Deferred。实验性移动已 git checkout 还原,工作区干净。
量化风险账(实测)
- 规模硬伤:设计称"openai 7168 行单文件",实为 46 非测试文件 ~29K 行 + 69 测试文件 ~35K 行;
- 循环依赖已编译器证实:构造正向+反向 import 后
go build报import cycle not allowed——非"可能成环"而是必然; - 正向 178 符号(64 未导出须导出/下沉);反向 57 符号(19 导出/38 未导出),含 4 类骨架级硬耦合(struct 内嵌/签名/构造器/wire.Bind);
- gate 致命缺口:69 个 openai 测试 100% 白盒
package service,move 后自身编译不过——用于证明等价的 gate 会被这次 move 摧毁,无稳定黑盒锚点; - diff 估算:最小可编译动作触及 150+ 文件、导出 64 符号、下沉含计费载荷的类型、改写 69 测试,数千行——功能变化为零。
裁决表
| # | 裁决 |
|---|---|
| Q1 | C-C,本阶段不动代码 |
| Q2 | 必撞环(已实测);三选 C-C |
| Q3 | 下沉必须单列前置,绝不第一刀做(含 OpenAIForwardResult 计费载荷 R-2.1 高危) |
| Q4 | 不够,明确不通过(仅 3 passthrough 特征化,主体 29K 无黑盒) |
| Q5 | Deferred 成立(五项全中 YAGNI/过度设计:高 diff/零收益/必成环/gate 缺/无拉动) |
YAGNI 裁决
对照 CLAUDE.md"禁止过度设计:不为假设的需求编码"——openai 子包化无真实 L2 拉动,ROADMAP 的 L2 触发条件"搬家完成"是自指循环论证。高 diff 零行为收益是教科书反例。
副产品建议(R6)
未来若推进,正确顺序:先黑盒化测试建 gate → 先打破反向边(接口化/类型下沉/AccountRuntimeBlocker 归位,无需搬家的低风险依赖收敛,独立 PR)→ 再评估子包化。R6 中最低风险高价值单项=AccountRuntimeBlocker 归位,列为需用户决策的可选下一步。