建立可信起点
第 8 章 · 把散乱材料变成可维护资料库
交付一张能从结论反查正文的资料索引,并把当前、归档和待确认彻底分开。
STATION 1 / 6 · 任务情境
先看清你要解决的麻烦
你接手了 20 份名字相似的虚构材料。最危险的一份叫 U-03_已确认学习时长.md:文件名看似已经确认,正文却明确写着“待确认”,也没有固定六小时的依据。
- 本章范围
- 只读取 inputs/chapter-08,只写 workbench/library;文件名不能覆盖正文元数据。
- 停止线
- 任何输入被修改,或待确认内容被写成当前事实,立即停止并恢复练习副本。
STATION 2 / 6 · 先做判断
STATION 3 / 6 · 实际操作
现在打开练习副本,不要只看答案
打开第 8 章任务卡,让 Codex 在练习副本中生成索引,再亲手从索引反查正文。不要在参考完成态上操作。
npm run check:08STATION 4 / 6 · 提交证据
让检查器说话,再写你的观察
只粘贴以 CH08_PASS: 开头的最终一行,并写下你怎样识别 U-03 的真实状态。
证据边界:浏览器只核对通过行属于本章,不能读取你的文件系统。只有你刚才在自己的练习副本中亲手运行命令得到的通过行才有效;照抄或手写通过行不能证明文件经过检查。隐私拦截只是模式检查,请勿粘贴姓名、账号、邮箱、手机号、机器路径或密钥;它不能识别所有身份信息,提交和导出前仍要由你人工复读。
STATION 5 / 6 · 人工验收
自动检查通过以后,轮到你亲眼确认
STATION 6 / 6 · 交接完成
这一章已经形成可交接成果
把 library/index.csv、pending.md、field-rules.md、update-log.md 和本轮 verify:inputs 最终通过行交给第 9 章;下一章只能使用索引中已经确认的材料。
完整教材与工件参考
CHAPTER 8 · 公开候选
这一章不再讲“应该如何整理”。你会实际处理 12 份当前材料、3 份归档材料和 5 个待确认问题,让 Codex 在不碰输入的前提下生成资料库,再亲手反查两个最容易误判的样本。
打开第 8 章练习入口。完整任务位于练习包内 tasks/chapter-08.md;网站只提供下载与阅读,不会替你执行本地文件。
1. 起点
你收到 12 份当前材料、3 份旧版和 5 项待确认问题。文件名看起来很整齐,但不能直接证明材料状态或内容。
先理解问题
真正的难点不是把文件排整齐,而是下一次仍能回答:这条记录从哪来、现在是什么版本、能不能进入后续内容。A-05 的文件名写着“最终版”,正文却是 v0.8;U-03 的文件名像已确认,正文仍是待确认。它们让“别猜”成为可以失败的行为门,而不是一句提醒。
2. 只读输入
inputs/chapter-08/current/inputs/chapter-08/archive/inputs/chapter-08/pending/inputs/chapter-08/expected-records.json
开始前运行 npm run verify:inputs。不得修改、移动或重命名这些输入。
建议阅读顺序
先读 expected-records.json 了解数量合同,再读 A-05 和 U-03 观察陷阱,最后才让 Codex 扫描全部材料。这样你知道检查在保护什么。
3. 唯一写入位置
只写 workbench/library/。
写入位置是本章的安全边界。Codex 可以创建目录,但不能扩大到 inputs、checkpoint 或别章输出。
4. 本章唯一成果
建立一套能反查原材料的资料库:index.csv、field-rules.md、pending.md、update-log.md。
成果必须能打开、能回查、能由本章检查验证。只有一句“已经完成”不算交付。
5. 可复制给 Codex 的任务
只读取 inputs/chapter-08。逐份读取文件正文中的材料 ID、标题、日期、版本、状态和来源类别;不要根据文件名猜事实。把 12 份当前材料和 3 份旧版写入 workbench/library/index.csv,并让 current/archive 在独立字段中可区分。把 5 项未解决问题写入 pending.md,不得把它们写成已确认事实。补充 field-rules.md 和一条五项 update-log.md。只写 workbench/library,完成后运行 npm run check:08;如果输入哈希变化,立即停止。
把代码块整段复制,不要拆掉输入范围、停止条件和检查命令。Codex 的总结不能代替产出文件。
6. 你必须亲手完成
从索引随机选三条当前材料和一条旧版,打开原文件逐字段核对;再选一项待确认问题,确认它只出现在 pending.md,没有混进已确认索引或下一章事实。
人工动作为什么不能省
你要亲手打开 A-05_最终版.md 和 U-03_已确认学习时长.md,再到索引与待确认清单逐项对照。自动检查可以证明结构,却不能替你判断一条陈述是否忠实。
7. 你应该看到
- 索引有 15 行材料记录:12 行 current、3 行 archive。
- 待确认清单有 5 项,每项保留问题而不是虚构答案。
- 每行都有能回到原文件的相对路径。
- 输入完整性检查前后哈希一致。
跟着做:从输入到可观察结果
1. 确认共同起点
运行 npm run verify:inputs。
你应看到:看到 INPUTS_PASS: 62 files unchanged;它证明整套练习输入没有被提前改写。
2. 生成资料库
把第 5 节任务整段交给 Codex,让它只在 workbench/library/ 生成四个成果文件。
你应看到:本章检查能确认 12 current · 3 archive · 5 pending,目录出现四个成果文件。
3. 反向抽查
从 index.csv 抽 A-05、任意两条 current 和一条 H 系列,沿相对路径回到正文;再检查 U-03。
你应看到:A-05 仍为 v0.8,U-03 只在 pending.md,没有因为文件名变成事实。
4. 关闭本章
运行 npm run check:08,随后再次运行输入完整性检查。
你应看到:本章检查退出 0,输入哈希前后相同。

