Uh oh!
There was an error while loading. Please reload this page.
Address remaining SDK-288 tracing UX issues - #39
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:0317e8ef77
ℹ️ 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 (@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 (@codex) address that feedback".
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
## Summary Implements the `bt`-owned SDK-288 work: - SDK-272: make `trace enable` / `trace setup`, `trace run`, and `trace import` complete from credentials already available to the command. `BRAINTRUST_API_KEY` remains invocation-local for run/import; persistent setup materializes it into a normal saved profile for future hooks; interactive commands collect a missing key, org, or project instead of requiring a separate login step. - SDK-274: require explicit consent before ordinary `bt login` saves `BRAINTRUST_API_KEY`; persistent tracing setup itself is the explicit request to create the durable login it needs. - SDK-270 / SDK-275: keep bare `bt status` concise; expand saved profile and credential-storage details only under `--all`, and show precedence only for an active environment override. - SDK-276: clarify that logout is local-only and add a one-confirmation `logout --all` flow with per-profile JSON results. Profile deletion clears config references before removing metadata, and rename stages both names while references move so config never points to a missing profile. - SDK-273: provide side-effect-free, credential-redacted auth provenance to `bt trace doctor`. - SDK-277: add `bt profiles doctor` and `bt profiles repair`. Automatic diagnosis and cleanup operate on the enumerable plaintext fallback store; explicit deleted profile names can be repaired across the OS credential store and plaintext fallback without unsafe keychain enumeration. - SDK-278: format no-browser/remote OAuth as labeled authorization, callback, credential-storage, and logged-in-profile sections while keeping JSON and quiet output clean. - SDK-281: advance the embedded daemon to the integrated plugin-monorepo `main` commit containing PR #39 and stable trace profile IDs. ## Dependency braintrustdata/braintrust-coding-agent-plugins#39 has been merged. This PR pins plugin-monorepo `main` at exact commit `202b3e305ea7ff74bc6ea117f46a32cc18b61b25`, which contains both the PR #39 import/setup fixes and the subsequent stable-profile-ID migration from #44. ## Validation - `cargo fmt --check` - `cargo clippy --all-targets --locked -- -D warnings -A clippy::collapsible_match` - `cargo test --all-targets --locked -- --skip eval::tests::eval_args_from_env_populates_supported_fields --skip eval::tests::eval_args_parse_first_sampling_flag --skip eval::tests::eval_args_parse_max_concurrency_flag` - 793 unit tests passed; 3 known eval argument-parser tests skipped - 62 CLI tests passed - dataset, eval dev-server, eval fixture, functions, and setup integration suites passed - focused regression proving environment-auth setup persists and routes by the new stable profile ID - `cargo check --locked` - `git diff --check` The three excluded eval tests fail without these changes because their parser inputs combine `--dev` with `--max-concurrency`, which clap declares mutually conflicting. Current Rust 1.95 clippy also reports unrelated `collapsible_match` findings in existing dataset, SQL, and trace code; the repository's existing lint invocation allows that lint.
Summary
BRAINTRUST_API_KEYAddresses SDK-279, SDK-280, SDK-282, and SDK-284.
Validation
make testcargo test --manifest-path bt-daemon/Cargo.toml --all-featurescargo clippy --manifest-path bt-daemon/Cargo.toml --all-features --all-targets -- -D warnings