Files
paper-atlas/docs/source-identity-audit.md
T
codex-bot fe3e2502a5
Metadata integrity checks / metadata (push) Successful in 2m42s
Add read-only source identity candidate audit with evidence shards
2026-11-10 02:55:27 +08:00

2.8 KiB

来源身份只读预检

audit source-identities 在 PostgreSQL 的同一 REPEATABLE READ READ ONLY 快照中,检查规范化 JSONL 的来源绑定、稳定标识及精确标题候选,并导出候选论文的原始来源和投稿决定历史。用于入库前评审,不执行导入、合并或标识修改。

PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas audit source-identities \
  --pg-service foundry-research --pg-schema research \
  --files /data/paper-index/collected/example/main.jsonl \
          /data/paper-index/collected/example/position.jsonl \
  --out /data/paper-index/collected/example-identity-preflight-v1

每个 JSONL 必须有同名 .manifest.json,包含 source、venue、year、track、count 和 file_sha256。逐行校验届次、显式决定状态、标识类型和跨文件来源主键唯一性;文件哈希和数量必须相符。只读取调用者指定的文件,不跟随 manifest 中的绝对 file 路径;原始行哈希包含换行符。原始 JSONL 和 manifest 应与报告一起保留。

输出目录必须不存在,防止复用旧报告或覆盖证据。失败会保留 failed.json 及已完成分片,不能把部分输出当成功;排查后使用新的输出目录重新核查。成功报告 postgresql-preflight.json 最后原子写入,记录输入哈希、数据库快照和每条候选。实体详情存为 entities/<分片>/<paper_id>.json.gz,报告中列出压缩文件的 SHA-256;包含完整 paper、标识和限量原始来源、投稿、决定及出处。每篇最多保留 100 条来源、200 次投稿,每次投稿最多 200 条决定,每组决定或投稿出处最多 100 条,所有截断均显式标记。精确标题最多取 21 个候选;达到上限即标记,不能据此推算总数。这里没有计算全表精确数量。

候选分类用于安排审核:既有来源记录需要核对并避免重放,多个绑定冲突必须暂缓;单个 DOI、arXiv 或 OpenReview 绑定也可能错误,必须核对原文、标题、作者和历史。作者比较保留完整规范化姓名的重复次数,但姓名相同不能证明是同一个人。未找到精确标题或标识不能证明是新作品,仍需近似标题、版本和跨会历史核查。

所有条目固定为 not_approved_for_import,批准数量为 0。不要直接把此报告当成 curation 计划或导入队列。后续获批导入前应重新检查实时来源绑定;来源摘要缺失不得覆盖已有摘要,旧拒稿与新录用应作为不同投稿经历保留。本命令不能代替所有导入结束后的全库去重、覆盖和约束验收。

构建与测试仅在已确认的 ces-control:host 远程 runner 执行。集成测试使用已有 PostgreSQL 服务做真实只读候选查询,不往生产库添加测试记录。