Skip to content

v0.77.1

@arantespp arantespp tagged this 15 Oct 02:34
* fix(usage): keep a deleted entity's attribution in usage reads

Usage events record each attribution's public id beside its FK, and the FK
is SET NULL on delete. totals.distinct already counted the recorded ids;
the event listing, group_by and the id filters read the FK join, so a
force-deleted agent's spend lost agent_id/generation_id/trace_id and fell
into the null bucket, and filtering by its id returned nothing.

- The listing maps every attribution id from the recorded public id.
- group_by keys entity dimensions on the recorded id (no joins).
- An id filter matches the FK while the entity exists and the recorded id
  once it is deleted; orchestration_id still needs a live orchestration.
- The listing now applies publisher_project_id, which it ignored.

Closes #1582

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CoZZS4W1jEonygB2MWarUN

* test(smoke): read the usage receipt for a generation the script keeps

The newest usage events now name generations of agents force-deleted
earlier in the script, which keep their ids but have no receipt. Read the
receipt for $GEN_ID, whose agent is kept, and correct the aggregate spec
text on id narrowings that still said an unresolved id empties the rollup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CoZZS4W1jEonygB2MWarUN

* chore(release): publish packages

---------

Co-authored-by: Claude <noreply@anthropic.com>
Assets 2
Loading