用途
module-source-coverage 用于教程生成流水线中的来源覆盖审计环节。当已经存在教程模块计划、需要在撰写正文之前确认每个模块都能回指到来源(sources)时使用。它属于 source-tutorial 的 C2 阶段。
触发词:module coverage、source coverage、tutorial grounding、模块覆盖、来源覆盖。
若模块计划或来源摄取不完整,应跳过该技能。该技能不进行网络访问(Network: none)。
主要能力
- 构建 outline/source_coverage.jsonl,每个模块一条覆盖记录。
- 对模块与来源的相关性进行评分。
- 为每个模块选择一小组来源。
- 当覆盖较弱时,记录明确的 grounding 缺口(gaps)。
- 追加一条语料对账记录,标记未被任何模块使用的已摄取来源。
输入
- outline/module_plan.yml
- sources/index.jsonl
- sources/provenance.jsonl
输出
- outline/source_coverage.jsonl
契约
每条模块记录必须包含:
- module_id
- module_title
- source_ids 和/或明确的 gaps
此外,必须包含且仅包含一条语料对账记录(record_type: corpus_reconciliation,无 module_id),列出 ingested_source_ids、attributed_source_ids 和 unused_source_ids;当某个来源已被摄取但未被任何模块使用时,需有明确的 gaps 条目。仅靠逐模块审计无法发现对零个模块有贡献的来源,因此该记录使未使用来源保持显式,而不是被静默丢弃。
脚本边界
scripts/run.py 应当:
- 对模块到来源的相关性进行评分
- 为每个模块选择一小组来源
- 当覆盖较弱时记录明确的 grounding 缺口
- 追加语料对账记录,使未被使用的已摄取来源被标记
文本匹配与片段评分应保留在共享的教程工具中,而不是放在 wrapper 里。
验收标准
- outline/source_coverage.jsonl 存在
- 每个模块恰好出现一次
- 恰好一条 corpus_reconciliation 记录覆盖所有已摄取来源
- 缺失的 grounding 是显式的,而不是静默的
非目标
- 上下文包组装
- 教程正文撰写
限制
该技能只做 grounding 审计,不写教程正文。若模块计划或来源摄取不完整,应跳过。网络访问:无。