SuperAPI AI 工具集

hai-ssot

编程与开发

查看项目

更新于 10-15 22:15

技能介绍

用途:hai-ssot 用于排查“同一事实、同一形状或同一词汇存在多个权威来源”的问题,以及一个名称暗中承载多个事实的情况。它产出工程师可直接执行的发现报告:每条发现编号、附 file:line 证据、经诚实裁定,并路由到具体处置方案。它是带治疗意见的诊断工具,而非 linter。

核心法则:SSOT 违规几乎都聚集在类型系统无法触及的边界——语言↔数据库(原生 SQL 与 CHECK 约束中的字符串字面量)、语言↔传输格式(手写 schema 镜像生产类型)、层↔层(无类型载荷信封,如 Record<string, unknown>、map[string]any、裸 dict,以原始字符串为键)、代码↔文档、生产↔夹具。编译器可达范围内多来源会自然消亡;范围之外多来源是均衡态。

十类症状:多来源字面量、形状增殖、词义过载、遗留词汇映射层、双路径行为分叉、分散默认值、纯子集形状对、同名不同形状、冗余转换链、重复实现的派生逻辑。严重度:已造成生产症状的违规优先,其次是持久化或用户可见传输,再次是跨团队/跨栈边界,模块内重复最后。

诚实裁定:模块限定的通用名是惯用法而非违规;前向契约即使无生产者也可能被消费;持久化传输字面量已冻结,只统一定义点不改磁盘值;形状变化若携带信息则合理;信任边界处的重复校验是防御;端口/实现模块对与插件模块是约定;经裁定的双词汇可存在。报告可信度取决于此节,过度裁定会教读者忽略真实发现。

治疗配方:代码生成、一致性守卫、常量提升、类型化载荷、边缘转换、单一规则所有者、词汇收尾、行为分叉裁定、删除钉住测试。每条确认发现只路由到一个配方。

工作流:确定扫描范围;先绘制接缝;按症状类用 cookbook 搜索;对每个候选记录所有定义/使用点的 file:line;验证生产者与消费者(后端、前端/契约、种子/夹具三面);诚实裁定并记录“未计入”候选;按输出模板写报告,含编号发现、证据、严重度、配方、处置表与正面清单;如被要求可执行快速修复。

交接:根因是模块边界或分层问题转 hai-architecture;需要新命名转 hai-naming;处置需变成分阶段可验证计划转 hai-goal;用户想重构整个契约面转 geju。

限制:不是 linter,不报告原始匹配;不主张“统一一切”;不是传输迁移工具,持久化值不可动,只移动定义点。中文读者可参阅 SKILL.zh_CN.md,英文 SKILL.md 为执行事实来源。