修复 Native shell 委派协议回归
Project CI / Repository checks (pull_request) Successful in 1m13s
Project CI / Frontend tests (pull_request) Successful in 3m4s
Project CI / Backend tests (pull_request) Successful in 4m7s
Project CI / Native shell tests (pull_request) Successful in 14m30s

兼容未携带澄清字段的既有委派工具调用

同步原生委派 schema 契约测试

调整试玩失败门禁优先级并补充反向回归

记录委派协议演进与门禁优先级约束
This commit is contained in:
2026-08-12 19:48:01 +08:00
parent 4be14df443
commit 77983c05ed
4 changed files with 98 additions and 15 deletions
@@ -4740,6 +4740,8 @@
- 正确路径:child 返回短小的 `AGC_NEEDS_USER_INPUT_V1` envelope;Runtime 生成 `needs-user-input` delivery,父 Supervisor 认领后创建自己的 durable `user.input_request`。回答仍绑定原父 run,续建 child 由稳定 delegation identity 幂等控制。
- 验证:重复 wake / Runner 重启不得创建第二个用户输入 action;问题数量、字段长度、问题 SHA 和答案 SHA 不匹配时必须 fail-closed。child 直接请求用户输入仍应保持拒绝。
- 恢复加固:正常 completed child 的最终回复也必须进入 envelope 解析;回答后 pending 会被下一轮动作替换,因此 continuation 不能读取 current pending 作为证据,必须读取原 delivery 上的 durable request/answer 绑定。多个 child 各用一条用户请求逐一收束,禁止把不同 delivery 的问题和答案指纹拍平混用。
- 协议演进:`agent.delegate` 的澄清 continuation 字段虽然在 strict schema 中是 required nullable,但 Runtime 解析器仍必须接受完全未携带这三个字段的既有调用;只允许三者全缺失、全 `null` 或全为合法字符串,部分出现、部分字符串和非法 SHA 均失败关闭。新增 schema 字段时要同步原生函数目录断言与旧调用回归,避免协议修复轮次打乱 Supervisor 协作计划。
- 门禁优先级:已经存在真实 `preview.validate` 失败 observation 或 durable `failed_playtest_revision` 时,具体试玩修复与新 revision 重新验证门禁必须先于通用“首次 mutation”门禁;否则 Runtime 会把明确的试玩修复错误收窄成普通 pre-mutation repair,导致 Supervisor 无法选择正确的协作动作。
## 无限画布延迟草稿与零位移不能制造新状态(2026-08-11)