# 31 守卫与权限边界 平面:控制 governed_by:D-008、D-018、D-024、D-027、D-028、D-029 用途:定义什么不许做、能力有多大,并把这两件事放在模型控制流之外、由机制而不是措辞承担。 ## 1. 最小职责与接口 - **它必须做到的** - 为每个可执行的 Gate 写出合同,并在合同里标注判据是确定事实还是代理指标。 - 按判据性质把 Gate 二分,两类各用自己的上限约束数量。 - 对未知默认关闭:未登记动作、应答缺席、超时一律不放行。 - 在会话或运行创建时固化权限边界的全部维度,执行中只能收窄。 - 至少在两个不同位置检查有效能力,并按动作对象与参数判定,不按名称字符串。 - 为每个拦截层保留独立于自身的失效探测。 - 让豁免与跳过留下同样的字段,并带失效时间。 - **从别的部件拿什么**:从[30 验证与测试](30-验证与测试.md)拿三态裁定作为通过条件的输入(三态与盲区语义在该章);从[24 工具与执行环境](24-工具与执行环境.md)拿能力目录、动作的副作用声明与可直接观察的环境事实;从[40 人的检查点与授权](40-人的检查点与授权.md)拿不可逆动作的授权、豁免批准与人工检查点的位置;从[33 评估与演进](33-评估与演进.md)拿误报率、否决率与机制消费计数的判读。 - **给别的部件什么**:给[25 执行者与模型](25-执行者与模型.md)权限上限与委托可传递的子集;给[20 状态工件](20-状态工件.md)阻断结论、屏障范围与失败回边;给[32 证据与追踪](32-证据与追踪.md)Gate 结果、豁免记录、拦截与误伤计数;给[40 人的检查点与授权](40-人的检查点与授权.md)需要人裁决的例外及其预期耗时。 - **它自己维护什么**:Gate 清单与各自合同、权限边界各维度的取值、免审批动作集合、豁免与跳过记录、拦截层的"应被拦截"回归集。 - **未决**:所有项目的最低 Gate 集合仍待定;生效 Gate 集合为空时"全部通过"判未定,该条款的归属章节待整合确认。 ## 2. 原则 - **P1 约束力由两个独立维度决定,据此分四级。** 两个维度是:检查是否自动进入必经路径;失败是否改变后续状态。只写在指令里的是提醒;写成程序但要执行者想起来运行的是工具;自动运行而失败仍可继续的是警告;只有自动运行且失败使下一步无法进行的才是约束。更强烈的措辞不构成任何一级。警告必须留下被下游必然消费的痕迹,跳过必须可见。|防的失败:从未拦住任何事的虚假阻断;软检查失败被静默吞掉 |删除条件:写不出(责任结构型:四级说的是"谁在什么时候真的会被拦住",即约束力的实际归属;措辞强度不能替代它) - **P2 阻断判据必须是可直接观察的确定事实。** 代理指标只能提醒或产生候选,不得阻断。规则下沉为阻断的时机由观察到的违规触发,不预先按重要性下沉。|防的失败:代理指标门禁被污染误判;误报逼人绕路 |删除条件:写不出(责任结构型:用代理指标阻断时,误伤的后果由被阻断方承担而设判据的一方不承担,这是后果承担方的错配) - **P3 Gate 二分,两类上限的来源不同。** 事实门禁判据是确定事实、不耗人注意力、只把例外递给人,数量上限由误报率约束;人工判断检查点的数量上限由判断带宽约束。带宽度量(预期耗时、触发频率、否决率、队列长度与等待时长)与呈现给人的内容顺序都属于 Gate 合同的一部分;判不动的检查点合并或移除。检查点该放在哪、人被问什么,见[40 人的检查点与授权](40-人的检查点与授权.md)。|防的失败:快速点头与"已审过"假象;能机械判定的事消耗人的带宽 |删除条件:写不出(责任结构型:两类上限的来源不同——一类由误报率约束、一类由人的判断带宽约束;混算等于用机器的余量去挤人的余量) - **P4 Gate 是一份合同,不是一张清单。** 至少声明:唯一身份与来源决策;生效范围与触发的动作或状态转换;维护者;检查器及其自检语义;需要的输入与权限;通过条件与判据类型;失败后的去向与屏障范围;产出何种验证结果与验收证据;谁能限时豁免、何时自动失效;怎样发现误阻断与静默失效;呈现格式与带宽度量。只有材料清单而没有检查器、通过条件与失败回边的,是清单不是 Gate。|防的失败:无法审计的例外;无人负责的误伤 |删除条件:写不出(责任结构型:合同里的"维护者""谁能限时豁免""怎样发现误阻断"三项都是具名责任,缺了就没有人为误伤负责);**起始档**:全部字段自 L2 起才有对象——单人(L0/L1)时维护者、豁免批准人与被误伤者是同一人,三项具名责任无从分开;单人的形态是合同只写查什么、失败怎么办、怎么绕过三项,该最小形态不删 - **P5 对未知默认关闭,应答缺席等于拒绝。** 未登记或未分类的动作默认进入确认档或拒绝,不得"无匹配即放行";应答者缺席、出错、超时同样是拒绝。失败处置按后果非对称:只影响模型所见的读路径可降级放行并留痕,导致外部状态改变或不可逆的写路径失败必须关闭。只能拒绝或弃权的守卫,与能够授权的机制,必须是两套分开的机制。|防的失败:新动作上线未更新规则被静默执行;无审批人时段危险动作直接执行 |删除条件:能力目录与分级表由同一来源生成并有一致性检查时,"未登记"情形消失(能力补偿类);写路径关闭与"应答缺席等于拒绝"写不出(责任结构型:缺席不能被读成同意,否则授权可以由无人应答产生) - **P6 权限边界的维度在创建时固化,执行中只能收窄。** 维度至少含:可做的动作、可作用的对象、参数范围、环境、可与哪些主体通信、被选中的能力集合。有效能力沿请求链路单调收窄,且至少在两个不同位置检查——创建时冻结一次,工具或目标侧再复核一次;判定基于动作对象与参数,不基于名称或命令字符串匹配。可见性与权限是两回事,须分别声明,判据见[24 工具与执行环境](24-工具与执行环境.md) §2 P3。|防的失败:换参数写法或经中间脚本读到范围外数据;自注册同名能力绕过限制;可见性收窄被当成能力面收窄 |删除条件:写不出(责任结构型:运行中能自行扩权的边界不是边界,单调收窄是"授权不可自我扩张"的形式表达) - **P7 被委托者的权限严格是委托者的子集。** 委托须声明是否继承治理规则(项目入口指令、权限边界、安全规则),未声明视为不继承,不继承者只授予只读或纯输出型任务。权限与可用能力的交集在被委托者处重新计算,不默认继承;不可逆动作的权限不随委托传递。执行者之间的协作走与人相同的可记录、可归因的渠道,每个执行者有独立身份和单一用途的最小权限。|防的失败:借他人身份完成自己无权做的动作;子单元权限面大于其能力面 |删除条件:写不出(责任结构型:子集关系是责任链闭合的条件,一旦被委托者权限更大,动作就归因不到任何一个具名主体。**不标起始档**:委托虽自 L1 起才出现,但安全边界标晚会放行本该拦住的东西) - **P8 交互式审批不得沉淀为永久授权。** 免审批动作集合可枚举、可机械扫描、有复审周期;不可逆动作的确认不提供"始终允许"。危险动作清单与工具实现分离、按环境配置、版本化慢变,模型在会话内不可修改;授权标记只能由人侧通道写入,模型不能代替人产生授权。|防的失败:审批疲劳把危险动作沉淀为默认允许;模型自行写入授权标记 |删除条件:执行环境对不可逆动作默认强制隔离或幂等时,枚举与扫描可删(能力补偿类);"授权标记只能由人侧通道写入"写不出(责任结构型:授权的产生方与执行方必须分离,否则被授权者可以自己发授权) - **P9 拦截层须有独立于自身的失效探测。** 机制是否生效以运行时观察为准,不以执行者自报为准:下游对本应被拦截层消费或剥离的信号做防御性断言;保留可重复运行的"应被拦截"回归 Case;每项机制能回答是否被本次运行消费、拦住的是真实问题还是误伤,没有计数不得判定其有效。|防的失败:拦截层静默失效无人知晓;配置声明与实际生效能力不符 |删除条件:写不出(责任结构型:机制是否生效不能由机制自己回答,自证的探测等于没有探测;这是"评价者不能是被评价者本人"在拦截层的落点);**起始档**:回归 Case 与消费计数自 L2 起才有对象;单人(L0/L1)的形态是两种独立探测择一——会话开始时自动运行、不依赖拦截层自身的检查,或人工开工检查——该最小形态不删 - **P10 豁免不是关闭 Gate,跳过也是豁免。** 两者留同样的记录:对应的 Gate 或发现、理由、范围、批准人与时间、失效时间、补偿控制、复查日期、关闭证据;超期自动失效。自动修复路径不继承任何人工豁免。|防的失败:临时例外变成永久缺口;自愈路径绕过人工确认 |删除条件:写不出(责任结构型:豁免是一次具名的责任承担,跳过若不留同样的记录,就成了不具名的豁免);**起始档**:字段齐全与他人批准自 L2 起才有对象;单人(L0/L1)只要求跳过事后可发现(宿主的操作记录查得到跳过动作,或下一次全量检查会重新判到它放进来的问题),批准人就是本人、照实写明,不写成他人批准;该最小形态不删 ## 3. 从 L0 到 L3 | 档 | 形态 | |---|---| | L0 一人一工具 | 一份写下来的不可逆动作清单与当前权限范围;阻断只做判据确定的少数几条,其余靠自己看。 | | L1 一人多会话 | 检查进入必经路径,失败与跳过都留痕;委托时明确写出被委托者的权限子集与不可传递的动作。 | | L2 团队 | Gate 有合同与维护者,事实门禁与人工判断检查点分别计数;免审批集合定期扫描复审;拦截层带回归 Case。 | | L3 无人值守 | 权限在运行创建时固化并至少两处校验;未知一律关闭;失效探测与误伤计数进入常态观测,无计数的机制按未生效处理。 | ## 4. 追溯 本章的写作期内容——它解决什么问题、源章节与主题综合的映射、每条原则的证据强度——在[追溯账本](追溯账本.md#ch-31),效力为零。