v0.4.2 — honesty hardening + cost-accuracy fixes
A maintenance release closing a full pass of plan-tier-framing and cost-accuracy bugs found by checking TokenJam against real usage, plus first-class user pricing.
Highlights
- Honest plan-tier framing everywhere. Subscription/local users no longer see raw dollar figures across the CLI (
tj cost) or the Lens web UI — Cost table, Traces, trace-detail, Status, and Optimize all suppress/reframe correctly; chart framing is consistent across time windows; CLI and Lens agree on the same data; axes read in local time with coherent daily labels. (#175, #176, #177, #178, #187, #188, #191, #197) - Cost accuracy. Fixed LiteLLM provider attribution (was recording "litellm" → ~42% cost undercount, NULL billing account, suppressed plan); LiteLLM now also captures prompt/completion content and cache tokens. Imported sessions inherit the configured plan tier. (#183, #194, #195)
- First-class user pricing. Override per-model rates from your config — keyed by bare model name so it works even when the provider can't be inferred — with docs. (#200, #201)
- SDK & onboarding. The SDK honors
TJ_CONFIG(no more writing to the wrong DB); onboarding /tj doctorsurface when Claude Code needs a restart to start sending telemetry. (#179, #196)
What's Changed
- docs: README cleanup post-v0.4.1 (Reuse + Lens added, competitive table removed) by @anilmurty in #169
- docs: drop stale CHANGELOG.md + add maintainer contact by @anilmurty in #170
- Track A part 1: weekly GitHub traffic archive workflow by @anilmurty in #171
- Track A part 1 follow-up: workflow pushes as PAT owner to satisfy main-branch protection by @anilmurty in #172
- Track A: move traffic archive to traffic-data branch (close-out) by @anilmurty in #173
- docs: add traffic-archive action to CLAUDE.md so future agents discover it by @anilmurty in #174
- docs: add docs/optimize/reuse.md analyzer deep-dive (#168) by @anilmurty in #180
- Fix #175, #176: tj cost framing + backfill plan_tier propagation (v0.4.2) by @anilmurty in #181
- Apply declared plan tiers across onboard, serve, and UI by @HoomanDgtl in #184
- docs: add PR + commit conventions for any agent producing a PR by @anilmurty in #182
- Fix #179: surface Claude Code connection staleness (onboard banner + tj doctor check) by @anilmurty in #185
- Fix #177, #178: consistent Lens chart framing + local-timezone axis labels by @anilmurty in #186
- Fix #188: keep daily chart date labels UTC-aligned by @anilmurty in #189
- Fix #187: suppress raw dollar figures for subscription/local users on web table & trace surfaces by @anilmurty in #190
- Fix #191: suppress raw dollar figures for subscription/local users on Status, Optimize & Reuse web surfaces by @anilmurty in #192
- Fix #196: SDK bootstrap honors TJ_CONFIG for config discovery by @anilmurty in #199
- Fix #194: resolve LiteLLM provider from model name (no more "litellm" provider) by @anilmurty in #198
- Fix #197: CLI and Lens render identical plan-tier framing (window-independent mix) by @anilmurty in #202
- Fix #195: capture prompt/completion content + cache tokens on LiteLLM spans by @anilmurty in #203
- Make user pricing first-class + attribution-proof (#200, #201) by @anilmurty in #205
- Bump version to 0.4.2 by @anilmurty in #206
New Contributors
- @HoomanDgtl made their first contribution in #184
Full Changelog: v0.4.1...v0.4.2