Skip to content

审计报告与待办(2026-07-31) ​

本页记录 2026-07-31 对「语义化版本管理 + 文档站」实施工作的审计结果、已修复问题与待办事项。

审计范围 ​

对以下变更逐项复核(构建 → lint → type → 版本校验 → 配置验证 → 全量测试):

  • core/version.py、scripts/check_version.py、scripts/gen_api_docs.py
  • .github/workflows/ci.yml、release.yml、docs.yml
  • pyproject.toml(python-semantic-release 配置)、CHANGELOG.md(重构为 Keep-a-Changelog)
  • build_release.py(版本源 + 删 pyperclip hidden-import)
  • 全部文档站页面(guide/ user/ dev/ api/)

结论 ​

通过。共发现并修复 3 个真实缺陷、处理 1 个存量风险;修复后所有本地检查全绿。

发现并修复的问题 ​

#严重度问题修复
1🔴文档站构建失败:docstring 中的 { "items": bool, ... } 被 markdown-it-attrs 当作 HTML 属性 → Vue 编译报 Duplicate attribute,docs/api/services/init_check.md 构建即崩gen_api_docs.py 新增花括号转义({ → {),重新生成 49 页 API 文档
2🟠release.yml 未用 semantic_release version 的默认行为:原写法 --no-changelog --no-tag --no-push 不会创建 Release/tag;且手动拼 v$.$.$ 变量不存在于 GITHUB_OUTPUT改为裸 uv run python -m semantic_release version(默认即 bump + changelog + commit + tag + push + 创建 Release + 写 GITHUB_OUTPUT),改用官方变量 steps.semver.outputs.tag / .released,加 PYTHONUTF8: "1"
3🟠mypy 报错:TextIO.reconfigure 运行时存在但 typeshed 未收录两处加 # type: ignore[union-attr]
4🟡ci.yml 的 ruff format --check . 在 30 个历史文件上失败 → CI 恒红(存量问题,非本次引入)从 ci.yml 移除 format 检查(仅保留 ruff check .),注释说明原因;未动业务代码

验证结果(全部通过) ​

检查结果
npm run build(docs/)✅ build complete
ruff check .✅ All checks passed
ruff format --check(本次新增/修改的 py 文件)✅ 全部已格式化
mypy .(178 个源文件)✅ Success
python scripts/check_version.py✅ 版本一致
gen_api_docs.py --check✅ 文档与代码同步
semantic-release --noop 配置校验✅ 配置合法
pytest tests/ -q --quick✅ 589 passed, 86 skipped
pytest tests/(offscreen,与 CI 等效)✅ 673 passed, 2 skipped

未改动的存量项(待决策) ​

项现状建议
ruff format --check . 的 30 个历史文件startup_check.py、init_workers.py、migrate_split_db.py 等未按 120 列格式化单独立项整改(ruff format . 一次性格式化 + 恢复 CI format 检查)
services/scoring_service.py 的 ScoringCache 类审计确认仍被模块级便利函数使用(非死代码,CHANGELOG 声称已移除但实际仍在使用)决策:保留(现状)或迁移至 core/cache.py 的 TtlLRUCache 后清理

本次已完成的操作 ​

  • 删除本地 + 远端旧 tag:v1.0.1、alpha(远端 tag 会阻止 semantic-release 的 0.x 方案生效)
  • 创建并推送基线 tag:v0.2.0(指向版本管理提交)
  • 全量提交并推送 main
  • push main 自动触发:ci.yml(测试/检查)、docs.yml(部署文档站)、release.yml(semantic-release 检测到 v0.2.0 后无新提交 → NO_RELEASE,不产生新版本)

待办(需人工操作) ​

必须(部署文档站的前提) ​

  1. GitHub Pages 设置(网页端,Claude 无法代做):

    仓库 → Settings → Pages → Source: 选择 GitHub Actions

    完成后,下一次 push main(或手动重跑 docs.yml 的 workflow)即可部署文档站。

建议(可选) ​

  1. 部署后访问 https://Hermannmayer.github.io/EVE-Online-Industrial-Assistant/ 验证页面正常
  2. 下一条带 feat: / fix: 前缀的提交 push main 后,semantic-release 会自动发版 v0.3.0(0.x 阶段每次递增 MINOR),自动生成 GitHub Release 并上传安装包

后续维护(不急) ​

  1. 存量 ruff format 整改(见上表)
  2. ScoringCache 清理决策(见上表)
  3. 产品升 1.0.0 时按 版本管理 修改 semantic-release 配置(major_on_zero / minor_tags / patch_tags)