chore: apply phase 0 review fixes

This commit is contained in:
QiuSW
2026-07-02 10:17:10 +08:00
parent 8896d80447
commit 09811ead5c
18 changed files with 245 additions and 24 deletions
+36
View File
@@ -230,3 +230,39 @@
- 阻塞:无。
- 决策:保留独立 `test_cmhub` 测试库路径,标准测试不使用业务库 `cmhub`。
- 下一步:领取 T-101 Provider 适配器层 + 移植 cmbot 调用。
## 2026-07-02 Phase 0 骨架审核(Claude Code review,非任务)
- 状态:DONE(审核完成)
- 变更:新增 `docs/phase-0-review.md`;`06-tasks.md` 新增 T-004 修补任务;`docs/README.md` 导航登记;`current-state.md` 下一步改 T-004。
- 审核结论:**T-001~003 验收全部达标,质量高于骨架平均水准**。自定义 User 先于首次迁移、`AUTH_USER_MODEL` 已设、`PyMySQL install_as_MySQLdb()` 胶水到位、密钥全走 env 且 `.env`/`ai_models.json` 未被 git 跟踪、独立 `test_cmhub` 测试库——关键硬约束全对。
- 发现(详见 `phase-0-review.md`):
- P1(建议现在改):`User.email` 未 `unique`;`requires-python` 未落地、init 脚本无解释器版本断言。
- P2(规范性):`INSTALLED_APPS` 顺序(本地 app 排在 contrib 前,模板查找隐患);缺 `.env.example`。
- P3(后续任务处理):REST_FRAMEWORK 认证配置(T-301)、`sql_mode` 完整性、生产 SECRET_KEY 保护(T-403)。
- 未本地复跑:审核机无 `python3.12`,结论基于静态审查 + codex 验证记录(记录真实,含 MySQL 授权 / caching_sha2 修复过程)。
- 下一步:codex 领 T-004,按 `phase-0-review.md` 修 P1/P2,全绿留证后再进 T-101。
## 2026-07-02 T-004 Phase 0 骨架审核修补
- 状态:DONE
- 变更:
- 文档先行:更新 `README.md`、`docs/00-ai-start-here.md`、`docs/03-tech-stack.md`、`docs/04-architecture.md`、`docs/api.md`、`docs/current-state.md`、`docs/env.md`、`docs/06-tasks.md`,把 T-004、邮箱唯一约束、Python 版本断言、`.env.example` 和下一步 T-101 口径同步。
- `apps/users.models.User.email` 增加 `unique=True`,并生成/应用 `apps/users/migrations/0002_alter_user_email.py`。
- `config/settings.py` 调整 `INSTALLED_APPS` 顺序为 `django.contrib.*` → `rest_framework` → 本地 apps。
- `init.ps1` / `init.sh` 在安装依赖前校验 Python 版本必须满足 `>=3.12,<3.14`。
- 新增 `.env.example`(仅占位符,无真实密钥)与 `pyproject.toml`(落地 `requires-python`)。
- 验证:
- 重复邮箱预检:业务库非空 email 无重复。
- `py -3.12 manage.py makemigrations users`:生成 `0002_alter_user_email.py`。
- `py -3.12 manage.py migrate`:通过,应用 `users.0002_alter_user_email`。
- 数据库索引验证:`user.email` 存在唯一索引 `user_email_54dc62b2_uniq`。
- `py -3.12 manage.py check`:通过,0 issues。
- `py -3.12 manage.py test`:通过,2 tests OK。
- `./init.ps1`:通过,输出 Python 3.12.3 版本断言、依赖同步与基础检查。
- `py -3.12 manage.py makemigrations --check`:通过,No changes detected。
- `git diff --check`:通过,仅有 CRLF 提示。
- `bash -n init.sh`:当前 Windows 未安装 WSL/bash,无法本机验证 Unix 脚本语法。
- 阻塞:无。
- 决策:保留 `requirements.txt` 作为运行依赖来源,`pyproject.toml` 只承载 Python 版本元数据;`.env.example` 使用占位符,不提交 `.env`。
- 下一步:领取 T-101 Provider 适配器层 + 移植 cmbot 调用。