chore(cli): remove obsolete tracevault push command#119
Merged
softberries merged 2 commits intomainfrom Apr 22, 2026
Merged
Conversation
`push` was the legacy batch-at-end-of-session uploader. It POSTed a
monolithic PushTraceRequest (commit metadata + diff + tokens + full
transcript + session_data, all in one blob) to
/api/v1/orgs/{slug}/traces. That endpoint is no longer wired in the
server — any POST to it gets a 404 today.
In the current pipeline the same data flows through two real-time
paths installed by `init`:
- `tracevault stream` (Claude Code hook): per-event POST to /stream,
writes sessions / events / file_changes / transcript_chunks
- `tracevault commit-push` (git post-commit hook): per-commit POST to
/commits, writes commits / commit_attributions / branch_tracking
Both run automatically. The dashboard's GET endpoints under /traces/*
(analytics, session detail, commit detail, timeline, attribution,
branches) read from the same tables and keep working unchanged — only
the write path changes.
Verified no callers:
- Not wired into any hook (pre-push runs sync+check, post-commit runs
commit-push)
- GitHub Action only calls `verify`
- Enterprise submodule: no references
- Web dashboard: GETs only, never POSTs
Changes:
- Delete crates/tracevault-cli/src/commands/push.rs (852 lines)
- Remove `pub mod push` from commands/mod.rs
- Remove `Cli::Push` variant and handler from main.rs
- Remove PushTraceRequest, PushTraceResponse, and ApiClient::push_trace
from api_client.rs
- README: drop `tracevault push` from the pre-push hook example, the
commands table, and the authenticate section. Rewrite the latter to
surface `flush` (retry queue) instead.
- crates/tracevault-cli/README.md: replace the quick-start `push`
example with `check` and `flush`.
…mand # Conflicts: # README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
`push` was the legacy batch-at-end-of-session uploader. It POSTed a monolithic `PushTraceRequest` (commit metadata + diff + token totals + full transcript + session_data, all in one blob) to `/api/v1/orgs/{slug}/traces`.
That endpoint is no longer wired in the server — any POST to it gets a 404 today. The CLI command has been calling a missing endpoint and just hasn't been used enough for anyone to notice.
The replacement is already there
In the current pipeline the same data flows through two real-time paths installed by `init`:
Both run automatically. The dashboard's GET endpoints under `/traces/*` (analytics, session detail, commit detail, timeline, attribution, branches) read from the same tables and keep working unchanged — only the write path changes.
Investigation summary
Before removing I verified there are no callers anywhere in the tree:
Every field `PushTraceRequest` set (`total_tokens`, `cache_read_tokens`, `model_usage`, `compactions`, …) is now captured by `/stream`'s `final_stats` or `/commits`' `diff_data`. No data loss.
Changes
Paired website docs PR to follow.
Test plan