现存等翅下目(白蚁)拉丁学名—中文正名对照名录 Extant Isoptera (Termites) — Latin–Chinese Name Comparison List

拉丁学名 · 中文正名 · 双语对照 —— 13 科 · 18 亚科 · 326 属 · 3021 种 · 68 亚种

AGENTS.md — 本工作区的固定约定

本仓库是「现存等翅下目(白蚁)拉丁学名—中文正名对照名录」站点源码(Jekyll + GitHub Pages,三语)。 站点上的每个学名、分布、异名、年代、文献都要能被追溯,所以本工作区有一条跨会话的硬约定:

1. 来源存档(Source Archive)

原则:先存档,再下结论。 你读过、并据以写出任何事实性内容(学名、异名、分布、年代、分类位置、 统计数字、术语译名、图片授权)的来源,必须在同一轮任务里落成一条存档记录;正文里给出的每个此类 判断,都要能指回某条记录。

两层要分清:_unpublished/文库/ 是全文库(本机 5 本书 + 9 篇论文的全文 txt,被 gitignore,不发布); .sources/ 是证据账本(进仓库:元数据 + 逐字短摘录 + locator + used_in)。 文库里的书在账本里已有 S0001–S0005、论文 S0006–S0017(12 条记录,其中 9 篇有全文,S0010/S0011 只有摘要,S0012 无全文)——引用它们时不要新开记录,直接引用这些 id, locator 写「页码 + 分卷文件」(如 p. 412 / 0401-0600.txt)。读文库 _full.txt 或分卷 txt 也算「必须存档」 的一次阅读:摘录逐字拷自该书,used_in 写用到它的文件。

1.1 必须存档

1.2 不必存档

1.3 每条记录写什么

字段 要求
title 原文标题,不改写、不翻译(译文放 notes)
source_type web / paper / book / report / dataset / database / file / other
reliability primary(原始记录/模式标本/官方名录)、peer_reviewed、official(机构或数据库官方页)、reference(百科、教科书)、secondary(新闻、博客、二手综述)、unverified(未核实/有冲突)
url / doi / file_path 至少一个;本地文件给仓库内相对路径,脚本自动算 sha256,文件被改会报警
authors year publisher lang license 有就填;许可未知写 unknown
evidence 逐字摘录(不改写、不翻译、不拼接),每处 ≤400 字;locator 写页码/章节/段落/表行;note 写它支撑了什么
used_in 用到它的仓库内文件(相对路径),可多个
notes 排除理由、矛盾点、只读到摘要等

1.4 命令

清单写在 _tmp/(已 gitignore),一次可提交多条:

cat > _tmp/sources-task.json <<'JSON'
[
  {"title": "Mitochondrial phylogenomics of termites",
   "source_type": "paper", "reliability": "peer_reviewed",
   "doi": "10.1038/s41467-024-51028-y", "year": 2024,
   "retrieved_via": "pdf_extract_text",
   "evidence": [{"quote": "……逐字……", "locator": "p.4 ¶2",
                 "note": "支撑:Coptotermes 属内分化时间"}],
   "used_in": ["_posts/2026-11-05-xxx.md"]}
]
JSON
python _tools/sources.py add --json _tmp/sources-task.json
python _tools/sources.py check --strict      # 交付前必跑
python _tools/sources.py list                # 先查已有什么,再存
python _tools/sources.py import-library      # 文库重新生成/切块后才需要跑(幂等)

Windows 上不要用 /tmp;一律 _tmp/。

1.4.1 论文 / 报告全文入库(library-add)

拿到 PDF、JATS/TEI 全文 XML、docx 或已抽好的 txt 时,一条命令把全文放进文库并同步登记来源:

# 出版社 PDF / OA PDF
python _tools/sources.py library-add --file ~/Downloads/xxx.pdf \
    --title "原文标题(不改写、不翻译)" --kind paper --reliability peer_reviewed \
    --doi 10.1038/xxxx --year 2024 --lang en --authors "Hellemans S.; Rocha M. M." \
    --used-in "白蚁基础知识-中文稿-修订-v5.docx"

# Europe PMC 的 JATS 全文(比双栏 PDF 抽取干净得多)
curl -sL "https://www.ebi.ac.uk/europepmc/webservices/rest/PMC4622179/fullTextXML" -o _tmp/a.xml
python _tools/sources.py library-add --file _tmp/a.xml --doi 10.1093/jisesa/iev130 ...

# 已经抽好的纯文本(扫描件 OCR、网页正文);--no-copy 表示不复制原件
python _tools/sources.py library-add --text _tmp/paper.txt --no-copy --kind paper ...

1.4.2 文库的加密备份(.library-vault/)

_unpublished/文库/ 被 gitignore,所以仓库里另存一份密文备份,克隆仓库即可恢复文库:

python _tools/library_vault.py pack                 # 文库 → .library-vault/(AES-256-CTR + HMAC-SHA256)
python _tools/library_vault.py info                 # 只读 manifest
python _tools/library_vault.py verify               # 分块 sha256 + HMAC(需要口令)
python _tools/library_vault.py unpack --target _tmp/vrestore   # 恢复并逐文件校验

1.5 正文里怎么标

1.6 红线(违反即视为未完成)

  1. 不得编造标题、作者、年份、DOI、URL、页码、引文;没打开过的页面不许存档。
  2. 摘录必须逐字;需要改写就放在 notes 并注明「转述」。
  3. 全文只进文库,不进仓库:论文 / 报告 / 书的全文本地存在 _unpublished/文库/(已被 .gitignore 排除、不发布、不再分发),用 library-add 入库;.sources/ 里只留元数据 + 短摘录 (单处 ≤400 字,同一版权作品累计 ≤2000 字)。网页 HTML、知网 / Google Books 页面不要整篇存, 只存摘录——与 _tools/文献检索器说明.md §3 的出版社 PDF 政策一致。
  4. 读不到正文就说读不到:付费墙 / 403 / 只有摘要时,在 notes 记「access: blocked,仅有摘要」, 正文里标注「据摘要」,不得当作已读全文。
  5. 不可靠来源也要留痕:查过但结论是「不能用」的来源,同样记一条 reliability: unverified + notes 写排除原因,免得下一轮再被它误导。
  6. 存档不是装饰:used_in 里的每个文件必须真有对应论述;check --strict 会对缺摘录/缺 notes 报错。

1.7 交付前自检

python _tools/sources.py check --strict

2. 其它既有约定(摘要,细节见 CONTRIBUTING.md)