Repository navigation
feat(policy): 多方环节按上游思路跨厂商:独立验证角色、辅助成员、agent 定义优先的推理强度 - #17
Conversation
上游要求 orchestrate 的 verifier 和 show-me-your-work 的收尾复核换一个 模型家族来做。fork 之前让验证 worker 读 swarm workers,而这个角色同时管 swarm 的分片与竞速 worker,想让验证在某个 host 上换成另一家,就得连 swarm 的实现一起换掉。 新增 verification workers:poteto-mode 的验证 worker、swarm 里验证别人 工作的 lane(如 autopilot 的 swarm-verify)和收尾复核都读它;T3 的候选 角色传入没写这份工作的那个 provider。setup-pstack 写明按 host 指向另一家, ADAPTATION 记录这条本地决定,check-fork 加三条正向守卫。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
发布 verification workers 角色拆分,两个 manifest 按 docs/guide/01-setup.md 的要求一起升级。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b4be5fdb2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
references/t3-runtime.md 写明 provider 名称本身不能确定模型家族,同一个 provider 可能代理别家的模型。原措辞让 verification workers 选"没写这份 工作的 provider"并当作跨家,两个 provider 背后是同一家时会误报。现在按 候选解析出的模型家族挑选;所有候选都和被检工作同家时,标为同家族复核。 setup-pstack 也改成按模型家族列候选。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
xagent 席位从不替换、也不允许少一席收尾,所以作为辅助的外部 agent (如 gemini)一旦连续失败,整组评审就卡住,要用户放弃那一席才能收尾。 上游靠"同家族退回默认模型"保住可用性,xagent 席位走不了这条路。 新增共享字段 auxiliary_panel_members:列出的外部成员按同样规则重试一次, 仍失败就记为覆盖缺口,不计入覆盖与共识结论,也不阻塞其余成员已完成的 评审组;它不会被替换,也不会让角色或其他成员变成可选。它不往评审组里加人, 校验规则与 required_panel_members 相同(只能写在共享层,null 删除), 两份名单共用一个校验函数。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
原契约在设了 reasoning_effort 时把强度传给每个原生子 agent,会盖掉 ~/.claude/agents、~/.codex/agents 里各自配的推理强度。现在 agent 定义 自己设了强度的就保持定义里的值,共享强度只作用于 xagent 外部 worker 和定义里没设强度的子 agent;外部 CLI 不传强度时会沿用用户交互用的默认值, 例如 codex 的 low。真实 host E2E 的 prompt 改为把原生 worker 派成 没有自带强度的 agent 类型,继续覆盖"强度传到原生 worker"这条路径。 fork 的 inherit-parent 默认值在多方环节只有一家,上游默认是两家。 setup-pstack 现在在另一家 CLI 已登录时提出跨厂商布局:每个评审组是 本 host 模型加另一家,裁判池只放另一家,辅助厂商标为 auxiliary; 写入前先跟用户确认。README、ADAPTATION 同步记录这些决定。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
这条规则是 reasoning_effort 的跨 host 语义,之前只写在 claude、codex 两个适配文件里,共享契约仍暗示强度会传给每个 worker。现在 runtime.md 写一次原则,适配文件只保留各自的字段名。claude-runtime 开头"默认用主 会话模型"补上"除非 agent 定义自己设了模型",和同一行的新规则不再矛盾。 Co-Authored-By: Claude Opus 5.5 <[email protected]>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d5593d561c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| roles: { ...config.roles, ...hostPolicy.roles }, | ||
| panels: Object.fromEntries(Object.entries(panels).map(([name, panel]) => [name, withRequired(panel)])), | ||
| [REQUIRED_MEMBERS]: [...required], | ||
| [AUXILIARY_MEMBERS]: [...(config[AUXILIARY_MEMBERS] ?? [])], |
There was a problem hiding this comment.
Update the Antigravity policy contract
When --host antigravity reads a config containing this new field, the output now includes auxiliary_panel_members, but references/antigravity-runtime.md:13,21 still explicitly enumerates the returned/displayed shared values without it. Antigravity workflows are required to read that adapter, so they can ignore the auxiliary designation and continue treating a failed auxiliary xagent as a blocking required outcome; document the field and its nonblocking panel semantics in that adapter alongside this output change.
Useful? React with 👍 / 👎.
问题
上游 pstack(钉住的 0.15.25)在多方环节默认就混用两家模型:评审组、方案 runner、arena 裁判都是 Claude + Grok,verifier 和 show-me-your-work 的收尾复核要求换一个模型家族。fork 适配到 Codex / Claude Code 后,默认值换成了
inherit-parent,跨厂商完全依赖~/.config/pstack/config.json。按上游思路对照,有四处不足:swarm workers。想让验证换成另一家,就得连 swarm 的实现一起换。reasoning_effort后,强度会传给每个原生子 agent,盖掉~/.claude/agents、~/.codex/agents里各自配的推理强度;不设的话,外部 CLI 又会沿用交互用的默认值(本机 codex 是 low)。改动
verification workers角色。验证 worker、swarm 的验证 lane、收尾复核都读它,swarm workers只管分片和竞速。T3 候选角色按解析出的模型家族挑和被检工作不同家的;所有候选都同家时,标为同家族复核。check-fork 加 3 条守卫。auxiliary_panel_members:列出的外部成员重试一次后仍失败,记为覆盖缺口,不阻塞其余成员已完成的评审组。它不会被替换,也不会让角色或其他成员变成可选。它不往评审组里加人;只能写在共享层,null删除。ADAPTATION、README(中英文)、setup-pstack 同步记录。两个 manifest 升到
0.15.25-shared.7。验证
bash scripts/check.sh→all checks passed.:fork guards(23 条必需的本地决定)、Node 77 条、Python 18+8+9+22+26 条、Bun 111 条,runtime 产物与源码一致check-fork.mjs报verification-workers-role: no matchbin/config.mjs换回改动前的版本,2 条新测试失败(27 pass / 2 fail);恢复后 29 条全部通过shared.6)读含新字段的配置也正常限制
why的调查员和综合者依赖 MCP,两家 CLI 接的 MCP 只重合 3 个,所以why有意保持同一家。🤖 Generated with Claude Code