v0.6.1
Features
- Trends: per-model cost breakdown card + model filter (#282) — new "Cost by Model" card on the Trends page showing per-
(provider, model-family)cost/token breakdown, plus amodel=filter to narrow the visible set by model family. - Trends: grand-total headline + configurable-N costliest sessions (#278) — grand-total cost headline and a configurable top-N (10/25/50) for the Costliest Sessions card.
- Redesign per-session TokensV2 card for all providers (#280) — unified hierarchical per-provider/per-model token card.
- Build the per-model tokens_v2 tree for Claude and Codex (#279) —
tokens_v2is now built for all providers (Claude/Codex via the token analyzers, OpenCode via its compute path), not just OpenCode. - "Report this message" / "Report bug" button on UNKNOWN transcript rows (#273, #274) — CF-574; lets users flag unparsed transcript rows.
- Add Fable 5 model pricing (#275, #276).
- Theme docs site to match the main app (#272) — CF-569; light + dark themes on the Starlight docs site.
Refactoring
- Serve admin card table names from backend (#281) — drops the hardcoded frontend list; the admin invalidation UI now sources card types from
analytics.AllCardTableNamesvia a new endpoint.
Chore
- Add kata issue tracker (#277) —
kata init --with-agents.
DB Migrations
None.
API Changes
GET /api/v1/trends— two new optional query params:model— comma-separated model-family keys (e.g.opus-4-5,opus-4-5 · fast,gpt-5) to narrow the visible set, AND-combined withprovider. Max 50 values.top_n— limit for thetop_sessions(Costliest Sessions) card. Allowlist10/25/50; any other value normalizes to10.- Response adds
cards.cost_by_model(per-(provider, model)cost/token breakdown;nullon backends predating the card) andfilter_options.models(distinct normalized model-family keys).
GET /api/v1/admin/cards/types(new) — returns the canonical list of invalidatable card table names (analytics.AllCardTableNames) driving the admin invalidation UI. Super-admin only.- Session analytics
cards.tokens_v2— now included for all providers (Claude/Codex/OpenCode), not just OpenCode. For Claude,total_cost_usdreconciles exactly withcards.tokens.estimated_usd; Claude/Codex key by canonical agent id withgetModelFamily()model keys (fast turns under"<family> · fast").
Breaking Changes
None. No renamed/removed env vars; no CLI impact.