Generated by Answer me with HTML 0.5.11 · 2026-11-15 23:27 · ★ Star on GitHub

一个 Bot 的有效审批模板

A

本片解决什么

Issue #4211。基线 2b48ec7efda64c33466cfea4e0ed6791b1777a45。 当前 head bb6a5f96be5fc6375d92306148a862066b050aa3。 生成日期:2026-11-15。PR #4250。

Bot 在继承全局、特定模板、关闭三态中选一。特定模板完整替换全局。关闭 Reviewer 保留确定性授权。

选择 有效模板
继承全局 每次读取当前全局选择
特定模板 仅使用该模板
关闭 未覆盖的请求交给 Human
B

数据与权限 owner

既有 Bot Registry 保存选择。新建写入 @global,旧缺字段仍为关闭。 模板文件 owner 保存 Markdown 与 .selection.json。不新增数据库迁移或权限 owner。 认证 Host、在线 CLI 和 Client Select 使用相同命令。

C

一次审批的路径

确定性授权先处理,命中不调用 Reviewer。其余请求固定模板正文及 SHA-256 内容版本,再开始 Review。 Reviewer 仅允许当前调用或转交 Human。模型不保存规则,也不自主拒绝。 Human 卡片和开发日志保存当次模板身份、版本与安全原因。编辑和切换只影响下一次 Review。

D

失败与执行检查

主动清空全局选择与读取失败分开。缺模板、模型故障、超时、格式错误均转 Human,不选择其他模板。 日志写失败也不能阻止出卡。模板快照不替代当前所有权、Grant 与撤权检查。 生效策略管理跳过模型与 Full Access,保留 ADR-0249 的独立管理授权。

E

验证范围

Focused suite 128 项、管理 bridge 83 项、最终模板库 13 项通过;最终 head 类型检查和构建通过。完整 Windows suite 有未归因失败,已保留日志并停止;CI 与独立 Review 待父线程处理。

基线真实 Host 的 Reviewer 自主拒绝;最终 head 同一合成请求转 Human,Web Reject 与 Always allow 均实际操作。规则后续命中两次,包含 Off 状态,Reviewer 日志保持两次,合成规则已撤销。缺失 secret 引用在执行前被拒绝,没有运行 Shell。

真实 CLI 验证全局、动态继承、特定替换、Off、新 Bot;Web Select 逐项操作后用 CLI 读回。第一轮 head 启动曾超时及丢连接,保留失败证据;T3 两次快照超时后改用 Chrome 完成路径。两个 Host 及子进程已退出,端口已释放。

热路径保护:确定性授权零 Reviewer 调用;只有未覆盖 Review 读取并固定模板,哈希受现有模板大小上限约束。不从局部计时推断端到端提速。

本页是审阅说明,不是运行成功证明。三部分编辑、规则统一表和批量删除回退不在本片。

代码依据:Channel 审批 owner;模板文件 owner。