本清单用于稳定版本候选的最后一次集中检查。构建、安装验证和恢复演练均使用
系统临时目录,不在仓库内生成 dist/、测试数据库、导出或日志。
-
pyproject.toml与social_database.__version__使用同一个稳定版本号。 -
CHANGELOG.md记录版本日期、主要变化、兼容性与明确排除项。 - README、安装、运维、架构、性能和路线图与实现一致。
- 运行与开发依赖完整,
python -m pip check无冲突。 - 私有输入、数据库、备份、输出、虚拟环境和构建产物均不在 Git 范围内。
- 实际数据库已完成一致性备份、候选副本检查和临时文件清理。
-
python -m pytest全部通过,测试只使用 pytest 临时目录。 -
python -m build --outdir <系统临时目录>同时生成 wheel 与 sdist。 - wheel 和 sdist 的版本、核心文件、许可证与元数据正确。
- wheel 安装到独立临时目标后,可以从仓库外导入并运行 CLI。
- 实际数据库
check返回健康,schema、关系观察和 FTS5 内容一致。 - 实际数据库在最终检查前后 SHA-256 不变。
- HTTP 认证、JSON 幂等、冲突和请求边界通过测试。
- Compose 配置、Docker 构建、容器 CLI、健康探针和受认证 API 通过验证。
-
git diff --check通过,git status --short只包含预期发布变更。 - 所有发布临时目录已经删除。
- 创建单一发布准备提交,并确认工作区干净。
- 用户确认后创建带说明的
vX.Y.Z标签。 - 推送分支/提交和标签,确认远端 CI 全部通过。
- 若托管平台需要 Release,再由该标签生成发布说明;不要提交本地构建产物。
标签和推送是外部状态变更,不包含在默认的本地发布检查中。
检查日期:2026-08-25
- 分仓后 SocialDatabase 53/53 项核心测试通过,独立插件仓库 13/13 项测试、
Ruff 格式与静态检查通过;双令牌、并发读取、串行写入和导入中断完整回滚
继续覆盖,两套隔离环境的
pip check均无冲突。 - 在系统临时目录成功构建并检查
social_database-0.8.0.tar.gz与 wheel;wheel 与 sdist 均不包含 AstrBot 插件或integrations,sdist 保留 Caddy、生产 Compose 和接收端协议文档;wheel 在仓库外独立安装后报告 0.8.0,CLI 与 API 工厂可用。 - 使用两个独立 Python 环境和进程完成匿名黑盒通信:插件真实 aiohttp 客户端向
SocialDatabase 临时服务上传 JSON v1 并收到 201;HTTP 统计确认写入 1 个群、
1 名成员、1 条关系和对应
producer + batch_id,临时数据库位于系统目录。 - 开发和生产 Compose 均成功解析;Caddy 2.11.4 配置由官方校验器验证,并在 实际只读容器中分别确认允许来源转发 200、拒绝来源返回 403。
- 从冻结的 0.7.0 镜像在随机卷导入匿名批次,原卷重建到 0.8.0 后 schema 4 和关系完整保留;当前/旧令牌过渡与旧令牌撤销均通过。
- 随机卷在线备份候选健康;新增第二条关系后停写并实际替换恢复,重启后回到 候选的一条关系且完整健康。临时容器、网络、卷、镜像和源码均已清理。
- 正式本地数据库保持 schema 4,83,580 条关系与观察记录、FTS5 内部和内容
一致性全部健康;检查前后 SHA-256 均为
102bb22904291dd8d7b143a5c4dc46b0fe4750be8fe597548371cc0d363a2ae9。 - 本次未启动真实 AstrBot/OneBot 实例,也没有云主机、域名和固定出口凭据; 插件结构与 API 按官方文档和当前 aiocqhttp 实现核对,真实机器人采集、云端 部署和持续负载观察仍按路线图在外部环境中进行。
检查日期:2026-08-25
冻结状态:已完成发布级代码审计并冻结。冻结后只接受发布阻断修复;新功能、 接口扩展和运行模型变化进入后续版本。
- Python 3.14.7 下 49/49 项测试通过且无警告;包含 Bearer 认证、HTTP 导入、
规范化哈希、稳定批次 ID、冲突和请求限制回归,
pip check无冲突。 - 在系统临时目录成功构建
social_database-0.7.0.tar.gz和social_database-0.7.0-py3-none-any.whl;wheel 包含 API/服务模块和serverextra,sdist 包含 Docker、Compose、服务依赖与 API/部署文档。 - wheel 在仓库外独立安装后报告 0.7.0,CLI 与 API 工厂均可导入;分发临时
目录及构建产生的
egg-info已删除。 - Compose 配置解析通过;临时镜像构建成功,容器在只读根文件系统和持久卷下
达到
healthy,受认证统计接口返回 schema 4;临时容器、卷和镜像已删除, 为检查临时启动的 Docker Desktop 已停止。 - 正式 schema 3 数据库先在线备份为
data/database/backups/members-pre-0.7.0-schema3.db,备份完整性通过并保留。 - 备份候选在系统临时目录完成 schema 3→4 演练:83,580 条关系与观察记录 保持完整,旧批次外部 ID 为空,唯一索引和 FTS5 健康;候选已删除,正式库在 演练前保持 schema 3 且哈希不变。
- 正式库随后迁移到 schema 4:210 个群、66,038 名成员、83,580 条关系和 83,580 条观察记录全部保留,SQLite、外键和 FTS5 检查通过。
- schema 4 完整分页基准八个场景 p95 为 6.557–44.679 ms,基准前后数据库
SHA-256 均为
102bb22904291dd8d7b143a5c4dc46b0fe4750be8fe597548371cc0d363a2ae9。 - 仓库未包含真实 AstrBot HTTP 样本;当前使用匿名 JSON v1 fixture 完成契约与 重试验证,真实插件上传、离线队列和长时间云端联调仍属于 0.8.0。
- 冻结前逐项复核认证与错误映射、稳定批次身份、schema 4 迁移、SQLite 单写 模型、容器权限、Git 跟踪范围和 CI 引用;请求体改为流式限长,JSON 解码移到 工作线程,稳定批次重复提示不再建议不受支持的强制重放。
检查日期:2026-08-25
- Python 3.14.7 下 41/41 项测试通过,
pip check无冲突;测试仍只使用 pytest 临时目录。 - 在系统临时目录成功构建
social_database-0.6.0.tar.gz和social_database-0.6.0-py3-none-any.whl;sdist 包含 JSON Schema,wheel 包含json_importer.py。 - wheel 在仓库外独立安装后报告版本
0.6.0,CLI 显示import-json;构建和 安装临时目录以及构建产生的egg-info已清理。 - 实际 schema 2 数据库先在线备份为
data/database/backups/members-pre-0.6.0-schema2.db,备份完整性通过并保留 作为回滚点。 - 备份副本在系统临时目录完成 schema 2→3 恢复候选演练:83,580 条关系和 83,580 条观察记录全部保留,FTS5 83,580/83,580 行且内容一致;候选已清理。
- 正式本地数据库随后迁移到 schema 3 并通过完整健康检查:210 个群、 66,038 个成员、83,580 条关系,无外键违规或缺失观察,FTS5 内部完整性及 内容一致性均健康。
- schema 3 实际库完整分页回归全部达标,八个场景 p95 为 6.555–42.121 ms; 运行前后数据库 SHA-256 保持一致,报告未包含查询词或成员资料。
- 本次没有强制重放旧 xlsx:schema 3 扩展列保持空值,避免为了回填字段而 改写历史关系的最近观察批次;后续真实批次会自然写入完整字段。
检查日期:2026-08-24
- 备份恢复候选演练:已通过。实际 schema 2 数据库在线备份到系统临时目录, 复制为恢复候选后,两者检查结果均健康;检查前后两份文件哈希保持一致。
- 数据规模:83,580 条成员—群组关系,83,580 条关系观察记录,无缺失观察。
- 搜索索引:FTS5 可用,83,580/83,580 行,内部完整性和内容一致性均通过。
- 源数据库:演练前后 SHA-256 不变,系统临时目录已删除。
- 发布前代码审查:修复 FTS5 默认 Unicode 大小写折叠与 SQLite LIKE 语义 不同导致的额外命中;正式查询和隔离原型均增加 LIKE 精确复核及回归断言。
- 语义修复后实际库只读复测:全部 FTS 场景 p95 为 4.850–37.800 ms,源库 SHA-256 不变。
- 语义修复后最终集中验证:Python 3.14.7 下 34/34 项测试通过,
pip check无冲突;成功生成并检查social_database-0.5.0.tar.gz与social_database-0.5.0-py3-none-any.whl,wheel 在仓库外独立安装后可 导入且 CLI 正常;Git 差异和跟踪范围检查通过,全部发布临时目录已删除。