Skip to content

Switch coding-agent plugins to the Rust daemon - #3

Open
Stephen Belanger (Qard) wants to merge 2 commits into
agent/daemon-tracing-migrationfrom
agent/plugin-daemon-cutover
Open

Switch coding-agent plugins to the Rust daemon#3
Stephen Belanger (Qard) wants to merge 2 commits into
agent/daemon-tracing-migrationfrom
agent/plugin-daemon-cutover

Conversation

@Qard

@Qard Stephen Belanger (Qard) commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Dependencies and landing order

Stacked on #1, which introduces the shared Rust daemon while deliberately retaining the existing plugin implementations.

This PR must remain unmerged until the daemon is shipped in a released bt CLI. The intended order is:

  1. Land and release the Rust daemon through bt.
  2. Confirm the released CLI exposes the coding-agent daemon and hook commands.
  3. Land this plugin cutover.

Summary

This performs the plugin-side cutover to the shared Rust daemon. Codex and Claude Code tracing hooks become small fail-open Unix and Windows launchers that forward agent events to bt, installing or upgrading the CLI asynchronously when necessary.

The legacy Codex TypeScript server, compiled binaries, build scripts, and tests are removed because trace construction moves to Rust. The legacy Claude shell state machine and its test harness are likewise removed. Package builds become content-only, and validation rejects obsolete runtime directories so the two trace models cannot accidentally ship together.

Both plugins use the shared coding-agent tracing settings for enablement, project selection, turn-end flushing, and additional metadata. Authentication and backend resolution remain owned by bt.

The integration harness switches from #1's generated direct-hook fixtures to the simplified production plugin packages in this PR. Their launchers call the released bt trace hook command family on Unix and Windows, so the cross-platform matrix validates the actual plugin cutover rather than a parallel test-only path.

Validation

  • make test
    • Codex and Claude packages build and validate.
  • cargo test --manifest-path bt-daemon/Cargo.toml --all-features --locked
    • 50 tests passed; the two opt-in real-agent tests were ignored without explicit executable paths.
  • Real installed Codex and Claude Code sessions through the production thin plugins both passed against deterministic mock inference and ingest.

Replace the legacy Codex TypeScript runtime and Claude shell state machine with fail-open launchers for bt agents hook. Switch the real-agent integration harness from generated direct-hook fixtures to the production plugin packages so the stacked PR validates the actual cutover on every platform.

Signed-off-by: Stephen Belanger <stephen.belanger@braintrustdata.com>
@Qard
Stephen Belanger (Qard) force-pushed the agent/plugin-daemon-cutover branch from fce3233 to 2654cfb Compare July 30, 2026 15:23
Signed-off-by: Stephen Belanger <stephen.belanger@braintrustdata.com>
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.

2 participants