[Bug]: Antigravity subagent classification and child transcript lookup break on agy CLI 1.5.3+ / 2.0.0

Đang mở
#33,936 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
44/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
sqlite, typescript
Lĩnh vực
backend, devtools

Hướng nghiên cứu

Read apps/server/src/provider/acp/AntigravityChildWork.ts and AntigravityAdapterV2.ts, then trace the subagent classification, launch input decoding, child lookup and transcript paths, and post-settle continuation. Check the existing Antigravity tests and the related issues #30082, #30083, #31297, and #31316 for expected behavior. Done means agy CLI 1.5.3+ subagent calls render and resolve correctly, and completion wakes the parent turn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

What happened?

After configuring the Antigravity provider to use the standalone agy CLI (1.5.3 / 2.0.0, supported via #32503), native invoke_subagent calls fail to render as subagent items in the T3 Code timeline (falling back to plain dynamic_tool items) and cannot resolve child transcripts or wake the parent turn when finished.

Root Causes in AntigravityChildWork.ts & AntigravityAdapterV2.ts
  1. Tool call title mismatch in ANTIGRAVITY_SUBAGENT_TITLES:
    In apps/server/src/provider/acp/AntigravityChildWork.ts:

    const ANTIGRAVITY_SUBAGENT_TITLES = new Set([
      "Running start_subagent",
      "Run start_subagent?",
      "Running invoke_subagent",
      "Run invoke_subagent?",
    ]);
    

    In agy acp 1.5.3+ / 2.0.0, auto-approved subagent invocations report title: "Run invoke_subagent" (without the trailing ?). Because "Run invoke_subagent" is not in ANTIGRAVITY_SUBAGENT_TITLES, classifyAntigravitySubagentToolCall returns undefined and the tool call is recorded as a plain dynamic_tool instead of a subagent item.

  2. Flat single-subagent rawInput schema in decodeLaunchInput:
    decodeLaunchInput expects { Subagents: NonEmptyArray({ Role, Prompt }) } (from the legacy start_subagent batch tool). Current invoke_subagent passes a flat object:

    {
      "TypeName": "research",
      "Role": "Standards Code Reviewer",
      "Prompt": "..."
    }
    

    As a result, antigravitySubagentLaunches(toolCall.data.rawInput) fails to decode the role and prompt.

  3. call_* toolCallId format & antigravity-cli profile directory in readAntigravityChildWork:

    • findInvokeRecord assumes nativeTaskId matches ^(.+):(\d+)$ (<sessionId>:<plannerStep>). Under agy acp 1.5.3+ / 2.0.0 (e.g. with Gemini 4 Argon), ACP tool call IDs are emitted as call_<id> (e.g. call_6547981811302923638), which matches step.subagentInvoke.toolCallId in SQLite (STEP_INVOKE_SUBAGENT = 127) directly rather than <sessionId>:<idx>.
    • readAntigravityChildWork and readChildTranscript hardcode the "antigravity-acp" subdirectory (conversations/${sessionId}.db and brain/${conversationId}/...), whereas standalone agy CLI stores state under antigravity-cli when ANTIGRAVITY_CLI_CONFIG_DIR is not overriding the leaf layout.
  4. Asynchronous subagent completion wakeup dropped (#30082):
    In 1.5.3+ / 2.0.0, invoke_subagent returns immediately ("Subagent launched successfully in the background. conversationId: ..."), the parent ends its turn, and agy acp wakes the parent out-of-band via <SYSTEM_MESSAGE> when the subagent completes. Because AntigravityAdapterV2.ts omits enablePostSettleContinuation: true (tracked in #30082 / #30083), T3 Code settles the run on turn end and does not open a continuation run when the subagent finishes.

Related Issues / PRs
  • #32503 (agy CLI custom binaryPath support)
  • #31297 / #31316 (auto-approved subagent launch lookup)
  • #30082 / #30083 (resuming turns on subagent/background task completion)
Ngôn ngữ chính
TypeScript
Star
24.8k
Fork
6.4k
Merge trung bình
10 giờ 56 phút
Pull request đã merge (30 ngày)
226

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pingdotgg/t3code

Tất cả issue của pingdotgg/t3code

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.