Skip to content

feat(config): 外部 agent 强度上限,修复 comment-sicko 在 Antigravity 被跳过 - #18

Merged
mtmtian merged 6 commits into
mainfrom
claude/xagent-effort-caps
Oct 18, 2026
Merged

mtmtian merged 6 commits into
mainfrom
claude/xagent-effort-caps

Conversation

@mtmtian

@mtmtian mtmtian commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

问题

  1. 合并 feat(policy): 多方环节按上游思路跨厂商:独立验证角色、辅助成员、agent 定义优先的推理强度 #17 后跑了真实跨厂商 E2E。共享强度 xhigh 传给 agy 后,gemini-3.8-flash 报 has no "xhigh" effort (available: low, medium, high),两个 host 的 gemini 评审席位都连续两次 DROPOUT。契约规定不支持的强度不会悄悄降级,所以需要一个显式上限。
  2. agy plugin validate --strict 报 agents/comment-sicko.md 的 frontmatter 无效:tools 是逗号字符串,Antigravity 要求列表,于是加载时跳过这个 agent。
  3. scripts/xagent-e2e.sh 把 grok 写死在要测的厂商列表里,grok 暂停订阅后这部分必然失败。

改动

  • 新增共享字段 xagent_effort_caps(如 {"gemini": "high"}):主会话给外部 agent 传 --effort 时不超过它的上限,降过档就在报告里写明;只限制强度,不换模型。只能写在共享层,null 删除。成员名单和上限共用一个"仅共享层"校验入口。契约、poteto-mode、setup-pstack、中英文 README、ADAPTATION 同步;antigravity-runtime 补上 feat(policy): 多方环节按上游思路跨厂商:独立验证角色、辅助成员、agent 定义优先的推理强度 #17 漏写的 auxiliary_panel_members 和新字段。
  • T3 的 config.mjs resolve 也套用上限:xagent worker 的 effort 已按上限降档,并带上和 T3 worker 一致的 warnings,降档时写明原因(Codex 评审意见)。
  • comment-sicko 的 tools 改成 YAML 列表 [Read, Grep, Glob]。
  • xagent-e2e.sh 的写修复、评审、选择矩阵改为可用 XAGENT_E2E_AGENTS 选择厂商,兜底评审可用 XAGENT_E2E_REVIEWER 覆盖,默认值不变;探针、嵌套派发、超时和 codex-host 用例始终调用 codex、gemini(agy)和 pi。
  • E2E 证据解析器修复:Codex 主会话 fork 出的子 agent,rollout 开头会复制主会话的 session_meta 和 turn_context,解析器原来会被复制的记录覆盖,把已完成的原生评审判成 failed、模型为空。现在跳过带主会话 turn_id 的复制记录,linked 只认子线程自己的 session_meta。
  • 两个 manifest 升到 0.15.25-shared.8。

验证

项 结果 证据
全量门禁 PASS bash scripts/check.sh → all checks passed.(Node 79 条)
上限测试能抓到缺陷 PASS 2 条新测试在 main 的 helper 上失败(29 pass / 2 fail),在本分支上全部通过(31 pass)
T3 解析器降档 PASS scripts/t3-targets.test.mjs 24 条通过;换回旧解析器时新测试失败(22 pass / 2 fail)
comment-sicko 在 Claude 里仍只读 PASS 用临时插件副本跑 headless Claude(haiku):字符串写法和列表写法下,子 agent 报告的工具都只有 Read、Grep、Glob;去掉 tools 的对照组报告 425 个工具(含 Bash、Edit、Write)。依据:Claude Code 文档写明 tools 接受逗号字符串或 YAML 列表
Antigravity 能加载 comment-sicko PASS agy plugin validate . --strict:agents 从 1 变成 2,只剩 AGENTS.md 不会被加载的 warning(那是仓库维护说明,本来就不该加载)
claude plugin validate PASS 只有之前就有的 marketplace 缺描述 warning
真实跨厂商 E2E 第二轮(7b83650 + gemini: high) PASS(claude host)/ 见下(codex host) claude host 10 项全过:Codex 评审 gpt-6-astra xhigh、gemini high、pi、原生评审 claude-opus-5-5 都 PASS。codex host 唯一失败是原生评审被误判(即上面的解析器问题)
修复解析器后按记录的证据复算 PASS 用开发 checkout 的脚本复算:第二轮 codex host 的评审项由 False 变 True,两个 host 全部检查通过;第二轮 claude host 与记录完全一致(复算可信);第一轮两 host 结果不变(gemini 真实掉线没被掩盖)
解析器回归测试 PASS 新测试覆盖 fork 后完成/未完成;旧解析器得到 ('failed', None, False),与真实失败一致
厂商级 E2E(XAGENT_E2E_AGENTS="codex gemini pi",claude 已登录自动加入;部分证据,未含 grok,订阅暂停) PASS 47 项 ok、0 项 FAIL,含 agy 写修复、只读评审、白名单外命令被拒、agy 权限与共享白名单一致

