| name | constraints-generator |
| description | 生成ExecSpecMasterConstraints_L*.md权威约束文件,定义Phase/SubPlan/Round命名规范、目录结构、环境策略和质量门禁阈值。当需要创建 ExecSpec Master Plan 的约束文档、定义命名规范、定义质量门禁、定义HITL检查点时使用。 |
| stage | EXECSPEC_COMPILE |
| level_supported | L1-STREAMLINED, L2-BALANCED, L3-RIGOROUS |
Constraints Generator
Scope: EXECSPEC_COMPILE — Compile ExecSpec(编译 ExecSpec)
版本: 1.0.0 | 创建日期: 2025-02-03
1. 描述
Constraints Generator 生成权威约束文件,定义 ExecSpec 通路(编译 + 落实)的所有规范和阈值。
核心职责:
- 生成ExecSpecMasterConstraints_L*.md(L1/L2/L3)
- 定义Phase/SubPlan/Round命名规范
- 定义目录结构(_exec_specs/)
- 定义环境策略和质量门禁阈值
- 定义HITL检查点和升级策略
Why:
- ExecSpec 通路需要统一的规范和约束
- 避免命名混乱(Phase_1 vs phase-1)
- 明确质量标准(代码覆盖率阈值、测试通过率)
- 权威文档,所有SubPlan必须引用
2. 适用场景
- WORKFLOW Step 3 Task 3-3: 编译 ExecSpec Master Plan 时,生成约束文件
- 场景A: 新项目启动,需要定义Build规范
- 场景B: 多SubPlan执行,需要统一命名和目录结构
- 场景C: 质量门禁配置,需要明确阈值
对应 Build_Exec_Spec_Plans: Step 5 (约束文件生成)
3. 输入
- SPEC级别(L1/L2/L3)
spec/build/scaffold_analysis_report.md(项目类型、测试框架)spec/build/environment_config_checklist.md(环境策略)
4. 输出
_exec_specs/ExecSpecMasterConstraints_L1.md(或L2/L3)
文件包含6个核心章节:
- 命名规范(Phase/SubPlan/Round格式)
- 目录结构(_exec_specs/布局)
- 环境策略(dev/test/staging/prod分层)
- 质量门禁(代码覆盖率/测试通过率阈值)
- HITL检查点(L2/L3)
- 升级策略(L2/L3)
5. 执行步骤
Step 1: 确定SPEC级别
Read SPEC level input (L1/L2/L3)
Load level-specific templates:
- L1: STREAMLINED (最小配置)
- L2: BALANCED (标准配置)
- L3: RIGOROUS (完整配置)
Step 2: 生成命名规范章节
Define naming rules:
- Phase: Phase_{{N}}
- SubPlan: {{Phase}}.SubPlan_{{N}}
- Round: Round_{{N}}_{{Stage}}
- Integration: INTEGRATION_PHASE, INTEGRATION_FINAL
Generate examples for each rule
Step 3: 生成目录结构章节
Define _exec_specs/ structure:
- Master-level files (Plan/Constraints/Dashboard)
- SubPlan files (ExecSpecSubPlan_*.md)
Generate directory tree in markdown format
Step 4: 生成环境策略章节
Read environment_config_checklist.md
Extract environment list (dev/test/staging/prod)
For each environment:
- Define purpose
- Define data characteristics
- Define access policy
Step 5: 生成质量门禁章节
Based on SPEC level:
L1: Code Coverage ≥70%, Test Pass ≥95%, Lint (optional)
L2: Code Coverage ≥80%, Test Pass ≥98%, Lint (required), Security Scan (optional)
L3: Code Coverage ≥90%, Test Pass ≥100%, Lint (required), Security Scan (required), Performance Benchmark (required)
Format as table with thresholds
Step 6: 生成HITL检查点章节
Based on SPEC level:
L1: High-risk SubPlan + Integration Phase
L2: L1 + Dependency conflicts + External API integration
L3: L2 + Security-sensitive changes + Performance degradation
Define escalation strategy (E1/E2/E3)
Step 7: 写入约束文件
Write `_exec_specs/ExecSpecMasterConstraints_L{level}.md`
Include all 6 sections
Add metadata (creation date, SPEC level, reference links)
6. 快速开始
第1步:开发者确定SPEC级别
开发者需要确定项目使用L1/L2/L3哪个级别。
第2步:确保前置SKILL已执行
- scaffold-analysis(项目类型、测试框架)
- environment-config-generator(环境策略)
第3步:调用此SKILL
///constraints-generator
Level: L1
第4步:查看生成的约束文件
查看 _exec_specs/ExecSpecMasterConstraints_L1.md(或L2/L3)。
第5步:SubPlan引用约束文件
所有SubPlan必须在开头引用约束文件:
**约束**: 生成后见 `_exec_specs/ExecSpecMasterConstraints_L1.md`(或 L2/L3)
预计耗时: 2-3分钟
7. 使用说明
输入要求
- SPEC级别:必须明确指定 L1/L2/L3
- scaffold_analysis_report.md:需包含项目类型和测试框架
- environment_config_checklist.md:需包含环境列表(可选,如缺失使用默认dev/test)
输出格式示例
ExecSpecMasterConstraints_L1.md包含以下章节:
- 命名规范:Phase/SubPlan/Round格式和示例
- 目录结构:_exec_specs/文件布局
- 环境策略:dev/test环境配置(L1仅2个环境)
- 质量门禁:代码覆盖率≥70%,测试通过率≥95%
- HITL检查点:高风险SubPlan和集成Phase的检查条件
- 升级策略:E1(阻塞)/E2(警告)处理规则
8. 价值
SPEC组织
- 统一 ExecSpec 口径(Compile/Fulfill ExecSpec),减少混乱
- 明确质量标准,提供可验证的阈值
PM/BA
- 了解质量门禁要求
- 识别HITL检查点,预估人工介入成本
Dev
- 明确命名规范,避免命名冲突
- 明确质量标准,避免"测试够不够"的争论
- 权威文档,所有SubPlan统一引用
9. 质量检查
- 约束文件已生成(_exec_specs/ExecSpecMasterConstraints_L*.md)
- 包含6个必需章节(命名/目录/环境/质量/HITL/升级)
- 命名规范有示例
- 质量门禁有具体阈值(%数字)
- HITL检查点有触发条件
- 文件格式正确(markdown表格、代码块)
10. 限制条件
不支持:
- 动态调整质量门禁阈值(需手动修改约束文件)
- 自定义命名规范(必须遵循标准格式)
依赖:
- 需要SPEC级别明确指定
- 建议先执行scaffold-analysis和environment-config-generator
相关 SKILLs
- 前置: scaffold-analysis, environment-config-generator
- 并行: dependency-graph-generator, round-planning
- 后续: 无(Dashboard 在 Master Plan 生成时自动创建)