Skip to content
Back to skills

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
ai-agentsgosql

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add BackToCimaCoppi/Praxis --skill goal-charter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Goal Charter?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Goal Charter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/backtocimacoppi-goal-charter/badge)](https://www.skillsdirectory.com/skills/backtocimacoppi-goal-charter)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.