🤖 Generated with Claude Code

mtmtian and others added 3 commits October 18, 2026 15:02
真实跨厂商 E2E 里,共享强度 xhigh 传给 agy 后,gemini-3.8-flash 报
"has no xhigh effort (available: low, medium, high)",每个 gemini 席位
都 DROPOUT。契约规定不支持的强度不悄悄降级,所以需要一个显式上限。

新增共享字段 xagent_effort_caps(如 {"gemini": "high"}):主会话给外部
agent 传 --effort 时不超过它的上限,降过档就在报告里写明;只限制强度,
不换模型。只能写在共享层,null 删除。成员名单和上限共用一个"仅共享层"
校验入口。antigravity-runtime 补上漏写的 auxiliary_panel_members 与新字段。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
agy plugin validate --strict 报 comment-sicko 的 frontmatter 无效:tools
是逗号字符串,Antigravity 要求列表,于是加载时跳过这个 agent。Claude Code
文档写明 tools 接受逗号字符串或 YAML 列表;用临时插件副本在 headless Claude
里实测,两种写法下 comment-sicko 都只拿到 Read、Grep、Glob,去掉 tools 的
对照组则拿到 425 个工具(含 Bash、Edit、Write)。改后 agy 加载 2 个 agent。

xagent-e2e.sh 的厂商列表和 claude 未登录时的兜底评审改为可用
XAGENT_E2E_AGENTS / XAGENT_E2E_REVIEWER 覆盖,默认值不变;grok 暂停订阅时
可以不带它跑。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
发布 xagent_effort_caps 与 comment-sicko 的 frontmatter 修复,两个
manifest 按 docs/guide/01-setup.md 的要求一起升级。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T07:44:05.866126Z 06c0e36 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7b8365008d

ℹ️ 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".

Comment thread bin/config.mjs
Comment thread scripts/xagent-e2e.sh
mtmtian and others added 2 commits October 18, 2026 15:21
T3 按 config.mjs resolve 的输出派发外部 worker,而解析器对 xagent 条目
直接返回请求的强度,T3 上 gemini 仍会拿到 xhigh 并 DROPOUT。现在 xagent
worker 的 effort 已按上限降档,并带上与 T3 worker 一致的 warnings 数组,
降过档时写明原因;t3-runtime 同步说明,新测试覆盖降档、不受限的 agent
和低于上限的单次强度。

xagent-e2e.sh 的 XAGENT_E2E_AGENTS 说明收窄为只选择写修复、评审和选择
矩阵里的厂商:探针、嵌套派发、超时和 codex-host 用例始终调用 codex、
gemini(agy)和 pi。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
第二轮跨厂商 E2E 中,codex host 的原生评审实际已完成(首尾快照、结论
No findings、task_complete),校验器却记为 failed、模型为空。原因是那个
子 agent 由主会话 fork 而来:它的 rollout 开头复制了主会话的 session_meta
和 turn_context。解析器每遇到一条 session_meta 就覆盖 linked,于是被复制
的那条改成 False;两条 turn_context 的模型不同,resolved 也变成空。

现在跳过带主会话 turn_id 的复制记录和不属于该子线程的条目,linked 只认
id 为子线程本身的 session_meta。新测试覆盖 fork 后完成和未完成两种情况;
换回旧解析器时它得到 ('failed', None, False),与真实失败一致。

Co-Authored-By: Claude Opus 5.5 <[email protected]>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 06c0e36202

ℹ️ 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".

Comment thread scripts/xagent-e2e.sh
xagent skill 说 xagent-e2e.sh 会"在两种模式下跑每个 agent、调用每家厂商"。
有了 XAGENT_E2E_AGENTS 之后,只选部分厂商的运行不再满足这一点,却可能被
当成完整的跨厂商证据。现在写明:默认才调用每家厂商;选了子集时,两种模式
只覆盖列出的厂商,固定用例仍会调用 codex、gemini 和 pi,记录时要标为部分
证据并写出被排除的厂商。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@mtmtian
mtmtian merged commit ad65028 into main Oct 18, 2026
3 checks passed
@mtmtian
mtmtian deleted the claude/xagent-effort-caps branch October 18, 2026 11:41
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.

1 participant