Back to skills
SKILL.md
Goal Charter
ASecurity为规格已冻结的施工编写 goal 执行章程,锁定目标、验证器、边界、自愈清单和启动参数。触发:写 goal 章程、定义自主执行边界、把施工/提交/部署/测试交给 goal 闭环。设计用 lightweight-design,用例用 test-case-design,总控用 task-control-doc。
- 6 stars
- 0 votes
- 0 copies
- 7 views
- Added September 5, 2026
Security analysis
100/100npx -y skills add BackToCimaCoppi/Praxis --skill goal-charter --agent claude-codeAre you the author of Goal Charter?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/backtocimacoppi-goal-charter)---
name: goal-charter
description: 为规格已冻结的施工编写 goal 执行章程,锁定目标、验证器、边界、自愈清单和启动参数。触发:写 goal 章程、定义自主执行边界、把施工/提交/部署/测试交给 goal 闭环。设计用 lightweight-design,用例用 test-case-design,总控用 task-control-doc。
---
# goal 章程
**一句话**:章程是给自主执行体的**候选件生产契约**——goal 自主跑到“精确候选可供独立验收”,但无权自己宣布整个任务完成。终点是标准研发流程的候选终审,不是飞行日志或 goal 自评。
## 0. 第一原则:结果管控,不是过程管控
| | 过程管控(旧) | 结果管控(本 skill) |
|---|---|---|
| 授权角色在哪 | 每道工序都临时找人审批 | 起点由授权角色批准执行契约,终点由指定验收角色审核候选;项目治理要求的职责分离仍然生效 |
| 靠什么保证质量 | 人逐步审查 | **可判定的验证器** + 边界 + 事后逐条追认 |
| 出问题怎么办 | 停下来问 | 自愈 + 记飞行日志;只有白名单情况才停 |
**可逆工程问题应在预授权边界内自愈,不能靠临时加审批维持安全。** 但协调成本不天然高于业务或环境风险;项目声明的授权角色、职责分离和强制检查点不得被“少打断”覆盖。
### 0.1 治理角色不是同一个“用户”
本 skill 使用四类授权角色:**任务发起人**提出目标,**业务决策负责人**裁决业务结果与冻结规格,**环境所有者 / 发布授权人**批准环境使用与外发动作,**候选验收人**在终点审核候选。个人项目可以由一人兼任;团队项目可由不同人员或岗位承担。角色绑定与职责分离来自项目级补丁、项目指令或任务批准记录。
对话中的“用户”只表示当前交互方,**不自动证明其拥有其余角色的权限**。任何章程都必须记录本次实际授权角色;缺少角色绑定时,不得把任务发起、批准计划或启动 goal 推导成环境抢占、生产发布或最终验收授权。
写章程时反复自问的那一句:**这件事会改变业务结果吗?会造成不可逆后果吗?** 都不是 → 授权它自己干,记日志。
**章程准入**:正式规格冻结且规格物化覆盖报告全绿,必要的真实动作授权已明确。环境、测试资产、runner、夹具、数据工具和证据适配器不再是章程门票;它们由 goal 的 M0 启动检查负责建立和修复。只有授权缺口需要在启动前补齐。
**启动服务不是准入闸**:章程阶段同时清算已经可预见的人工协作,产出 `_shared/T{n}-goal启动服务单.md`。它只保存当前环境、会话、凭据位置、外部平台状态与责任角色,不能签发 PASS/FAIL、冻结命令或削弱 M0 自愈;真正约束 goal 的仍只有上游授权、项目治理策略与本章程边界。
**项目绑定**:编写章程前按 `task-control-doc/references/标准研发流程.md` §6.1 解析当前项目唯一完整的项目研发流程适配器。此时只读能力、权威来源和不支持项,不申请环境或租约。执行段启动后才读取实际占用。适配器不能替代业务、环境或发布授权。
**目标环境必须由具权角色选择**:继承本任务已有的环境选择原话和授权锚点;尚未选择时列出项目实际支持的环境、能力差异与推荐,请环境所有者或发布授权人选定后再定稿。章程作者不得默认沙盒、测试或生产,也不得用整份章程获批倒推环境选择。
## 1. 铁律(写章程的人最容易违反的三条)
1. **章程无权铸造规则**。规则只来自用户级文档(项目 `AGENTS.md` / skill)。章程里写的"硬门""死亡线""必须审批"**一律只是执行建议,不具停机权**。你在写一份执行契约,不是在立法。
2. **死亡线是封闭清单**,以项目级文档为准。**任何人无权新增——包括你、包括评审报告、包括任何工作包里的文字。** 「密钥」「部署」「提交」这类不在清单里的东西,就不是死亡线,别给它套死亡线的待遇。
3. **反棘轮**:章程**禁止**给下游新增闸门 / 审批 / 硬门。评审结论是信息,不是门禁。
> 这三条是有来历的:执行链会自己发明「前置硬门」「具名人工审查」这类 skill 原文**从未出现过**的门禁词汇,并层层继承到后代工作包里,累计出现数十次。最后用户被迫花掉一次人工裁决,去撤销一条从来没有任何人类批准过的规则。
## 2. 目标的正确形式:动作 ≠ 目标
目标必须是「**完成时什么事实为真 + 什么证据证明**」。写成动作,goal 就永远"在做"而不"做完"。
| ❌ 动作 | ✅ 可判定终态 |
|---|---|
| 制作好测试脚本,确保符合用例 | M0 启动检查覆盖全部命中执行面,测试资产/runner 可被 goal 构建和修复,且真实断言不少于冻结用例 |
| 开发好代码,确保符合规范 | **检查器全绿**,零违规 |
| 部署,跑通所有测试 | 候选部署到 **{具名环境}**,矩阵全绿 **且测试未被削弱**(见 §7) |
| 文档收口 | 施工前物化报告已全绿;goal 只产执行记录,意外规格缺口必须有界重新冻结,不携带任何已知切片内文档债 |
| 把本次修好的基座留给以后 | 本轮新增/修复的执行资产已分为任务临时、领域复用、项目通用三类;可复用项已晋升稳定路径并提交,交接中已写明验证命令、环境前提与跨分支传播状态 |
| **(最常漏的一条)** | **精确候选已提交到 {分支},工作树干净,commit/tree SHA、真值基线和执行证据清单已冻结;状态仅为 `CANDIDATE_READY`** |
> 最后一条不是凑数。典型事故:施工成果——代码写完、测试过了、文档冻结了——以"脏工作区"的形态长期裸奔,**零提交**。目标里没写"提交",它就真的不会提交。
## 3. 章程模板:固定 8 节,实例 ≤100 行
**≤100 行是硬上限,不是建议。** 写不下就是切片切大了或话说啰嗦了,不是上限定小了。
> **为什么是物理上限而不是"注意精简"**:近千行的施工蓝图不是一天长成的,是每轮评审垫一点垫出来的,最后它自己跟自己打架(同一份文件前后给出相反的施工指令),把下游炸了。**物理上限比自觉可靠。**
> 上限由维护该流程的治理负责人批准,**执行者无权移动它,松紧皆然**。实测放不下 → 报实际行数给对应负责人裁决,不要自行放宽。
```markdown
# goal 章程:{任务名}
## 1. 目标(完成时什么为真)
1. …(每条都是可判定终态 + 证据,见 §2)
## 2. 里程碑(= 施工切片;checkpoint 非闸门,断点续跑用)
| # | 目标状态 | 前置 | 验证命令 | 数据/环境前置 | 回滚与兼容窗口 |
|---|---|---|---|---|---|
| M0 | 启动检查:执行面可工作,缺陷已自愈或准确分类 | 冻结规格 + 授权 | 每个命中面一个最小健康探针 | 按面填写 | 可逆修复 |
| M1 | | M0 | | 无 | — |
> 需要**指定授权角色人工完成**的外部动作(平台配置 / 授权 / 第三方后台操作)必须显式标为「**人工里程碑**」行,并写明责任角色:goal 跑到该行停机等待该角色完成并验证后继续。禁止把它降级成已知豁免绕过——那会让其下游所有真实链路测试只剩 simulated。
> 只有 AI 无法操作的真实设备、原生客户端对象或原生平台动作才可成为人工里程碑;AI 可控浏览器/开发者工具、DOM/data 断言、截图与 VLM 判读仍属自动化,不得转嫁给人工角色。
> 人工里程碑只能来自 §4.1 分类后的 `CANDIDATE_DEPENDENT`;已经完成的 `PRE_GOAL` 不得继续出现在本表。
## 3. 权限边界
### 3.1 允许(无需请示,做了记日志)
1. 角色绑定:任务发起人 `{}` / 业务决策负责人 `{}` / 环境所有者或发布授权人 `{}` / 候选验收人 `{}` / 职责分离要求 `{}`
2. 继承上游授权(不得扩大):授权角色 `{}` / 目标环境 `{}` / 精确动作 `{}` / 目标对象 `{}` / 费用上限 `{含重试储备}` / 副作用范围 `{}` / 授权锚点 `{DEC-x或总控批准记录}`
3. goal 可在授权范围内创建或修复:产品代码、测试脚本、runner、夹具、数据建立/清理/恢复工具、环境适配器、部署脚本与证据采集器;每次修复登记影响面并重跑受影响验证;新建或实质修改取证工具按 `test-execution-router §3.6` 在 Goal 内独立核对
4. 测试资产修改的硬不变量:真实断言集合不得弱于冻结规格,不得用 skip、放宽阈值或把产品现状反写测试来求绿
### 3.2 禁止(硬边界,违反即失败)
1. …(**按可达性写,不按动作枚举**,见 §5)
## 4. 停机条件(白名单,仅此三条需要相应授权角色裁决)
1. 两份都已冻结的真值互相矛盾,且裁决会改变业务结果
2. 命中项目死亡线清单的**业务规则**需要变更
3. 需要章程未预授权的不可逆 / 外发动作
**除此之外不停机。** 计划内例外:§2 显式标注的「人工里程碑」到点停机等待,属章程预定的外部协作点,不占用本白名单。
凭据定位、实现取舍、产品/测试/runner/夹具/环境/证据工具缺陷与重复失败均属 goal 内工程问题。安全路径确已穷尽、外部状态暂不可得或达到限轮时,允许以 `EXECUTION_BLOCKED` 交还控制权;该出口不要求业务裁决、不前拉上游、不作废未受影响证据,恢复后回同一 goal 切片。
**停机后的处置(默认热修续跑,回炉是例外)**:停机报告必须随附一份**修改方案**——①决策项(同族冲突一次收齐,互斥选项 + 影响,沿用冲突批处理合并决策包格式)②上游修改清单(要动的轻量设计条目 / 正式 L1–L7 小节 / L7 用例,逐项改前→改后语义)③失效证据清单(按影响面圈定重跑范围,未受影响证据不作废)④恢复点(从哪个断点、哪个切片继续)⑤档位建议(热修为默认;建议回炉必须论证热修为何不可靠——地基级设计错误、影响面无法圈定)。**对应业务决策负责人批准一次 = 方案范围内的一揽子授权**:方案内全部上游修改、五项冻结闸门重跑、受影响证据重跑、断点续跑同一 goal,中间不再确认。若项目要求多角色会签或职责分离,则按项目治理策略完成,不得由任务发起人替代。热修复用有界重新冻结的同一套机器,语义变更以本次批准为裁决来源;完成后更新断点与章程引用的哈希基线(登记动作,不重写章程),按同一章程和当前运行时启动方式续跑。
## 5. 回炉出口(例外档,业务决策负责人批准才走)
回炉不再是规格错误的默认出口——默认走 §4「修改方案 → 获批 → 热修续跑」。仅当修改方案论证热修不可靠(地基级设计错误、影响面无法圈定)且对应业务决策负责人批准时:带证据终止本 goal → 回退上游子任务重新设计 → 修用例 → 重写章程 → 重跑。
判据:…(本次哪些属规格层,见 §6)
## 6. 已知豁免(不算失败;每条三段:豁免项 / 原因 / **验收时你将看到什么现象**)
1. …("现象"用人话写给验收者,例:「第三方支付回调永远不来,N 分钟后一律判超时」——不写现象 = 候选验收人在终点才发现"全绿"和"能用"不是一回事)
## 7. 文档动作清单
> 七层规格已在第 5 步完成真值收敛,是本 goal 的**输入**。本节只列意外触发的有界重新冻结与执行记录;不得预先安排“施工后再补文档”:
| 动作 | 对象 | 说明 |
|---|---|---|
| 有界重新冻结授权 | 轻量设计 + 正式 L1–L7 + 覆盖报告 | 仅限不需新业务裁决且现有真值给出唯一方向的意外规格洞;同步补 `SD→TOPIC→SPEC→AC`、哈希与五项闸门报告后继续,禁止只补 L5/L6 |
| 执行记录产出 | {路径} | 落 `_shared/` 与项目执行记录路径,不进七层 |
> 章程必须引用第 5 步的规格物化覆盖报告,要求 `SD→TOPIC→SPEC→AC` 五项全真、已触发的评审闭环 PASS、切片内债务为 0。M0 启动检查是本 goal 的首个产物,不是章程的前置证明。
## 8. 飞行日志 + 候选交接面
- 日志:`{路径}`,每条自愈一行——时间 / 类别 / 改了什么 / 依据哪份冻结真值 / 为何是纯实现自由
- 断点:`{路径}`,保存 run/当前里程碑/已完成事实/失效证据/下一动作/强制阅读路径与读取哈希;首次、恢复、新会话或自动压缩后先从磁盘复水再写入,断点不承载业务语义
- 执行证据清单:`{路径}`,每条 AC 只允许 `VERIFIED / BLOCKED / MISSING / WAIVED`;仅由“raw 运行 → 采集时不可变信封 → AC 映射 → 账本”重算出的 `VERIFIED` 计入通过
- 证据检查器:`{命令}` 已验证 `evidence_semantics_version=assertion-native-v1`、候选 commit/tree、环境身份/保真度、框架原生断言事件、全部证明部件、消费者完整性与 observed/expected;信封和 raw 位于同一内容寻址包
- 候选自检:观测分布报告中的代理观测、非法重复簇、孤儿套件、未消费失败/跳过、未执行绑定与多部件缺口全部为 0,才允许报 `CANDIDATE_READY`
- **真实链路闭合度**:交付记录单列一节——全部 `simulated` 与 `BLOCKED` 的 AC 汇成一张表,一句人话说明真实链路断在哪、由谁何时接通;不得与真实链路证据混入同一统计
- **执行资产交接**:本轮新增/修复资产逐项分为任务临时、领域复用、项目通用;可复用项写稳定路径、commit、验证命令、环境/凭据前提、消费者与分支传播状态。只存在兄弟分支而当前分支不可达时写 `PROPAGATION_REQUIRED`,不得假称已继承;本轮没有可晋升项也要明说
- 候选交接:commit SHA / tree SHA / 工作树干净证据 / 规格与执行清单哈希 / 验证命令与证据路径
- 终态只能写 `CANDIDATE_READY`,不得写“整体完成”、“全部验收通过”或替代候选终审
```
## 4. 里程碑 = 施工切片
切片是**断点续跑的锚**,不是要人批准的关卡。切片之间不临时新增审批;项目治理预先声明的人工里程碑和职责分离检查点仍然生效。
- **要素表一行一片**(别每片一节,那是行数预算杀手)
- **产出方就是章程作者**。切片依据 = 轻量设计的影响面勘察 + 用例矩阵
- **章程作者允许且需要亲自读代码**——切片是文件/模块级编排,而上游设计明确不下沉到逐文件,光靠上游文档切不出来。**亲自读**(不要为了补背景派子 agent 去调查)
- **判失败**:任一切片**不能独立编译或独立验证 → 切片门失败,重新切**。中间态长期不可编译 = 没切对
> 这一条在 goal 里比在任何设计文档里都要命:**goal 要断点续跑,切片不能独立验证 = 根本没有断点。**
### 4.1 goal 启动服务:清算预见停机,不预演施工
章程作者在生成自主执行启动指令前,把每个密钥、登录、第三方后台、真实设备和外部平台事项分到唯一类别:
| 类别 | 判据 | 处理 |
|---|---|---|
| `AI_AUTO` | AI 可通过工具、浏览器、开发者工具、脚本或 VLM 完成 | 留给 goal/M0;禁止降级成人工 |
| `PRE_GOAL` | 必须由指定授权角色参与,但不依赖候选代码或部署结果 | 章程阶段提前完成;对应责任角色明确批准延期时才可转成人工里程碑 |
| `CANDIDATE_DEPENDENT` | 只有候选部署或运行后才能真实完成 | 留在 goal,并在不违反职责分离的前提下合并人工协作窗口 |
| `LONG_LATENCY_EXTERNAL` | 审批、开户或外部协调周期可能跨天 | 上游独立任务完成,不埋入 goal |
伴生服务单至少记录:目标环境与授权锚点、访问入口和登录/权限状态、凭据是否存在及**受控位置**(禁止明文)、外部平台快照、每项分类与依赖、责任角色、已完成/明确延期事实、回滚入口、`planned_human_windows` 与不可合并原因。人工窗口应在项目治理允许的范围内合并,但**不设通用固定次数**;职责分离要求拆开的动作不得为了追求“零打断”而合并。
服务单是可刷新现场基线,不是执行契约。会话过期、路径变化、命令失效或工具缺失仍由 M0 在授权内修复;只有缺权、找不到凭据位置或真实物理边界才按章程出口处理。章程获批前尚未完成的 `PRE_GOAL` 应当当场清算;若对应责任角色明确批准延期,记录批准锚点、日期与影响后转入人工里程碑,不得默认延期。
## 5. 边界按「可达性」定义,不按动作枚举
**能力边界 > 指令边界,差一个数量级。** 做不到 ≫ 不许做。
> **典型漏网形态(必读)**:章程写了「零 SSH、零部署、零重启、零配置修改、零数据库操作」保护一台生产机器。goal **一条都没违反**——它是通过测试文件里硬编码的 `http://<生产主机>:<端口>` 发 HTTP 请求越的界。
> **按动作类型枚举禁令,必然有漏网。**
因此:
| 做法 | 例 |
|---|---|
| ✅ 首选:**物理隔离** | 让禁区网络不可达(hosts / 防火墙 / 容器网络);生产凭据不在场 |
| ✅ 次选:**按可达性写禁令** | 「不得以任何方式访问 {IP/域名},含 HTTP、SDK、测试夹具、第三方回调」 |
| ❌ 别只做:动作枚举 | 「不 SSH、不部署、不重启」——留下 HTTP 这类通道 |
**启动前必做**:扫描测试套件里硬编码的外部端点。**跑测试 = 执行任意代码 = 可达任何网络端点**,测试套件是最隐蔽的能力通道。
## 6. 文档:七层全是规格,goal 按分类自愈、重新冻结或回炉
**规格的判据(唯一试金石)**:
> **把代码全删了,能照文档重做出来吗?** 能 → 这些文档就是规格。这是 SDD 里规格的定义。
由此:**七层文档 L1~L7 全部是规格层,全部在施工前冻结**。它们是 goal 的**输入**,不是计划中的施工产物。意外命中有界重新冻结时,当前施工切片先暂停,重新建立一份六闸全绿的新输入基线后再继续。**没有"实录层"这种东西**——实现细节(函数内部 / 样式写法 / DTO 转换 / SQL / 标准 CRUD)属于**代码自由范围,压根不进文档**(层定位与管辖边界见 `doc-layer-system` §5.5/§5.6,本 skill 只消费不定义)。
| 遇到什么 | 地位 | 怎么办 |
|---|---|---|
| **代码 ≠ 冻结的七层规格** | 规格是**约束(法律)** | **文档赢,改代码,不停机** |
| 未规定事项属于纯实现自由 | 不影响可观察结果、契约、数据、架构边界与按规格重建 | 选合规实现 + 记日志;**不进七层** |
| **规格有洞但现有真值给出唯一方向** | 规格不完整,但不需要新业务裁决 | 暂停当前切片,自动有界重新冻结:补轻量设计 `SD-x`、`TOPIC-x`、职责正式层、对应 `AC-x`,更新哈希/语义差异/覆盖报告,五项闸门全绿后继续 |
| **上游资产完整性错位**(引用断链 / 哈希失配 / 编号错位,语义本身无矛盾) | 登记信息损坏,不是语义变化 | 按真值优先级修复:纯编号/指纹/引用修正 + 飞行日志留痕,继续跑,**不停机**;仅当修复必须在多个业务结果之间做选择时,升级为 §4 条 1 或 §5 回炉 |
| **规格错了 / 洞会改变业务结果** | 需要业务决策负责人裁决的语义修改 | 停机出 §4 **修改方案**,按项目治理获批后热修续跑(默认);方案论证热修不可靠且获相应批准 → §5 回炉 |
| 执行记录 / 交付记录 / 飞行日志 | goal 的**产出证据**,不是规格 | 落总控 `_shared/` 与项目执行记录路径,**不进七层** |
**关于有界重新冻结**:判据就是 `doc-layer-system` 的重建试金石。若不写也能从现有规格唯一重建,它是实现自由;若不写会让下一个 AI 作出另一种架构/链路选择,它就是规格缺口,必须同步补齐轻量设计、职责正式层、L7 和覆盖报告。这个过程不新增人工裁决,但绝不允许“只补 L5/L6 + 飞行日志”造成再次分叉。
**飞行日志没有语义权力**:出现“不再”、“改为”、“取消原”、“与正式规格不同但”、“实现选择”时,必须逐条附上纯实现自由证明;无法证明即回炉/停机。日志不得取消、改写或覆盖任何 `SD/TOPIC/SPEC/AC`。
> **回炉必须显式成节。** 只有"跑完"和"停机"两个出口是不够的:AI 证明上游规格错了却没有第三条路时,只能二选一——**硬改代码绕过(灾难)或无恢复点阻塞(卡点)**。
> 停机 ≠ 回炉:停机后默认按 §4 修改方案热修续跑(获批即续,不再重复确认);回炉是**本次 goal 作废,退回上游子任务重来**——例外档,须由业务决策负责人按项目治理批准。
### 6.1 证明真实业务事实
候选验收不能只核“命令成功、哈希闭合、账本写 PASS”。对高风险或新改取证工具,必须从原始报告定位到具体观测,将 observed 与冻结 expected 或判定器实际比较;证明失败事实可被拒绝。普通 AC 可直接使用项目原生断言和报告,避免为包装而造第二套事实。执行细则与正反例核对见 `test-execution-router` §3.5—3.6。
## 7. 防作弊三层防线
长程自主执行的头号风险是 **reward hacking**:不去干活,去把验证器搞绿。
**不变量不是「脚本不变」,是「脚本的断言集合 ⊇ 规格的断言集合」,且执行状态只能由先发 raw 单向派生。**
> 脚本是规格的**翻译**。翻译可以修,但不能删原文;它在 goal 的 M0 或后续执行中实现与修复。脚本/runner/夹具/环境适配/证据工具缺陷与产品缺陷一样,都是 goal 内的可逆工程问题;修复后按影响面重跑,不得借机改变冻结语义。
| 层 | 机制 | 防什么 | 卡不卡 |
|---|---|---|---|
| 1 | **规格 `spec_hash` 冻结**(在 goal 之外,goal 碰不到) | 改断言的**定义** | 不卡 |
| 2 | **编号覆盖检查器**(每轮跑):冻结规格的每个断言编号都能在脚本里找到落点 | 删测试 / skip / 空实现 | 不卡(机器判,违规当场自愈) |
| 3 | **raw → 采集时信封 → AC 映射 → 账本**(执行证据检查器) | 状态账本自证、反向改 raw、事后绑定候选/环境 | 候选交付前必须通过 |
| 4 | **候选终审** | 编号在但真实断言/测试形状不符,或把阻塞项算成已覆盖 | goal 内不卡,但不得宣称完成;终审硬阻断 |
**证据链要点**:raw 必须先发生,采集时立刻封存候选 commit/tree、环境身份与保真度、run/test/assertion ID、原始报告路径/哈希及 observed/expected;信封与 raw 同包内容寻址。禁止把状态账本或派生聚合物当 raw,禁止从账本反向回写 raw,禁止事后补绑候选版本或环境。
**执行状态封闭集**:`VERIFIED / BLOCKED / MISSING / WAIVED`。只有可从上述单向链重算的 `VERIFIED` 计入覆盖;`BLOCKED` 和 `MISSING` 必须分别给物理边界/缺失事实的结构化证据且永不计入“已覆盖”;`WAIVED` 必须有正式规格或 `DEC-x` 依据并单独统计。多个 AC 共用同一测试时仍须有独立 assertion ID 与观测值,不能复制一个泛化 observed。
**唯一判据:改完之后,脚本是更接近规格,还是更接近代码?**
| | 规格说 | 代码实际 | 脚本原来 | 改成 | 判定 |
|---|---|---|---|---|---|
| A | 400 | 400 | 404(写错了) | **400** | ✅ 忠实化 |
| B | 400 | **404(有 bug)** | 400 | **404** | ❌ **作弊** |
**规格是唯一的裁判席。** 规格一旦可变,A 和 B 就再也分不开了——可以先改规格,再理直气壮地改脚本。这就是第 1 层必须存在于 goal 之外的理由。
## 8. goal 内部工序编排(常量,写在这里,**不进章程实例**)
每个任务都一样,所以它属于本 skill;章程实例不要抄一遍。批量收集、集中修复、完整核验及效率与质量分离统一按 `test-execution-router §3.2—3.4`,原断点/飞行日志记录累计修复—复验次数。
```
M0:仓库/工具链/环境/测试基础设施健康探针并自愈 → 产品代码 → [检查器:机器判定]
→ 部署 → 跑冻结矩阵 → raw+采集时信封 → AC 映射/账本 → 执行证据检查器 → 每切片收尾记录
↑ 不临时新增人工闸门;审核 = AI 自审或检查器;预定人工里程碑/职责分离检查点照常执行
```
- **goal 内禁止开放式对抗评审**。常规自检使用当前工具与机器检查器;新建或实质改变取证工具时按 `test-execution-router §3.6` 做一次全新上下文、只读、有界的独立核对,不重开业务设计。
- 测试资产、runner、夹具、环境适配器或证据工具缺陷在 goal 内修复;只使其影响到的运行、证据与候选失效。只有冻结用例或正式规格语义改变,才按责任回到上游并扩大失效范围。
- **代码合规绑定检查器命令**,不是 AI 自觉,更不是人工评审。**能做成检查器的不要做成评审**:检查器每轮免费跑、确定、即时;评审一次性、主观、会漏。
- **文档动作跟着切片走,不攒到最后**——跑到第 4 小时预算见底,攒着的文档必然敷衍。
- **动作授权与实际占用分别核验**:章程只继承有权限角色对环境、动作、对象、费用和副作用的明确授权;执行段通过项目适配器绑定的生命周期入口取得实际占用。授权不等于租约,历史部署账本也不能替代当前占用核验。一次部署、回滚或测试结束不代替整个执行段的收尾与释放。
- **部署动作遵守项目环境占用策略**:目标环境有账本或租约时,其位置、有效期、失效判据、可抢占角色和冲突处置由项目级补丁或部署 skill 声明。**启动 goal 不构成环境授权或抢占授权**。只有租约按既定规则失效、原持有人释放,或环境所有者明确授权抢占时才能继续;否则优先换用隔离环境,仍无法继续则交付可恢复的 `EXECUTION_BLOCKED`。项目要求登记时,部署后按规定登记时间、分支、commit、任务与操作者;手动或热修部署同样遵守。
- 长文档治理是 goal 内的自愈项,不是交付前的人工闸。
## 9. 有界扇出
- ✅ 章程已枚举的独立施工、验证切片,以及原授权内本轮收齐失败后按根因枚举的修复包,至少两个且有可用槽位时按 `test-execution-router §3.3` 并行;真实依赖、共享写入或资源冲突才排队
- ❌ **禁二级派生**(子执行体不得再派)
- ❌ **禁为补背景 / 调查派子执行体**——背景自己亲自读
- 用 goal 的 token 预算做机械止损,不靠自觉
> 无界自主派遣是有事故记录的(一次 token 烧穿)。有界并行没问题,**能并行却串行同样是失职**。
## 10. 自检表(判失败)
**结构类**
- 判失败:章程实例 > 100 行。
- 判失败:目标里有任何一条是动作而非可判定终态(§2)。
- 判失败:目标没有"已提交 / 工作树干净 / 产物已冻结"这一条(而任务确实产出代码)。
- 判失败:里程碑写成"每片一节"而不是要素表。
- 判失败:存在切片不能独立编译或独立验证。
- 判失败:缺 §5 回炉出口,或把回炉混进停机条件里。
- 判失败:没有 M0 启动检查里程碑,或不允许 goal 在冻结语义不变的前提下修复测试/runner/夹具/环境/证据工具。
- 判失败:M0 未先核对项目稳定执行资产及其当前分支可达性便无声重造;或把资产继承登记重新做成章程准入闸。
- 判失败:缺 goal 启动服务单;或把它写成 readiness、PASS/FAIL、逐 AC 门票、固定命令清单或新的章程准入证明。
**文档类**
- 判失败:没有引用全绿的规格物化覆盖报告,或报告存在未物化 SD、孤儿 AC、无正式来源 AC、切片内已知文档债。
- 判失败:覆盖报告没有独立证明跨层可满足性,或 L6/L7 要求的状态、快照、预留在 L3/L4/域内没有合法承载路径。
- 判失败:章程消费了无 `DEC-x` 或无实际授权角色的“已批准”规则,或评审前后业务语义差异仍有未授权变化。
- 判失败:章程要求 goal 把**实现细节回写进 L5/L6**(那是代码自由范围,回写它 = 把 L5/L6 变成代码镜像层 = 开始腐烂)。
- 判失败:章程把预期中的七层修订安排成 goal 施工产物,而不是在第 5 步冻结;有界重新冻结只能处理施工前不可合理预见的缺口。
- 判失败:把执行记录 / 交付记录 / 飞行日志写进七层文档。
- 判失败:允许 goal 只补某一份 L5/L6 而不更新轻量设计、主题账、L7、哈希与五项闸门覆盖报告;或未给有界重新冻结授权,导致非业务语义缺口也只能停机问人。
- 判失败:允许 goal 把 `BLOCKED/MISSING` 计入覆盖,或 `WAIVED` 没有正式来源。
**边界类**
- 判失败:章程的目标环境、动作、对象、费用或副作用范围超出上游授权;或预算没有重试储备。
- 判失败:禁止段只有动作枚举,没有可达性定义;或有物理隔离手段却没用。
- 判失败:没扫过测试套件里的硬编码外部端点。
- 判失败:项目存在环境占用策略,而章程遗漏或违反该策略;把启动 goal 推导成环境授权;没有失效/释放/抢占证据便忽略有效占用;或遗漏项目要求的部署后登记。
- 判失败:停机条件超出三条白名单;或把凭据定位、实现取舍、重复失败、"文档冲突""脚本小错""记录笔误"写成业务裁决理由。
- 判失败:停机只报问题不附修改方案;把回炉当默认出口;热修后未按影响面重跑或未更新哈希基线;热修中夹带方案外语义变更;续跑前再要第二次确认。
- 判失败:章程里出现自造的"硬门""死亡线""必须审批"(§1 铁律 1、2)。
- 判失败:需要不可逆/外发动作(如推送),但 §3.1 没有显式授权——这不是停机理由,是章程写漏了。
**验证器类**
- 判失败:用"测试脚本哈希不变"当完成判定(自相矛盾,见 §7)。
- 判失败:冻结规格没有 spec_hash,或断言没有稳定编号(三层防线全塌)。
- 判失败:断言虚到无法对账(「应该失败」不合格;「返回 400 / 错误码 40001 / retryable=false」合格)。
- 判失败:一条 AC 捆绑多个独立结果,或高风险语义没有真并发、固定时钟边界、快/回退双路径、批量故障隔离中对应的强制测试形状。
- 判失败:章程允许 goal 自行宣布整体完成,或未产出精确 commit/tree 候选与执行证据清单。
- 判失败:已知豁免条目缺「验收时你将看到什么现象」的人话描述。
- 判失败:需要指定授权角色完成的外部前置被写成已知豁免而不是「人工里程碑」,导致其下游真实链路验证在本 goal 内注定只能 simulated。
- 判失败:AI 可操作事项被降级为人工里程碑;候选无关的 `PRE_GOAL` 未完成且责任角色未明确批准延期便进入 goal;人工窗口未按项目治理合并,或为了合并而违反职责分离。
- 判失败:启动服务单扩大上游授权,记录秘密明文,或要求 M0 因其中路径、命令、登录态过期而停机。
- 判失败:交付/交接缺「真实链路闭合度」独立结论,或把 `simulated` 证据与真实链路证据混入同一统计。
- 判失败:可复用执行资产只留在任务目录、本地运行根或未提交工作树;或交接未说明稳定路径、验证命令、环境前提与跨分支传播状态。
- 判失败:`VERIFIED` 不能从 raw+采集时信封重算,信封与 raw 不在同一内容寻址包,或未运行执行证据检查器。
- 判失败:新候选缺 `assertion-native-v1` 语义证据标记;wrapper 生成断言事实;代理观测或未声明的重复内容批量签发 AC;消费者完整性或证明部件不全仍报 `CANDIDATE_READY`。
- 判失败:用状态账本/派生聚合物自证,反向改 raw,事后补绑候选/环境,或多个 AC 复制同一泛化 observed 而无独立 assertion ID。
**交接类**(详见 §13.6)
- 判失败:启动物不是一条指向章程的自主执行指令(做成了提示词+条件两块)、复制章程正文、②段缺举证义务、④段漏出口或把停机写成"等待某人继续执行"、在章程获批前生成,或回填后总控脚本抓不到。
## 11. 章程按风险触发开放式红队,整改后封闭验收
章程并非每次都强制开放式评审。仅当项目规则判定命中死亡线、跨域/破坏契约,或用户显式要求时,才走 `adversarial-review` 的章程口径卡(红队四问 A 作弊路径 / **B 必卡路径** / C 漏停路径 / D 断点丢失)。同一章程对象、同一真值基线只允许这一轮,禁止自动 R2/R3。普通任务由冻结规格、执行期机器验证器和全新上下文候选终审提供独立性。
**关键不对称**:A/C/D 找的是“边界太松”,**B 找的是“边界太紧”**。主线程按裁决整改后,调用 `closed-remediation-review`:当前工具一个原生子线程只检查原 A/B/C/D 采纳项、正式 `DEC-x` 与整改 diff,再由主线程逐条裁决。封闭验收必须同时确认堵 A 没有制造新 B,但不得新增攻击意见;`PASS` 后才交业务决策负责人批准。
> **轻量档例外(plan-goal)**:`plan-goal` 轻量任务的计划内嵌「执行章程节」,不是本 skill 的章程实例——是否对计划跑开放式红队由用户决定,AI 不主动触发;但 §13 的运行时适配与出口写法对轻量档同样生效。
## 12. 边界(不归本 skill 管)
| 事 | 归谁 |
|---|---|
| 设计决策、影响面勘察、验收映射 | `lightweight-design` |
| 用例规格、断言编号、spec_hash 冻结 | `test-case-design` |
| 各层的层定位、管辖范围 vs 代码自由范围 | `doc-layer-system` §5 |
| 总控子任务编排、阶段片段 | `task-control-doc` |
| 风险触发或项目治理要求的章程开放式红队 | `adversarial-review`(章程口径卡) |
| 红队整改后的封闭验收 | `closed-remediation-review`(原生子线程检查 + 主线程裁决) |
| 部署命令、测试执行、项目工具细节 | 项目执行 skill |
## 13. 章程 → 自主执行的交接
章程由业务决策负责人或项目指定角色批准后,生成**一条指向章程与工作包的启动指令**。具体启动工具由项目补丁在运行时指定:可以是当前 Agent 的 goal 能力、会话续跑机制或项目自带的执行器;不能把某一产品的命令、参数上限、自动续轮、审批模式假定为所有运行时共有。
### 13.1 启动前核实
1. 查询当前运行时是否支持目标跟踪、自动续轮、断点恢复、停止、工具审批与预算限制;把实际能力和缺项写进章程或工作包。
2. 没有自动续轮时,仍按章程逐里程碑执行;上下文中断后从磁盘重读章程和断点,不假称工具会自行续跑。
3. 若评估器只能读会话内容,终态的原始命令结果和产物位置必须在会话中可见;若能读取文件,也须保留可审计原件。不得只口称通过。
4. 将停机白名单、规格过时、人工里程碑、限轮或预算耗尽映射成**当前执行器真正会停止**的出口;无法实现时不用无人值守模式。
### 13.2 启动指令四段
~~~text
执行 {工作包路径}。首次启动、恢复、新会话或上下文压缩后,先从磁盘重读 {章程路径}、工作包必读项、断点与执行日志;章程是唯一执行契约,按授权的有界切片并行推进。
完成条件:{章程 §1 的每条可判定终态 + 原始证据位置/实际输出};候选 commit/tree、工作树状态与文档/测试结果可核;只报 CANDIDATE_READY。
约束:{章程 §3.2 最关键的 3–6 条,不复制全文}。
出口:{章程 §4 停机白名单、§5 回炉、人工里程碑、轮次/预算上限;任一命中立即停止并报告状态}。
~~~
启动指令只放下游工作包的「会话启动提示词」段,标题后紧跟代码块,供总控脚本提取。不得另造一份相互漂移的执行契约。启动指令由终版章程生成;若风险评审或项目治理要求先评审和封闭验收,须 PASS 并获授权后再生成。
### 13.3 失败条件
- 启动工具实际不能停止却宣称停机出口有效,或无法验证自动续轮却宣称无人值守。
- 完成条件没有原始举证义务,只有主观“已通过”。
- 章程未获批准就启动,或把章程正文复制成第二套真值。
- 有界并行授权被遗漏,或越过项目角色、环境租约和发布授权。
- 回填后总控脚本无法提取启动段,或改动了下游工作包其他内容。
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.