# 质量契约 (Quality Contract) ## 概述 本文档定义 eskin-model-player 项目的质量标准和交付要求。 ## 门控检查 ### Pre-commit(提交前) | 检查项 | 命令 | 必须通过 | |--------|------|----------| | 类型检查 | `cargo check` | ✅ | | Lint | `cargo clippy -- -D warnings` | ✅ | | 单元测试 | `cargo test` | ✅ | ### Pre-push(推送前) | 检查项 | 命令 | 必须通过 | |--------|------|----------| | Release 构建 | `cargo build --release` | ✅ | | 完整测试 | `cargo test --all` | ✅ | ### 代码审查规则 - ❌ 禁止裸 `unwrap()` — 使用 `expect("原因")` 或 `?` 运算符 - ❌ 禁止 `todo!()` / `unimplemented!()` — 生产代码必须完整实现 ## 质量指标 | 指标 | 标准 | |------|------| | 圈复杂度 | ≤ 15 | | 文件行数 | ≤ 500 行 | | 函数行数 | ≤ 80 行 | ## 交付承诺 1. **诚实交付**:所有验证必须真实运行,未验证项必须明确列出 2. **逐步验证**:每完成一步,运行相关验证命令 3. **知识沉淀**:将经验写入 AGENTS.md 和 TOOLS.md