Skip to content

fix(manager): verify subject ownership before preserving handoff routes - #7519

Merged
huangruiteng merged 1 commit into
mainfrom
codex/manager-subject-owner-routing-20261028
Oct 28, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/manager-subject-owner-routing-20261028

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

角色简称和先前投递可能把请求持续留在错误接收者:即使主题工作、近期交付和后续纠正指向另一位 Agent,旧投递仍可能被误当成负责人证据。本 PR 将这次管家修复提交到公共指令源,而非只保存在单机工作区。

  • 管家结合请求主题、项目、用途、落点、目录、当前工作与相关近期交付选择接收者;角色简称只用于发现候选,显式 Goal/Agent 身份仍优先。
  • 被质疑的旧路线需要重新核验。正确交接与原接收者的归属纠正分别核回执;已送达的不重发,也不把送达写成撤回、采用或完成。保留纯解释、真实歧义、缺少投递权限及无匹配 Todo 的边界。
  • 更新共享 Turn 指令、manager context 版本 22 和受管技能 v5,覆盖已有会话与 v3/v4 技能升级;保留自定义 owner 指令和非受管技能。复用既有投递权限、协作路径和返回通道,没有新增路由分类器或状态权限。

添加 9 个公开合成路由场景,复用现有发布评测器,并拒绝同时交接和创建新 Goal 的竞争输出。离线 oracle 覆盖错误接收者、丢失 brief 引用、重复投递、额外状态操作和冗余确认;这些测试验证指令交付与解析/评分契约,不证明模型已经按规则选择或接收者已经采用。

验证基线:b69021498ef7483b1d2b190bc3f4c7bb6675c882。

  • 相关 intake、manager context、response parsing 测试:117 passed。
  • 扩展四文件测试在本机为 521 passed / 52 failed。未修改基线的 test_chat_agent.py 同样出现 52 个失败,逐项集合一致,均涉及原有 native provider 校验路径;未将其计为通过。
  • Ruff、diff、公开边界与标准 premerge 通过:19 项 catalog/risk/boundary 检查,另含 6 项直接检查,零失败。
  • 最初 premerge 保留了两个失败:缺少本地 TypeScript 依赖,以及 chat_agent.py 从 2005 到 2007 行超过继承上限。安装既有锁定 devDependencies 后重跑;仅将该文件的 reviewed line ceiling 同步到 2007。新增两行承载旧投递非归属、纠正不等于撤回两项义务;AST statement/decision-node 数保持 912/500,不压缩掉有用指令,也不提高调用、配额或运行预算。

边界:没有界面布局或设置变化,不需要新增截图。未运行发布专用付费模型评测,未安装到运行中的管家,未认领长期可靠性、接收者采用或 RFC 修订完成。更大范围的 prompt 模块拆分本次不引入;复用共享指令源与现有版本刷新即可覆盖两个实际消费者。

…ing a route

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.

Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max

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

动机 / Motivation

通过管家把已有主题研究交给负责 Agent 的用户。先前误投的消息可能被继续当作负责人证据;修改后要求先核主题、当前工作和近期交付,再保留或纠正路线,已送达的纠正不重复发送。独立检查确认新指令进入共享 Turn 提示和受管技能更新;离线反例拒绝错误目标、丢失原始引用以及交接同时创建新 Goal。本 PR 交付指令刷新与离线评测切片;不声称模型选人准确率、真实投递、接收者采用或任务完成已验证。真实模型在完整发现、选择、纠正、接收采用和原会话返回上的表现仍待既有发布资格验收。

改动思路 / Approach

复用共享 conversation intent 指令、受管技能刷新和现有 parser/scorer;主题判断仍由管家推理,投递授权与状态变更仍归原 typed owner。当前边界是可实际加载的指令纠偏和可判别离线 oracle,没有新增路由分类器、配置或调度流程。可直接使用原始请求、显式身份与既有授权;真正缺失的意图与权限仍需如实指出。

