# 每书书单与跨书汇总

书单放在答案、主线、概念和金句之后，详细证据之前。每本书维护书内 `书单.json`，并提供同内容的 `书单.md` 和离线 `书单.html`。工作区 `00_总书单/index.html` 提供按不同来源书统计的表格、搜索、分类筛选和本书来源入口；`总书单.json`、`总书单.md` 保留可维护数据与表格。

## 维护数据

`书单.json` 格式：`{schemaVersion:1, sourceBook:"来源书名", items:[], other:[]}`。

`items` 每项至少有稳定 `id`、保留原版本的 `title`、`author`（未知就标未知）、`category`、`context`（提及语境或推荐理由）、`locator`；可附 `records` 保存各处的 `rawTitle, sourceFile, sourceLine, originalType, statusReason`。字段与应用 `app.books` 保持一致。生成器在 `app.books` 为空时回退到本地 `items`。本地 JSON 是跨书汇总的维护入口，修改时核对主笔记与应用投影。

来源类别：正文提及、注释与参考文献、正文/注释混合，待细分、编辑附录、整理者延伸推荐。不能把作者在正文中推荐的书误归为整理者推荐；没有足够定位区分的旧材料保留混合身份。

`other` 保存明确非书籍与身份待核项：`title, status:"pending|excluded", originalType, statusReason, sourceFile, locator`。原文说明和作者信息保留；不把诗作、文章、期刊、电影、软件、法律或虚构著录自动变成图书。

## 统计规则

- 默认频次 = 提及此题名的不同来源书数，计入正文、注释参考和混合来源并去重。同一本书出现十次或同时在正文、注释出现，整体只计一次。
- 分类筛选各自统计不同来源书数，分类数相加可能超过整体频次。
- 编辑附录、整理者推荐单列，不混入默认排行；书单中的提及不是推荐质量评估。
- 只规范外围书名号和空白；不自动合并短标题、副标题、中英文译名、作者、卷次和版本。同名题名暂按题名统计，未完成实体消歧，必须可见说明。
- 仅收工作区直接子目录中具有规范 `<书名>-深度拆书.md` 的书。工作流样例、历史版本、备份不计入来源书。
- 新书或书单修订后重新运行汇总。没有开启自动化，不声称实时更新。

## 命令与旧资料接入

```sh
python3 /Users/joe/.codex/skills/book-deep-dive/scripts/build_bibliography.py "/绝对路径/拆书工作区"
```

首次没有本地 `书单.json` 时，脚本只从既有完整笔记的书目章节和已分类参考文献导入。不能扫描全文所有书名号就宣称得到完整书目。旧清单可能仍有缺口，本轮导入不等于重新核验原书。

`--import-existing` 只刷新本脚本带 `importer:existing-notes-v1` 的导入清单；人工维护的新清单不覆盖。人工校正导入数据后移除 `importer` 标记，避免今后导入覆盖。既有主笔记、证据和书籍 `index.html` 不修改。新增工作区总入口仅在不存在或有本工具生成标记时写入；自定义入口需要单独保留并增量加入链接。

验证不同来源书去重、分类分离、非书籍与待核排除、题名/作者原文保留、源码到本地书单再到总表的对应关系，以及所有新增入口的本地链接。
