Skip to content

telemetry: the enforcement conversation key gets a shadow#2124

Merged
mattsodomsky merged 1 commit into
mainfrom
claude/budget-conversation-id
Jul 11, 2026
Merged

telemetry: the enforcement conversation key gets a shadow#2124
mattsodomsky merged 1 commit into
mainfrom
claude/budget-conversation-id

Conversation

@mattsodomsky

Copy link
Copy Markdown
Member

Small follow-on to #2123. The cost dashboards facet conversations by the observation conversation_id — which can pool same-opener conversations into one row (a known, deliberately-kept property of the observation ids; observation and intervention are separate concerns now). That's fine for Isaac's original observational purpose, but the cost dashboard needs per-conversation rows that can't merge strangers.

The budget layer already computes a collision-resistant conversation key on every request; this just records its day-salted scope key into the request event as budget_conversation_id, sibling to the existing budget_source_id. Nil when the conversation isn't yet seeded, exactly mirroring enforcement. No behavior changes anywhere — one field added to telemetry.

After this deploys, the dashboard's conversation-faceted cost widgets can move to the new field (day-scoped views, matching its day-salt), and deep multi-source "conversation" rows stop being ambiguous.

🤖 Generated with Claude Code

The cost dashboards facet conversations by the observation
conversation_id — which, per #2123, can pool same-opener conversations
into one row (deliberately left as designed; observation and
intervention are separate concerns now). The budget layer's own key is
collision-resistant, and it was already computed on every request;
this records its day-salted scope key into the request event, sibling
to budget_source_id, so per-conversation cost views can facet on
something that can't merge strangers. Nil when the conversation isn't
yet seeded, same as enforcement.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mattsodomsky mattsodomsky merged commit d739baa into main Jul 11, 2026
13 checks passed
@mattsodomsky mattsodomsky deleted the claude/budget-conversation-id branch July 11, 2026 17:36
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.

1 participant