---
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` 检查本次材料更新。
