Files
codex-bot 1c18cbe03a
Metadata integrity checks / metadata (push) Successful in 1m12s
Package Paper Atlas with organized modules and a unified CLI
2026-11-06 17:32:24 +08:00

1.9 KiB

开发说明

模块边界

目录 职责
paper_atlas/cli.py 注册命令并延迟加载对应模块,统一参数入口
paper_atlas/collectors/ 各来源的发现、解析与清单输出,不直接写论文主库
paper_atlas/io/ 公共 HTTP、原始快照、HTML 树与受限 Git 元数据读取
paper_atlas/ingestion/ 核对清单、事务导入、维护锁和来源身份回填
paper_atlas/db/ 论文与投稿身份解析、来源保留、合并审计和 schema
paper_atlas/audits/ 入库前来源对照及全部目标的覆盖报告
paper_atlas/querying.py 一致性只读快照上的查询
paper_atlas/resources/ 随安装包提供的候选会议目录

采集器依赖公共 IO,导入器依赖存储层,查询和审计读取既有证据。不要让公共网络模块反向依赖某个采集器,也不要在 CLI 中嵌入来源解析逻辑。新增采集器需要注册命令、输出带来源/届次/track 的清单,并补充有意义的来源边界验证。

远程验证

所有测试、构建、打包及安装验证在确认的 ces-control:host 环境进行。本机只编辑源码和进行不触发构建的检查。

python3 -B -m unittest discover -s tests -t . -v

.gitea/workflows/check.yml 会运行回归测试,构建并安装 wheel,然后从源码目录之外检查 console 命令、模块入口、schema 和会议目录资源。测试中只使用独立临时库,不连接运行中的论文主库。

目录迁移

原根目录脚本已迁入对应模块,统一使用 paper-atlas <command> 或 python -m paper_atlas <command>。不再把脚本文件路径作为接口。SQL schema、来源 JSONL、manifest 及既有数据库结构未因这次封装改变。

部署使用固定 commit。仍在运行的旧批次继续使用已部署版本,待该批次完成后再切换后续任务;不要为了目录迁移重启已完成的全量导入。