semantic-diff · git:20260908.7e2cb50 · 2026-09-08 · sha256 15efeebd9c82217e
semantic-diff git:20260908.7e2cb50A
Immutable. This exact content is served forever at /api/v1/blob/15efeebd9c82217e.
--- name: semantic-diff description: >- 分析代码、配置、契约或工作树差异对既有语义基线的影响,计算影响闭包并标记需要重新审查的风险视角; 仅在已有实际差异且存在语义基线时使用,不负责首次建库、编码前预检或泛化代码审查。 metadata: category: 语义质量 scope: 框架 --- # 语义增量分析 把普通代码差异转换成可验证的语义变化。输入可以是提交之间的差异,也可以是当前未提交工作树; 未提交变化必须同时记录基准提交、目标提交(如有)和未提交状态。 ## 分析顺序 1. 调用 `semantic-contract`,取得当前合同版本;合同或基线不存在时转入 `semantic-discover`,不能继续增量写入。 2. 读取当前完整基线和对象引用,确认它们对应的源码快照;历史引用只按对应 Git 树预检。 3. 通过路径、符号、公共契约、序列化字段和调用关系定位直接受影响的能力图、边界、行为承诺、规则和证据。 4. 沿共享状态权威、生命周期、外部副作用、公共契约和证据关系扩展影响闭包。 5. 只让实际受影响的审查单元变为 `stale`;普通文件变化不能让全仓审查失效。 6. 重要变化无法映射时进入局部 `semantic-discover`,不能因未命中旧对象而判定“无语义影响”。 ## 输出与限制 输出源码快照、语义变化、影响对象、失效视角、未映射变化和建议验证矩阵。保留人的期望,不把相反的实现 自动改写成新的预期。纯格式变化也必须先确认不会改变契约、解析、生成物或用户投影,再缩小影响范围。 这个 Skill 只分析并更新语义材料;修复问题记录使用独立的调试/构建流程。不要创建第二个差异解析器、 任务队列或状态权威。 输出验证矩阵后先执行对应机器验证。只有存在高风险失效单元、残余风险、新问题或事故关联时才调用 `semantic-audit`;其余情况直接调用 `semantic-verify` 检查本次材料更新。