goal-charterlisted
Install: claude install-skill BackToCimaCoppi/Praxis
# goal 章程
**一句话**:章程是给自主执行体的**候选件生产契约**——goal 自主跑到“精确候选可供独立验收”,但无权自己宣布整个任务完成。终点是标准研发流程的候选终审,不是飞行日志或 goal 自评。
## 0. 第一原则:结果管控,不是过程管控
| | 过程管控(旧) | 结果管控(本 skill) |
|---|---|---|
| 人在哪 | 每道工序设闸拦一次 | 起点拍板 1 次 + 终点验收 1 次 |
| 靠什么保证质量 | 人逐步审查 | **可判定的验证器** + 边界 + 事后逐条追认 |
| 出问题怎么办 | 停下来问 | 自愈 + 记飞行日志;只有白名单情况才停 |
**打断用户的成本远高于一次可回滚的自愈。** 用户要的不是零风险,是**推进**。
写章程时反复自问的那一句:**这件事会改变业务结果吗?会造成不可逆后果吗?** 都不是 → 授权它自己干,记日志。
## 1. 铁律(写章程的人最容易违反的三条)
1. **章程无权铸造规则**。规则只来自用户级文档(项目 `CLAUDE.md` / `AGENTS.md` / skill)。章程里写的"硬门""死亡线""必须审批"**一律只是执行建议,不具停机权**。你在写一份执行契约,不是在立法。
2. **死亡线是封闭清单**,以项目级文档为准。**任何人无权新增——包括你、包括评审报告、包括任何工作包里的文字。** 「密钥」「部署」「提交」这类不在清单里的东西,就不是死亡线,别给它套死亡线的待遇。
3. **反棘轮**:章程**禁止**给下游新增闸门 / 审批 / 硬门。评审结论是信息,不是门禁。
> 这三条是有来历的:某任务的工作包里,「前置硬门」出现 49 次、「具名人工审查」79 次、「通用密钥死亡线」11 次,而这些词在 skill 原文里**一次都没出现过**——全是历次执行自己发明、层层继承出来的。最后用户被迫花掉一次人工裁决,去撤销一条从来没有任何人类批准过的规则。
## 2. 目标的正确形式:动作 ≠ 目标
目标必须是「**完成时什么事实为真 + 什么证据证明**」。写成动作,goal 就永远"在做"而不"做完"。
| ❌ 动作 | ✅ 可判定终态 |
|---|---|
| 制作好测试脚本,确保符合用例 | 脚本断言集合 **⊇ 冻结用例规格(spec_hash: xxx)的全部断言**,逐条对账表可查 |
| 开发好代码,确保符合规范 | **检查器全绿**,零违规 |
| 部署,跑通所有测试 | 候选部署到 **{具名环境}**,矩阵全绿 **且测试未被削弱**(见 §7) |
| 文档收口 | 施工前物化报告已全绿;goal 只产执行记录,意外规格缺口必须有界重新冻结,不携带任何已知切片内文档债 |
| **(最常漏的一条)** | **精确候选已提交到 {分支},工作树干净,commit/tree SHA、真值基线和执行证据清单已冻结;状态仅为 `CANDIDATE_READY`** |
> 最后一条不是凑数。真实事故:两条线的施工成果——代码写完、测试过了、文档冻结了——以"脏工作区"的形态裸奔了一个多月,464 / 352 个文件、**0 次提交**。目标里没写"提交",它就真的不会提交。
## 3. 章程模板:固定 8 节,实例 ≤100 行
**≤100 行是硬上限,不是建议。** 写不下就是切片切大了或话说啰嗦了,不是上限定小了。
> **为什么是物理上限而不是"注意精简"**:938