用途:这是 review/audit 技能组合使用的分类引擎。它消费已合成的发现表(各适用轴检查的融合输出),校验每个适用轴都有代表,然后返回分类决策表并停止。它不重构、不编辑代码,负责范围/轴覆盖契约与分类规则(current-unit 契约与路由),供 review-change、audit-pr、product-audit 引用而非重复表述。它不扫描 diff:每个发现关注点只有一个归属检查(见轴归属图),各轴检查负责发现,本引擎负责分类。
使用方式:由 review-change(面向用户的评审入口)作为其分类引擎调用,输入为融合后的发现表;审计技能引用其规则与覆盖契约。调用方给出的范围声明(分支 diff 对比默认分支,或传入的 path/glob)为准,需在分类报告顶部说明范围。
步骤:Step 0 先发现项目,按 agent 指南的工作流约定与文档地图,读取本技能所需内容:架构/分层规则、测试理念,以及运行时/平台、安全、资金、i18n/SEO/a11y 与打包规则;从项目的 guardrail 技能中提取具体风险轴,FIND.md 轴图为默认,项目文档细化适用轴。Step 1 校验轴覆盖:对声明范围确认每个适用轴都在合成表中出现,一个轴一个发现归属;变更触及但表中未提的轴属于缺失轴发现,而非静默通过;同一缺陷的重复信号在合成时合并为一行,表中不得有重复或缺口。Step 2 分类:按 Classify and route 对合成表每一行分类,不重开源文件;先忽略(claim),再按 current-unit 契约(fix-now / replan-in-unit / decision-required 用于范围内工作),最后对真正独立的未来能力提出 proposal。一次完成,不按检查者或按轴重复分类。
上下文预算:输入是合成表而非 diff;最多完整读取 10 个非 diff 文件作为上下文,定向读取(≤50 行的指定范围)与 grep/glob 结果不计入;每项分类立即记录为表行并丢弃原始文件内容。
限制与护栏:只产出发现与表,绝不重构或编辑代码;只有一个分类器,分类在此处对融合表进行一次;遵守死代码例外,暂存/计划中的代码不算死代码;不夸大严重性,区分正确性与安全同品味;也不压低,current-unit 工作不得标为 postpone/tradeoff/wontfix/disputed 或新 issue,规模问题路由到 replan-in-unit;引用 file:line,不确定处标记 verify。fix-now 并入当前单元;replan-in-unit 运行 node scripts/unit-route.mjs <unit>,其 route: replan 行指明规划器;decision-required 阻塞等待用户;独立工作成为 proposal,由用户路由到 triage-issue(D3)。完成条件:消费合成表、校验轴覆盖(无适用轴缺失、无重复行)、每个发现带理由分类并路由,且未改动代码。