codex-usage-tracking 0.13.1__tar.gz → 0.14.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/.codex-plugin/plugin.json +1 -1
  2. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/CHANGELOG.md +9 -1
  3. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/PKG-INFO +21 -21
  4. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/README.md +20 -20
  5. codex_usage_tracking-0.14.0/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  6. codex_usage_tracking-0.14.0/docs/assets/dashboard-call-investigator-preview.png +0 -0
  7. codex_usage_tracking-0.14.0/docs/assets/dashboard-call-investigator.png +0 -0
  8. codex_usage_tracking-0.14.0/docs/assets/dashboard-calls-preview.png +0 -0
  9. codex_usage_tracking-0.14.0/docs/assets/dashboard-calls.png +0 -0
  10. codex_usage_tracking-0.14.0/docs/assets/dashboard-details.png +0 -0
  11. codex_usage_tracking-0.14.0/docs/assets/dashboard-diagnostics.png +0 -0
  12. codex_usage_tracking-0.14.0/docs/assets/dashboard-insights.png +0 -0
  13. codex_usage_tracking-0.14.0/docs/assets/dashboard-threads.png +0 -0
  14. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/cache-context-lab-reference.png +0 -0
  15. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/call-drilldown-menu-concept-reference.png +0 -0
  16. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/calls-analyst-view-reference.png +0 -0
  17. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/calls-high-density-reference.png +0 -0
  18. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/command-palette-dashboard-reference.png +0 -0
  19. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/diagnostics-notebook-reference.png +0 -0
  20. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/generated-dashboard-concept-reference.png +0 -0
  21. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/generated-maintainer-banner-reference.png +0 -0
  22. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/investigator-workbench-reference.png +0 -0
  23. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/overview-dashboard-reference.png +0 -0
  24. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/projected-weekly-credits-overlap-reference.png +0 -0
  25. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/thread-efficiency-reference.png +0 -0
  26. codex_usage_tracking-0.14.0/docs/assets/frontend-rewrite-references/usage-drain-lab-reference.png +0 -0
  27. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/cli-json-schemas.md +7 -6
  28. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/cli-reference.md +1 -1
  29. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/dashboard-guide.md +20 -20
  30. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/development.md +7 -7
  31. codex_usage_tracking-0.14.0/docs/frontend-rewrite-roadmap.md +560 -0
  32. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/mcp.md +25 -1
  33. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/one-dot-oh-readiness.md +8 -8
  34. codex_usage_tracking-0.14.0/docs/react-dashboard-0.14-release-roadmap.md +178 -0
  35. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/pyproject.toml +3 -1
  36. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/check_release.py +69 -0
  37. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/smoke_installed_package.py +108 -0
  38. codex_usage_tracking-0.14.0/skills/codex-usage-api/SKILL.md +77 -0
  39. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/skills/codex-usage-tracker/SKILL.md +21 -0
  40. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/skills/codex-usage-tracker/scripts/run_mcp.py +2 -2
  41. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/__init__.py +1 -1
  42. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/dashboard.py +11 -0
  43. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/mcp_server.py +271 -0
  44. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contract_cli.py +2 -0
  45. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contract_server.py +18 -6
  46. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_analysis.py +80 -2
  47. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_rows.py +25 -1
  48. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_source_scan.py +51 -2
  49. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/dashboard-react.js +276 -0
  50. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/index.css +1 -0
  51. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  52. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-preview.png +0 -0
  53. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator.png +0 -0
  54. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls-preview.png +0 -0
  55. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls.png +0 -0
  56. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-details.png +0 -0
  57. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics.png +0 -0
  58. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-insights.png +0 -0
  59. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-threads.png +0 -0
  60. codex_usage_tracking-0.14.0/src/codex_usage_tracker/plugin_data/skills/codex-usage-api/SKILL.md +77 -0
  61. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/skills/codex-usage-tracker/SKILL.md +21 -0
  62. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/api.py +5 -3
  63. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/dashboard_shell.py +2 -1
  64. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/handler.py +73 -5
  65. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/open_investigator.py +4 -2
  66. codex_usage_tracking-0.14.0/src/codex_usage_tracker/server/reports.py +186 -0
  67. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/routes.py +1 -0
  68. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/thread_curves.py +29 -0
  69. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/PKG-INFO +21 -21
  70. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/SOURCES.txt +20 -0
  71. codex_usage_tracking-0.14.0/tests/cli/test_cli_dashboard.py +55 -0
  72. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_cli_lifecycle.py +6 -0
  73. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_cli_release.py +41 -0
  74. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_mcp_integration.py +47 -0
  75. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_json_contracts.py +1 -0
  76. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_server.py +137 -28
  77. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_snapshot_source_scan.py +14 -0
  78. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_snapshots.py +17 -0
  79. codex_usage_tracking-0.14.0/tests/server/test_server_api.py +50 -0
  80. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_dashboard_shell.py +3 -1
  81. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_open_investigator.py +25 -5
  82. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_reports.py +4 -0
  83. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_thread_curves.py +6 -0
  84. codex_usage_tracking-0.13.1/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  85. codex_usage_tracking-0.13.1/docs/assets/dashboard-call-investigator-preview.png +0 -0
  86. codex_usage_tracking-0.13.1/docs/assets/dashboard-call-investigator.png +0 -0
  87. codex_usage_tracking-0.13.1/docs/assets/dashboard-calls-preview.png +0 -0
  88. codex_usage_tracking-0.13.1/docs/assets/dashboard-calls.png +0 -0
  89. codex_usage_tracking-0.13.1/docs/assets/dashboard-details.png +0 -0
  90. codex_usage_tracking-0.13.1/docs/assets/dashboard-diagnostics.png +0 -0
  91. codex_usage_tracking-0.13.1/docs/assets/dashboard-insights.png +0 -0
  92. codex_usage_tracking-0.13.1/docs/assets/dashboard-threads.png +0 -0
  93. codex_usage_tracking-0.13.1/skills/codex-usage-api/SKILL.md +0 -62
  94. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  95. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-preview.png +0 -0
  96. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator.png +0 -0
  97. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls-preview.png +0 -0
  98. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls.png +0 -0
  99. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-details.png +0 -0
  100. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics.png +0 -0
  101. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-insights.png +0 -0
  102. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-threads.png +0 -0
  103. codex_usage_tracking-0.13.1/src/codex_usage_tracker/plugin_data/skills/codex-usage-api/SKILL.md +0 -62
  104. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/.mcp.json +0 -0
  105. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/AGENTS.md +0 -0
  106. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/CONTRIBUTING.md +0 -0
  107. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/LICENSE +0 -0
  108. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/MANIFEST.in +0 -0
  109. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/SECURITY.md +0 -0
  110. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/assets/icon.svg +0 -0
  111. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/adoption-hardening-roadmap.md +0 -0
  112. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/architecture/decisions/0001-package-domain-boundaries.md +0 -0
  113. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/architecture-boundary-map.md +0 -0
  114. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/architecture.md +0 -0
  115. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  116. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/plugin-prompts.png +0 -0
  117. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/plugin-thread-leaderboard.png +0 -0
  118. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/ux/call-detail-panel.png +0 -0
  119. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/ux/insight-overview.png +0 -0
  120. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/assets/ux/thread-investigation.png +0 -0
  121. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/call-drilldown-performance-checklist.md +0 -0
  122. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/first-five-minutes.md +0 -0
  123. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/install.md +0 -0
  124. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/maintainability-roadmap.md +0 -0
  125. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/maintainability-scorecard.md +0 -0
  126. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/pricing-and-credits.md +0 -0
  127. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/privacy.md +0 -0
  128. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/ui-ux-improvement-plan.md +0 -0
  129. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/docs/usage-drain-modeling.md +0 -0
  130. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/benchmark_synthetic_history.py +0 -0
  131. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/check_wemake_baseline.py +0 -0
  132. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/install_local_plugin.py +0 -0
  133. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/scripts/model_usage_drain.py +0 -0
  134. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/setup.cfg +0 -0
  135. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/__main__.py +0 -0
  136. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/allowance.py +0 -0
  137. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/__init__.py +0 -0
  138. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/__main__.py +0 -0
  139. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/config.py +0 -0
  140. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/diagnostics.py +0 -0
  141. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/main.py +0 -0
  142. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/output.py +0 -0
  143. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/parser.py +0 -0
  144. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/parser_diagnostics.py +0 -0
  145. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/cli/plugin_installer.py +0 -0
  146. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/__init__.py +0 -0
  147. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/action_timing.py +0 -0
  148. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/api.py +0 -0
  149. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/constants.py +0 -0
  150. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/loader.py +0 -0
  151. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/reader.py +0 -0
  152. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/serialized.py +0 -0
  153. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/summaries.py +0 -0
  154. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/token_estimates.py +0 -0
  155. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/context/values.py +0 -0
  156. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/__init__.py +0 -0
  157. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/api_payloads.py +0 -0
  158. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/call_origin.py +0 -0
  159. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/formatting.py +0 -0
  160. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/i18n.py +0 -0
  161. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contract_common.py +0 -0
  162. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contract_diagnostics.py +0 -0
  163. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contract_validation.py +0 -0
  164. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/json_contracts.py +0 -0
  165. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/models.py +0 -0
  166. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/paths.py +0 -0
  167. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/projects.py +0 -0
  168. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/redaction.py +0 -0
  169. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/schema.py +0 -0
  170. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/core/threads.py +0 -0
  171. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/dashboard/__init__.py +0 -0
  172. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/dashboard/api.py +0 -0
  173. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/dashboard/assets.py +0 -0
  174. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/dashboard/pricing_snapshot.py +0 -0
  175. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/__init__.py +0 -0
  176. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/action_hints.py +0 -0
  177. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/api.py +0 -0
  178. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/fact_classifiers.py +0 -0
  179. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/facts.py +0 -0
  180. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/guided_summary.py +0 -0
  181. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/mcp.py +0 -0
  182. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/reports.py +0 -0
  183. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_concentration.py +0 -0
  184. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_constants.py +0 -0
  185. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_events.py +0 -0
  186. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_payloads.py +0 -0
  187. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_report.py +0 -0
  188. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshot_source_logs.py +0 -0
  189. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/snapshots.py +0 -0
  190. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/diagnostics/types.py +0 -0
  191. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/mcp_server.py +0 -0
  192. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/parser/__init__.py +0 -0
  193. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/parser/api.py +0 -0
  194. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/parser/jsonl_v1.py +0 -0
  195. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/parser/jsonl_values.py +0 -0
  196. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/parser/state.py +0 -0
  197. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/__init__.py +0 -0
  198. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/assets/icon.svg +0 -0
  199. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard.css +0 -0
  200. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard.js +0 -0
  201. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_actions.js +0 -0
  202. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_analysis.js +0 -0
  203. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call.css +0 -0
  204. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_diagnostics.js +0 -0
  205. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_investigator.js +0 -0
  206. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_cells.js +0 -0
  207. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_data.js +0 -0
  208. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_detail.css +0 -0
  209. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_details.js +0 -0
  210. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics.js +0 -0
  211. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_facts.js +0 -0
  212. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_snapshots.js +0 -0
  213. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_events.js +0 -0
  214. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_filters.js +0 -0
  215. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_format.js +0 -0
  216. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_i18n.js +0 -0
  217. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.css +0 -0
  218. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.js +0 -0
  219. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_layout.css +0 -0
  220. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_live.js +0 -0
  221. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_payload_cache.js +0 -0
  222. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_responsive.css +0 -0
  223. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_state.js +0 -0
  224. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_status.js +0 -0
  225. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.css +0 -0
  226. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.js +0 -0
  227. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_template.html +0 -0
  228. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tooltips.js +0 -0
  229. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ar.json +0 -0
  230. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/de.json +0 -0
  231. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/en.json +0 -0
  232. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/es.json +0 -0
  233. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/fr.json +0 -0
  234. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/it.json +0 -0
  235. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ja.json +0 -0
  236. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ko.json +0 -0
  237. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/pt.json +0 -0
  238. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ru.json +0 -0
  239. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/vi.json +0 -0
  240. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/zh-Hans.json +0 -0
  241. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  242. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-prompts.png +0 -0
  243. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-thread-leaderboard.png +0 -0
  244. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/docs/dashboard-guide.html +0 -0
  245. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_data/rate_cards/codex-credit-rates.json +0 -0
  246. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/plugin_installer.py +0 -0
  247. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/__init__.py +0 -0
  248. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/allowance.py +0 -0
  249. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/allowance_config.py +0 -0
  250. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/allowance_rate_card.py +0 -0
  251. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/allowance_text.py +0 -0
  252. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/allowance_usage.py +0 -0
  253. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/api.py +0 -0
  254. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/config.py +0 -0
  255. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/costing.py +0 -0
  256. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/estimates.py +0 -0
  257. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/pricing/openai.py +0 -0
  258. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/__init__.py +0 -0
  259. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/api.py +0 -0
  260. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/filters.py +0 -0
  261. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/project_summary.py +0 -0
  262. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/recommendation_builder.py +0 -0
  263. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/recommendations.py +0 -0
  264. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/reports/support.py +0 -0
  265. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/__init__.py +0 -0
  266. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/call_detail.py +0 -0
  267. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/call_lists.py +0 -0
  268. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/context.py +0 -0
  269. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/context_settings.py +0 -0
  270. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/diagnostic_facts.py +0 -0
  271. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/diagnostic_routes.py +0 -0
  272. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/diagnostic_snapshots.py +0 -0
  273. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/live_queries.py +0 -0
  274. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/live_rows.py +0 -0
  275. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/recommendations.py +0 -0
  276. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/request_guards.py +0 -0
  277. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/responses.py +0 -0
  278. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/status.py +0 -0
  279. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/summary.py +0 -0
  280. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/threads.py +0 -0
  281. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/usage_refresh.py +0 -0
  282. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/server/utils.py +0 -0
  283. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/__init__.py +0 -0
  284. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/api.py +0 -0
  285. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/connection.py +0 -0
  286. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/dashboard_queries.py +0 -0
  287. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/diagnostic_call_queries.py +0 -0
  288. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/diagnostic_queries.py +0 -0
  289. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/exports.py +0 -0
  290. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/query_sql.py +0 -0
  291. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/refresh.py +0 -0
  292. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/rows.py +0 -0
  293. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/schema.py +0 -0
  294. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/sources.py +0 -0
  295. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/summary_queries.py +0 -0
  296. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/thread_summaries.py +0 -0
  297. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/usage_api_queries.py +0 -0
  298. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/usage_record_queries.py +0 -0
  299. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/store/usage_timing.py +0 -0
  300. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/support.py +0 -0
  301. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/__init__.py +0 -0
  302. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/allowance_breakpoints.py +0 -0
  303. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/allowance_fits.py +0 -0
  304. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/allowance_online.py +0 -0
  305. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_delta.py +0 -0
  306. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_delta_core.py +0 -0
  307. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_delta_rows.py +0 -0
  308. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_delta_summary.py +0 -0
  309. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_scopes.py +0 -0
  310. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/boundary_summary.py +0 -0
  311. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/capacity_specs.py +0 -0
  312. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/error_diagnostics.py +0 -0
  313. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/feature_history.py +0 -0
  314. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/features.py +0 -0
  315. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/grace.py +0 -0
  316. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/history_state.py +0 -0
  317. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/model.py +0 -0
  318. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/predictive.py +0 -0
  319. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/predictive_specs.py +0 -0
  320. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/proxy_fit.py +0 -0
  321. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/regime_labels.py +0 -0
  322. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/regime_segments.py +0 -0
  323. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/regression.py +0 -0
  324. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/reports.py +0 -0
  325. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/spans.py +0 -0
  326. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/state_buckets.py +0 -0
  327. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/state_diagnostics.py +0 -0
  328. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/summary_metrics.py +0 -0
  329. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/time_series.py +0 -0
  330. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/token_components.py +0 -0
  331. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/transition_gates.py +0 -0
  332. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/transition_metrics.py +0 -0
  333. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/types.py +0 -0
  334. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/utils.py +0 -0
  335. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/walk_forward.py +0 -0
  336. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracker/usage_drain/walk_forward_rows.py +0 -0
  337. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/dependency_links.txt +0 -0
  338. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/entry_points.txt +0 -0
  339. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/requires.txt +0 -0
  340. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/src/codex_usage_tracking.egg-info/top_level.txt +0 -0
  341. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/__init__.py +0 -0
  342. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_cli_module_entrypoints.py +0 -0
  343. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_cli_parser_diagnostics.py +0 -0
  344. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_mcp_launcher.py +0 -0
  345. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/cli/test_plugin_installer.py +0 -0
  346. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_action_timing.py +0 -0
  347. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_evidence.py +0 -0
  348. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_scan.py +0 -0
  349. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_serialized.py +0 -0
  350. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_summaries.py +0 -0
  351. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_token_estimates.py +0 -0
  352. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/context/test_context_values.py +0 -0
  353. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_call_origin.py +0 -0
  354. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_formatting.py +0 -0
  355. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_i18n.py +0 -0
  356. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_privacy.py +0 -0
  357. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_projects.py +0 -0
  358. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_redaction.py +0 -0
  359. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_schema.py +0 -0
  360. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/core/test_threads.py +0 -0
  361. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_data.py +0 -0
  362. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_diagnostics_snapshots.py +0 -0
  363. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_live.py +0 -0
  364. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_payload.py +0 -0
  365. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_pricing_snapshot.py +0 -0
  366. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_state.py +0 -0
  367. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/dashboard/test_dashboard_status.py +0 -0
  368. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_fact_classifiers.py +0 -0
  369. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_reports.py +0 -0
  370. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_snapshot_events.py +0 -0
  371. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_diagnostic_snapshot_report.py +0 -0
  372. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/diagnostics/test_doctor_first_run.py +0 -0
  373. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/parser/test_parser.py +0 -0
  374. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/parser/test_parser_inspect_log.py +0 -0
  375. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/parser/test_parser_state.py +0 -0
  376. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/pricing/test_allowance.py +0 -0
  377. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/pricing/test_pricing.py +0 -0
  378. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/reports/test_recommendations.py +0 -0
  379. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/reports/test_support.py +0 -0
  380. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_call_detail.py +0 -0
  381. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_call_lists.py +0 -0
  382. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_context.py +0 -0
  383. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_context_settings.py +0 -0
  384. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_diagnostic_facts.py +0 -0
  385. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_diagnostic_refresh_auth.py +0 -0
  386. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_diagnostic_snapshots.py +0 -0
  387. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_live_queries.py +0 -0
  388. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_live_rows.py +0 -0
  389. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_recommendations.py +0 -0
  390. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_request_guards.py +0 -0
  391. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_responses.py +0 -0
  392. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_routes.py +0 -0
  393. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_status.py +0 -0
  394. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_summary.py +0 -0
  395. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_threads.py +0 -0
  396. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/server/test_server_usage_refresh.py +0 -0
  397. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_dashboard_mcp.py +0 -0
  398. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_dashboard_queries.py +0 -0
  399. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_large_batches.py +0 -0
  400. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_migrations.py +0 -0
  401. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_query_sql.py +0 -0
  402. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store/test_store_sources.py +0 -0
  403. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/store_dashboard_helpers.py +0 -0
  404. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_allowance_fits.py +0 -0
  405. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_boundary_delta.py +0 -0
  406. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_boundary_delta_summary.py +0 -0
  407. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_boundary_summary.py +0 -0
  408. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_error_diagnostics.py +0 -0
  409. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_feature_history.py +0 -0
  410. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_model.py +0 -0
  411. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_one_percent_capacity.py +0 -0
  412. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_predictive.py +0 -0
  413. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_regime_segments.py +0 -0
  414. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_regression.py +0 -0
  415. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_report_records.py +0 -0
  416. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_state_buckets.py +0 -0
  417. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_state_diagnostics.py +0 -0
  418. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_summary_metrics.py +0 -0
  419. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_token_components.py +0 -0
  420. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_transition_gates.py +0 -0
  421. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_transition_metrics.py +0 -0
  422. {codex_usage_tracking-0.13.1 → codex_usage_tracking-0.14.0}/tests/usage_drain/test_usage_drain_walk_forward.py +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-usage-tracker",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "Unofficial local tracker for aggregate Codex token usage from local session logs.",
