# 干净状态检查清单

在提交前和每次会话结束时运行此清单。

## 构建与测试

- [ ] `python -m pytest --tb=short -q` 全部通过
- [ ] `python -m mypy src/ --ignore-missing-imports` 无类型错误
- [ ] `ruff check src/` 无 lint 警告
- [ ] 测试覆盖率 >= 80%

## 架构

- [ ] `bash scripts/check-architecture.sh` 无违规
- [ ] 无跨层违规的 import
- [ ] 新模块已在 `docs/ARCHITECTURE.md` 中记录

## 代码质量

- [ ] 无残留的 `print()` 调试语句
- [ ] 无残留的 `breakpoint()` 或 `pdb` 调用
- [ ] 无 `# TODO` 标记未在 progress 中记录的内容
- [ ] 所有新函数都有类型注解
- [ ] 所有公开 API 都有文档字符串

## 运行时验证

- [ ] 应用/服务可以正常启动
- [ ] 关键路径执行无错误
- [ ] 日志输出正常（如果有结构化日志）

## 安全

- [ ] `.env` 文件不在 git 暂存区
- [ ] 无 API key 或密钥硬编码在源码中
- [ ] `.gitignore` 包含 `venv/`、`__pycache__/`、`.env`

## 数据完整性

- [ ] 测试数据与 fixture 保持一致
- [ ] 无损坏的配置文件

## 状态管理

- [ ] `claude-progress.md` 已更新为当前状态
- [ ] `feature_list.json` 反映实际的功能状态
- [ ] `quality-document.md` 如有变化已更新
- [ ] 无未记录的半完成步骤

## 仓库

- [ ] `git status` 中无意外文件
- [ ] 提交消息描述性清晰
- [ ] 下一个会话可以直接运行 `./init.sh` 继续工作