参考完成态:本地实跑记录
- 索引基线恰有 12 行 current 和 3 行 archive。
- U-01 至 U-05 只在待确认清单。
- 本地行为门输出
CH08_PASS,输入未改。
证据文件:completed-example/library/index.csv。这些记录只证明虚构练习在本地按规则跑通,不代表网站已发布、现实用户已使用或作者已批准。
8. 三个真实坑
坑 1:把文件名当事实
有一份文件名看起来像“最终版”,正文却明确说明它仍需核对。检查会比较正文元数据,靠文件名判断会失败。
坑 2:把旧版登记为当前版
旧版标题与当前材料相近。若索引没有独立版本区域,检查会发现 H 系列混入 current。
坑 3:把待确认写成已确认
U 系列故意提供了听起来合理但未解决的问题。它们一旦进入确认索引或第 9 章事实底稿,检查立即失败。
这三个坑都由练习材料、代码或检查实际暴露,不是提醒语。
先看信号,再做补救
识别信号:A-05 在索引里不是 v0.8、H 系列出现在 current,或 U 系列出现在 index.csv,说明你相信了文件名或补写了答案。补救动作:回到正文重新抄 category、version、status 和 source,只清理并重建 workbench/library/;随后重新运行输入完整性检查。
补救后仍不能让本章检查因正确原因通过,就按第 10 节停止并回退;不要手改日志或复制参考完成态绕过。
9. 复选框验收
npm run verify:inputs通过。index.csv正好包含 12 条 current 和 3 条 archive。- 抽查的四条材料都能反查原文件。
pending.md正好包含 5 项未决问题。npm run check:08通过。
每一项都要靠打开文件或完成动作后再勾选;不要只凭 Codex 报告的 PASS。
10. 停止、回退与交接
发现来源、版本或状态说不清时停止,不替材料补答案。若写错,只清理 workbench/library/ 后重做,不碰 inputs/。交给第 9 章的是 workbench/library/index.csv、pending.md、field-rules.md、update-log.md,并在交接记录中抄下本轮 npm run verify:inputs 的最终通过行;第 9 章只使用 status=已确认 的 current 行。
停止条件:索引行无法回到输入、U 系列进入确定事实、或输入哈希变化。
回退动作:只清理 workbench/library/ 后重建,不修改、重命名或补写 inputs/。
交接文件:workbench/library/index.csv、pending.md、field-rules.md、update-log.md,以及本轮 verify:inputs 最终通过行;第 9 章只读使用已确认 current 行。