具体改动 / Changes

  • 共享 intent 指令明确主题、项目、用途和落点优先;简称、目录顺序、可用 binding 及旧投递都不能单独证明归属,显式 Goal/Agent 纠正仍优先。
  • 修正交接与旧接收者的归属纠正分别看原回执;已送达不重发,不把送达声称为取消、采用或任务完成。原授权边界不变。
  • manager context 升到 22,受管技能升到 v5,经现有 reopen/refresh 到达已有会话;自定义 owner 指令和非受管技能保持。九个公开合成场景复用既有评测器,新增 competing_intents 拒绝。
  • module line ceiling 从 2005 到 2007:实质增量是有用的指令,未改变 AST statement/decision 预算或调用、费用上限;当前 ratchet 已通过,不通过删义务压行数。

关键代码讲解

  • CONVERSATION_INTENT_RESOLUTION_INSTRUCTION:共享的语义决策指令,约束主题归属和误派修正。旧泛化简称规则明确为主题/项目/用途/落点证据;旧投递不再被误认作归属证明。
  • manager_workspace:刷新受管技能,同时保留自定义 owner 文本与非受管技能。当前 marker 到 v5,支持已有 v3/v4 升级;已有 Session 的 context version 到22。
  • score:发布评测的离线结构 oracle,检查竞争意图。同一输出同时 handoff 与 goal_draft 原先可通过,现在报 competing_intents。

规范依据:docs/product/use-cases/steward/golden-queries.md,不可变 revision b69021498ef7483b1d2b190bc3f4c7bb6675c882。按修改前的契约评审,不用本 PR 改写的规范证明自身:

  • GQ03 — deferred:117 项 native tests 与完整 prompt/workspace 对照支持源码增量;完整 GQ03 旅程仍待既有发布验收。。
  • GQ07 — deferred:九个离线场景、错误 Goal/丢失引用反例及 v3/v4/custom-owner 读回通过;模型采用和实际返回未验证。。

对主干的风险 / Risks

最强风险是把“保留既有 owner”继续误用为“保留错误投递”,或通过纠正措辞暗中增加取消与状态写入权限。逐条对照已保留显式身份、原始 brief、当前授权、一次必要纠正与不重复发送;这些是模型指导,不是机器已经执行的归属校验。离线 oracle 的通过不能证明真实模型会按规则选择。

PASS:117 项 intake/context/parsing 测试;同一不可变 base 和 head 上的 test_chat_agent.py 各 456 项通过。完整八种提示中六种非 manager 路径逐字相等,两种普通 manager 路径仅替换已审共享常量;v3/v4 受管技能刷新、自定义 AGENTS 和非受管技能读回通过。九个合法合成输出相同,五个 handoff+goal_draft 竞争输出在 base 被误接受、head 被拒绝。作者报告的历史 52 项失败在本次隔离环境未复现;保留该历史,不虚构其根因或改写为已修复。

标准 premerge 的 6 项直接检查、19 项选中检查与 Ruff 均 PASS,零 manual hold。两行 module ceiling 调整保留完整义务,未扩大执行或费用权限;没有运行付费模型评测。未查询、轮询或等待 CI。

语义与 CI 对齐

复用现有 handoff/receipt 状态,只增加本地 managed marker/context revision;引用字符串检查只属于离线 oracle,没有引入生产关键词分类器。指导、机器门禁和实际操作授权保持分开。当前源码切片的独立验证支持结论,CI 状态不替代这些证据。

我的整体评价 / Verdict

未发现阻塞性问题,APPROVE 此精确 head bca5e7ef997a201739498ff92a089604b5503c8b 的 justified increment。long_horizon 与 user_experience 在已验证源码边界内 preserved;当前边界是可实际加载的指令纠偏和可判别离线 oracle,没有新增路由分类器、配置或调度流程。兼容分支保留了实际消费者,更大的 prompt 模块拆分本次延后,继续复用共享常量与既有刷新 owner。不以测试数、回执或该 PR 代替父级整体交付与收益证明。

本次未改变渲染页面;检查的是完整模型输入、受管工作区文件和已有响应解析路径。实际模型理解、线上投递、接收采用和独立用户体验收益未验证。真实模型选择、实际纠正投递和接收采用仍需既有发布资格链验证。批准不授予合并、安装或其它受保护操作权限。

English verdict: APPROVE bca5e7e; the bounded source change is independently validated, with installed/model adoption and full-cost benefit unverified.

@huangruiteng
huangruiteng merged commit fbe6bb6 into main Oct 28, 2026
31 of 42 checks passed
@huangruiteng
huangruiteng deleted the codex/manager-subject-owner-routing-20261028 branch October 28, 2026 03:59
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