用途:给定 PR diff 与 .apm/docs-index.yml 语料映射,输出唯一一个文档影响分类结论,作为整个 docs-sync 系统的成本闸门,约 70% 的 PR 应在 no_change 处零面板退出。
主要能力:采用单次调用内的三层漏斗。L0 确定性路径门,纯文件路径匹配、不用 LLM,读取 no_impact_paths[] 与 user_surface_paths[],用 gh pr diff --name-only 取变更文件;若全部命中 no_impact_paths 且无一命中 user_surface_paths,返回 no_change。L1 符号抽取与语料 grep,纯文本处理、不用 LLM,从 diff 中抽取 CLI 命令名、flag 名、公共 API 符号、schema 键、错误字符串,再查 symbol_index 得到候选页面,并对索引外符号执行 grep -rn <symbol> docs/src/content/docs/。L2 LLM 分类器,在约 8 KB 上下文内单次调用,输入 PR 标题与正文前 500 字符、diff 统计、docs-index.yml、候选页面上下文、L0 路径分类摘要及 pr_doc_diff_paths[],返回 JSON 结论。
结论语义:no_change 表示无用户可观察面变化;in_place_resolved 表示有影响但 PR 自身已修补全部 scope_pages;in_place 表示少量页面需段落或章节更新;structural 表示需要新页面、拆分合并或调整 TOC。若 scope_pages 全部出现在 pr_doc_diff_paths 中则降级为 in_place_resolved 并保持静默;仅部分预修补时保留 in_place 并只列未修补页面。当 L1 发现新增公共符号与语料中已有同名符号冲突时,视为重命名或破坏性语义变更,倾向 structural。
限制与约束:in_place 不得带空 scope_pages,structural 必须带 structural_proposal,不得在 L2 读取语料 .md 文件本身,最终只输出单个 JSON 文档、无额外文字。具体安装与调用方式暂未提供。