用途:扫描 Go 源码,报告实现与 docs/api/ 下自定义 YAML API 规范之间的漂移。规范是契约与唯一事实来源,由 neo 的架构师编写;本技能只读取规范与代码并输出漂移报告,不写任何文件,供架构师据此回同步 YAML。
主要能力:比对路由(Go 路由与规范端点双向覆盖,_meta.yaml 的 extra_endpoints 视为已记录);比对字段(请求体字段与各响应对象对照 Go 结构体,按 json 名反向匹配,检查未记录字段、过期字段、M/O 不一致、可确信的类型不一致)。脚本无法确信判断的差异降级为 NOTE,交由独立复核。
使用方式:需已存在 docs/api/*.yaml,缺失则停止并提示先运行 neo 编写;需含 go.mod 的 Go 项目,非 Go 项目停止,多 go.mod 的单体仓库需先指定服务。核心命令:python3 <ASSET_DIR>/speccheck.py docs/api --src <project-root>。流程分三层:L1 脚本机械检查(exit 0 无漂移,exit 1 逐条核查并决定回同步方向,约 3 轮无进展则升级);L1.5 询问是否运行独立复核(默认是);L2 由独立代理复核脚本无法判断的 NOTE 项;L3 完整性扫描,重新推导路由与端点清单,找出被静默跳过的部分。
适用场景:Go 项目的 API 规范一致性校验,作为 api-doc 链路的回同步检测器。
限制:仅针对 Go,不生成或编辑规范,不是 Bruno OpenCollection 生成器、Confluence 发布器,也不是 OpenAPI/curl/Postman 转换器;脚本是绊线而非最终事实,DRIFT 需人工核查,NOTE 需独立复核;扩展其他语言需新增 references/<language>-scan-patterns.md 并让步骤一识别语言。