Deferred from the round-1 strict review of #1153 (classified ADJACENT there).
core/cost/usage/snapshot.go bucket.series has cases for model/method, endpoint, session, agent, status, plugin and host, then default: return nil — no GroupCurrency. A window served from the in-memory ring therefore answers --by currency with an empty series, which abctl renders as
(no currency breakdown for this window)
indistinguishable from "no traffic".
Consistent with the documented design — the ring never sets Snapshot.Currencies, so the cross-unit refusal never fires there and nothing points a reader at this axis. The gap is only reachable by asking for the axis directly, which is why it was deferred rather than blocking.
Tracked red by the review harness as check C6, deliberately.
Note the coupling: closing this makes the isReportedUnit path in the sibling issue live. Fix both together.
Assisted-By: Claude (Anthropic AI) noreply@anthropic.com
Deferred from the round-1 strict review of #1153 (classified ADJACENT there).
core/cost/usage/snapshot.gobucket.serieshas cases for model/method, endpoint, session, agent, status, plugin and host, thendefault: return nil— noGroupCurrency. A window served from the in-memory ring therefore answers--by currencywith an empty series, which abctl renders asindistinguishable from "no traffic".
Consistent with the documented design — the ring never sets
Snapshot.Currencies, so the cross-unit refusal never fires there and nothing points a reader at this axis. The gap is only reachable by asking for the axis directly, which is why it was deferred rather than blocking.Tracked red by the review harness as check C6, deliberately.
Note the coupling: closing this makes the
isReportedUnitpath in the sibling issue live. Fix both together.Assisted-By: Claude (Anthropic AI) noreply@anthropic.com