用途
Promotion Readiness Checklist 用于评估一个代码仓库是否满足晋升到下一治理状态的要求。它把仓库的成熟度划分为若干治理状态,并通过结构化检查清单和质量门槛来判断是否允许状态转换。
治理状态机
状态流转如下:
LOCAL → CANDIDATE → PUBLIC_PROCESS → GRADUATED → ARCHIVED
硬性规则:不允许跳级。每次转换都需要明确证据,证明已满足全部要求。
各阶段要求
LOCAL → CANDIDATE
主题:“它已存在并具备基本卫生。”
必需项:
- 仓库存在于 GitHub,且命名规范正确
- seed.yaml 存在并包含全部必需字段(schema_version、repo、organ、tier、promotion_status)
- README.md 存在,且用至少 50 词说明这是什么
- .gitignore 适合该技术栈
- LICENSE 文件存在(开源用 MIT,内部用 proprietary)
- 未提交密钥——已通过密钥检测检查
证据模板示例:
LOCAL → CANDIDATE Evidence
- seed.yaml: ✓ (schema v1.0, organ: IV, tier: standard)
- README: ✓ (142 words)
- .gitignore: ✓ (Python template)
- LICENSE: ✓ (MIT)
- Secret scan: ✓ (clean)
- Date assessed: 2026-03-20
- Assessed by: {name/agent}
CANDIDATE → PUBLIC_PROCESS
主题:“它已测试、已文档化,并经 CI 验证。”
必需项(包含 LOCAL → CANDIDATE 的全部要求,另加):
- CI 流水线通过(push/PR 时执行 lint + test)
- 存在测试,且至少 1 个有意义的测试
- 存在 CLAUDE.md 或等效的智能体指令
- 已配置代码检查并通过(ruff、eslint 等)
- 已配置依赖管理(pyproject.toml、package.json)
- main 分支已启用分支保护
- 至少一次成功部署或发布
质量指标:
| 指标 | 最低 | 目标 |
|---|---|---|
| 测试覆盖率 | 30% | 60% |
| CI 通过率(30 天) | 80% | 95% |
| 未解决问题 | 无阻塞项 | 全部已分类 |
| 文档 | README + CLAUDE.md | 另加架构文档 |
证据模板示例:
CANDIDATE → PUBLIC_PROCESS Evidence
- CI: ✓ (GitHub Actions, 14/15 runs passed last 30 days = 93%)
- Tests: ✓ (12 tests, 45% coverage)
- CLAUDE.md: ✓ (includes dev commands, architecture, constraints)
- Linting: ✓ (ruff configured, 0 violations)
- Dependencies: ✓ (pyproject.toml with dev extras)
- Branch protection: ✓ (require PR, require CI)
- Deployment: ✓ (v0.1.0 released 2026-03-15)
PUBLIC_PROCESS → GRADUATED
主题:“它达到生产质量,且外部人员可理解。”
必需项(包含 CANDIDATE → PUBLIC_PROCESS 的全部要求,另加):
- 通过陌生人测试——零上下文的人也能理解文档
- 带图表的架构文档
- CONTRIBUTING.md,包含清晰的贡献指南
- 错误处理完善(没有裸 except: 或吞掉错误)
- 完成安全审查(依赖审计,无已知漏洞)
- 建立性能基线(适用于相关仓库)
- 具备监控/可观测性(适用于相关仓库)
- 在 seed.yaml 中记录仓库间依赖
- 识别并通知所有下游消费者
质量指标:
| 指标 | 最低 | 目标 |
|---|---|---|
| 测试覆盖率 | 60% | 80% |
| CI 通过率(30 天) | 95% | 99% |
| 文档评分 | 70% | 90% |
| 陌生人测试 | Level 2 通过 | Level 3 通过 |
| 安全审计 | 无严重 | 无高危 |
证据模板示例:
PUBLIC_PROCESS → GRADUATED Evidence
- Stranger test: ✓ (Level 3 pass, 2026-03-18)
- Architecture: ✓ (docs/architecture.md with Mermaid diagrams)
- CONTRIBUTING: ✓ (includes setup, PR process, coding standards)
- Error handling: ✓ (reviewed, no bare excepts)
- Security: ✓ (no critical/high vulnerabilities, last scanned 2026-03-19)
- Performance: ✓ (P99 < 200ms, baseline established)
- Dependencies: ✓ (seed.yaml edges match actual imports)
- Coverage: 72%
- CI pass rate: 97%
GRADUATED → ARCHIVED
主题:“它不再被积极维护。”
必需项:
- 为消费者记录迁移路径
- 确定替代方案(如适用)
- 下游消费者已迁移或已通知
- 打上最终发布标签
- README 更新为归档状态并给出重定向
- GitHub 仓库已归档(只读)
运行评估
自动化评估脚本示例:
def assess_promotion(repo_path: str, current_state: str, target_state: str) -> dict: checks = get_checks_for_transition(current_state, target_state) results = {} for check in checks: results[check.name] = check.evaluate(repo_path)
passed = all(r["passed"] for r in results.values())
return {
"repo": repo_path,
"transition": f"{current_state} → {target_state}",
"passed": passed,
"checks": results,
"assessed_at": datetime.now().isoformat(),
}
晋升请求模板:
Promotion Request: {repo-name}
Current state: {state} Target state: {state} Requested by: {name} Date: {date}
Evidence
{Paste assessment output}
Notes
{Any context about why this promotion is requested now}
反模式
- 跳过状态——状态机存在是有原因的;走捷径会制造缺口
- 未经审查的自我晋升——至少应有另一个人/智能体进行验证
- 无证据打勾——每项检查都需要具体证据,而不只是 ✓
- 为解封而晋升——晋升代表质量;不要为方便而稀释它
- 没有评估记录——保留每次晋升决策的证据以供审计
- 一次性评估——已毕业的仓库可能回退;定期重新评估是健康的
适用场景与限制
该技能适用于需要按治理状态管理仓库成熟度、并希望以检查清单和质量门槛约束晋升流程的团队或智能体工作流。资料未提供具体安装命令、收费方式、支持平台或实际运行效果等信息。