codex-usage-tracker 0.6.0 TestPyPI candidate
Pre-releaseHistorical TestPyPI-only candidate for the 0.6 dashboard performance and call-drilldown release line.
This release is intentionally marked as a prerelease and is not the latest production release. It records the candidate that was built and published to TestPyPI from commit 49bd575049eed11c0175cf7de56156181604d26b on June 13, 2026. It was superseded by v0.6.1, which is the production PyPI release for the same 0.6 work.
Release scope
Compared with v0.5.0, this candidate was a large dashboard and diagnostics release:
106files changed.21,208insertions and9,211deletions.- Major dashboard runtime files were split from the previous large
dashboard.js/dashboard.cssbundle into focused modules for actions, analysis, call investigation, cells, data, details, events, filters, i18n, insights, live API handling, payload caching, status, tables, and tooltips. - New synthetic screenshots and packaged docs assets were added for the call investigator and refreshed dashboard previews.
Dashboard runtime and live API
- Added SQL-backed live dashboard API slices for status, calls, one-call drilldown, threads, thread calls, summary, and recommendations.
- Preserved the compatibility
/api/usageendpoint while moving the UI toward smaller endpoint-specific payloads. - Added progressive dashboard row hydration and session payload caching so large histories can render faster and return from drilldown views without a full reload whenever possible.
- Added localhost API timing diagnostics for
/api/usageand/api/context, gated as diagnostic metadata rather than raw transcript exposure. - Added a compact live status/header model so refresh status, pricing metadata, and credit-rate source details do not cause large layout shifts.
Call investigator and context diagnostics
- Added a dedicated call investigator view for
dashboard.html?view=call&record=<record_id>. - Added exact token accounting cards for input, cached input, uncached input, output/reasoning, estimated cost, Codex credits, and initiator metadata.
- Added derived cache/accounting delta cards comparing the selected call with adjacent chronological calls from the same resolved thread.
- Added diagnostic readouts for warm cache reuse, cold resume/stale cache, partial cache miss, uncached spikes, high context use, and post-compaction patterns.
- Reworked raw evidence loading around selected-turn local JSONL evidence, redaction, optional tool output, and explicit serialized evidence analysis.
- Removed low-value call/thread anchor diagnostics from the investigator to avoid an extra source-log scan per context load.
- Added tiktoken-backed visible context estimates when available, with conservative fallback estimates when tokenizer support is unavailable.
- Added source-file and aggregate identifier sections to the investigator so a call can be traced back to session, turn, source line, cwd, parent metadata, and context window without embedding raw transcript content in the static dashboard.
Performance and indexing
- Persisted call-origin metadata as categorical aggregate fields during indexing so user-vs-Codex initiation can be filtered and sorted without reopening source JSONL logs.
- Persisted archived-session scope, conservative thread keys, and per-thread previous/next call links as aggregate helper fields for faster dashboard filtering and investigator navigation.
- Added source-file refresh cursors so live refresh can skip unchanged logs, seek to appended JSONL bytes when safe, and replace aggregate rows for changed or truncated source logs.
- Materialized active and all-history thread summaries in SQLite so live thread APIs can read pre-aggregated totals instead of recalculating large histories on each request.
- Added
store_schema.py,store_sources.py,store_thread_summaries.py, and expanded SQL query helpers to separate schema ownership, source refresh state, thread summary materialization, and query construction. - Added source-log-aware synthetic benchmark coverage to verify normal dashboard payload assembly does not open generated source JSONL files.
Dashboard UX and table behavior
- Added row-click navigation to the call investigator while keeping table links stable and copyable.
- Added sortable initiated/source metadata, compact signal pucks, sticky table headers, frozen leading columns, and responsive horizontal table scrolling for narrow screens.
- Added compact billion-scale number formatting with exact values available through hover titles.
- Added faster tooltips for dense dashboard status and signal elements.
- Reduced call-detail sidebar prominence in favor of the dedicated investigator path.
- Updated Calls and Threads views to expose token categories as columns, including cached, uncached, and output token counts.
Localization
- Replaced placeholder non-English dashboard locale catalogs with translated UI catalogs.
- Expanded translation coverage for the investigator, evidence readout, diagnostics, status labels, table labels, filters, recommendations, and dashboard controls.
- Added regression coverage for core visible labels so missing or broken translation keys are easier to catch before publishing.
Packaging, docs, and release checks
- Bumped the package version to
0.6.0and pinned the packaged Codex plugin manifest tocodex-usage-tracking==0.6.0. - Updated README, dashboard guide, architecture docs, CLI reference, MCP docs, privacy notes, development docs, and 1.0 readiness notes for the 0.6 dashboard architecture.
- Added
docs/call-drilldown-performance-checklist.mdto preserve the performance-hardening milestones and verification expectations for the call investigator work. - Expanded
scripts/check_release.pyandscripts/smoke_installed_package.pyso release readiness catches bundled asset and packaged-resource issues earlier. - Added
twine checkto the normal CI package job path.
Test and validation coverage
New or expanded tests covered:
- Call initiator classification and aggregate persistence.
- Context/evidence redaction, serialized evidence estimates, compaction evidence, and deduped visible progress-message echoes.
- Dashboard payload structure, raw-context absence from generated HTML, route support for call investigator views, and dashboard JavaScript asset packaging.
- Dashboard server API slices for status, usage, calls, one-call drilldown, threads, thread calls, summary, recommendations, and context loading.
- i18n key coverage and translated visible-label checks.
- Parser handling for newer non-token event shapes and persisted call-origin metadata.
- Privacy redaction around evidence, tool output, and serialized local JSONL buckets.
- Schema migrations for new aggregate helper columns and source/thread summary tables.
Published artifacts
- TestPyPI: https://test.pypi.org/project/codex-usage-tracking/0.6.0/
- No production PyPI package was published for
0.6.0; production users should use0.6.1or newer.
Verification
The TestPyPI candidate was built from main at 49bd575049eed11c0175cf7de56156181604d26b by the Publish Python package workflow dispatch on June 13, 2026:
- Workflow run: https://github.com/douglasmonsky/codex-usage-tracker/actions/runs/27477999449
- Build distributions: passed.
- Ruff: passed.
- Type check: passed.
- Pytest: passed.
- Coverage: passed.
compileall: passed.- Dashboard JavaScript syntax checks: passed.
- Release readiness: passed.
- Whitespace check: passed.
- Wheel and sdist build: passed.
- Publish to TestPyPI: passed.
- Publish to PyPI: skipped.
Supersession note
0.6.0 should be treated as the release candidate for the 0.6 line. The production release is 0.6.1, which kept the 0.6 dashboard/call-investigator work and added the final README asset polish, packaged docs asset fixes, and production PyPI publication.