5
5
  "author": {
6
6
  "name": "Douglas Monsky"
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.14.0 - 2026-07-04
6
+
7
+ - Make `serve-dashboard --open` prefer the React dashboard route while keeping legacy `/dashboard.html` available as a localhost fallback, and expose both URLs in `serve-dashboard --json`.
8
+ - Restore major legacy dashboard parity in the React dashboard, including overview recent-call loading controls, sticky thread/header table affordances, row-to-investigator actions, diagnostics fact-call pagination, report and call sorting state, and legacy URL/filter normalization.
9
+ - Add local-only transition safeguards: the prominent unofficial-project banner, aggregate-only privacy boundaries, rebuilt dashboard assets, and release-gate documentation for the React bundle.
10
+ - Prioritize weekly usage windows in Overview and Settings so weekly remaining usage is surfaced ahead of short 5-hour windows.
11
+ - Expose dashboard-shaped MCP payloads for status, calls, call details, threads, report packs, and dashboard recommendations, and teach bundled skills concrete token-waste investigation prompts.
12
+
5
13
  ## 0.13.1 - 2026-06-30
6
14
 
7
15
  - Add guided usage-summary diagnostics across CLI, API, and dashboard to explain the largest aggregate drivers behind usage.
@@ -90,7 +98,7 @@
90
98
  - Add an aggregate Diagnostics dashboard for inspecting diagnostic facts, associated calls, token totals, and on-demand evidence without persisting raw transcript text.
91
99
  - Add diagnostic fact extraction, reporting APIs, dashboard drilldowns, sortable associated-call tables, and load-more controls for larger diagnostic result sets.
92
100
  - Add source byte offsets and context seek diagnostics so on-demand evidence loading can seek when offsets are valid and fall back safely when they are missing or stale.
93
- - Harden dashboard startup so visiting Diagnostics before other views load no longer prevents Calls, Threads, or Insights from hydrating.
101
+ - Harden dashboard startup so visiting Diagnostics before other views load no longer prevents Calls, Threads, or Overview from hydrating.
94
102
  - Make Live refresh use the cached/indexed append path and fetch only newly visible leading rows instead of running the full manual refresh reset cycle.
95
103
 
96
104
  ## 0.7.0 - 2026-06-18
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-usage-tracking
3
- Version: 0.13.1
3
+ Version: 0.14.0
4
4
  Summary: Unofficial local Codex plugin and dashboard for investigating aggregate token usage, costs, caching, and thread patterns.
5
5
  Author: Douglas Monsky
6
6
  License-Expression: MIT
@@ -45,8 +45,8 @@ Dynamic: license-file
45
45
  # Codex Usage Tracker
46
46
 
47
47
  <p align="center">
48
- <a href="docs/assets/dashboard-calls.png"><img src="docs/assets/dashboard-calls-preview.png?v=readme-drilldown" alt="Codex Usage Tracker dashboard showing filters, usage totals, and named model-call rows." width="49%"></a>
49
- <a href="docs/assets/dashboard-call-investigator.png"><img src="docs/assets/dashboard-call-investigator-preview.png?v=readme-drilldown" alt="Codex Usage Tracker call investigator showing token accounting, cache diagnostics, and redacted runtime evidence." width="49%"></a>
48
+ <a href="docs/assets/dashboard-calls.png?v=readme-smart-20260704"><img src="docs/assets/dashboard-calls-preview.png?v=readme-smart-20260704" alt="Codex Usage Tracker React dashboard showing model-call filters, frozen call rows, and row loading controls." width="49%"></a>
49
+ <a href="docs/assets/dashboard-call-investigator.png?v=readme-smart-20260704"><img src="docs/assets/dashboard-call-investigator-preview.png?v=readme-smart-20260704" alt="Codex Usage Tracker call investigator showing token accounting, cache diagnostics, and explicit evidence controls." width="49%"></a>
50
50
  </p>
51
51
 
52
52
  Local-first dashboard, Codex plugin, and companion skill for understanding where your Codex tokens and usage credits are going.
@@ -80,7 +80,7 @@ If `codex-usage-tracker` is not found after installing with pipx, open a new ter
80
80
 
81
81
  First install? Start with the [First Five Minutes guide](docs/first-five-minutes.md) for setup, verification, empty-dashboard checks, and safe issue diagnostics.
82
82
 
83
- `serve-dashboard` refreshes active-session usage before opening by default. Use `--no-refresh` only when you intentionally want to inspect the cached local index.
83
+ `serve-dashboard` refreshes active-session usage before opening the React dashboard by default. The legacy dashboard remains available at `/dashboard.html` on the same localhost server. Use `--no-refresh` only when you intentionally want to inspect the cached local index.
84
84
 
85
85
  Package naming: the PyPI distribution is `codex-usage-tracking`; the installed command is `codex-usage-tracker`; the GitHub repository remains `douglasmonsky/codex-usage-tracker`. The `codex-usage-tracker` PyPI name is not this project, so avoid similarly named packages when following these docs.
86
86
 
@@ -96,35 +96,35 @@ Want Codex to do it for you? Paste: `Install codex-usage-tracking with pipx, run
96
96
 
97
97
  ## Dashboard Preview
98
98
 
99
- The Calls table is the main investigation surface: filter, sort, inspect details, and export the exact aggregate rows you are looking at.
99
+ Overview is the dashboard landing workspace: it shows recent aggregate usage, weekly remaining usage context, row loading controls, and charts that open on recent dates.
100
100
 
101
- ![Calls view showing filters, totals, the model-call table, and the compact details rail.](docs/assets/dashboard-calls.png?v=readme-drilldown)
101
+ ![Overview view showing high-level metrics, row loading controls, time-series charts, and recent aggregate calls.](docs/assets/dashboard-insights.png?v=readme-smart-20260704)
102
102
 
103
- Click a call to open the dedicated investigator for exact token accounting, cache/accounting deltas, local serialized evidence buckets, and redacted turn-log evidence loaded only at runtime.
103
+ Calls is the high-density investigation surface: filter, sort, inspect details, and export the exact aggregate rows you are looking at.
104
104
 
105
- ![Call investigator showing token accounting, cache diagnostics, serialized evidence groups, and raw evidence controls.](docs/assets/dashboard-call-investigator.png?v=readme-drilldown)
105
+ ![Calls view showing the expanded model-call table with sticky thread rows and detail controls.](docs/assets/dashboard-calls.png?v=readme-smart-20260704)
106
106
 
107
- The lower investigator view keeps the raw JSONL evidence opt-in and runtime-only while still showing visible-context estimates, serialized evidence upper bounds, and redacted turn-log entries.
107
+ The details rail stays beside the model-call table, so you can inspect aggregate call accounting before opening a full investigator route.
108
108
 
109
- ![Lower call investigator view showing context-change estimates, serialized evidence groups, and redacted runtime evidence entries.](docs/assets/dashboard-call-investigator-evidence.png?v=readme-drilldown)
109
+ ![Calls view showing the expanded model-call table beside the Call Drill-Down detail rail.](docs/assets/dashboard-details.png?v=readme-smart-20260704)
110
110
 
111
- Threads view groups related calls so long chats, subagents, and auto-review passes are easier to reason about as one work session.
111
+ Click a call row to open the dedicated investigator for exact token accounting, cache/accounting deltas, local serialized evidence buckets, and runtime-only evidence controls.
112
112
 
113
- ![Threads view with one expanded thread and its calls in chronological order.](docs/assets/dashboard-threads.png?v=readme-drilldown)
113
+ ![Call investigator showing token accounting, cache diagnostics, serialized evidence groups, and evidence controls.](docs/assets/dashboard-call-investigator.png?v=readme-smart-20260704)
114
114
 
115
- Diagnostics surfaces on-demand snapshot reports for tool output, commands, Git interactions, file reads, file modifications, read productivity, and concentration without tying them to the normal live refresh loop.
115
+ The lower investigator view keeps local JSONL context gated behind explicit localhost actions; raw context is not embedded in generated dashboard HTML.
116
116
 
117
- ![Diagnostics view showing weekly usage remaining and projected weekly credits from on-demand usage-drain reports.](docs/assets/dashboard-diagnostics.png?v=readme-usage-drain)
117
+ ![Lower call investigator view showing context estimates and the explicit raw-context evidence gate.](docs/assets/dashboard-call-investigator-evidence.png?v=readme-smart-20260704)
118
118
 
119
- The Git Interactions panel expands the safe Git and GitHub CLI operation families without storing command text, branch names, release notes, or patch content.
119
+ Threads view groups related calls so long chats, subagents, and auto-review passes are easier to reason about as one work session.
120
120
 
121
- ![Diagnostics Git Interactions panel showing aggregate Git and GitHub CLI operation counts.](docs/assets/dashboard-diagnostics-git-expanded.png?v=readme-diagnostics-git)
121
+ ![Threads view with one expanded thread and its calls.](docs/assets/dashboard-threads.png?v=readme-smart-20260704)
122
122
 
123
- Insights still gives a fast triage layer for costly threads, low cache reuse, context bloat, and pricing gaps.
123
+ Diagnostics Notebook surfaces on-demand snapshot reports for usage drain, tool output, commands, Git interactions, file reads, file modifications, read productivity, and concentration without tying them to the normal live refresh loop.
124
124
 
125
- ![Insights view with ranked Needs Attention cards, investigation presets, and top threads by attention score.](docs/assets/dashboard-insights.png?v=readme-drilldown)
125
+ ![Diagnostics Notebook view showing diagnostic snapshot modules and usage-drain reporting.](docs/assets/dashboard-diagnostics.png?v=readme-smart-20260704)
126
126
 
127
- The dashboard screenshots use synthetic aggregate fixture data, and the companion prompt and chat previews are synthetic. They do not contain prompts from local logs, assistant responses, real tool output, real thread names, real usage totals, or real Codex session content. See the [Dashboard Guide](docs/dashboard-guide.md) for the full walkthrough.
127
+ Dashboard screenshots use synthetic aggregate fixture data, and companion prompt/chat previews are synthetic. They do not contain prompts, local logs, assistant responses, real tool output, real thread names, real usage totals, or real Codex session content. See the [Dashboard Guide](docs/dashboard-guide.md) for the full walkthrough.
128
128
 
129
129
  If this helped you track Codex usage, starring the repo helps others find it. Issues and feature requests are welcome.
130
130
 
@@ -192,7 +192,7 @@ codex-usage-tracker serve-dashboard --open
192
192
  Then:
193
193
 
194
194
  1. Leave `Live` enabled while working, or click `Refresh` after a Codex run finishes.
195
- 2. Start in `Insights` and scan the `Needs Attention` cards.
195
+ 2. Start in `Overview` and scan the high-level metrics and recent calls.
196
196
  3. Use `Time` presets or calendar fields to focus on today, this week, the last 7 days, this month, or a custom range.
197
197
  4. Use investigation presets for highest-cost threads, highest-credit calls, context bloat, cache misses, pricing gaps, or estimated-price review.
198
198
  5. Open `Threads` to see how a conversation grew and whether subagent or auto-review work attached to it.
@@ -211,7 +211,7 @@ The tracker cannot read your logged-in ChatGPT plan or live remaining usage auto
211
211
 
212
212
  - Local SQLite index at `~/.codex-usage-tracker/usage.sqlite3`.
213
213
  - Static dashboard generation plus localhost live refresh.
214
- - `Insights`, `Calls`, `Threads`, and `Diagnostics` dashboard views, including on-demand usage-drain report runs with cumulative per-thread cost curves.
214
+ - `Overview`, `Calls`, `Threads`, and `Diagnostics` dashboard views, including on-demand usage-drain report runs with cumulative per-thread cost curves.
215
215
  - Active-only dashboards by default, with an explicit `All history` toggle for archived sessions.
216
216
  - CLI summaries, queries, CSV export, dashboard generation, doctor checks, and support bundles.
217
217
  - MCP tools for Codex sessions that want to query local usage data.
@@ -1,8 +1,8 @@
1
1
  # Codex Usage Tracker
2
2
 
3
3
  <p align="center">
4
- <a href="docs/assets/dashboard-calls.png"><img src="docs/assets/dashboard-calls-preview.png?v=readme-drilldown" alt="Codex Usage Tracker dashboard showing filters, usage totals, and named model-call rows." width="49%"></a>
5
- <a href="docs/assets/dashboard-call-investigator.png"><img src="docs/assets/dashboard-call-investigator-preview.png?v=readme-drilldown" alt="Codex Usage Tracker call investigator showing token accounting, cache diagnostics, and redacted runtime evidence." width="49%"></a>
4
+ <a href="docs/assets/dashboard-calls.png?v=readme-smart-20260704"><img src="docs/assets/dashboard-calls-preview.png?v=readme-smart-20260704" alt="Codex Usage Tracker React dashboard showing model-call filters, frozen call rows, and row loading controls." width="49%"></a>
5
+ <a href="docs/assets/dashboard-call-investigator.png?v=readme-smart-20260704"><img src="docs/assets/dashboard-call-investigator-preview.png?v=readme-smart-20260704" alt="Codex Usage Tracker call investigator showing token accounting, cache diagnostics, and explicit evidence controls." width="49%"></a>
6
6
  </p>
7
7
 
8
8
  Local-first dashboard, Codex plugin, and companion skill for understanding where your Codex tokens and usage credits are going.
@@ -36,7 +36,7 @@ If `codex-usage-tracker` is not found after installing with pipx, open a new ter
36
36
 
37
37
  First install? Start with the [First Five Minutes guide](docs/first-five-minutes.md) for setup, verification, empty-dashboard checks, and safe issue diagnostics.
38
38
 
39
- `serve-dashboard` refreshes active-session usage before opening by default. Use `--no-refresh` only when you intentionally want to inspect the cached local index.
39
+ `serve-dashboard` refreshes active-session usage before opening the React dashboard by default. The legacy dashboard remains available at `/dashboard.html` on the same localhost server. Use `--no-refresh` only when you intentionally want to inspect the cached local index.
40
40
 
41
41
  Package naming: the PyPI distribution is `codex-usage-tracking`; the installed command is `codex-usage-tracker`; the GitHub repository remains `douglasmonsky/codex-usage-tracker`. The `codex-usage-tracker` PyPI name is not this project, so avoid similarly named packages when following these docs.
42
42
 
@@ -52,35 +52,35 @@ Want Codex to do it for you? Paste: `Install codex-usage-tracking with pipx, run
52
52
 
53
53
  ## Dashboard Preview
54
54
 
55
- The Calls table is the main investigation surface: filter, sort, inspect details, and export the exact aggregate rows you are looking at.
55
+ Overview is the dashboard landing workspace: it shows recent aggregate usage, weekly remaining usage context, row loading controls, and charts that open on recent dates.
56
56
 
57
- ![Calls view showing filters, totals, the model-call table, and the compact details rail.](docs/assets/dashboard-calls.png?v=readme-drilldown)
57
+ ![Overview view showing high-level metrics, row loading controls, time-series charts, and recent aggregate calls.](docs/assets/dashboard-insights.png?v=readme-smart-20260704)
58
58
 
59
- Click a call to open the dedicated investigator for exact token accounting, cache/accounting deltas, local serialized evidence buckets, and redacted turn-log evidence loaded only at runtime.
59
+ Calls is the high-density investigation surface: filter, sort, inspect details, and export the exact aggregate rows you are looking at.
60
60
 
61
- ![Call investigator showing token accounting, cache diagnostics, serialized evidence groups, and raw evidence controls.](docs/assets/dashboard-call-investigator.png?v=readme-drilldown)
61
+ ![Calls view showing the expanded model-call table with sticky thread rows and detail controls.](docs/assets/dashboard-calls.png?v=readme-smart-20260704)
62
62
 
63
- The lower investigator view keeps the raw JSONL evidence opt-in and runtime-only while still showing visible-context estimates, serialized evidence upper bounds, and redacted turn-log entries.
63
+ The details rail stays beside the model-call table, so you can inspect aggregate call accounting before opening a full investigator route.
64
64
 
65
- ![Lower call investigator view showing context-change estimates, serialized evidence groups, and redacted runtime evidence entries.](docs/assets/dashboard-call-investigator-evidence.png?v=readme-drilldown)
65
+ ![Calls view showing the expanded model-call table beside the Call Drill-Down detail rail.](docs/assets/dashboard-details.png?v=readme-smart-20260704)
66
66
 
67
- Threads view groups related calls so long chats, subagents, and auto-review passes are easier to reason about as one work session.
67
+ Click a call row to open the dedicated investigator for exact token accounting, cache/accounting deltas, local serialized evidence buckets, and runtime-only evidence controls.
68
68
 
69
- ![Threads view with one expanded thread and its calls in chronological order.](docs/assets/dashboard-threads.png?v=readme-drilldown)
69
+ ![Call investigator showing token accounting, cache diagnostics, serialized evidence groups, and evidence controls.](docs/assets/dashboard-call-investigator.png?v=readme-smart-20260704)
70
70
 
71
- Diagnostics surfaces on-demand snapshot reports for tool output, commands, Git interactions, file reads, file modifications, read productivity, and concentration without tying them to the normal live refresh loop.
71
+ The lower investigator view keeps local JSONL context gated behind explicit localhost actions; raw context is not embedded in generated dashboard HTML.
72
72
 
73
- ![Diagnostics view showing weekly usage remaining and projected weekly credits from on-demand usage-drain reports.](docs/assets/dashboard-diagnostics.png?v=readme-usage-drain)
73
+ ![Lower call investigator view showing context estimates and the explicit raw-context evidence gate.](docs/assets/dashboard-call-investigator-evidence.png?v=readme-smart-20260704)
74
74
 
75
- The Git Interactions panel expands the safe Git and GitHub CLI operation families without storing command text, branch names, release notes, or patch content.
75
+ Threads view groups related calls so long chats, subagents, and auto-review passes are easier to reason about as one work session.
76
76
 
77
- ![Diagnostics Git Interactions panel showing aggregate Git and GitHub CLI operation counts.](docs/assets/dashboard-diagnostics-git-expanded.png?v=readme-diagnostics-git)
77
+ ![Threads view with one expanded thread and its calls.](docs/assets/dashboard-threads.png?v=readme-smart-20260704)
78
78
 
79
- Insights still gives a fast triage layer for costly threads, low cache reuse, context bloat, and pricing gaps.
79
+ Diagnostics Notebook surfaces on-demand snapshot reports for usage drain, tool output, commands, Git interactions, file reads, file modifications, read productivity, and concentration without tying them to the normal live refresh loop.
80
80
 
81
- ![Insights view with ranked Needs Attention cards, investigation presets, and top threads by attention score.](docs/assets/dashboard-insights.png?v=readme-drilldown)
81
+ ![Diagnostics Notebook view showing diagnostic snapshot modules and usage-drain reporting.](docs/assets/dashboard-diagnostics.png?v=readme-smart-20260704)
82
82
 
83
- The dashboard screenshots use synthetic aggregate fixture data, and the companion prompt and chat previews are synthetic. They do not contain prompts from local logs, assistant responses, real tool output, real thread names, real usage totals, or real Codex session content. See the [Dashboard Guide](docs/dashboard-guide.md) for the full walkthrough.
83
+ Dashboard screenshots use synthetic aggregate fixture data, and companion prompt/chat previews are synthetic. They do not contain prompts, local logs, assistant responses, real tool output, real thread names, real usage totals, or real Codex session content. See the [Dashboard Guide](docs/dashboard-guide.md) for the full walkthrough.
84
84
 
85
85
  If this helped you track Codex usage, starring the repo helps others find it. Issues and feature requests are welcome.
86
86
 
@@ -148,7 +148,7 @@ codex-usage-tracker serve-dashboard --open
148
148
  Then:
149
149
 
150
150
  1. Leave `Live` enabled while working, or click `Refresh` after a Codex run finishes.
151
- 2. Start in `Insights` and scan the `Needs Attention` cards.
151
+ 2. Start in `Overview` and scan the high-level metrics and recent calls.
152
152
  3. Use `Time` presets or calendar fields to focus on today, this week, the last 7 days, this month, or a custom range.
153
153
  4. Use investigation presets for highest-cost threads, highest-credit calls, context bloat, cache misses, pricing gaps, or estimated-price review.
154
154
  5. Open `Threads` to see how a conversation grew and whether subagent or auto-review work attached to it.
@@ -167,7 +167,7 @@ The tracker cannot read your logged-in ChatGPT plan or live remaining usage auto
167
167
 
168
168
  - Local SQLite index at `~/.codex-usage-tracker/usage.sqlite3`.
169
169
  - Static dashboard generation plus localhost live refresh.
170
- - `Insights`, `Calls`, `Threads`, and `Diagnostics` dashboard views, including on-demand usage-drain report runs with cumulative per-thread cost curves.
170
+ - `Overview`, `Calls`, `Threads`, and `Diagnostics` dashboard views, including on-demand usage-drain report runs with cumulative per-thread cost curves.
171
171
  - Active-only dashboards by default, with an explicit `All history` toggle for archived sessions.
172
172
  - CLI summaries, queries, CSV export, dashboard generation, doctor checks, and support bundles.
173
173
  - MCP tools for Codex sessions that want to query local usage data.
@@ -46,7 +46,8 @@ Tracked schema ids:
46
46
  | `codex-usage-tracker-reset-db-v1` | CLI `reset-db --yes --json` |
47
47
  | `codex-usage-tracker-summary-v1` | CLI `summary --json`, CLI `expensive --json`, MCP summary/expensive JSON |
48
48
  | `codex-usage-tracker-query-v1` | CLI `query`, MCP `usage_query(...)` |
49
- | `codex-usage-tracker-recommendations-v1` | CLI `recommendations --json`, MCP `usage_recommendations(response_format="json")` |
49
+ | `codex-usage-tracker-recommendations-v1` | CLI `recommendations --json`, MCP `usage_recommendations(response_format="json")`, MCP `usage_dashboard_recommendations(...)` |
50
+ | `codex-usage-tracker-reports-pack-v1` | Dashboard server `/api/reports/pack` response, MCP `usage_report_pack(...)` |
50
51
  | `codex-usage-tracker-diagnostics-v1` | CLI `diagnostics ... --json`, dashboard server `/api/diagnostics/*` |
51
52
  | `codex-usage-tracker-diagnostic-overview-v1` | CLI `diagnostics overview --json`, dashboard server `/api/diagnostics/overview` |
52
53
  | `codex-usage-tracker-diagnostic-tool-output-v1` | CLI `diagnostics tool-output --json`, dashboard server `/api/diagnostics/tool-output` |
@@ -64,14 +65,14 @@ Tracked schema ids:
64
65
  | `codex-usage-tracker-context-settings-v1` | Dashboard server `/api/context-settings` response |
65
66
  | `codex-usage-tracker-open-investigator-v1` | Dashboard server `/api/open-investigator` response |
66
67
  | `codex-usage-tracker-live-api-v1` | Dashboard server live API payload family marker |
67
- | `codex-usage-tracker-status-v1` | Dashboard server `/api/status` response |
68
- | `codex-usage-tracker-calls-v1` | Dashboard server `/api/calls` response |
69
- | `codex-usage-tracker-call-v1` | Dashboard server `/api/call` response |
70
- | `codex-usage-tracker-threads-v1` | Dashboard server `/api/threads` response |
68
+ | `codex-usage-tracker-status-v1` | Dashboard server `/api/status` response, MCP `usage_status()` |
69
+ | `codex-usage-tracker-calls-v1` | Dashboard server `/api/calls` response, MCP `usage_calls(...)` |
70
+ | `codex-usage-tracker-call-v1` | Dashboard server `/api/call` response, MCP `usage_call_detail(record_id=...)` |
71
+ | `codex-usage-tracker-threads-v1` | Dashboard server `/api/threads` response, MCP `usage_threads(...)` |
71
72
  | `codex-usage-tracker-thread-calls-v1` | Dashboard server `/api/thread-calls` response |
72
73
  | `codex-usage-tracker-dashboard-v1` | CLI `dashboard --json`, MCP `generate_usage_dashboard()` |
73
74
  | `codex-usage-tracker-open-dashboard-v1` | CLI `open-dashboard --json` |
74
- | `codex-usage-tracker-serve-dashboard-v1` | CLI `serve-dashboard --json` startup payload |
75
+ | `codex-usage-tracker-serve-dashboard-v1` | CLI `serve-dashboard --json` startup payload, including preferred React `dashboard_url` and legacy `legacy_dashboard_url` fallback |
75
76
  | `codex-usage-tracker-pricing-coverage-v1` | CLI `pricing-coverage --json`, MCP `usage_pricing_coverage(response_format="json")` |
76
77
  | `codex-usage-tracker-export-v1` | CLI `export --json`, MCP `export_usage_csv(...)` |
77
78
  | `codex-usage-tracker-init-pricing-v1` | CLI `init-pricing --json`, MCP `init_usage_pricing_config()` |
@@ -79,7 +79,7 @@ codex-usage-tracker serve-dashboard --no-context-api --open
79
79
 
80
80
  `serve-dashboard --context-api explicit` is the default and keeps context loading as an explicit per-row action. `serve-dashboard --no-context-api` or `--context-api disabled` starts with context loading off; a token-protected button in the local details panel can enable it without restarting the server.
81
81
 
82
- `open-dashboard` and `serve-dashboard` refresh active-session logs before opening by default. Use `--no-refresh` only for an intentionally cached snapshot. The lower-level `dashboard` command writes from the current SQLite index and does not rescan logs.
82
+ `open-dashboard` and `serve-dashboard` refresh active-session logs before opening by default. `serve-dashboard --open` opens the React dashboard; the legacy dashboard remains available at `/dashboard.html` on the same localhost server. Use `--no-refresh` only for an intentionally cached snapshot. The lower-level `dashboard` command writes from the current SQLite index and does not rescan logs.
83
83
 
84
84
  Dashboards default to active sessions only. Use `--include-archived` for an all-history static/opened dashboard, or switch the served dashboard's `History` control from `Active sessions only` to `All history` when you intentionally want archived logs scanned and included.
85
85
 
@@ -35,7 +35,7 @@ codex-usage-tracker --privacy-mode strict dashboard --open
35
35
 
36
36
  Redacted mode hides raw cwd/source paths, hides Git remote labels, and hashes unnamed projects while preserving configured aliases. Strict mode also hides project-relative cwd, Git branch, and tags. The dashboard header shows the active metadata mode.
37
37
 
38
- `serve-dashboard` refreshes active-session logs before opening by default. Use `--no-refresh` only when you intentionally want a cached view of the existing local index.
38
+ `serve-dashboard` refreshes active-session logs before opening the React dashboard by default. The legacy dashboard remains available at `/dashboard.html` on the same localhost server. Use `--no-refresh` only when you intentionally want a cached view of the existing local index.
39
39
 
40
40
  Set the initial dashboard language with the global `--lang` option before the command, or use `CODEX_USAGE_TRACKER_LANG`:
41
41
 
@@ -61,21 +61,21 @@ Static file mode can still filter, sort, and inspect aggregate call fields. `ope
61
61
 
62
62
  The localhost server uses a random per-server token for refresh and context API calls, validates loopback `Host` and `Origin` headers, and can start with context loading off through `codex-usage-tracker serve-dashboard --no-context-api`.
63
63
 
64
- ## Insights View
64
+ ## Overview View
65
65
 
66
- ![Insights view with ranked attention cards, investigation presets, and top threads by attention score.](assets/dashboard-insights.png)
66
+ ![Overview view showing high-level metrics, row loading controls, time-series charts, and recent aggregate calls.](assets/dashboard-insights.png)
67
67
 
68
- Open the `Insights` view when you want to answer "what needs attention?" before you start sorting tables.
68
+ Open `Overview` when you want a quick read on current aggregate usage before sorting deeper tables.
69
69
 
70
- - `Needs Attention` cards rank costly threads, Codex allowance usage, low cache reuse, context bloat, unpriced usage, estimated pricing, and reasoning-output spikes from aggregate fields only.
71
- - `Investigation Presets` apply a view, derived filter, sort order, and explanatory caption together.
72
- - Presets include highest-cost threads, highest Codex credits, context bloat, cache misses, pricing gaps, and estimated-price review.
73
- - The top table shows threads by attention score so you can jump from a summary signal into a thread timeline or selected call.
74
- - Clear an active preset to return to normal manual filtering and sorting.
70
+ - Global dashboard filters narrow Overview and the secondary workspaces by model, reasoning effort, pricing/credit confidence, and time range using the same URL parameters as legacy dashboard links.
71
+ - Metric cards summarize loaded aggregate rows without exposing prompts, assistant text, or raw tool output.
72
+ - Time-series charts open on the most recent dates first and can scroll left for earlier history while keeping the value axis visible.
73
+ - `Recent Calls` keeps the homepage modular: it shows the latest matching calls and lets any row open Call Investigator directly.
74
+ - Use `Investigator` or `Calls` when you need deeper ranking, filtering, or preset-style investigation workflows.
75
75
 
76
76
  ## Calls View
77
77
 
78
- ![Calls view showing filters, totals, the model-call table, and the compact details rail.](assets/dashboard-calls.png)
78
+ ![Calls view showing the expanded model-call table with sticky thread rows and detail controls.](assets/dashboard-calls.png)
79
79
 
80
80
  Use `Calls` view when you want to inspect individual model calls.
81
81
 
@@ -101,7 +101,7 @@ Use `Calls` view when you want to inspect individual model calls.
101
101
  - The first detail section includes a recommended action and a "why flagged" explanation derived only from aggregate counters and pricing/allowance metadata.
102
102
  - Raw aggregate identifiers and source file metadata are collapsed until you need them.
103
103
  - The expanded details panel reserves a visible scrollbar so long field lists are discoverable before you start scrolling.
104
- - `Load more` appears when the active Insights, Calls, Threads, or expanded thread-call section has more rows to reveal.
104
+ - `Load more` appears when the active Overview, Calls, Threads, or expanded thread-call section has more rows to reveal.
105
105
  - When served from localhost, `/api/usage` accepts `limit` and `offset` so automation can page aggregate rows without loading an entire large history.
106
106
  - After you scroll down, the bottom-right `Top` button returns to the top of the dashboard.
107
107
 
@@ -117,7 +117,7 @@ Useful interpretation notes:
117
117
 
118
118
  ## Threads View
119
119
 
120
- ![Threads view with one expanded thread and sortable newest-first calls.](assets/dashboard-threads.png)
120
+ ![Threads view with one expanded thread and its calls.](assets/dashboard-threads.png)
121
121
 
122
122
  Use `Threads` view when you want to understand a work session as a group instead of one call at a time.
123
123
 
@@ -130,7 +130,7 @@ Use `Threads` view when you want to understand a work session as a group instead
130
130
 
131
131
  ## Diagnostics View
132
132
 
133
- ![Diagnostics view showing on-demand usage-drain charts for weekly usage remaining and projected weekly credits.](assets/dashboard-diagnostics.png)
133
+ ![Diagnostics Notebook view showing diagnostic snapshot modules and usage-drain reporting.](assets/dashboard-diagnostics.png)
134
134
 
135
135
  Use `Diagnostics` view when you want to see what structured event patterns are happening and what token totals are associated with those patterns.
136
136
 
@@ -149,26 +149,26 @@ Use `Diagnostics` view when you want to see what structured event patterns are h
149
149
  - Click `Calls` on a fact row to load associated model calls. Call links and largest-call links open the Call Investigator, where raw context remains explicit and on demand.
150
150
  - Associated token totals are not causal allocations and are not additive when one call has multiple diagnostic facts.
151
151
 
152
- The same time range, model, reasoning, history scope, cards, and load controls apply in `Insights`, `Calls`, `Threads`, and `Diagnostics` views. Search, confidence, and sort controls currently scope the call/thread tables, not Diagnostics fact totals.
152
+ The same model, reasoning, confidence, time range, history scope, cards, and load controls apply in `Overview`, `Threads`, `Diagnostics`, and the other secondary workspaces. `Calls` keeps a fuller table-specific filter row for local search, source coverage, sorting, density, and selected-row state.
153
153
 
154
154
  ## Call Investigator
155
155
 
156
- ![Call investigator showing exact token accounting, cache/accounting deltas, context estimates, and runtime evidence.](assets/dashboard-call-investigator.png)
156
+ ![Call investigator showing exact token accounting, cache/accounting deltas, context estimates, and evidence controls.](assets/dashboard-call-investigator.png)
157
157
 
158
- Clicking a Calls row opens `dashboard.html?view=call&record=<record_id>` for one model call. Hover remains the fast scanning surface; the investigator is the deeper diagnostic page for a single selected call. Expanded Threads rows and the details panel can still expose explicit investigator actions where a row click already has another meaning.
158
+ Clicking a Calls row opens `react-dashboard.html?view=call&record=<record_id>` for one model call. Legacy `dashboard.html?view=call&record=...` links remain accepted and hydrate the same investigator route. Hover remains the fast scanning surface; the investigator is the deeper diagnostic page for a single selected call. Expanded Threads rows and the details panel can still expose explicit investigator actions where a row click already has another meaning.
159
159
 
160
160
  The investigator separates evidence by confidence:
161
161
 
162
162
  - `Exact`: logged token callback counts, cost, Codex credits, cache ratio, model, effort, source, and context-window pressure.
163
163
  - `Derived`: previous/next calls in the same resolved thread and cache/accounting deltas versus the previous chronological call.
164
164
  - `Estimated`: visible new-context estimates, serialized local JSONL upper bounds, candidate serialized-overhead groups, and any remaining gap after that upper bound. These are attribution aids, not exact cached text spans.
165
- - `Evidence`: redacted local JSONL turn-log evidence loaded at runtime for the selected investigator call.
165
+ - `Evidence`: redacted local JSONL turn-log evidence loaded at runtime for the selected investigator call after explicit localhost action.
166
166
 
167
167
  Previous and next buttons move chronologically within the same resolved thread and keep the selected call in the URL. Cache diagnostics label common patterns such as warm cache reuse, cold resume or stale cache, partial cache miss, uncached spike, and post-compaction. Delta cards compare input, cached input, uncached input, output/reasoning output, and cache ratio to the previous call and use "cache/accounting delta" terminology because logs do not expose exact cached text spans.
168
168
 
169
169
  ## Details And Context
170
170
 
171
- ![Calls view with a selected usage row and the compact Call Details rail collapsed.](assets/dashboard-details.png)
171
+ ![Calls view showing the expanded model-call table beside the Call Drill-Down detail rail.](assets/dashboard-details.png)
172
172
 
173
173
  The details rail is collapsed by default to preserve table space. Open `Call Details` when you want a compact aggregate preview without leaving the table. When expanded on desktop, it sticks inside the viewport and scrolls internally when the selected call has more fields or loaded context than can fit on screen.
174
174
 
@@ -191,7 +191,7 @@ For selected threads, the panel shows:
191
191
  - a compact thread timeline with recent calls, cost, credits, cache, context, and pricing cues
192
192
  - direct, subagent, auto-review, attached-call, and spawned-thread relationship counts
193
193
 
194
- When served from localhost, the call investigator automatically fetches quick, redacted source evidence for only that call. The details panel still uses an explicit `Show turn log evidence` action so hovering rows does not pull raw context unexpectedly.
194
+ When served from localhost with the context API enabled, the call investigator can fetch quick, redacted source evidence for only the selected call. The details panel still uses an explicit `Show turn log evidence` action so hovering rows does not pull raw context unexpectedly.
195
195
 
196
196
  - `Hide tool output` reloads evidence without tool output when the output is noisy.
197
197
  - `Show tool output` appears after hiding it and reloads evidence with redacted tool output included again.
@@ -206,7 +206,7 @@ When served from localhost, the call investigator automatically fetches quick, r
206
206
  2. Leave `Live` enabled while you work, or click `Refresh` after a Codex run finishes.
207
207
  3. Leave `History` on `Active sessions only` for current work. Switch to `All history` when you intentionally want archived sessions included in the live refresh.
208
208
  4. Optionally run `parse-allowance` with copied values from Codex Usage or `/status`, or initialize and edit `allowance.json` manually.
209
- 5. Start in `Insights` view and review the highest-severity attention cards.
209
+ 5. Start in `Overview` view and review high-level totals, recent trends, and recent calls.
210
210
  6. Narrow the `Time` filter when you are investigating a recent spike or a specific work window.
211
211
  7. Use a preset when the question is already clear: highest-cost threads, highest Codex credits, context bloat, cache misses, pricing gaps, or estimated-price review.
212
212
  8. Use `Threads` view to find the active work thread and any spawned subagent calls.
@@ -38,7 +38,7 @@ fix/<issue-number>-short-description
38
38
  docs/<issue-number>-short-description
39
39
  chore/<issue-number>-short-description
40
40
  test/<issue-number>-short-description
41
- release/0.13.1
41
+ release/0.14.0
42
42
  hotfix/0.3.3
43
43
  ```
44
44
 
@@ -149,8 +149,8 @@ python scripts/smoke_installed_package.py --docker
149
149
  To verify the public PyPI package instead of the local checkout:
150
150
 
151
151
  ```bash
152
- python scripts/smoke_installed_package.py --from-pypi --version 0.13.1
153
- python scripts/smoke_installed_package.py --docker --from-pypi --version 0.13.1
152
+ python scripts/smoke_installed_package.py --from-pypi --version 0.14.0
153
+ python scripts/smoke_installed_package.py --docker --from-pypi --version 0.14.0
154
154
  ```
155
155
 
156
156
  `scripts/check_release.py` treats these public-package smoke commands as release-state claims. Keep their `--version` and `codex-usage-tracking==...` values aligned with `pyproject.toml`; the release gate fails when the docs claim a different public version. It also checks that install docs point at the real PyPI distribution, `codex-usage-tracking`, and keep the warning that `codex-usage-tracker` is a different PyPI package.
@@ -194,7 +194,7 @@ DASHBOARD_BASE_URL=http://127.0.0.1:8898 npm run smoke:dashboard:diagnostics
194
194
 
195
195
  ## Dashboard Screenshots
196
196
 
197
- Dashboard screenshots in `docs/assets/` and `src/codex_usage_tracker/plugin_data/docs/assets/` must be generated from synthetic aggregate fixture data only.
197
+ Dashboard screenshots in `docs/assets/` and `src/codex_usage_tracker/plugin_data/docs/assets/` must be generated from synthetic aggregate fixture data only. Capture the React dashboard from the Vite fixture route, then mirror the refreshed files into the packaged docs asset directory.
198
198
 
199
199
  The tracked dashboard screenshot set is:
200
200
 
@@ -297,8 +297,8 @@ After the release branch merges, tag from updated `main`, not from an unreviewed
297
297
  ```bash
298
298
  git switch main
299
299
  git pull --ff-only
300
- git tag -a v0.13.1 -m "codex-usage-tracker 0.13.1"
301
- git push origin v0.13.0
300
+ git tag -a v0.14.0 -m "codex-usage-tracker 0.14.0"
301
+ git push origin v0.14.0
302
302
  ```
303
303
 
304
304
  Do not create or push release tags without maintainer approval.
@@ -307,7 +307,7 @@ Do not create or push release tags without maintainer approval.
307
307
 
308
308
  Publishing uses GitHub Actions Trusted Publishing through `.github/workflows/publish.yml`; do not upload from a local machine and do not add PyPI or TestPyPI API tokens.
309
309
 
310
- The first public package release, `0.3.0`, was published on June 8, 2026. Patch release `0.3.1` followed the same day to ship the live-dashboard skill launch fix. Patch release `0.3.2` made dashboard launch refresh the default and added runtime enablement for context loading. Minor release `0.4.0` added Python 3.14 support, release recovery docs, stricter privacy/support-bundle regression coverage, and large-history benchmark thresholds. Patch release `0.4.1` was published by workflow dispatch from `main`; it hardened the PyPI publish workflow and checked off completed 1.0 readiness gates. Minor release `0.5.0` added dashboard localization support and initial language catalogs. Minor release `0.6.0` is the performance and call-drilldown release with SQL-backed live API slices, materialized thread summaries, faster evidence loading, and dashboard runtime module refactors. Patch release `0.6.1` aligns the final README/package screenshots and companion plugin assets. Minor release `0.7.0` adds observed usage snapshots and the latest-observed dashboard card while keeping raw evidence on demand only. Minor release `0.8.0` adds aggregate diagnostics, source-offset context seeking, and live dashboard loading hardening. Patch release `0.8.1` improves Diagnostics fact table readability with pinned fact names and sortable fact columns. Minor release `0.9.0` adds persisted diagnostic snapshots, on-demand diagnostic refresh, tool/command/file-read/concentration reports, and Diagnostics dashboard panels. Minor release `0.10.0` adds Git/GitHub CLI diagnostics, file-modification diagnostics, and derived call timing fields across the dashboard and API. Patch release `0.10.1` adds lightweight action timing to context evidence and ships the synthetic Git Interactions README screenshot. Minor release `0.11.0` adds usage-drain diagnostic reports, projected weekly credit charts, and cumulative thread cost curves. Patch release `0.11.1` improves the Diagnostics weekly projection table and stale snapshot reload controls. Patch release `0.11.2` fixes served dashboard shell hydration and hardens the synthetic source-log benchmark smoke test. Patch release `0.11.3` fixes Windows live dashboard asset MIME handling. Patch release `0.11.4` fixes large-history setup refresh failures from SQLite variable limits. Minor release `0.12.0` ships the maintainability architecture repair, dashboard diagnostics hardening, Agent Maintainer ratchets, and warning-clean test suite. Patch release `0.12.1` ships the package-domain boundary split, allowance helper split, refreshed maintainability baselines, and CLI module entrypoint fix. Minor release `0.13.0` ships adoption-hardening onboarding, first-run diagnostics, support-bundle issue guidance, and installed-wheel lifecycle smoke hardening. Patch release `0.13.1` adds guided usage-summary diagnostics across CLI, API, and dashboard.
310
+ The first public package release, `0.3.0`, was published on June 8, 2026. Patch releases `0.3.1` and `0.3.2` stabilized live-dashboard launch and context loading. Minor releases `0.4.0` through `0.13.1` added Python 3.14 support, localization, SQL-backed dashboard loading, observed usage snapshots, diagnostics, usage-drain reports, maintainability refactors, onboarding hardening, and guided usage-summary diagnostics. Minor release `0.14.0` ships the React dashboard transition with legacy parity fixes, local-only safeguards, and weekly-first usage remaining displays.
311
311
 
312
312
  - GitHub Release: `https://github.com/douglasmonsky/codex-usage-tracker/releases/tag/v0.3.0`
313
313
  - GitHub Release: `https://github.com/douglasmonsky/codex-usage-tracker/releases/tag/v0.3.1`