Export and sync the conversation by default (messages profile) - #23
Merged
Conversation
…sages` profile The VibeMon product needs the natural language of a session — what the person asked and what the agent said it was doing — on the server, without sending commands or tool output. Three pieces: - The installer configures Claude Code with OTEL_LOG_USER_PROMPTS=1 and OTEL_LOG_ASSISTANT_RESPONSES=1 and Codex with log_user_prompt = true. Tool arguments and tool content stay off. The adapter stores the prompt of a user_prompt record and the reply of an assistant_response record as content under the capture mode (never in metadata) and promotes only their sizes (x_otel_prompt_chars / x_otel_response_chars). - A new sync profile, `messages`: semantic plus the conversation. The uploader keeps content.prompt / content.message of prompt_submitted, turn_stopped, agent_message and the OTel prompt/reply records, redacts secrets, and strips every other event to metadata. `attempt sync profile <name>` switches a configured peer without re-pairing; sync.json gains send_messages. - The migration installers default to --profile messages, create new databases as local_semantic, and raise an existing metadata_only database to local_semantic (--metadata-only opts out). The Fly deployment's ceiling becomes local_semantic so the text is persisted for tenants that send it. Version 0.2.12. Tests: capture 116, adapters 8 (a new prompt/reply content test), CLI suites; clippy clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…rips tools Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Summary
attempt hook installsetsOTEL_LOG_USER_PROMPTS=1/OTEL_LOG_ASSISTANT_RESPONSES=1(Claude Code) andlog_user_prompt = true(Codex); tool details and content stay off.user_promptand the reply ofassistant_responseas content under the capture mode, sizes asx_otel_prompt_chars/x_otel_response_chars.messages(send_messages): uploads only the prompt/message text of prompt, turn-stop, agent-message and OTel prompt/reply events, secret-redacted. Commands, tool input/output, errors and raw never leave.attempt sync profile <name>switches a configured peer.--profile messagesandlocal_semantic;--metadata-onlyopts out.deploy/fly.tomlceilinglocal_semantic.Test plan
cargo test -p attemptdb-capture --test sync— new round-trip test:messagesprofile against alocal_semanticserver keeps the conversation and strips a canary in command/tool_output/raw; ametadata_onlyceiling strips everything.exported_prompt_and_reply_become_content_under_the_capture_mode_never_metadatamessages, sync uploaded🤖 Generated with Claude Code