Skip to content

Add Google Antigravity tracing integration - #18

Open
Stephen Belanger (Qard) wants to merge 4 commits into
mainfrom
t3code/assess-antigravity-integration
Open

Add Google Antigravity tracing integration#18
Stephen Belanger (Qard) wants to merge 4 commits into
mainfrom
t3code/assess-antigravity-integration

Conversation

@Qard

@Qard Stephen Belanger (Qard) commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a thin, fail-open Google Antigravity hook plugin for PreInvocation, PostInvocation, PostToolUse, and Stop
  • add a daemon translator that combines lifecycle hooks with bounded transcript_full.jsonl records to produce session, turn, LLM, and tool spans
  • preserve deterministic replay and correct multi-turn resume behavior when Antigravity resets its process-local invocation counter
  • allow resumed sessions to extend an already-ended root span and route explicit project IDs without registering a project name
  • add Antigravity to the shared bt trace enable and bt trace disable commands introduced by SDK-237 Add tracing enable and disable commands #29
  • publish the native Antigravity plugin to a generated distribution repository and install it through agy plugin install
  • add release automation plus post-deploy install, validation, and uninstall smoke coverage

Why

Antigravity's hook payloads provide model/tool lifecycle boundaries, while its full transcript contains the message and tool content needed for useful traces. Combining both sources makes the core integration feasible without changing Antigravity's permission behavior.

PreToolUse is intentionally omitted because its response participates in authorization. The adapter remains credential-free and fails open; authentication and destination routing stay in the bt host.

Setup behavior

bt trace enable antigravity installs or refreshes the published plugin from braintrustdata/braintrust-antigravity-plugin through Antigravity's native agy plugin install flow and persists the selected non-secret Braintrust route. Antigravity loads the plugin's own hooks.json; setup removes the legacy manually registered root hook entry to prevent duplicate delivery. bt trace setup antigravity remains available through #29's compatibility alias.

bt trace disable antigravity does not require Braintrust auth or destination selection. It uninstalls the managed plugin, removes any legacy Braintrust root hook entry, and removes the Braintrust-owned route file through #29's shared disable path.

Distribution

src/plugins/antigravity/content is the source of truth for the generated braintrustdata/braintrust-antigravity-plugin repository. The Antigravity manifest has no version field, so releases are versioned with monorepo and distribution-repository tags. The shared production and test release workflows now support Antigravity, and the post-deploy smoke workflow installs the GitHub repository using the latest agy, validates the installed plugin and hooks, and uninstalls it cleanly.

The live distribution repository is not created or published by this PR; it must exist before the first production release.

Live validation

A real Antigravity 1.1.12 session was delivered automatically through the daemon to the existing coding-agents project:

https://www.braintrust.dev/app/Braintrust%20SDKs/p/c77f5203-f2ef-4ed6-8f45-049d082bc5f0/logs?r=47982939-b057-5e9d-a4c1-b5a60425f0c3&s=47982939-b057-5e9d-a4c1-b5a60425f0c3

The resulting trace contains:

  • Turn 1 with an LLM tool request, successful list_dir span, and final LLM response
  • Turn 2 with its own correctly parented LLM span and response
  • a session root whose duration extends through Turn 2

The setup lifecycle was exercised through a locally built real bt host and installed agy CLI in an isolated Antigravity home. Initial enable, repeated enable, JSON output, route persistence, plugin discovery, and shared disable all passed without touching the user's active Antigravity configuration.

The published artifact shape was also installed directly from this PR's GitHub tree with agy 1.1.17, validated as a native hook plugin, listed, and uninstalled successfully.

Validation

  • make test
  • cargo test --manifest-path bt-daemon/Cargo.toml --all-features --locked
  • cargo clippy --manifest-path bt-daemon/Cargo.toml --all-targets --all-features --locked -- -D warnings
  • cargo fmt --manifest-path bt-daemon/Cargo.toml -- --check
  • actionlint on the release and Antigravity smoke workflows
  • DRY_RUN=1 DIST_REPO=braintrustdata/test-coding-agent-dist src/plugins/antigravity/publish.sh
  • isolated local and GitHub-backed agy plugin install, validate, list, and uninstall lifecycle with agy 1.1.17
  • git diff --check

The all-feature test run passed; four unrelated real-agent tests remained intentionally ignored because they require their respective installed CLIs or built extensions.

Current scope

This establishes the core hooks, translator, persistent setup, and production distribution path. Managed-run injection, historical import/attach, and Windows support remain follow-up work. After this repository change merges, the released bt CLI still needs its bt-daemon revision bumped to expose Antigravity in the shared commands.

@Qard
Stephen Belanger (Qard) force-pushed the t3code/assess-antigravity-integration branch 3 times, most recently from cf174ab to e6d2c36 Compare August 18, 2026 13:36
@Qard
Stephen Belanger (Qard) force-pushed the t3code/assess-antigravity-integration branch from e6d2c36 to a2ef920 Compare August 21, 2026 16:09
@Qard
Stephen Belanger (Qard) changed the base branch from main to t3code/add-trace-enable-disable August 21, 2026 16:09
Base automatically changed from t3code/add-trace-enable-disable to main August 24, 2026 11:49
@Qard
Stephen Belanger (Qard) force-pushed the t3code/assess-antigravity-integration branch from a2ef920 to e89bfee Compare August 24, 2026 11:51

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

are we going to make a repo for this?

@Qard
Stephen Belanger (Qard) force-pushed the t3code/assess-antigravity-integration branch from e89bfee to c2083f8 Compare August 27, 2026 18:10
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.

3 participants