8a9005036c5cb71c6908e7247c4c101e1cfac4a1
T06 第二块。核对后确认 component_registry.freeze() 已实现大部分 AC-28: 按 release 指针解析依赖、原生方法文本装配时固化、循环依赖与输出冲突检查、 数据域一致性("演示与正式组件不能混用")、content_hash。因此本批**不重复实现冻结**, 只补真正的缺口。 新增 contracts:JudgmentBinding、ReviewPlan(含维度、关键核查项、专项绑定)。 新增 review_plan.check_dependencies() / assemble(): - **缺口**:未发布/已撤回的依赖原先抛裸 KeyError,被 translate() 映射成 404 "对象不存在",用户无法定位是哪一项。现改为逐个检查并**指明依赖名与原因** ("尚未发布或已撤回"/"版本状态为 X"/"发布指针指向的版本不存在") - 只用 release 指针判定可用性——草稿与已撤回天然没有指针,这正是 BR-27 "草稿或已撤回组件不得进入新运行"的机械表达 - 装配时接入 T06-a 的维度解析与呈现判定,并做不丢失断言 测试:test_review_plan.py 增至 25 项(新增 7 项装配)。其中版本换版后 content_hash 必须变化,用于证明版本确实被冻结进结果而不是每次重解析。 全量 340 项 OK(333 → 340);verify.py 10/10 PASS。 Co-Authored-By: Claude Code <noreply@anthropic.com>
mini_openclaw
Languages
Python
78.8%
TypeScript
18.4%
JavaScript
1.7%
CSS
0.5%
Shell
0.3%
Other
0.3%