Skip to content

Reuse the shared digest check for steward executor adoption - #8596

Merged
huangruiteng merged 1 commit into
mainfrom
codex/steward-adoption-digest-owner-20261111
Nov 11, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/steward-adoption-digest-owner-20261111

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Steward executor adoption validates the machine configuration revision when it reconciles the original session. The reconciliation path added by #8592 defines its own SHA-256 matcher, so the existing single-owner guard fails on main.

Use the shared enveloped digest matcher for this check. It accepts exactly the same revisions and leaves the executor and session checks unchanged.

Validation: the existing digest ownership guard fails on the current main checkout and passes with this change. The digest and conversation binding suites pass, along with the control-plane TypeScript check.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max

本次评审对应提交 f9c0ee1bf0fb1b29b129bf9b7ff9aee8066a72b0。

动机 / Motivation

使用原会话继续工作的 Steward 用户,以及需要验证接续规则的维护者,会遇到这个路径。Steward 在启动时要把已经采用的执行器接回原会话。原路径内嵌了一份和共享校验完全等价的 SHA-256 规则,导致主干的规则归属检查失败。改用已有的带前缀摘要校验。同一原会话可以接续,格式错误、分配不匹配、待办队列非空和外部操作者变动仍被拒绝。已恢复摘要只有一个定义;真实接续保留原会话、历史消息、已完成 Turn 和待接续请求。本次只归并已存在的校验,不更改会话权限、UI、调度或模型选择,也不声称验证了新的接续场景。

改动思路 / Approach

摘要格式归共享模块,接续决定仍由会话绑定负责。只替换重复判断,保留原状态和拒绝顺序。 两个正向请求和十五个格式、身份及队列负例经同一个 Effect RPC 做了对照;基线与候选的完整结果相同。

具体改动 / Changes

关键代码讲解

以 docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md @ 8e8a60d 为准。§5.14、BINDING-IDENTITY 与 QUIESCENCE 均保留。planConversationBinding 先核对原会话、执行器分配及队列,再让已有的 ENVELOPED_SHA256_PATTERN 检查修订格式。现有接续测试 仍能读回同一会话里的待接续请求和终局,且重跑不会重复发布。

对主干的风险 / Risks

基线 98 项相关 TypeScript 测试中只有摘要归属检查失败;本提交 98 项均通过。真实本地会话的六种接续与拒绝场景在两个提交均通过,故障后的重入也保留原结果。

语义与 CI 对齐

两个正向与十五个负向 Effect RPC 请求结果及拒绝原因逐项一致;typecheck、diff、双语 RFC 检查通过。没有查托管 CI,也没有执行真实模型调用。

我的整体评价 / Verdict

没有阻塞发现。现有摘要归属已归并,原会话接续、身份和权限边界保持。无需附加兼容层或更大重构。检查了原会话与请求读回;本次无前端、Lark 界面或渲染布局改动。独立接续用例使用隔离存储与合成执行器,未验证生产会话。

English verdict: APPROVE. At f9c0ee1, the shared digest check removes the ownership failure and preserves all 17 paired adoption decisions and six real local lifecycle cases.

@huangruiteng
huangruiteng merged commit d41b2da into main Nov 11, 2026
38 of 46 checks passed
@huangruiteng
huangruiteng deleted the codex/steward-adoption-digest-owner-20261111 branch November 11, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants