用途
doc-sys-audit 是一个统一的 SYS 审计包装器,位于第 6 层(SYS Quality Gate Wrapper)。它运行单一 SYS 审计工作流,依次执行 doc-sys-validator(结构/模式门禁)和 doc-sys-reviewer(语义/内容质量门禁),然后输出一份为 doc-sys-fixer 输入优化的组合报告。
上游输入为 SYS 文件,下游输出为组合审计报告 SYS-NN.A_audit_report_vNNN.md,并可选触发 doc-sys-fixer 的修复循环。
为什么存在
该包装器用于避免用户在 validator 与 reviewer 之间产生混淆,同时保留职责分离:
- 模式/模板合规:由 doc-sys-validator 负责
- 内容质量与需求完整性:由 doc-sys-reviewer 负责
- 单一面向用户的审计命令:由 doc-sys-audit 负责
何时使用
在以下情况使用 doc-sys-audit:
- 希望用一条命令完成 SYS 质量检查
- 需要为 doc-sys-fixer 生成组合报告
- 在 REQ 生成前运行 QA
不要在以下情况使用:
- SYS 不存在(应先用 doc-sys / doc-sys-autopilot 生成)
- 只需要某一特定检查域(应直接使用 validator 或 reviewer)
执行契约
输入:
- SYS 路径(docs/06_SYS/SYS-NN_*/...)
- 可选:阈值(默认审查阈值:90)
强制顺序:
- 运行 doc-sys-validator
- 运行 doc-sys-reviewer
- 规范化并合并发现项
- 写入 SYS-NN.A_audit_report_vNNN.md
- 若存在可自动修复的发现项,则移交给 doc-sys-fixer
组合状态规则:
- PASS:Validator PASS 且 Reviewer 分数 >= 阈值 且无阻塞问题
- FAIL:Validator FAIL 或 Reviewer 分数 < 阈值 或存在阻塞/需人工处理的问题
组合报告格式(供 doc-sys-fixer 使用)
输出文件:SYS-NN.A_audit_report_vNNN.md
必需章节:
-
Summary:SYS ID、时间戳(EST)、总体状态;Validator 状态、Reviewer 分数
-
Score Calculation (Deduction-Based):公式 100 - total_deductions;阈值比较(>=90 通过门禁)
-
Validator Findings:按严重级别/代码列出
-
Reviewer Findings:按严重级别/代码列出
-
Coverage Findings:需求完整性摘要;质量属性覆盖摘要;可追溯性/标签覆盖摘要
-
Fix Queue for doc-sys-fixer:auto_fixable、manual_required、blocked
-
Recommended Next Step:运行 doc-sys-fixer,或需要人工更新
修复队列规范化
每个发现项必须包含:
- source:validator | reviewer
- code:问题代码
- severity:error|warning|info
- file:相对路径
- section:标题/锚点(如已知)
- action_hint:简短祈使式指引
- confidence:high|medium|manual-required
移交给 doc-sys-fixer 的契约
doc-sys-fixer 必须接受组合审计报告作为等价的上游输入:
- SYS-NN.A_audit_report_vNNN.md(首选)
- SYS-NN.R_review_report_vNNN.md(旧版兼容)
优先级规则:
- 选择最新时间戳。
- 若时间戳相同,优先选择 .A_audit_report 而非 .R_review_report。
示例调用
/doc-sys-audit docs/06_SYS/SYS-01_f1_iam/
预期结果:
- validator 运行
- reviewer 运行
- 生成组合审计报告
- fixer 可直接基于组合报告执行
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 1.0 | 2026-02-27 | 初始 SYS 审计包装器;validator→reviewer 编排;面向 fixer 的组合报告契约,.A_ 为首选、.R_ 为旧版兼容 |
实现计划一致性(IPLAN-004)
- 将计划派生的输出视为有效来源模式,并验证实现计划范围/目标中的意图保持。
- 验证上游 autopilot 优先级假设:--iplan > --ref > --prompt。
- 将计划上下文与产物输出之间的目标/范围冲突标记为需要澄清的阻塞问题。
- 不引入诸如 docs-v2.0/00_REF 之类的旧版回退路径。