[Bug]: Antigravity supporting turn fails executor startup on t3-code roots notification with Bad Request
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 22/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- typescript
调研方向
Start in apps/server, where the executor is built and the t3-code MCP startup sends notifications/roots/list_changed over ACP. The report says the T3 roots-change handler and several HTTP admission paths can each return 400, so first find which path handles that notification and what it rejects. Done means identifying the rejection reason, or adding redacted logging that shows the method, protocol version, session-header presence and status, and then a clean executor start for a text turn followed by a supporting turn.
由索引模型根据 Issue 内容生成。
描述
[!NOTE]
Written by GPT-6.1 Sol on behalf of @seankoji
Before submitting
- I searched existing issues and did not find an exact duplicate in the searches performed.
- I included enough detail to investigate the problem.
Area
apps/server
Steps to reproduce
Observed sequence on 13 November 2026, at 18:51 AEDT, UTC+11. This is an existing incident, not a newly run or proven deterministic reproduction.
- Start a fresh Antigravity session using
gemini-4-hydrogen-high, provider options{}, and runtime modefull-access. The assigned task was read-only. - Send an initial text-only prompt and wait for it to complete.
- Send a supporting message in the same session with three small WAV files and two small MP4 files, each below the native attachment size limits.
- All five uploads return HTTP 204. Stored-file byte checks match the prepared inputs.
- The supporting turn fails while constructing the executor, with the error below.
The observed input was a mixed WAV/MP4 message. A WAV-only synthetic reduction has not been run. The evidence does not establish that media is necessary to trigger the failure.
Expected behavior
After the initial text turn completes, the supporting turn should construct its executor and complete the T3 MCP startup/roots-notification exchange so the provider can process the message.
Actual behavior
Executor construction fails while sending notifications/roots/list_changed to t3-code, reporting HTTP 400 / Bad Request. The ACP request returns successfully carrying the host error, and T3 records the turn as failed.
A retained provider-local conversation receipt contains the complete original WAV bytes before the executor failure. This rules out alleging that these WAVs never reached provider-local storage. It does not prove backend receipt or native hearing. No audio-format or model-capability rejection was established.
Impact
Major degradation or frequent failure.
The affected supporting-media workflow cannot proceed to a usable result despite a successful first text turn and successful uploads. This report does not establish failure across all T3 sessions or providers.
Version or commit
T3 Code server 0.1.10-nightly.20261113.4616, verified as the actual running server during the existing investigation.
Environment
- Linux x64.
- Antigravity ACP provider, model
gemini-4-hydrogen-high. High is encoded in the model ID; provider options were{}. - Runtime mode
full-access, with read-only task scope. - Managed installation record and archive identify Antigravity 1.3.0. This is installation evidence only. The exact executed binary, per-run handshake version and any binary override are unknown.
- Browser/client and Node/Bun versions were not retained.
Logs or stack traces
Relevant retained ACP timeline, UTC on 13 November 2026, equivalent to 18:51 AEDT:
07:51:12.365 initial session/prompt started
07:51:17.426 initial session/prompt succeeded
07:51:20.255 supporting session/prompt started
07:51:20.296 ACP response returned carrying the host error
failed to construct executor: MCP load failed for t3-code: sending "notifications/roots/list_changed": Bad Request
Screenshots, recordings, or supporting files
None attached. This report contains only redacted observations.
Workaround
None verified. A later resumed text turn added no fresh media to its new stored input. Earlier backend-history retention is unknown, so that resume does not verify recovery of the supporting-media workflow.
Investigation limits and verification criteria
The exact HTTP 400 cause remains unresolved. Existing static inspection found a T3 roots-change handler and multiple HTTP admission paths that can return 400. No retained rejection headers/body identifies which path rejected this exchange. There is no evidence here for a specific missing-header defect or an unsupported-notification defect.
The installed MP4 path is separately gated by reported Antigravity version, platform and resolved model. This report does not establish native video delivery or a separate video-gate bug.
Useful verification would show a clean executor start for an initial text turn followed by a supporting turn on a verified runtime. If the rejection recurs, redacted method, negotiated protocol, session-header presence, HTTP status and rejection reason would make it actionable without private prompts, credentials or media. Native media perception needs separate verification after startup succeeds. No patch or verified fix is reported.
Related public context
- #17066 concerns native MP4 support.
- #24969 and its redirect to #25292 concern binary file-reading behavior. They do not cover this roots-notification executor failure.
- #20097 concerns MCP startup failure being recorded as completed. In this incident T3 correctly recorded failure; the reported bug is the startup exchange itself, not completion classification.
- 主要语言
- TypeScript
- 星标
- 24.8k
- 派生
- 6.4k
- 平均合并
- 59 分钟
- 30 天内合并 PR
- 418
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
pingdotgg/t3code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
via-triage
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 半天 新手友好度 68/100
维护者通常 1 天内回复
-
Question card options show LaTeX as raw source, though the question text renders it可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
[Bug]: Settings inheritance popover shows raw slugs for branch naming, default permissions and response streaming可能已有人在做 @juliusmarminge 于 1 天前认领。 未关闭vouch:denounced
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
nikoheikkila/nikoheikkila.fi#1131 ·
维护者通常 1 天内回复
-
Resources: Update work of urumqi可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 65/100
railmapgen/rmp-gallery#4176 ·
维护者通常 2 天内回复
-
GraphQL custom headers duplicate differently cased default headers可能已有人在做 @yxr-2025 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
github/forgoodfirstissue#574 ·