codex-usage-tracking 0.17.1__tar.gz → 0.18.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 (1035) hide show
  1. codex_usage_tracking-0.18.0/.codex-plugin/plugin.json +45 -0
  2. codex_usage_tracking-0.18.0/AGENTS.md +280 -0
  3. codex_usage_tracking-0.18.0/CHANGELOG.md +270 -0
  4. codex_usage_tracking-0.18.0/PKG-INFO +373 -0
  5. codex_usage_tracking-0.18.0/README.md +325 -0
  6. codex_usage_tracking-0.18.0/docs/agent-maintainer-guidance.md +70 -0
  7. codex_usage_tracking-0.18.0/docs/agent-maintainer-hardening-branch-roadmap.md +184 -0
  8. codex_usage_tracking-0.18.0/docs/allowance-intelligence.md +80 -0
  9. codex_usage_tracking-0.18.0/docs/architecture/decisions/0002-explicit-tach-module-inventory.md +22 -0
  10. codex_usage_tracking-0.18.0/docs/architecture/decisions/0003-domain-level-tach-boundaries.md +39 -0
  11. codex_usage_tracking-0.18.0/docs/architecture/decisions/0004-dashboard-typescript-boundaries.md +65 -0
  12. codex_usage_tracking-0.18.0/docs/architecture/decisions/0005-dashboard-router-and-query-runtime.md +54 -0
  13. codex_usage_tracking-0.18.0/docs/architecture/decisions/0006-dashboard-visualization-contract.md +78 -0
  14. codex_usage_tracking-0.18.0/docs/architecture/decisions/0007-dashboard-css-ownership.md +40 -0
  15. codex_usage_tracking-0.18.0/docs/architecture/decisions/0008-dashboard-usage-constellation.md +50 -0
  16. codex_usage_tracking-0.18.0/docs/architecture/decisions/0009-compression-mcp-adapter.md +27 -0
  17. codex_usage_tracking-0.18.0/docs/architecture/decisions/0010-recommendation-engine-boundary.md +31 -0
  18. codex_usage_tracking-0.18.0/docs/architecture/decisions/0011-compression-dashboard-adapter.md +32 -0
  19. codex_usage_tracking-0.18.0/docs/architecture-boundary-map.md +71 -0
  20. codex_usage_tracking-0.18.0/docs/architecture.md +83 -0
  21. codex_usage_tracking-0.18.0/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  22. codex_usage_tracking-0.18.0/docs/assets/dashboard-call-investigator-preview.png +0 -0
  23. codex_usage_tracking-0.18.0/docs/assets/dashboard-call-investigator.png +0 -0
  24. codex_usage_tracking-0.18.0/docs/assets/dashboard-calls-preview.png +0 -0
  25. codex_usage_tracking-0.18.0/docs/assets/dashboard-calls.png +0 -0
  26. codex_usage_tracking-0.18.0/docs/assets/dashboard-details.png +0 -0
  27. codex_usage_tracking-0.18.0/docs/assets/dashboard-diagnostics.png +0 -0
  28. codex_usage_tracking-0.18.0/docs/assets/dashboard-insights.png +0 -0
  29. codex_usage_tracking-0.18.0/docs/assets/dashboard-threads.png +0 -0
  30. codex_usage_tracking-0.18.0/docs/cli-json-schemas.md +1319 -0
  31. codex_usage_tracking-0.18.0/docs/complexity-hardening-roadmap.md +104 -0
  32. codex_usage_tracking-0.18.0/docs/compression-lab-roadmap.md +670 -0
  33. codex_usage_tracking-0.18.0/docs/dashboard-final-redesign-audit.md +245 -0
  34. codex_usage_tracking-0.18.0/docs/dashboard-final-redesign-parity.md +94 -0
  35. codex_usage_tracking-0.18.0/docs/dashboard-final-redesign-release-candidate.md +239 -0
  36. codex_usage_tracking-0.18.0/docs/dashboard-final-redesign-roadmap.md +511 -0
  37. codex_usage_tracking-0.18.0/docs/dashboard-final-redesign-spec.md +439 -0
  38. codex_usage_tracking-0.18.0/docs/dashboard-guide.md +413 -0
  39. codex_usage_tracking-0.18.0/docs/dashboard-overview-parity.md +32 -0
  40. codex_usage_tracking-0.18.0/docs/dashboard-query-pipeline-refactor-roadmap.md +533 -0
  41. codex_usage_tracking-0.18.0/docs/dashboard-route-inventory.md +179 -0
  42. codex_usage_tracking-0.18.0/docs/development.md +465 -0
  43. codex_usage_tracking-0.18.0/docs/examples/remediation-conversation.md +35 -0
  44. codex_usage_tracking-0.18.0/docs/examples/token-waste-conversation.md +33 -0
  45. codex_usage_tracking-0.18.0/docs/frontend-rewrite-roadmap.md +566 -0
  46. codex_usage_tracking-0.18.0/docs/mcp.md +263 -0
  47. codex_usage_tracking-0.18.0/docs/one-dot-oh-readiness.md +228 -0
  48. codex_usage_tracking-0.18.0/docs/pricing-and-credits.md +98 -0
  49. codex_usage_tracking-0.18.0/docs/privacy.md +143 -0
  50. codex_usage_tracking-0.18.0/docs/superpowers/plans/2026-07-11-compression-lab-implementation.md +448 -0
  51. codex_usage_tracking-0.18.0/docs/superpowers/plans/2026-07-11-page-query-progress.md +208 -0
  52. codex_usage_tracking-0.18.0/docs/superpowers/plans/2026-07-14-clone-copy-deduplication.md +533 -0
  53. codex_usage_tracking-0.18.0/docs/superpowers/plans/2026-07-15-parallel-hardening-ci.md +335 -0
  54. codex_usage_tracking-0.18.0/docs/superpowers/specs/2026-07-11-compression-lab-design.md +429 -0
  55. codex_usage_tracking-0.18.0/docs/superpowers/specs/2026-07-11-page-query-progress-design.md +59 -0
  56. codex_usage_tracking-0.18.0/docs/superpowers/specs/2026-07-14-clone-copy-deduplication-design.md +134 -0
  57. codex_usage_tracking-0.18.0/docs/superpowers/specs/2026-07-15-parallel-hardening-ci-design.md +151 -0
  58. codex_usage_tracking-0.18.0/docs/usage-drain-modeling.md +1008 -0
  59. codex_usage_tracking-0.18.0/pyproject.toml +307 -0
  60. codex_usage_tracking-0.18.0/scripts/benchmark_compression_lab.py +497 -0
  61. codex_usage_tracking-0.18.0/scripts/benchmark_dashboard_routes.py +429 -0
  62. codex_usage_tracking-0.18.0/scripts/benchmark_refresh_ingestion.py +453 -0
  63. codex_usage_tracking-0.18.0/scripts/benchmark_synthetic_history.py +849 -0
  64. codex_usage_tracking-0.18.0/scripts/check_dashboard_source_budgets.py +142 -0
  65. codex_usage_tracking-0.18.0/scripts/check_release.py +736 -0
  66. codex_usage_tracking-0.18.0/scripts/compression_persistence_benchmark.py +216 -0
  67. codex_usage_tracking-0.18.0/scripts/compression_revision_benchmark.py +113 -0
  68. codex_usage_tracking-0.18.0/scripts/dashboard_route_benchmark_support.py +184 -0
  69. codex_usage_tracking-0.18.0/scripts/generate_social_preview.py +250 -0
  70. codex_usage_tracking-0.18.0/scripts/install_local_plugin.py +54 -0
  71. codex_usage_tracking-0.18.0/scripts/model_usage_drain.py +569 -0
  72. codex_usage_tracking-0.18.0/scripts/smoke_dashboard_server.py +142 -0
  73. codex_usage_tracking-0.18.0/scripts/smoke_installed_package.py +588 -0
  74. codex_usage_tracking-0.18.0/skills/codex-usage-api/SKILL.md +75 -0
  75. codex_usage_tracking-0.18.0/skills/codex-usage-tracker/SKILL.md +120 -0
  76. codex_usage_tracking-0.18.0/skills/codex-usage-tracker/scripts/run_mcp.py +125 -0
  77. codex_usage_tracking-0.18.0/src/codex_usage_tracker/__init__.py +7 -0
  78. codex_usage_tracking-0.18.0/src/codex_usage_tracker/allowance_intelligence/model.py +478 -0
  79. codex_usage_tracking-0.18.0/src/codex_usage_tracker/allowance_intelligence/reports.py +322 -0
  80. codex_usage_tracking-0.18.0/src/codex_usage_tracker/allowance_intelligence/statistics.py +381 -0
  81. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/__init__.py +20 -0
  82. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/commands_data.py +164 -0
  83. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/commands_lifecycle.py +294 -0
  84. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/commands_reports.py +181 -0
  85. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/dashboard.py +184 -0
  86. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/inspect_log_output.py +28 -0
  87. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/main.py +140 -0
  88. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_allowance.py +78 -0
  89. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_compression.py +148 -0
  90. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_compression_router.py +222 -0
  91. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_compression_router_payloads.py +334 -0
  92. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_dashboard.py +388 -0
  93. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_discovery.py +360 -0
  94. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_dogfood.py +357 -0
  95. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_investigations.py +228 -0
  96. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_runtime.py +5 -0
  97. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_server.py +485 -0
  98. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/mcp_visualization.py +164 -0
  99. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/parser.py +113 -0
  100. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/parser_data.py +329 -0
  101. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/parser_diagnostics.py +215 -0
  102. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/parser_lifecycle.py +201 -0
  103. codex_usage_tracking-0.18.0/src/codex_usage_tracker/cli/parser_reports.py +139 -0
  104. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/__init__.py +19 -0
  105. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/api.py +238 -0
  106. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/attribution.py +229 -0
  107. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/context_detectors.py +165 -0
  108. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/detector_protocol.py +122 -0
  109. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/detector_registry.py +49 -0
  110. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/estimators.py +377 -0
  111. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/evidence.py +429 -0
  112. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/identifiers.py +60 -0
  113. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/jobs.py +286 -0
  114. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/models.py +252 -0
  115. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/output_detectors.py +114 -0
  116. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/payloads.py +449 -0
  117. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/profile.py +126 -0
  118. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/repetition_detectors.py +353 -0
  119. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/request.py +98 -0
  120. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/run_builder.py +471 -0
  121. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/run_cache.py +374 -0
  122. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/simulation_api.py +225 -0
  123. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/simulation_payloads.py +103 -0
  124. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/simulator.py +266 -0
  125. codex_usage_tracking-0.18.0/src/codex_usage_tracker/compression/streaming_evidence.py +340 -0
  126. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/__init__.py +16 -0
  127. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/api.py +97 -0
  128. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/loader.py +140 -0
  129. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/reader.py +458 -0
  130. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/summaries.py +402 -0
  131. codex_usage_tracking-0.18.0/src/codex_usage_tracker/context/token_estimates.py +88 -0
  132. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/call_origin.py +129 -0
  133. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/command_parsing.py +204 -0
  134. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/formatting.py +371 -0
  135. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/i18n.py +183 -0
  136. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_cli.py +579 -0
  137. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_diagnostics.py +211 -0
  138. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_server.py +167 -0
  139. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_summary.py +16 -0
  140. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_validation.py +109 -0
  141. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contract_visualization.py +30 -0
  142. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/json_contracts.py +30 -0
  143. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/models.py +136 -0
  144. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/projects.py +372 -0
  145. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/redaction.py +57 -0
  146. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/schema.py +112 -0
  147. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/threads.py +208 -0
  148. codex_usage_tracking-0.18.0/src/codex_usage_tracker/core/usage_identity.py +82 -0
  149. codex_usage_tracking-0.18.0/src/codex_usage_tracker/dashboard/__init__.py +16 -0
  150. codex_usage_tracking-0.18.0/src/codex_usage_tracker/dashboard/api.py +539 -0
  151. codex_usage_tracking-0.18.0/src/codex_usage_tracker/dashboard/assets.py +177 -0
  152. codex_usage_tracking-0.18.0/src/codex_usage_tracker/dashboard/cache_identity.py +42 -0
  153. codex_usage_tracking-0.18.0/src/codex_usage_tracker/dashboard/load_window.py +25 -0
  154. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/__init__.py +16 -0
  155. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/action_hints.py +68 -0
  156. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/api.py +235 -0
  157. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/dedupe.py +35 -0
  158. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/doctor_checks.py +351 -0
  159. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/fact_classifiers.py +421 -0
  160. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/facts.py +385 -0
  161. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/guided_signals.py +324 -0
  162. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/guided_summary.py +241 -0
  163. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/mcp.py +337 -0
  164. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/reports.py +476 -0
  165. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_analysis.py +341 -0
  166. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_analysis_payloads.py +202 -0
  167. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_concentration.py +347 -0
  168. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_events.py +424 -0
  169. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_overview.py +107 -0
  170. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_payloads.py +186 -0
  171. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_progress.py +23 -0
  172. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_report.py +259 -0
  173. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_rows.py +289 -0
  174. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshot_source_scan.py +384 -0
  175. codex_usage_tracking-0.18.0/src/codex_usage_tracker/diagnostics/snapshots.py +493 -0
  176. codex_usage_tracking-0.18.0/src/codex_usage_tracker/parser/__init__.py +16 -0
  177. codex_usage_tracking-0.18.0/src/codex_usage_tracker/parser/api.py +234 -0
  178. codex_usage_tracking-0.18.0/src/codex_usage_tracker/parser/jsonl_v1.py +465 -0
  179. codex_usage_tracking-0.18.0/src/codex_usage_tracker/parser/jsonl_values.py +335 -0
  180. codex_usage_tracking-0.18.0/src/codex_usage_tracker/parser/state.py +176 -0
  181. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/dashboard.js +1587 -0
  182. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/dashboard_status.js +323 -0
  183. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/dashboard_template.html +184 -0
  184. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/ar.json +564 -0
  185. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/de.json +564 -0
  186. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/en.json +564 -0
  187. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/es.json +564 -0
  188. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/fr.json +564 -0
  189. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/it.json +564 -0
  190. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/ja.json +564 -0
  191. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/ko.json +564 -0
  192. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/pt.json +564 -0
  193. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/ru.json +564 -0
  194. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/vi.json +564 -0
  195. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/locales/zh-Hans.json +564 -0
  196. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/App.js +133 -0
  197. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CacheContextPage.js +1 -0
  198. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CallInvestigatorPage.js +16 -0
  199. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CallsPage.css +1 -0
  200. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CallsPage.js +16 -0
  201. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CompressionLabPage.css +1 -0
  202. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CompressionLabPage.js +1 -0
  203. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/CoordinateSystem.js +1 -0
  204. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/DataDiffer.js +1 -0
  205. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/DataTable.js +11 -0
  206. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/DiagnosticsPage.js +1 -0
  207. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/EvidenceGrid.css +1 -0
  208. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/EvidenceGrid.js +6 -0
  209. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ExploreRoutePage.css +1 -0
  210. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ExploreRoutePage.js +1 -0
  211. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ExploreWorkspaceSwitcher.js +1 -0
  212. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/InvestigatorPage.css +1 -0
  213. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/InvestigatorPage.js +11 -0
  214. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/LineChart.js +1 -0
  215. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/OverviewPage.css +1 -0
  216. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/OverviewPage.js +1 -0
  217. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/PageLoadProgress.css +1 -0
  218. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/PageLoadProgress.js +1 -0
  219. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/Panel.js +1 -0
  220. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/Primitives.css +1 -0
  221. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/Primitives.js +1 -0
  222. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ReportsPage.css +1 -0
  223. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ReportsPage.js +1 -0
  224. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/RoamController.js +1 -0
  225. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/SeriesData.js +1 -0
  226. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/SettingsPage.css +1 -0
  227. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/SettingsPage.js +6 -0
  228. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/SymbolDraw.js +1 -0
  229. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ThreadsPage.css +1 -0
  230. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/ThreadsPage.js +6 -0
  231. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageConstellation.css +1 -0
  232. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageConstellation.js +12 -0
  233. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageConstellationCanvas.css +1 -0
  234. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageConstellationCanvas.js +4140 -0
  235. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageDrainPage.css +1 -0
  236. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/UsageDrainPage.js +1 -0
  237. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/VisualMapping.js +1 -0
  238. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/accessibilityFeature.js +1 -0
  239. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/annotationFeature.js +1 -0
  240. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/cartesianAxisHelper.js +1 -0
  241. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/cartesianRenderer.js +1 -0
  242. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/contextEvidenceState.js +1 -0
  243. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/dashboard-react.js +50 -0
  244. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/dashboardRouter.js +2 -0
  245. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/dataStackHelper.js +1 -0
  246. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/diagnosticsQueries.js +1 -0
  247. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/echartsRenderer.js +2 -0
  248. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/exploreQueries.js +1 -0
  249. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/extension.js +48 -0
  250. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/filtering.js +1 -0
  251. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/flowRenderer.js +1 -0
  252. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/gauge.js +6 -0
  253. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/grid.js +1 -0
  254. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/heatmapRenderer.js +1 -0
  255. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/index.css +1 -0
  256. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/index.js +1 -0
  257. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/index2.js +22 -0
  258. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/infiniteQueryOptions.js +1 -0
  259. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/install.js +1 -0
  260. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/interactionFeature.js +18 -0
  261. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/legendFeature.js +3 -0
  262. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/listComponent.js +1 -0
  263. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/lock-keyhole.js +6 -0
  264. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/overviewQueries.js +11 -0
  265. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/queryOptions.js +1 -0
  266. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/router.js +17 -0
  267. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/runtime.js +3 -0
  268. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/scaleRawExtentInfo.js +1 -0
  269. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/shield-check.js +6 -0
  270. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/sliderMove.js +1 -0
  271. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/threadSummaryAdapter.js +1 -0
  272. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/tooltipFeature.js +3 -0
  273. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/triangle-alert.js +6 -0
  274. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/useBaseQuery.js +1 -0
  275. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/useInfiniteQuery.js +1 -0
  276. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/useQuery.js +1 -0
  277. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/dashboard/react/assets/visualMapFeature.js +1 -0
  278. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  279. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-preview.png +0 -0
  280. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator.png +0 -0
  281. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls-preview.png +0 -0
  282. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls.png +0 -0
  283. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-details.png +0 -0
  284. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics.png +0 -0
  285. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-insights.png +0 -0
  286. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-threads.png +0 -0
  287. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/dashboard-guide.html +163 -0
  288. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/examples/remediation-conversation.md +35 -0
  289. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/docs/examples/token-waste-conversation.md +33 -0
  290. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/rate_cards/codex-credit-rates.json +104 -0
  291. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/skills/codex-usage-api/SKILL.md +75 -0
  292. codex_usage_tracking-0.18.0/src/codex_usage_tracker/plugin_data/skills/codex-usage-tracker/SKILL.md +120 -0
  293. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/__init__.py +16 -0
  294. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/allowance_config.py +312 -0
  295. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/allowance_rate_card.py +295 -0
  296. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/allowance_usage.py +201 -0
  297. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/api.py +61 -0
  298. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/config.py +258 -0
  299. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/costing.py +217 -0
  300. codex_usage_tracking-0.18.0/src/codex_usage_tracker/pricing/openai.py +280 -0
  301. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/__init__.py +1 -0
  302. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/api.py +74 -0
  303. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/fact_config.py +110 -0
  304. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/materialization.py +361 -0
  305. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/query.py +292 -0
  306. codex_usage_tracking-0.18.0/src/codex_usage_tracker/recommendation_engine/summary_materialization.py +276 -0
  307. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/__init__.py +16 -0
  308. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/action_brief.py +405 -0
  309. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/agentic.py +481 -0
  310. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/agentic_dogfood.py +799 -0
  311. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/agentic_dogfood_markdown.py +52 -0
  312. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/agentic_evidence.py +179 -0
  313. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/agentic_strategy.py +231 -0
  314. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/api.py +450 -0
  315. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/discovery.py +456 -0
  316. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/hypothesis_classification.py +111 -0
  317. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/hypothesis_evaluators.py +398 -0
  318. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/hypothesis_limit_evaluators.py +158 -0
  319. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/hypothesis_results.py +125 -0
  320. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/investigation_walk.py +399 -0
  321. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/project_summary.py +136 -0
  322. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/query.py +300 -0
  323. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/recommendations.py +330 -0
  324. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/support.py +375 -0
  325. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/visualization.py +368 -0
  326. codex_usage_tracking-0.18.0/src/codex_usage_tracker/reports/visualization_support.py +239 -0
  327. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/__init__.py +23 -0
  328. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/allowance.py +221 -0
  329. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/analysis_jobs.py +246 -0
  330. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/api.py +151 -0
  331. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/call_detail.py +137 -0
  332. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/call_lists.py +172 -0
  333. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/compression_routes.py +246 -0
  334. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/context.py +127 -0
  335. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/dashboard_pages.py +172 -0
  336. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/dedupe.py +65 -0
  337. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/diagnostic_facts.py +224 -0
  338. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/diagnostic_jobs.py +92 -0
  339. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/diagnostic_routes.py +363 -0
  340. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/diagnostic_snapshots.py +246 -0
  341. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/handler.py +489 -0
  342. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/investigations.py +342 -0
  343. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/live_rows.py +162 -0
  344. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/open_investigator.py +73 -0
  345. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/query_cache.py +265 -0
  346. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/recommendations.py +128 -0
  347. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/reports.py +194 -0
  348. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/request_guards.py +52 -0
  349. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/request_timing.py +15 -0
  350. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/responses.py +79 -0
  351. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/route_inventory.py +436 -0
  352. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/route_profile.py +54 -0
  353. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/routes.py +79 -0
  354. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/status.py +86 -0
  355. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/summary.py +114 -0
  356. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/threads.py +92 -0
  357. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/usage_refresh.py +432 -0
  358. codex_usage_tracking-0.18.0/src/codex_usage_tracker/server/utils.py +220 -0
  359. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/__init__.py +16 -0
  360. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/allowance_observations.py +196 -0
  361. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/api.py +881 -0
  362. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_candidate_metadata.py +45 -0
  363. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_candidates.py +502 -0
  364. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_capacities.py +54 -0
  365. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_evidence.py +481 -0
  366. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_contract.py +140 -0
  367. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_ingest.py +112 -0
  368. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_manifest.py +164 -0
  369. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_queries.py +300 -0
  370. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_rows.py +412 -0
  371. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_fact_sync.py +223 -0
  372. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_facts.py +464 -0
  373. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_publication.py +402 -0
  374. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_revisions.py +132 -0
  375. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_runs.py +341 -0
  376. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/compression_schema.py +457 -0
  377. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/connection.py +30 -0
  378. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_excerpts.py +65 -0
  379. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_extract.py +360 -0
  380. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index.py +292 -0
  381. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_bulk.py +291 -0
  382. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_event_store.py +346 -0
  383. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_events.py +547 -0
  384. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_models.py +65 -0
  385. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_parallel.py +189 -0
  386. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_source.py +141 -0
  387. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_index_stream.py +126 -0
  388. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_patterns.py +412 -0
  389. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_persistence.py +178 -0
  390. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_provenance.py +40 -0
  391. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_query.py +82 -0
  392. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_rows.py +170 -0
  393. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_search.py +331 -0
  394. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/content_trace.py +234 -0
  395. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/dashboard_queries.py +416 -0
  396. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/dedupe_queries.py +120 -0
  397. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/deduplication.py +97 -0
  398. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/deduplication_schema.py +128 -0
  399. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/diagnostic_api.py +91 -0
  400. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/diagnostic_call_queries.py +191 -0
  401. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/diagnostic_queries.py +409 -0
  402. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/exports.py +49 -0
  403. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/investigation_runs.py +119 -0
  404. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/large_low_output.py +326 -0
  405. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/query_sql.py +308 -0
  406. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/query_values.py +13 -0
  407. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/recommendation_queries.py +158 -0
  408. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/recommendation_schema.py +170 -0
  409. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/refresh.py +187 -0
  410. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/refresh_callbacks.py +11 -0
  411. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/refresh_parse.py +423 -0
  412. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/refresh_stream.py +440 -0
  413. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/repeated_files.py +308 -0
  414. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/schema.py +754 -0
  415. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/schema_query_indexes.py +54 -0
  416. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/shell_churn.py +464 -0
  417. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/source_records.py +331 -0
  418. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/source_replacement.py +120 -0
  419. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/sources.py +308 -0
  420. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/summary_queries.py +62 -0
  421. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/thread_summaries.py +406 -0
  422. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/usage_api_queries.py +242 -0
  423. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/usage_record_queries.py +115 -0
  424. codex_usage_tracking-0.18.0/src/codex_usage_tracker/store/usage_timing.py +69 -0
  425. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/allowance_breakpoints.py +277 -0
  426. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/allowance_online.py +305 -0
  427. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/boundary_delta_core.py +176 -0
  428. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/boundary_delta_rows.py +380 -0
  429. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/boundary_delta_summary.py +480 -0
  430. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/boundary_scopes.py +28 -0
  431. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/boundary_summary.py +391 -0
  432. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/error_diagnostics.py +220 -0
  433. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/feature_history.py +437 -0
  434. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/features.py +272 -0
  435. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/grace.py +194 -0
  436. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/history_state.py +83 -0
  437. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/model.py +487 -0
  438. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/predictive.py +335 -0
  439. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/proxy_fit.py +164 -0
  440. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/regime_segments.py +387 -0
  441. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/regression.py +400 -0
  442. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/reports.py +580 -0
  443. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/spans.py +482 -0
  444. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/state_buckets.py +238 -0
  445. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/state_diagnostics.py +292 -0
  446. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/summary_metrics.py +338 -0
  447. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/thread_curves.py +204 -0
  448. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/time_series.py +493 -0
  449. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/token_components.py +233 -0
  450. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/transition_gates.py +181 -0
  451. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/transition_metrics.py +243 -0
  452. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/types.py +186 -0
  453. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/utils.py +185 -0
  454. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/walk_forward.py +215 -0
  455. codex_usage_tracking-0.18.0/src/codex_usage_tracker/usage_drain/walk_forward_rows.py +396 -0
  456. codex_usage_tracking-0.18.0/src/codex_usage_tracking.egg-info/PKG-INFO +373 -0
  457. codex_usage_tracking-0.18.0/src/codex_usage_tracking.egg-info/SOURCES.txt +747 -0
  458. codex_usage_tracking-0.18.0/src/codex_usage_tracking.egg-info/requires.txt +24 -0
  459. codex_usage_tracking-0.18.0/tests/allowance_intelligence/test_allowance_intelligence.py +295 -0
  460. codex_usage_tracking-0.18.0/tests/allowance_intelligence/test_statistics.py +29 -0
  461. codex_usage_tracking-0.18.0/tests/cli/test_allowance_intelligence_cli_mcp.py +70 -0
  462. codex_usage_tracking-0.18.0/tests/cli/test_cli_benchmarks.py +375 -0
  463. codex_usage_tracking-0.18.0/tests/cli/test_cli_inspect_log_output.py +60 -0
  464. codex_usage_tracking-0.18.0/tests/cli/test_cli_lifecycle.py +875 -0
  465. codex_usage_tracking-0.18.0/tests/cli/test_cli_module_entrypoints.py +37 -0
  466. codex_usage_tracking-0.18.0/tests/cli/test_cli_parser_diagnostics.py +52 -0
  467. codex_usage_tracking-0.18.0/tests/cli/test_cli_release.py +524 -0
  468. codex_usage_tracking-0.18.0/tests/cli/test_commands_reports.py +47 -0
  469. codex_usage_tracking-0.18.0/tests/cli/test_dashboard_route_benchmark.py +101 -0
  470. codex_usage_tracking-0.18.0/tests/cli/test_mcp_compression.py +425 -0
  471. codex_usage_tracking-0.18.0/tests/cli/test_mcp_compression_router.py +281 -0
  472. codex_usage_tracking-0.18.0/tests/cli/test_mcp_dedupe.py +27 -0
  473. codex_usage_tracking-0.18.0/tests/cli/test_mcp_integration.py +604 -0
  474. codex_usage_tracking-0.18.0/tests/cli/test_mcp_runtime_compatibility.py +69 -0
  475. codex_usage_tracking-0.18.0/tests/cli/test_mcp_simulation.py +377 -0
  476. codex_usage_tracking-0.18.0/tests/cli/test_mcp_visualization.py +104 -0
  477. codex_usage_tracking-0.18.0/tests/cli/test_plugin_installer.py +232 -0
  478. codex_usage_tracking-0.18.0/tests/compression/compression_helpers.py +146 -0
  479. codex_usage_tracking-0.18.0/tests/compression/test_attribution.py +151 -0
  480. codex_usage_tracking-0.18.0/tests/compression/test_context_detectors.py +73 -0
  481. codex_usage_tracking-0.18.0/tests/compression/test_estimators.py +170 -0
  482. codex_usage_tracking-0.18.0/tests/compression/test_jobs.py +373 -0
  483. codex_usage_tracking-0.18.0/tests/compression/test_models.py +146 -0
  484. codex_usage_tracking-0.18.0/tests/compression/test_output_detectors.py +55 -0
  485. codex_usage_tracking-0.18.0/tests/compression/test_repetition_detectors.py +102 -0
  486. codex_usage_tracking-0.18.0/tests/compression/test_run_builder.py +310 -0
  487. codex_usage_tracking-0.18.0/tests/compression/test_simulator.py +179 -0
  488. codex_usage_tracking-0.18.0/tests/compression/test_streaming_evidence.py +499 -0
  489. codex_usage_tracking-0.18.0/tests/context/test_context_action_timing.py +52 -0
  490. codex_usage_tracking-0.18.0/tests/context/test_context_evidence.py +443 -0
  491. codex_usage_tracking-0.18.0/tests/context/test_context_scan.py +62 -0
  492. codex_usage_tracking-0.18.0/tests/context/test_context_source_scan.py +50 -0
  493. codex_usage_tracking-0.18.0/tests/context/test_context_token_estimates.py +59 -0
  494. codex_usage_tracking-0.18.0/tests/context/test_context_values.py +46 -0
  495. codex_usage_tracking-0.18.0/tests/core/test_call_origin.py +118 -0
  496. codex_usage_tracking-0.18.0/tests/core/test_command_parsing.py +38 -0
  497. codex_usage_tracking-0.18.0/tests/core/test_i18n.py +517 -0
  498. codex_usage_tracking-0.18.0/tests/core/test_json_contracts.py +183 -0
  499. codex_usage_tracking-0.18.0/tests/core/test_privacy.py +455 -0
  500. codex_usage_tracking-0.18.0/tests/core/test_usage_identity.py +91 -0
  501. codex_usage_tracking-0.18.0/tests/dashboard/dashboard_node_test_helpers.py +70 -0
  502. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_compression_server.py +99 -0
  503. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_data.py +226 -0
  504. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_diagnostics_snapshots.py +864 -0
  505. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_live.py +434 -0
  506. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_payload.py +794 -0
  507. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_payload_privacy.py +43 -0
  508. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_pricing_snapshot.py +32 -0
  509. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_server.py +1233 -0
  510. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_server_live_slices.py +218 -0
  511. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_state.py +120 -0
  512. codex_usage_tracking-0.18.0/tests/dashboard/test_dashboard_status.py +130 -0
  513. codex_usage_tracking-0.18.0/tests/diagnostics/test_diagnostic_snapshot_events.py +31 -0
  514. codex_usage_tracking-0.18.0/tests/diagnostics/test_diagnostic_snapshot_progress.py +32 -0
  515. codex_usage_tracking-0.18.0/tests/diagnostics/test_diagnostic_snapshot_report.py +72 -0
  516. codex_usage_tracking-0.18.0/tests/diagnostics/test_diagnostic_snapshots.py +802 -0
  517. codex_usage_tracking-0.18.0/tests/diagnostics/test_module_exports.py +8 -0
  518. codex_usage_tracking-0.18.0/tests/parser/test_parser.py +588 -0
  519. codex_usage_tracking-0.18.0/tests/parser/test_parser_deduplication.py +57 -0
  520. codex_usage_tracking-0.18.0/tests/parser/test_parser_inspect_log.py +40 -0
  521. codex_usage_tracking-0.18.0/tests/parser/test_parser_observer.py +75 -0
  522. codex_usage_tracking-0.18.0/tests/pricing/test_allowance.py +237 -0
  523. codex_usage_tracking-0.18.0/tests/pricing/test_pricing.py +268 -0
  524. codex_usage_tracking-0.18.0/tests/quality/test_static_analysis_policy.py +77 -0
  525. codex_usage_tracking-0.18.0/tests/reports/test_action_brief_exports.py +7 -0
  526. codex_usage_tracking-0.18.0/tests/reports/test_agentic_evidence.py +104 -0
  527. codex_usage_tracking-0.18.0/tests/reports/test_agentic_exports.py +10 -0
  528. codex_usage_tracking-0.18.0/tests/reports/test_discovery_exports.py +18 -0
  529. codex_usage_tracking-0.18.0/tests/reports/test_hypothesis_classification.py +28 -0
  530. codex_usage_tracking-0.18.0/tests/reports/test_hypothesis_evaluator_exports.py +7 -0
  531. codex_usage_tracking-0.18.0/tests/reports/test_indexed_recommendations.py +343 -0
  532. codex_usage_tracking-0.18.0/tests/reports/test_investigation_walk_exports.py +11 -0
  533. codex_usage_tracking-0.18.0/tests/reports/test_query_exports.py +14 -0
  534. codex_usage_tracking-0.18.0/tests/reports/test_visualization.py +172 -0
  535. codex_usage_tracking-0.18.0/tests/server/test_analysis_jobs.py +126 -0
  536. codex_usage_tracking-0.18.0/tests/server/test_compression_routes.py +202 -0
  537. codex_usage_tracking-0.18.0/tests/server/test_diagnostic_jobs.py +121 -0
  538. codex_usage_tracking-0.18.0/tests/server/test_query_cache.py +290 -0
  539. codex_usage_tracking-0.18.0/tests/server/test_refresh_jobs.py +50 -0
  540. codex_usage_tracking-0.18.0/tests/server/test_request_timing.py +12 -0
  541. codex_usage_tracking-0.18.0/tests/server/test_route_inventory.py +112 -0
  542. codex_usage_tracking-0.18.0/tests/server/test_server_allowance.py +172 -0
  543. codex_usage_tracking-0.18.0/tests/server/test_server_api.py +63 -0
  544. codex_usage_tracking-0.18.0/tests/server/test_server_call_detail.py +167 -0
  545. codex_usage_tracking-0.18.0/tests/server/test_server_dedupe.py +47 -0
  546. codex_usage_tracking-0.18.0/tests/server/test_server_diagnostic_facts.py +266 -0
  547. codex_usage_tracking-0.18.0/tests/server/test_server_diagnostic_refresh_auth.py +49 -0
  548. codex_usage_tracking-0.18.0/tests/server/test_server_investigations.py +233 -0
  549. codex_usage_tracking-0.18.0/tests/server/test_server_live_rows.py +167 -0
  550. codex_usage_tracking-0.18.0/tests/server/test_server_open_investigator.py +112 -0
  551. codex_usage_tracking-0.18.0/tests/server/test_server_recommendations.py +343 -0
  552. codex_usage_tracking-0.18.0/tests/server/test_server_request_guards.py +67 -0
  553. codex_usage_tracking-0.18.0/tests/server/test_server_responses.py +81 -0
  554. codex_usage_tracking-0.18.0/tests/server/test_server_routes.py +58 -0
  555. codex_usage_tracking-0.18.0/tests/server/test_server_status.py +150 -0
  556. codex_usage_tracking-0.18.0/tests/server/test_server_summary.py +339 -0
  557. codex_usage_tracking-0.18.0/tests/server/test_server_threads.py +176 -0
  558. codex_usage_tracking-0.18.0/tests/server/test_server_usage_refresh.py +339 -0
  559. codex_usage_tracking-0.18.0/tests/store/test_compression_evidence.py +460 -0
  560. codex_usage_tracking-0.18.0/tests/store/test_compression_facts.py +213 -0
  561. codex_usage_tracking-0.18.0/tests/store/test_compression_publication.py +125 -0
  562. codex_usage_tracking-0.18.0/tests/store/test_compression_revisions.py +61 -0
  563. codex_usage_tracking-0.18.0/tests/store/test_compression_runs.py +307 -0
  564. codex_usage_tracking-0.18.0/tests/store/test_content_index.py +737 -0
  565. codex_usage_tracking-0.18.0/tests/store/test_content_index_refresh.py +97 -0
  566. codex_usage_tracking-0.18.0/tests/store/test_content_query_exports.py +25 -0
  567. codex_usage_tracking-0.18.0/tests/store/test_recommendation_facts.py +252 -0
  568. codex_usage_tracking-0.18.0/tests/store/test_recommendation_queries.py +249 -0
  569. codex_usage_tracking-0.18.0/tests/store/test_refresh_callbacks.py +58 -0
  570. codex_usage_tracking-0.18.0/tests/store/test_refresh_parallel.py +347 -0
  571. codex_usage_tracking-0.18.0/tests/store/test_source_records.py +230 -0
  572. codex_usage_tracking-0.18.0/tests/store/test_store_dashboard_mcp.py +937 -0
  573. codex_usage_tracking-0.18.0/tests/store/test_store_dashboard_queries.py +462 -0
  574. codex_usage_tracking-0.18.0/tests/store/test_store_large_batches.py +197 -0
  575. codex_usage_tracking-0.18.0/tests/store/test_store_migrations.py +462 -0
  576. codex_usage_tracking-0.18.0/tests/store/test_store_query_sql.py +56 -0
  577. codex_usage_tracking-0.18.0/tests/store/test_store_sources.py +214 -0
  578. codex_usage_tracking-0.18.0/tests/store/test_usage_deduplication.py +192 -0
  579. codex_usage_tracking-0.18.0/tests/store/test_usage_deduplication_migration.py +164 -0
  580. codex_usage_tracking-0.18.0/tests/test_check_dashboard_source_budgets.py +55 -0
  581. codex_usage_tracking-0.18.0/tests/usage_drain/model_test_helpers.py +22 -0
  582. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_allowance_fits.py +190 -0
  583. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_boundary_delta_summary.py +277 -0
  584. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_error_diagnostics.py +161 -0
  585. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_feature_history.py +72 -0
  586. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_model.py +767 -0
  587. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_one_percent_capacity.py +131 -0
  588. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_regime_segments.py +86 -0
  589. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_regression.py +70 -0
  590. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_report_helpers.py +21 -0
  591. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_reports.py +262 -0
  592. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_token_components.py +42 -0
  593. codex_usage_tracking-0.18.0/tests/usage_drain/test_usage_drain_walk_forward.py +59 -0
  594. codex_usage_tracking-0.17.1/.codex-plugin/plugin.json +0 -45
  595. codex_usage_tracking-0.17.1/AGENTS.md +0 -270
  596. codex_usage_tracking-0.17.1/CHANGELOG.md +0 -259
  597. codex_usage_tracking-0.17.1/PKG-INFO +0 -368
  598. codex_usage_tracking-0.17.1/README.md +0 -323
  599. codex_usage_tracking-0.17.1/docs/allowance-intelligence.md +0 -64
  600. codex_usage_tracking-0.17.1/docs/architecture-boundary-map.md +0 -53
  601. codex_usage_tracking-0.17.1/docs/architecture.md +0 -62
  602. codex_usage_tracking-0.17.1/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  603. codex_usage_tracking-0.17.1/docs/assets/dashboard-call-investigator-preview.png +0 -0
  604. codex_usage_tracking-0.17.1/docs/assets/dashboard-call-investigator.png +0 -0
  605. codex_usage_tracking-0.17.1/docs/assets/dashboard-calls-preview.png +0 -0
  606. codex_usage_tracking-0.17.1/docs/assets/dashboard-calls.png +0 -0
  607. codex_usage_tracking-0.17.1/docs/assets/dashboard-details.png +0 -0
  608. codex_usage_tracking-0.17.1/docs/assets/dashboard-diagnostics.png +0 -0
  609. codex_usage_tracking-0.17.1/docs/assets/dashboard-insights.png +0 -0
  610. codex_usage_tracking-0.17.1/docs/assets/dashboard-threads.png +0 -0
  611. codex_usage_tracking-0.17.1/docs/cli-json-schemas.md +0 -1151
  612. codex_usage_tracking-0.17.1/docs/dashboard-guide.md +0 -252
  613. codex_usage_tracking-0.17.1/docs/development.md +0 -398
  614. codex_usage_tracking-0.17.1/docs/examples/remediation-conversation.md +0 -34
  615. codex_usage_tracking-0.17.1/docs/examples/token-waste-conversation.md +0 -33
  616. codex_usage_tracking-0.17.1/docs/frontend-rewrite-roadmap.md +0 -560
  617. codex_usage_tracking-0.17.1/docs/mcp.md +0 -152
  618. codex_usage_tracking-0.17.1/docs/one-dot-oh-readiness.md +0 -228
  619. codex_usage_tracking-0.17.1/docs/pricing-and-credits.md +0 -94
  620. codex_usage_tracking-0.17.1/docs/privacy.md +0 -128
  621. codex_usage_tracking-0.17.1/docs/usage-drain-modeling.md +0 -1008
  622. codex_usage_tracking-0.17.1/pyproject.toml +0 -163
  623. codex_usage_tracking-0.17.1/scripts/benchmark_synthetic_history.py +0 -843
  624. codex_usage_tracking-0.17.1/scripts/check_release.py +0 -727
  625. codex_usage_tracking-0.17.1/scripts/generate_social_preview.py +0 -213
  626. codex_usage_tracking-0.17.1/scripts/install_local_plugin.py +0 -52
  627. codex_usage_tracking-0.17.1/scripts/model_usage_drain.py +0 -656
  628. codex_usage_tracking-0.17.1/scripts/smoke_installed_package.py +0 -678
  629. codex_usage_tracking-0.17.1/skills/codex-usage-api/SKILL.md +0 -69
  630. codex_usage_tracking-0.17.1/skills/codex-usage-tracker/SKILL.md +0 -116
  631. codex_usage_tracking-0.17.1/skills/codex-usage-tracker/scripts/run_mcp.py +0 -125
  632. codex_usage_tracking-0.17.1/src/codex_usage_tracker/__init__.py +0 -7
  633. codex_usage_tracking-0.17.1/src/codex_usage_tracker/allowance_intelligence/model.py +0 -590
  634. codex_usage_tracking-0.17.1/src/codex_usage_tracker/allowance_intelligence/reports.py +0 -331
  635. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/__init__.py +0 -19
  636. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/dashboard.py +0 -174
  637. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/main.py +0 -692
  638. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/mcp_server.py +0 -1702
  639. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/parser.py +0 -690
  640. codex_usage_tracking-0.17.1/src/codex_usage_tracker/cli/parser_diagnostics.py +0 -213
  641. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/__init__.py +0 -15
  642. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/api.py +0 -99
  643. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/loader.py +0 -144
  644. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/reader.py +0 -449
  645. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/summaries.py +0 -401
  646. codex_usage_tracking-0.17.1/src/codex_usage_tracker/context/token_estimates.py +0 -82
  647. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/call_origin.py +0 -138
  648. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/formatting.py +0 -339
  649. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/i18n.py +0 -182
  650. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/json_contract_cli.py +0 -586
  651. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/json_contract_diagnostics.py +0 -185
  652. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/json_contract_server.py +0 -126
  653. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/json_contract_validation.py +0 -112
  654. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/json_contracts.py +0 -26
  655. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/models.py +0 -131
  656. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/projects.py +0 -370
  657. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/redaction.py +0 -57
  658. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/schema.py +0 -107
  659. codex_usage_tracking-0.17.1/src/codex_usage_tracker/core/threads.py +0 -210
  660. codex_usage_tracking-0.17.1/src/codex_usage_tracker/dashboard/__init__.py +0 -15
  661. codex_usage_tracking-0.17.1/src/codex_usage_tracker/dashboard/api.py +0 -566
  662. codex_usage_tracking-0.17.1/src/codex_usage_tracker/dashboard/assets.py +0 -169
  663. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/__init__.py +0 -15
  664. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/action_hints.py +0 -80
  665. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/api.py +0 -576
  666. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/fact_classifiers.py +0 -415
  667. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/facts.py +0 -393
  668. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/guided_summary.py +0 -544
  669. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/mcp.py +0 -326
  670. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/reports.py +0 -478
  671. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_analysis.py +0 -519
  672. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_concentration.py +0 -338
  673. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_events.py +0 -590
  674. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_payloads.py +0 -186
  675. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_report.py +0 -261
  676. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_rows.py +0 -279
  677. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshot_source_scan.py +0 -371
  678. codex_usage_tracking-0.17.1/src/codex_usage_tracker/diagnostics/snapshots.py +0 -573
  679. codex_usage_tracking-0.17.1/src/codex_usage_tracker/parser/__init__.py +0 -15
  680. codex_usage_tracking-0.17.1/src/codex_usage_tracker/parser/api.py +0 -228
  681. codex_usage_tracking-0.17.1/src/codex_usage_tracker/parser/jsonl_v1.py +0 -422
  682. codex_usage_tracking-0.17.1/src/codex_usage_tracker/parser/jsonl_values.py +0 -326
  683. codex_usage_tracking-0.17.1/src/codex_usage_tracker/parser/state.py +0 -181
  684. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/dashboard.js +0 -1569
  685. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/dashboard_status.js +0 -315
  686. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/dashboard_template.html +0 -183
  687. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/ar.json +0 -562
  688. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/de.json +0 -562
  689. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/en.json +0 -562
  690. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/es.json +0 -562
  691. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/fr.json +0 -562
  692. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/it.json +0 -562
  693. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/ja.json +0 -562
  694. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/ko.json +0 -562
  695. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/pt.json +0 -562
  696. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/ru.json +0 -562
  697. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/vi.json +0 -562
  698. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/locales/zh-Hans.json +0 -562
  699. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/react/assets/dashboard-react.js +0 -276
  700. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/dashboard/react/assets/index.css +0 -1
  701. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  702. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-preview.png +0 -0
  703. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator.png +0 -0
  704. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls-preview.png +0 -0
  705. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls.png +0 -0
  706. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-details.png +0 -0
  707. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics.png +0 -0
  708. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-insights.png +0 -0
  709. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-threads.png +0 -0
  710. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/dashboard-guide.html +0 -153
  711. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/examples/remediation-conversation.md +0 -34
  712. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/docs/examples/token-waste-conversation.md +0 -33
  713. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/rate_cards/codex-credit-rates.json +0 -69
  714. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/skills/codex-usage-api/SKILL.md +0 -69
  715. codex_usage_tracking-0.17.1/src/codex_usage_tracker/plugin_data/skills/codex-usage-tracker/SKILL.md +0 -116
  716. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/__init__.py +0 -15
  717. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/allowance_config.py +0 -311
  718. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/allowance_rate_card.py +0 -279
  719. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/allowance_usage.py +0 -200
  720. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/api.py +0 -57
  721. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/config.py +0 -223
  722. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/costing.py +0 -221
  723. codex_usage_tracking-0.17.1/src/codex_usage_tracker/pricing/openai.py +0 -253
  724. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/__init__.py +0 -15
  725. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/agentic_dogfood.py +0 -811
  726. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/api.py +0 -3006
  727. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/project_summary.py +0 -128
  728. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/recommendations.py +0 -332
  729. codex_usage_tracking-0.17.1/src/codex_usage_tracker/reports/support.py +0 -373
  730. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/__init__.py +0 -22
  731. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/allowance.py +0 -197
  732. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/api.py +0 -138
  733. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/call_detail.py +0 -137
  734. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/call_lists.py +0 -170
  735. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/context.py +0 -125
  736. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/diagnostic_facts.py +0 -210
  737. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/diagnostic_routes.py +0 -238
  738. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/diagnostic_snapshots.py +0 -241
  739. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/handler.py +0 -598
  740. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/live_rows.py +0 -154
  741. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/open_investigator.py +0 -71
  742. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/recommendations.py +0 -83
  743. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/reports.py +0 -186
  744. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/request_guards.py +0 -45
  745. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/responses.py +0 -69
  746. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/routes.py +0 -63
  747. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/status.py +0 -83
  748. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/summary.py +0 -70
  749. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/threads.py +0 -80
  750. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/usage_refresh.py +0 -376
  751. codex_usage_tracking-0.17.1/src/codex_usage_tracker/server/utils.py +0 -224
  752. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/__init__.py +0 -15
  753. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/allowance_observations.py +0 -139
  754. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/api.py +0 -893
  755. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/connection.py +0 -28
  756. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/content_index.py +0 -1728
  757. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/content_index_event_store.py +0 -342
  758. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/content_index_events.py +0 -558
  759. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/content_patterns.py +0 -412
  760. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/dashboard_queries.py +0 -446
  761. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/diagnostic_call_queries.py +0 -191
  762. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/diagnostic_queries.py +0 -330
  763. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/exports.py +0 -49
  764. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/investigation_runs.py +0 -94
  765. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/large_low_output.py +0 -255
  766. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/query_sql.py +0 -283
  767. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/refresh.py +0 -487
  768. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/repeated_files.py +0 -284
  769. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/schema.py +0 -766
  770. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/shell_churn.py +0 -441
  771. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/source_records.py +0 -275
  772. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/sources.py +0 -279
  773. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/summary_queries.py +0 -51
  774. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/thread_summaries.py +0 -227
  775. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/usage_api_queries.py +0 -145
  776. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/usage_record_queries.py +0 -105
  777. codex_usage_tracking-0.17.1/src/codex_usage_tracker/store/usage_timing.py +0 -12
  778. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/allowance_breakpoints.py +0 -290
  779. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/allowance_online.py +0 -317
  780. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/boundary_delta_core.py +0 -178
  781. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/boundary_delta_rows.py +0 -382
  782. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/boundary_delta_summary.py +0 -504
  783. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/boundary_scopes.py +0 -26
  784. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/boundary_summary.py +0 -424
  785. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/error_diagnostics.py +0 -227
  786. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/feature_history.py +0 -449
  787. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/features.py +0 -284
  788. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/grace.py +0 -180
  789. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/history_state.py +0 -91
  790. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/model.py +0 -497
  791. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/predictive.py +0 -346
  792. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/proxy_fit.py +0 -146
  793. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/regime_segments.py +0 -411
  794. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/regression.py +0 -393
  795. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/reports.py +0 -602
  796. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/spans.py +0 -495
  797. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/state_buckets.py +0 -246
  798. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/state_diagnostics.py +0 -302
  799. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/summary_metrics.py +0 -348
  800. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/thread_curves.py +0 -200
  801. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/time_series.py +0 -483
  802. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/token_components.py +0 -262
  803. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/transition_gates.py +0 -184
  804. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/transition_metrics.py +0 -259
  805. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/types.py +0 -187
  806. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/utils.py +0 -190
  807. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/walk_forward.py +0 -236
  808. codex_usage_tracking-0.17.1/src/codex_usage_tracker/usage_drain/walk_forward_rows.py +0 -408
  809. codex_usage_tracking-0.17.1/src/codex_usage_tracking.egg-info/PKG-INFO +0 -368
  810. codex_usage_tracking-0.17.1/src/codex_usage_tracking.egg-info/SOURCES.txt +0 -440
  811. codex_usage_tracking-0.17.1/src/codex_usage_tracking.egg-info/requires.txt +0 -21
  812. codex_usage_tracking-0.17.1/tests/allowance_intelligence/test_allowance_intelligence.py +0 -194
  813. codex_usage_tracking-0.17.1/tests/cli/test_allowance_intelligence_cli_mcp.py +0 -74
  814. codex_usage_tracking-0.17.1/tests/cli/test_cli_lifecycle.py +0 -896
  815. codex_usage_tracking-0.17.1/tests/cli/test_cli_module_entrypoints.py +0 -35
  816. codex_usage_tracking-0.17.1/tests/cli/test_cli_parser_diagnostics.py +0 -44
  817. codex_usage_tracking-0.17.1/tests/cli/test_cli_release.py +0 -607
  818. codex_usage_tracking-0.17.1/tests/cli/test_mcp_integration.py +0 -608
  819. codex_usage_tracking-0.17.1/tests/cli/test_plugin_installer.py +0 -227
  820. codex_usage_tracking-0.17.1/tests/context/test_context_action_timing.py +0 -48
  821. codex_usage_tracking-0.17.1/tests/context/test_context_evidence.py +0 -475
  822. codex_usage_tracking-0.17.1/tests/context/test_context_scan.py +0 -54
  823. codex_usage_tracking-0.17.1/tests/context/test_context_token_estimates.py +0 -45
  824. codex_usage_tracking-0.17.1/tests/context/test_context_values.py +0 -43
  825. codex_usage_tracking-0.17.1/tests/core/test_call_origin.py +0 -110
  826. codex_usage_tracking-0.17.1/tests/core/test_i18n.py +0 -506
  827. codex_usage_tracking-0.17.1/tests/core/test_json_contracts.py +0 -182
  828. codex_usage_tracking-0.17.1/tests/core/test_privacy.py +0 -450
  829. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_data.py +0 -212
  830. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_diagnostics_snapshots.py +0 -910
  831. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_live.py +0 -477
  832. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_payload.py +0 -800
  833. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_pricing_snapshot.py +0 -33
  834. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_server.py +0 -1274
  835. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_state.py +0 -113
  836. codex_usage_tracking-0.17.1/tests/dashboard/test_dashboard_status.py +0 -90
  837. codex_usage_tracking-0.17.1/tests/diagnostics/test_diagnostic_snapshot_events.py +0 -62
  838. codex_usage_tracking-0.17.1/tests/diagnostics/test_diagnostic_snapshot_report.py +0 -73
  839. codex_usage_tracking-0.17.1/tests/diagnostics/test_diagnostic_snapshots.py +0 -805
  840. codex_usage_tracking-0.17.1/tests/parser/test_parser.py +0 -603
  841. codex_usage_tracking-0.17.1/tests/parser/test_parser_inspect_log.py +0 -37
  842. codex_usage_tracking-0.17.1/tests/pricing/test_allowance.py +0 -198
  843. codex_usage_tracking-0.17.1/tests/pricing/test_pricing.py +0 -223
  844. codex_usage_tracking-0.17.1/tests/server/test_refresh_jobs.py +0 -44
  845. codex_usage_tracking-0.17.1/tests/server/test_server_allowance.py +0 -122
  846. codex_usage_tracking-0.17.1/tests/server/test_server_api.py +0 -50
  847. codex_usage_tracking-0.17.1/tests/server/test_server_call_detail.py +0 -167
  848. codex_usage_tracking-0.17.1/tests/server/test_server_diagnostic_facts.py +0 -218
  849. codex_usage_tracking-0.17.1/tests/server/test_server_diagnostic_refresh_auth.py +0 -48
  850. codex_usage_tracking-0.17.1/tests/server/test_server_live_rows.py +0 -131
  851. codex_usage_tracking-0.17.1/tests/server/test_server_open_investigator.py +0 -105
  852. codex_usage_tracking-0.17.1/tests/server/test_server_recommendations.py +0 -159
  853. codex_usage_tracking-0.17.1/tests/server/test_server_request_guards.py +0 -58
  854. codex_usage_tracking-0.17.1/tests/server/test_server_responses.py +0 -67
  855. codex_usage_tracking-0.17.1/tests/server/test_server_routes.py +0 -41
  856. codex_usage_tracking-0.17.1/tests/server/test_server_status.py +0 -139
  857. codex_usage_tracking-0.17.1/tests/server/test_server_summary.py +0 -145
  858. codex_usage_tracking-0.17.1/tests/server/test_server_threads.py +0 -165
  859. codex_usage_tracking-0.17.1/tests/server/test_server_usage_refresh.py +0 -264
  860. codex_usage_tracking-0.17.1/tests/store/test_content_index.py +0 -838
  861. codex_usage_tracking-0.17.1/tests/store/test_refresh_parallel.py +0 -128
  862. codex_usage_tracking-0.17.1/tests/store/test_source_records.py +0 -232
  863. codex_usage_tracking-0.17.1/tests/store/test_store_dashboard_mcp.py +0 -1262
  864. codex_usage_tracking-0.17.1/tests/store/test_store_dashboard_queries.py +0 -178
  865. codex_usage_tracking-0.17.1/tests/store/test_store_large_batches.py +0 -106
  866. codex_usage_tracking-0.17.1/tests/store/test_store_migrations.py +0 -394
  867. codex_usage_tracking-0.17.1/tests/store/test_store_query_sql.py +0 -56
  868. codex_usage_tracking-0.17.1/tests/store/test_store_sources.py +0 -193
  869. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_allowance_fits.py +0 -192
  870. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_boundary_delta_summary.py +0 -281
  871. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_error_diagnostics.py +0 -161
  872. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_feature_history.py +0 -65
  873. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_model.py +0 -823
  874. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_one_percent_capacity.py +0 -137
  875. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_regime_segments.py +0 -86
  876. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_regression.py +0 -68
  877. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_reports.py +0 -250
  878. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_token_components.py +0 -45
  879. codex_usage_tracking-0.17.1/tests/usage_drain/test_usage_drain_walk_forward.py +0 -61
  880. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/.mcp.json +0 -0
  881. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/CONTRIBUTING.md +0 -0
  882. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/LICENSE +0 -0
  883. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/MANIFEST.in +0 -0
  884. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/SECURITY.md +0 -0
  885. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/assets/icon.svg +0 -0
  886. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/adoption-hardening-roadmap.md +0 -0
  887. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/agentic-briefing-and-dogfood-roadmap.md +0 -0
  888. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/agentic-investigation-hardening-roadmap.md +0 -0
  889. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/agentic-mcp-skill-roadmap.md +0 -0
  890. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/architecture/decisions/0001-package-domain-boundaries.md +0 -0
  891. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  892. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/cache-context-lab-reference.png +0 -0
  893. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/call-drilldown-menu-concept-reference.png +0 -0
  894. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/calls-analyst-view-reference.png +0 -0
  895. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/calls-high-density-reference.png +0 -0
  896. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/command-palette-dashboard-reference.png +0 -0
  897. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/diagnostics-notebook-reference.png +0 -0
  898. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/generated-dashboard-concept-reference.png +0 -0
  899. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/generated-maintainer-banner-reference.png +0 -0
  900. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/investigator-workbench-reference.png +0 -0
  901. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/overview-dashboard-reference.png +0 -0
  902. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/projected-weekly-credits-overlap-reference.png +0 -0
  903. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/thread-efficiency-reference.png +0 -0
  904. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/frontend-rewrite-references/usage-drain-lab-reference.png +0 -0
  905. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/plugin-prompts.png +0 -0
  906. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/plugin-thread-leaderboard.png +0 -0
  907. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/readme-hero-2.png +0 -0
  908. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/readme-hero.png +0 -0
  909. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/social-preview.png +0 -0
  910. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/ux/call-detail-panel.png +0 -0
  911. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/ux/insight-overview.png +0 -0
  912. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/assets/ux/thread-investigation.png +0 -0
  913. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/call-drilldown-performance-checklist.md +0 -0
  914. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/cli-reference.md +0 -0
  915. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/first-five-minutes.md +0 -0
  916. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/install.md +0 -0
  917. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/local-content-index-roadmap.md +0 -0
  918. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/maintainability-roadmap.md +0 -0
  919. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/maintainability-scorecard.md +0 -0
  920. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/react-dashboard-0.14-release-roadmap.md +0 -0
  921. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/docs/ui-ux-improvement-plan.md +0 -0
  922. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/scripts/check_wemake_baseline.py +0 -0
  923. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/setup.cfg +0 -0
  924. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/__main__.py +0 -0
  925. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/allowance.py +0 -0
  926. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/allowance_intelligence/__init__.py +0 -0
  927. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/cli/__main__.py +0 -0
  928. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/cli/config.py +0 -0
  929. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/cli/diagnostics.py +0 -0
  930. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/cli/output.py +0 -0
  931. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/cli/plugin_installer.py +0 -0
  932. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/context/action_timing.py +0 -0
  933. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/context/constants.py +0 -0
  934. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/context/serialized.py +0 -0
  935. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/context/values.py +0 -0
  936. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/core/__init__.py +0 -0
  937. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/core/api_payloads.py +0 -0
  938. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/core/json_contract_common.py +0 -0
  939. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/core/paths.py +0 -0
  940. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/dashboard/pricing_snapshot.py +0 -0
  941. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/diagnostics/snapshot_constants.py +0 -0
  942. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/diagnostics/snapshot_source_logs.py +0 -0
  943. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/diagnostics/types.py +0 -0
  944. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/mcp_server.py +0 -0
  945. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/__init__.py +0 -0
  946. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/assets/icon.svg +0 -0
  947. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard.css +0 -0
  948. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_actions.js +0 -0
  949. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_analysis.js +0 -0
  950. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call.css +0 -0
  951. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_diagnostics.js +0 -0
  952. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_investigator.js +0 -0
  953. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_cells.js +0 -0
  954. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_data.js +0 -0
  955. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_detail.css +0 -0
  956. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_details.js +0 -0
  957. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics.js +0 -0
  958. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_facts.js +0 -0
  959. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_snapshots.js +0 -0
  960. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_events.js +0 -0
  961. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_filters.js +0 -0
  962. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_format.js +0 -0
  963. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_i18n.js +0 -0
  964. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.css +0 -0
  965. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.js +0 -0
  966. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_layout.css +0 -0
  967. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_live.js +0 -0
  968. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_payload_cache.js +0 -0
  969. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_responsive.css +0 -0
  970. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_state.js +0 -0
  971. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.css +0 -0
  972. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.js +0 -0
  973. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tooltips.js +0 -0
  974. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/dashboard/react/index.html +0 -0
  975. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  976. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-prompts.png +0 -0
  977. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-thread-leaderboard.png +0 -0
  978. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/plugin_installer.py +0 -0
  979. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/pricing/allowance.py +0 -0
  980. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/pricing/allowance_text.py +0 -0
  981. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/pricing/estimates.py +0 -0
  982. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/reports/filters.py +0 -0
  983. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/reports/recommendation_builder.py +0 -0
  984. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/server/context_settings.py +0 -0
  985. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/server/dashboard_shell.py +0 -0
  986. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/server/live_queries.py +0 -0
  987. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/store/rows.py +0 -0
  988. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/support.py +0 -0
  989. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/__init__.py +0 -0
  990. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/allowance_fits.py +0 -0
  991. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/boundary_delta.py +0 -0
  992. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/capacity_specs.py +0 -0
  993. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/predictive_specs.py +0 -0
  994. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracker/usage_drain/regime_labels.py +0 -0
  995. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracking.egg-info/dependency_links.txt +0 -0
  996. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracking.egg-info/entry_points.txt +0 -0
  997. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/src/codex_usage_tracking.egg-info/top_level.txt +0 -0
  998. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/__init__.py +0 -0
  999. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/cli/test_cli_dashboard.py +0 -0
  1000. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/cli/test_mcp_launcher.py +0 -0
  1001. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/context/test_context_serialized.py +0 -0
  1002. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/context/test_context_summaries.py +0 -0
  1003. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/core/test_formatting.py +0 -0
  1004. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/core/test_projects.py +0 -0
  1005. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/core/test_redaction.py +0 -0
  1006. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/core/test_schema.py +0 -0
  1007. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/core/test_threads.py +0 -0
  1008. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/diagnostics/test_diagnostic_fact_classifiers.py +0 -0
  1009. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/diagnostics/test_diagnostic_reports.py +0 -0
  1010. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/diagnostics/test_diagnostic_snapshot_source_scan.py +0 -0
  1011. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/diagnostics/test_doctor_first_run.py +0 -0
  1012. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/parser/test_parser_state.py +0 -0
  1013. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/reports/test_action_brief.py +0 -0
  1014. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/reports/test_agentic_dogfood.py +0 -0
  1015. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/reports/test_hypothesis_routing.py +0 -0
  1016. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/reports/test_recommendations.py +0 -0
  1017. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/reports/test_support.py +0 -0
  1018. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_refresh_routes.py +0 -0
  1019. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_call_lists.py +0 -0
  1020. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_context.py +0 -0
  1021. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_context_settings.py +0 -0
  1022. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_dashboard_shell.py +0 -0
  1023. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_diagnostic_snapshots.py +0 -0
  1024. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/server/test_server_live_queries.py +0 -0
  1025. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/store_dashboard_helpers.py +0 -0
  1026. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_boundary_delta.py +0 -0
  1027. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_boundary_summary.py +0 -0
  1028. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_predictive.py +0 -0
  1029. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_report_records.py +0 -0
  1030. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_state_buckets.py +0 -0
  1031. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_state_diagnostics.py +0 -0
  1032. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_summary_metrics.py +0 -0
  1033. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_thread_curves.py +0 -0
  1034. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_transition_gates.py +0 -0
  1035. {codex_usage_tracking-0.17.1 → codex_usage_tracking-0.18.0}/tests/usage_drain/test_usage_drain_transition_metrics.py +0 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "codex-usage-tracker",
3
+ "version": "0.18.0",
4
+ "description": "Unofficial local Codex usage dashboard and MCP diagnostics from local session logs.",
5
+ "author": {
6
+ "name": "Douglas Monsky"
7
+ },
8
+ "homepage": "https://github.com/douglasmonsky/codex-usage-tracker",
9
+ "repository": "https://github.com/douglasmonsky/codex-usage-tracker",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "codex",
13
+ "tokens",
14
+ "usage",
15
+ "mcp",
16
+ "dashboard"
17
+ ],
18
+ "skills": "./skills/",
19
+ "mcpServers": "./.mcp.json",
20
+ "interface": {
21
+ "displayName": "Codex Usage Tracker",
22
+ "shortDescription": "Local Codex usage dashboard, MCP diagnostics, and token-waste investigations",
23
+ "longDescription": "Unofficial independent project, not made by, affiliated with, endorsed by, sponsored by, or supported by OpenAI. Reads local Codex session logs to power a local dashboard, MCP tools, allowance diagnostics, token-waste investigations, and shareable aggregate reports without uploading logs.",
24
+ "developerName": "Douglas Monsky",
25
+ "category": "Productivity",
26
+ "capabilities": [
27
+ "Interactive",
28
+ "Read",
29
+ "Write"
30
+ ],
31
+ "websiteURL": "https://github.com/douglasmonsky/codex-usage-tracker",
32
+ "privacyPolicyURL": "https://github.com/douglasmonsky/codex-usage-tracker",
33
+ "termsOfServiceURL": "https://github.com/douglasmonsky/codex-usage-tracker",
34
+ "defaultPrompt": [
35
+ "Open dashboard",
36
+ "Look through my usage for token waste",
37
+ "Suggest usage investigations",
38
+ "Check whether my weekly allowance changed"
39
+ ],
40
+ "brandColor": "#2563EB",
41
+ "composerIcon": "./assets/icon.svg",
42
+ "logo": "./assets/icon.svg",
43
+ "screenshots": []
44
+ }
45
+ }
@@ -0,0 +1,280 @@
1
+ # Codex Usage Tracker Instructions
2
+
3
+ ## Project Purpose
4
+
5
+ This repo builds a local Codex plugin and dashboard that track aggregate token usage from Codex session logs.
6
+
7
+ ## Tech Stack
8
+
9
+ - Python 3.10+
10
+ - SQLite via the Python standard library
11
+ - MCP Python SDK for Codex tool exposure
12
+ - Pytest for tests
13
+
14
+ ## Repo Layout
15
+
16
+ - `src/codex_usage_tracker/` - parser, SQLite store, reports, dashboard, CLI, and MCP server.
17
+ - `src/codex_usage_tracker/context.py` - on-demand raw-context reader for one selected usage record.
18
+ - `src/codex_usage_tracker/reports.py` - shared application/report services used by CLI and MCP wrappers.
19
+ - `src/codex_usage_tracker/api_payloads.py` - shared stable JSON payload builders for CLI and MCP surfaces.
20
+ - `src/codex_usage_tracker/schema.py` - single source of truth for persisted usage-event columns.
21
+ - `src/codex_usage_tracker/threads.py` - thread attachment inference used by dashboard payload generation.
22
+ - `src/codex_usage_tracker/pricing_config.py`, `pricing_openai.py`, `pricing_estimates.py`, and `costing.py` - pricing config, source parsing, estimate policy, and cost calculations behind the `pricing.py` facade.
23
+ - `src/codex_usage_tracker/allowance.py` - Codex credit-rate and optional local allowance-window helpers.
24
+ - `src/codex_usage_tracker/plugin_installer.py` - package-owned local Codex plugin installer.
25
+ - `src/codex_usage_tracker/plugin_data/` - plugin assets, dashboard template/assets, local dashboard guide, screenshots, and skill files bundled into wheels.
26
+ - `skills/codex-usage-tracker/` and `src/codex_usage_tracker/plugin_data/skills/codex-usage-tracker/` - operational Codex skill for tracker setup, summaries, dashboard generation, and MCP tools.
27
+ - `skills/codex-usage-api/` and `src/codex_usage_tracker/plugin_data/skills/codex-usage-api/` - companion Codex skill for conversational analysis using the stable JSON API/MCP tools.
28
+ - `src/codex_usage_tracker/server.py` - localhost dashboard server with live aggregate refresh and lazy context endpoints.
29
+ - `~/.codex-usage-tracker/pricing.json` - optional local-only pricing config, never committed.
30
+ - `~/.codex-usage-tracker/allowance.json` - optional local-only copied allowance state, never committed.
31
+ - `.codex-plugin/plugin.json` - Codex plugin manifest.
32
+ - `.mcp.json` - MCP server configuration for Codex.
33
+ - `scripts/install_local_plugin.py` - compatibility wrapper around `codex-usage-tracker install-plugin`.
34
+ - `scripts/check_release.py` - release-readiness checks for docs, versions, packaging, wheel contents, and tracked secret patterns.
35
+ - `.github/workflows/ci.yml` - GitHub Actions test and package build workflow.
36
+ - `.github/workflows/pricing-compat.yml` - scheduled/manual non-blocking live pricing parser compatibility check.
37
+ - `docs/` - install, dashboard, CLI, pricing/credits, MCP, privacy, architecture, development, JSON-schema docs, and screenshots built from synthetic aggregate fixture data.
38
+ - `tests/` - synthetic fixtures and unit tests.
39
+
40
+ ## Setup
41
+
42
+ ```bash
43
+ python3 -m venv .venv
44
+ . .venv/bin/activate
45
+ python -m pip install --upgrade pip
46
+ python -m pip install ".[dev]" twine
47
+ codex-usage-tracker install-plugin --python .venv/bin/python
48
+ ```
49
+
50
+ ## Branch And PR Workflow
51
+
52
+ This project is now a published PyPI package with user-facing docs, JSON/MCP contracts, a release workflow, and privacy guarantees. Treat `main` as always releasable.
53
+
54
+ - Do not commit directly to `main`.
55
+ - Start each coherent task from current `main` with a short-lived branch.
56
+ - Use branch prefixes `feature/`, `fix/`, `docs/`, `chore/`, `test/`, `release/`, or `hotfix/`.
57
+ - Keep each branch focused on one issue, one reviewable task, or one release.
58
+ - Do not create a long-lived `develop` branch.
59
+ - Do not mix release prep with unrelated feature work.
60
+ - Push task branches and open a PR for all changes headed to `main`.
61
+ - Prefer squash merge for ordinary task PRs so `main` stays readable.
62
+ - Use the PR as the review artifact even when there is only one maintainer.
63
+
64
+ Recommended branch names:
65
+
66
+ ```text
67
+ feature/<issue-number>-short-description
68
+ fix/<issue-number>-short-description
69
+ docs/<issue-number>-short-description
70
+ chore/<issue-number>-short-description
71
+ test/<issue-number>-short-description
72
+ release/0.4.0
73
+ hotfix/0.3.3
74
+ ```
75
+
76
+ Before starting a task branch:
77
+
78
+ ```bash
79
+ git switch main
80
+ git pull --ff-only
81
+ git switch -c docs/123-short-description
82
+ ```
83
+
84
+ ## Agent Boundaries
85
+
86
+ Codex may create task branches, write tests, update docs, run local gates, prepare PR summaries, prepare release branches, and prepare changelog/version changes.
87
+
88
+ Codex must not do these without explicit maintainer approval:
89
+
90
+ - Push directly to `main`.
91
+ - Create or push release tags.
92
+ - Publish to TestPyPI or PyPI.
93
+ - Add PyPI or TestPyPI API tokens.
94
+ - Publish from a local machine.
95
+ - Change privacy semantics.
96
+ - Rename the PyPI distribution, import package, CLI command, plugin name, MCP tools, schema IDs, or stable JSON contracts.
97
+ - Delete branches.
98
+ - Force-push shared branches.
99
+
100
+ Publishing must happen only through the approved GitHub Actions Trusted Publishing workflow and protected `testpypi`/`pypi` environments.
101
+
102
+ ## Issue And Milestone Workflow
103
+
104
+ Use GitHub issues as the normal unit of work once the task is non-trivial. A branch should usually map to one issue and close it from the PR.
105
+
106
+ Recommended labels:
107
+
108
+ ```text
109
+ bug
110
+ docs
111
+ packaging
112
+ release
113
+ privacy
114
+ security
115
+ performance
116
+ dashboard
117
+ cli
118
+ mcp
119
+ parser-compat
120
+ good-first-issue
121
+ blocked
122
+ 1.0-blocker
123
+ ```
124
+
125
+ Recommended milestones:
126
+
127
+ ```text
128
+ 0.4.0
129
+ 1.0-readiness
130
+ 1.0.0
131
+ ```
132
+
133
+ Use patch releases for public blockers such as broken PyPI installs, missing package data, broken CLI entry points, privacy leaks, bad plugin installs, or bad runtime pins. Put planned stabilization work into the next minor release instead of bundling it into a patch.
134
+
135
+ ## Performance Work
136
+
137
+ Use the `agent-perf` skill and CLI when optimizing localhost API endpoints, dashboard refreshes, report generation, content indexing, parser or SQLite hot paths, or other latency- or CPU-sensitive code, and when investigating a performance regression or making a speedup claim.
138
+
139
+ Install the repository's pinned profiling tools with `uv sync --group performance`. Profile the smallest repeatable workload with synthetic or anonymized inputs; never profile production, live private databases, arbitrary processes, or real Codex session content. Record the identical workload without a profiler before making a performance claim. Change one suspected cause at a time, rerun the unprofiled workload, and use `agent-perf compare` only to compare attribution evidence rather than as proof of a speedup.
140
+
141
+ ## Validation
142
+
143
+ Run focused tests first, then broader checks. Run the full local CI gate before opening or updating PRs that touch release, packaging, CLI contracts, MCP behavior, dashboard behavior, privacy behavior, schemas, generated docs/assets, or bundled plugin/skill files.
144
+
145
+ ## Source Inspection And Tool Output
146
+
147
+ Large command outputs in Codex chat can be visually compacted by the transcript renderer. When inspecting source, especially after broad `rg`, `sed`, `nl`, generated dashboard assets, logs, or workflow output, do not treat a mangled rendered snippet as proof that the file is corrupt. Prefer small targeted file windows, `git diff`, `python -m py_compile`, focused tests, and CI as the source of truth. If exact syntax matters, inspect a narrow range or use a parser/compiler rather than relying on large printed source dumps.
148
+
149
+ ```bash
150
+ python -m ruff check .
151
+ python -m mypy
152
+ python -m pytest
153
+ python -m pytest --cov=codex_usage_tracker --cov-report=term-missing
154
+ python -m compileall src
155
+ for file in src/codex_usage_tracker/plugin_data/dashboard/dashboard*.js; do
156
+ node --check "$file"
157
+ done
158
+ python scripts/check_release.py
159
+ git diff --check
160
+ rm -rf dist build src/codex_usage_tracker.egg-info src/codex_usage_tracking.egg-info
161
+ python -m build
162
+ python -m twine check dist/*
163
+ python scripts/check_release.py --dist
164
+ ```
165
+
166
+ Additional smoke checks for touched CLI surfaces:
167
+
168
+ ```bash
169
+ python -m pytest
170
+ python -m compileall src
171
+ for file in src/codex_usage_tracker/plugin_data/dashboard/dashboard*.js; do
172
+ node --check "$file"
173
+ done
174
+ python -m build
175
+ python scripts/check_release.py --dist
176
+ git diff --check
177
+ python scripts/smoke_installed_package.py
178
+ codex-usage-tracker update-pricing --output /tmp/codex-usage-pricing.json
179
+ codex-usage-tracker update-rate-card --output /tmp/codex-usage-rate-card.json
180
+ codex-usage-tracker doctor
181
+ codex-usage-tracker doctor --suggest-repair
182
+ codex-usage-tracker dashboard --output /tmp/codex-usage-dashboard.html
183
+ codex-usage-tracker serve-dashboard --help
184
+ codex-usage-tracker init-allowance --output /tmp/codex-usage-allowance.json
185
+ codex-usage-tracker parse-allowance --output /tmp/codex-usage-allowance.json "5h 79% 6:50 PM Weekly 33% Jun 7"
186
+ codex-usage-tracker init-thresholds --output /tmp/codex-usage-thresholds.json
187
+ codex-usage-tracker init-projects --output /tmp/codex-usage-projects.json
188
+ codex-usage-tracker support-bundle --output /tmp/codex-usage-support.json
189
+ codex-usage-tracker pricing-coverage
190
+ codex-usage-tracker summary --preset by-subagent-role
191
+ codex-usage-tracker expensive --limit 5
192
+ ```
193
+
194
+ For documentation-only branches, at minimum run:
195
+
196
+ ```bash
197
+ python scripts/check_release.py
198
+ git diff --check
199
+ ```
200
+
201
+ ## Release Branches
202
+
203
+ Use release branches only for version/changelog/pinning/publish prep, for example `release/0.4.0` or `hotfix/0.3.3`.
204
+
205
+ Release branches may include:
206
+
207
+ - Version bumps.
208
+ - `CHANGELOG.md` updates.
209
+ - Install/version wording updates.
210
+ - Runtime package pins.
211
+ - Publish workflow tweaks.
212
+ - Release notes.
213
+ - Final smoke-test fixes directly tied to release readiness.
214
+
215
+ Release branches must not include unrelated features.
216
+
217
+ Recommended release sequence:
218
+
219
+ ```bash
220
+ git switch main
221
+ git pull --ff-only
222
+ git switch -c release/0.4.0
223
+ # version/changelog/release edits
224
+ python -m ruff check .
225
+ python -m mypy
226
+ python -m pytest
227
+ python -m pytest --cov=codex_usage_tracker --cov-report=term-missing
228
+ python -m compileall src
229
+ for file in src/codex_usage_tracker/plugin_data/dashboard/dashboard*.js; do
230
+ node --check "$file"
231
+ done
232
+ python scripts/check_release.py
233
+ git diff --check
234
+ rm -rf dist build src/codex_usage_tracker.egg-info src/codex_usage_tracking.egg-info
235
+ python -m build
236
+ python -m twine check dist/*
237
+ python scripts/check_release.py --dist
238
+ git add .
239
+ git commit -m "Prepare 0.4.0 release"
240
+ git push -u origin release/0.4.0
241
+ ```
242
+
243
+ Open a PR to `main` and merge only after CI passes. After merge, tag from updated `main`, not from an unreviewed release branch, and only after explicit maintainer approval:
244
+
245
+ ```bash
246
+ git switch main
247
+ git pull --ff-only
248
+ git tag -a v0.4.0 -m "codex-usage-tracker 0.4.0"
249
+ git push origin v0.4.0
250
+ ```
251
+
252
+ ## Privacy Rules
253
+
254
+ - Never commit real Codex session logs.
255
+ - Never commit real prompts, assistant text, tool outputs, pasted secrets, message snippets, or raw Codex logs.
256
+ - The local content index may store bounded snippets in the user-owned SQLite database by approved design. Do not expose indexed/raw content through default CSV, generated HTML, support bundles, screenshots, aggregate JSON, fixtures based on real logs, or commits.
257
+ - Raw context may be read during refresh/content indexing or explicit selected-call context loading. Keep shareable outputs aggregate-first unless a command is explicitly documented as a local raw/content export.
258
+ - Keep fixture data synthetic.
259
+ - Keep local SQLite databases, CSV exports, HTML dashboards, caches, and virtualenvs out of git.
260
+ - Do not hard-code real current USD model pricing in source; refresh the local config from OpenAI's published pricing docs or use manual local overrides. Internal Codex model estimates must be explicitly marked as estimates with source and rationale metadata.
261
+ - Source-stamped Codex credit rate-card snapshots must include source/date metadata, confidence labels, and local override support. Manually copied allowance remaining values stay in local config only.
262
+
263
+ ## Definition Of Done
264
+
265
+ - Parser and content-index handling are covered by synthetic session logs.
266
+ - SQLite refresh is idempotent.
267
+ - MCP tool functions return concise aggregate data by default; content-aware tools must be explicit local investigation surfaces.
268
+ - Dashboard generated HTML is aggregate-first and does not embed indexed/raw content.
269
+ - Doctor, summary presets, dashboard, and expensive-call views work from CLI and MCP wrappers.
270
+ - `codex-usage-tracker install-plugin` can register the installed package without relying on a source-checkout symlink.
271
+ - `python -m codex_usage_tracker` and `codex-usage-tracker --version` both work.
272
+ - Wheel and source distribution builds include plugin assets and the Codex skill.
273
+ - `scripts/check_release.py --dist` passes before any public release.
274
+ - Pricing coverage clearly separates configured, estimated, and unpriced model usage.
275
+ - Codex credit coverage clearly separates exact rate-card matches, inferred aliases, and missing credit rates.
276
+ - Dashboard Calls and Threads views share filters, totals, and aggregate-first hover details.
277
+ - Dashboard usage docs are updated when the visible dashboard workflow changes, and screenshots must be generated from synthetic data only.
278
+ - Dashboard refresh is localhost-only, generated HTML stays aggregate-first, and context loading is lazy, localhost-only, explicit, redacted, and not embedded in the static HTML payload.
279
+ - Subagent calls preserve logged parent-session metadata, latch to parent thread labels when available, and auto-review attachment is clearly marked when inferred.
280
+ - Tests and compile checks pass.
@@ -0,0 +1,270 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.18.0 - 2026-07-15
6
+
7
+ - Exclude exact historical calls copied by cloned Codex tasks from default dashboard, CLI, MCP, report, allowance, compression, recommendation, and export totals while retaining every physical source row for local provenance.
8
+ - Add aggregate deduplication diagnostics across the CLI, MCP server, localhost API, and dashboard status strip, including physical, canonical, and excluded row/token counts with bounded provenance metadata.
9
+ - Preserve new post-clone calls as normal usage, promote a surviving copy when an original source disappears, and migrate existing local indexes without losing usage history.
10
+ - Restore large-history dashboard performance with canonical query indexes and explicit SQLite join/scan plans; the 100,000-row route budget now passes for summaries, recommendations, diagnostics, threads, and thread-call paging.
11
+
12
+ ## 0.17.2 - 2026-07-09
13
+
14
+ - Add GPT-5.6 Sol, Terra, and Luna API pricing and Codex credit-rate support, including the official `gpt-5.6` alias and compatibility with OpenAI's new cache-write pricing column.
15
+
16
+ ## 0.17.1 - 2026-07-09
17
+
18
+ - Stabilize async dogfood cache fingerprints so repeated unchanged MCP dogfood runs can reuse cached reports even when SQLite file metadata changes during read/report activity.
19
+
20
+ ## 0.17.0 - 2026-07-08
21
+
22
+ - Add agentic MCP investigation tools for hypothesis-driven usage diagnostics, compact evidence briefs, and actionable recommendation reports.
23
+ - Add repeated file rediscovery, shell churn, and large low-output usage diagnostics to identify avoidable local workflow waste.
24
+ - Improve bundled skill guidance so Codex can route vague usage questions into concrete tracker endpoints, Headroom suggestions, and custom remediation ideas.
25
+ - Add async dogfood progress polling and warm result caching so longer usage investigations can report progress and rerun faster.
26
+ - Speed up content indexing with incremental append metadata, parallel source parsing, and batched FTS rebuilds.
27
+ - Add dashboard refresh progress bars, no-cap paged loading, loaded-call metrics, token breakdowns, persisted loading preferences, and restored usage-drain chart data.
28
+
29
+ ## 0.16.2 - 2026-07-08
30
+
31
+ - Restore Usage Drain, Investigator Workbench, Reports, and related dashboard charts by deriving shared usage-drain series from loaded aggregate rows again.
32
+ - Keep sparse line charts expanded to their panel width so low-point datasets do not collapse into the left edge.
33
+
34
+ ## 0.16.1 - 2026-07-08
35
+
36
+ - Add async refresh progress polling and dashboard progress bars for long all-row loads.
37
+ - Speed up local content index refreshes with batched writes and parallel source extraction.
38
+ - Load uncapped dashboard rows in finite pages so no-cap mode stays responsive on large histories.
39
+ - Show loaded-call counts and call-level token breakdowns on Overview metric cards.
40
+ - Restore session row/history loading preferences after browser refresh without storing large row payloads.
41
+
42
+ ## 0.16.0 - 2026-07-07
43
+
44
+ - Add allowance intelligence foundation with normalized allowance history, evidence-graded change diagnostics, local evidence exports, and API/MCP report surfaces for weekly-vs-5-hour usage analysis.
45
+ - Add local content-indexed MCP/API exploration surfaces, including content search, thread trace, pattern scans, investigation walks, and strict local evidence exports.
46
+ - Add roadmap for default local content indexing, SQLite FTS5 search, parser drift handling, and future diagnostics for repeated file rediscovery, shell churn, and large low-output calls.
47
+ - Fix schema initialization so already-applied migrations are not rerun during read/report calls on migrated local databases.
48
+
49
+ ## 0.15.1 - 2026-07-05
50
+
51
+ - Fix the PyPI wheel package resources by tracking the React dashboard `index.html` entrypoint used by `serve-dashboard` and installed-package smoke tests.
52
+
53
+ ## 0.15.0 - 2026-07-05
54
+
55
+ - Make the companion plugin/skills remediation-aware for token-waste investigations, including Headroom suggestions when available, dashboard verification paths, and custom local automation ideas.
56
+ - Fix React dashboard package verification for public release readiness, including bundled React dashboard resources in local wheel smoke coverage and refreshed synthetic Calls/Details README screenshots.
57
+ - Harden React dashboard context evidence and diagnostics smoke tests against current row-selection and duplicate-heading behavior.
58
+ - Recenter the README around talking with the plugin/skill about local aggregate usage, with example conversation docs for token-waste and remediation workflows.
59
+
60
+ ## 0.14.1 - 2026-07-04
61
+
62
+ - Harden React dashboard responsive chrome, including topbar control wrapping, table containment, sticky table affordances, mobile nav polish, and refreshed synthetic dashboard screenshots.
63
+
64
+ ## 0.14.0 - 2026-07-04
65
+
66
+ - 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`.
67
+ - 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.
68
+ - 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.
69
+ - Prioritize weekly usage windows in Overview and Settings so weekly remaining usage is surfaced ahead of short 5-hour windows.
70
+ - 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.
71
+
72
+ ## 0.13.1 - 2026-06-30
73
+
74
+ - Add guided usage-summary diagnostics across CLI, API, and dashboard to explain the largest aggregate drivers behind usage.
75
+
76
+ ## 0.13.0 - 2026-06-30
77
+
78
+ - Add first-run onboarding docs covering install, setup, live-dashboard launch, empty-dashboard troubleshooting, plugin discovery, and safe issue diagnostics.
79
+ - Improve `doctor --json` first-run environment reporting so support requests can distinguish missing logs, empty history, and plugin/runtime path issues faster.
80
+ - Add safe support-bundle issue-report fields and issue-template guidance so users can attach diagnostics without leaking prompts, tool outputs, commands, patches, or raw paths in strict mode.
81
+ - Strengthen installed-wheel lifecycle smoke coverage across setup, doctor, dashboard generation, strict support bundles, and plugin resources.
82
+ - Harden strict support-bundle redaction for nested diagnostic paths, Python executable paths, and resolved `/private/var`-style platform path aliases.
83
+
84
+ ## 0.12.1 - 2026-06-29
85
+
86
+ - Ship the package-domain boundary refactor behind compatibility facades so existing CLI, imports, dashboard routes, JSON payloads, and MCP entrypoints keep working while the source tree is organized by responsibility.
87
+ - Add Tach domain configuration files, refreshed Agent Maintainer baselines, and package-boundary documentation for the new module layout.
88
+ - Restore `python -m codex_usage_tracker.cli` after the CLI package split and add regression coverage for both module entrypoints.
89
+ - Split allowance pricing helpers into smaller modules while preserving the public allowance facade.
90
+
91
+ ## 0.12.0 - 2026-06-29
92
+
93
+ - Refactor CLI, dashboard server routing, SQLite store/query boundaries, context parsing, diagnostics, and usage-drain modeling into smaller modules with compatibility facades.
94
+ - Add local Agent Maintainer ratchet configuration, strict local `tach check`, maintainability boundary docs, and a maintainability scorecard for future cleanup work.
95
+ - Harden Diagnostics dashboard behavior for projected weekly credits charts, command expansion, live row status, and desktop/mobile smoke coverage.
96
+ - Clean up warning-sensitive tests so the full suite runs without SQLite/resource-handle `ResourceWarning` noise.
97
+ - Validate the refactor against a frozen local JSONL rebuild comparison before release.
98
+
99
+ ## 0.11.4 - 2026-06-27
100
+
101
+ - Fix `codex-usage-tracker setup` on large local histories by batching stale diagnostic-fact deletes so SQLite does not exceed bound-variable limits during usage index refresh.
102
+ - Add synthetic regression coverage for large diagnostic fact refreshes under a low SQLite variable ceiling. Thanks to `@gevikhn` for the Windows setup failure report.
103
+
104
+ ## 0.11.3 - 2026-06-23
105
+
106
+ - Fix Windows `serve-dashboard` asset loading by forcing JavaScript, CSS, JSON, and SVG MIME types in the localhost server instead of trusting OS registry MIME mappings.
107
+
108
+ ## 0.11.2 - 2026-06-23
109
+
110
+ - Fix served dashboard shell hydration so `serve-dashboard --no-refresh` reliably populates the calls table from `/api/usage` when the initial HTML contains zero rows but indexed rows are available.
111
+ - Harden the synthetic source-log benchmark smoke test so shared-runner timing noise does not leave a stale red release check.
112
+ - Improve benchmark smoke test failures so future threshold failures report the parsed JSON payload and threshold details instead of only a generic subprocess error.
113
+
114
+ ## 0.11.1 - 2026-06-23
115
+
116
+ - Move projected weekly credits to the top of the Diagnostics tab and add the 95% CI range to the projection table.
117
+ - Add per-section `Reload` controls for stale or missing diagnostic snapshot cards so one failed or missing section can be recomputed without a full diagnostics refresh.
118
+
119
+ ## 0.11.0 - 2026-06-22
120
+
121
+ - Add usage-drain diagnostic reports for token accounting, allowance breakpoints, predictive model highlights, weekly visible usage, weekly projected credits, and cumulative thread cost curves.
122
+ - Add dashboard Diagnostics charts for weekly usage remaining and projected weekly credits, including per-plan trend lines, confidence bars, compact date labels, and large-history horizontal scaling.
123
+ - Add CLI/API support for usage-drain diagnostics with stable JSON contracts and synthetic report-generation tests.
124
+ - Add usage-drain modeling documentation and a synthetic README screenshot focused on the new diagnostics charts.
125
+ - Harden diagnostic table alignment, parser-warning visibility, file-modification rendering, and Python 3.14 type-check coverage.
126
+
127
+ ## 0.10.1 - 2026-06-21
128
+
129
+ - Add lightweight action timing metadata to context evidence so call investigations can show elapsed time for parsed tool and command actions without persisting raw command text or outputs.
130
+ - Add synthetic README diagnostics coverage for the Git Interactions panel and package the screenshot with installed plugin docs.
131
+
132
+ ## 0.10.0 - 2026-06-21
133
+
134
+ - Add Git/GitHub CLI diagnostic snapshots with safe operation labels, coarse categories, mutability buckets, and terminal token-count coverage.
135
+ - Add file-modification diagnostic snapshots for structured patch events, modified-path aggregates, extension counts, and largest modification events without storing patch text or raw paths.
136
+ - Add derived call timing fields for call start, duration, previous-call timestamp, and previous-call gap across dashboard rows, details, CSV/export actions, live API sorting, and thread aggregates.
137
+ - Surface `Duration`, `Prev gap`, `Longest duration`, and `Longest gap` in the dashboard with localized labels and focused regression coverage.
138
+ - Reconcile all diagnostics panels into one release so `overview`, `tool-output`, `commands`, `git-interactions`, `file-reads`, `file-modifications`, `read-productivity`, and `concentration` can refresh together from the live dashboard.
139
+
140
+ ## 0.9.0 - 2026-06-21
141
+
142
+ - Add persisted aggregate diagnostic snapshots with explicit on-demand refresh metadata and schema-versioned CLI/API contracts.
143
+ - Add dashboard Diagnostics panels for overview, tool output, commands, file reads, read productivity, and concentration.
144
+ - Add tool-output and command reports with terminal token-count buckets, missing-count coverage, command roots, and expandable command children.
145
+ - Add file-read and read-productivity reports with token allocation, largest read commands, read-to-modify correlation, and privacy-safe path labels.
146
+ - Add concentration reports for top source/session, project/cwd, and day shares without leaking raw source-log paths.
147
+ - Keep Diagnostics refresh isolated from normal live dashboard refresh so regular usage updates do not recompute or blink diagnostic panels.
148
+ - Add Playwright diagnostics smoke coverage and release documentation for the snapshot pipeline, privacy boundary, and on-demand refresh behavior.
149
+
150
+ ## 0.8.1 - 2026-06-20
151
+
152
+ - Make Diagnostics fact tables easier to scan by widening and pinning the Fact column while horizontally scrolling.
153
+ - Add API-backed sortable headers to top-level Diagnostics fact tables, including cached input, output, cache ratio, largest call, latest call time, occurrence, call-count, and fact-name sorts.
154
+
155
+ ## 0.8.0 - 2026-06-20
156
+
157
+ - Add an aggregate Diagnostics dashboard for inspecting diagnostic facts, associated calls, token totals, and on-demand evidence without persisting raw transcript text.
158
+ - Add diagnostic fact extraction, reporting APIs, dashboard drilldowns, sortable associated-call tables, and load-more controls for larger diagnostic result sets.
159
+ - 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.
160
+ - Harden dashboard startup so visiting Diagnostics before other views load no longer prevents Calls, Threads, or Overview from hydrating.
161
+ - 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.
162
+
163
+ ## 0.7.0 - 2026-06-18
164
+
165
+ - Parse latest observed Codex usage snapshots from local rate-limit and token-count log events without persisting raw transcript text.
166
+ - Store observed 5h and weekly usage snapshot fields in aggregate rows and expose a latest-observed usage summary for dashboard and API consumers.
167
+ - Add a dashboard card for latest observed 5h and weekly usage with wording that distinguishes local observations from authoritative account limits.
168
+ - Default the dashboard table experience to time-sorted Calls, replace the visible Signals column with Reasoning Output, and keep the Signals field out of the table for now.
169
+ - Ignore known non-token parser events so refreshes stay focused on usage-bearing records.
170
+
171
+ ## 0.6.1 - 2026-06-13
172
+
173
+ - Polish the README landing screenshots with matched dashboard/investigator previews and an additional lower investigator evidence view.
174
+ - Restore the companion plugin prompt preview near the companion skill section and package companion screenshots with installed docs assets.
175
+ - Keep dashboard toolbar links styled like buttons in the call investigator.
176
+
177
+ ## 0.6.0 - 2026-06-13
178
+
179
+ - Remove low-value call/thread anchor diagnostics from the experimental call investigator to avoid an extra source-log scan per context load.
180
+ - Persist call-origin metadata as categorical aggregate fields during indexing so normal dashboard payloads do not reopen source JSONL logs to infer user-vs-Codex initiation.
181
+ - Persist archived-session scope, conservative thread keys, and per-thread previous/next call links as aggregate helper fields for faster dashboard filtering and investigator navigation.
182
+ - Add opt-in localhost API timing diagnostics for `/api/usage` and `/api/context` without exposing raw transcript content.
183
+ - Reduce explicit context loading to a quick default mode that omits tool output and serialized buckets, with full serialized JSONL bucket analysis still available on demand.
184
+ - Add source-log-aware synthetic benchmark coverage that verifies normal dashboard payload assembly does not open generated source JSONL files.
185
+ - Add SQL-backed live dashboard API slices for status, calls, one call, threads, thread calls, summary, and recommendations while preserving the compatibility `/api/usage` endpoint.
186
+ - Materialize active and all-history thread summaries in SQLite so live thread APIs can read pre-aggregated totals.
187
+ - Add source-file refresh cursors so live refresh skips unchanged logs, seeks to appended JSONL bytes when safe, and safely replaces aggregate rows for changed or truncated source logs.
188
+ - Hydrate direct call-investigator links from the aggregate `/api/call` endpoint when the selected record is outside the currently loaded table slice or filter state.
189
+ - Replace placeholder non-English dashboard locale catalogs with translated UI catalogs and add regression coverage for core visible labels.
190
+
191
+ ## 0.5.0 - 2026-06-10
192
+
193
+ - Add the dashboard localization foundation, including initial locale catalogs, language metadata, local browser language selection, `--lang`, and `CODEX_USAGE_TRACKER_LANG`.
194
+ - Add Vietnamese dashboard localization and focused validation coverage for translated dashboard labels.
195
+ - Keep the README landing page focused on dashboard screenshots and companion usage workflows before detailed localization guidance.
196
+ - Stabilize the CI synthetic benchmark smoke so coverage instrumentation does not create false release failures.
197
+ - Pin the marketplace MCP runtime launcher to the exact `codex-usage-tracking==0.5.0` package.
198
+
199
+ ## 0.4.1 - 2026-06-09
200
+
201
+ - Harden the production PyPI workflow so manual publishing must run from `main` or a tag ref before artifacts are downloaded and uploaded.
202
+ - Skip TestPyPI/PyPI uploads when the exact distribution version already exists on the target index, allowing a GitHub Release to be reconciled after a workflow-dispatch publish.
203
+ - Strengthen `scripts/check_release.py` so it validates the publish-ref preflight inside both the TestPyPI and PyPI jobs.
204
+ - Check off completed 1.0 readiness items with evidence for migration coverage, localhost dashboard smoke testing, and the protected GitHub `pypi` environment.
205
+ - Pin the marketplace MCP runtime launcher to the exact `codex-usage-tracking==0.4.1` package.
206
+
207
+ ## 0.4.0 - 2026-06-09
208
+
209
+ - Add official Python 3.14 support across CI, package classifiers, README/install docs, and installed-package Docker smoke coverage.
210
+ - Add a release recovery runbook for failed publish workflows, stale PyPI/TestPyPI pages, Trusted Publishing issues, bad artifacts, and patch-forward recovery.
211
+ - Add synthetic large-history benchmark thresholds for active/all-history dashboard queries, date filtering, model/effort filtering, recommendations, pricing coverage, and project summaries.
212
+ - Add stricter privacy regression coverage for generated dashboards, CSV exports, API payloads, and support bundles.
213
+ - Redact sensitive strings and local diagnostic paths in support bundles, including nested doctor output in redacted and strict privacy modes.
214
+ - Add aggregate schema migration, JSON contract parity, installed-package smoke, and protected-main workflow readiness coverage.
215
+ - Pin the marketplace MCP runtime launcher to the exact `codex-usage-tracking==0.4.0` package.
216
+
217
+ ## 0.3.2 - 2026-06-08
218
+
219
+ - Make `open-dashboard` and `serve-dashboard` refresh active-session logs by default, with `--no-refresh` as the explicit cached-index mode.
220
+ - Add a token-protected dashboard action for enabling context loading without restarting a localhost server that started with context loading off.
221
+
222
+ ## 0.3.1 - 2026-06-08
223
+
224
+ - Fix packaged Codex Usage Tracker skills so dashboard-open requests start the live localhost dashboard instead of a static snapshot.
225
+ - Mirror live-dashboard skill guidance between source-tree skills and packaged plugin-data copies so release and wheel checks stay green.
226
+ - Use the valid explicit context API flag form, `serve-dashboard --refresh --context-api explicit --open`, for live dashboard launches.
227
+
228
+ ## 0.3.0 - 2026-06-08
229
+
230
+ 0.3.0 is a stabilization and public-preview release for the dashboard, CLI, MCP tools, local privacy model, packaged Codex plugin, and companion usage skills. The PyPI/TestPyPI distribution name is now `codex-usage-tracking`; the GitHub repository remains `douglasmonsky/codex-usage-tracker`, the Python import package remains `codex_usage_tracker`, and the installed CLI command remains `codex-usage-tracker`.
231
+
232
+ - Add tested JSON contract validation for stable CLI and MCP payload schemas.
233
+ - Add schema markers to doctor, pricing coverage, MCP dashboard/export/config, and opt-in context payloads.
234
+ - Add ranked CLI/MCP recommendations with severity score, primary recommendation, secondary signals, and thread rollups.
235
+ - Add offset-aware localhost dashboard usage API responses for paged aggregate-row automation.
236
+ - Add a synthetic large-history benchmark script for 10k, 100k, and 500k aggregate-row SQLite fixtures.
237
+ - Add focused mypy coverage for core JSON contract, recommendation, report, schema, model, and store modules.
238
+ - Add Ruff, coverage, and dashboard JavaScript syntax checks to CI.
239
+ - Split dashboard JavaScript helpers into formatting, data, state, and rendering/runtime assets.
240
+ - Add issue templates for bugs, parser compatibility, pricing/allowance issues, and feature requests.
241
+ - Expand security guidance for project metadata privacy, support bundles, and localhost dashboard tokens.
242
+
243
+ ## 0.2.0
244
+
245
+ - Add project metadata privacy modes for dashboard, query, session, summary, CSV export, MCP, and support-bundle surfaces.
246
+ - Add Codex credit estimates and optional local allowance-window context to the dashboard.
247
+ - Add prominent unofficial-project disclaimers to docs, dashboard output, and plugin metadata.
248
+ - Harden malformed token-count parsing, SQLite concurrency, MCP raw-context opt-in, pricing parser diagnostics, bundled dashboard docs, and schema migrations.
249
+ - Fix Python 3.10 compatibility for UTC timestamps and release checks.
250
+ - Add package-owned Codex plugin installation with `codex-usage-tracker install-plugin`.
251
+ - Package plugin assets and the Codex skill into the Python wheel.
252
+ - Add a companion `codex-usage-api` skill for conversational analysis through aggregate-only API/MCP data.
253
+ - Add distribution metadata, source distribution manifest, and CI build checks.
254
+ - Add `python -m codex_usage_tracker` support and CLI `--version` output.
255
+ - Add release-readiness checks for version alignment, required docs, package data, built wheels, and tracked secret patterns.
256
+ - Harden marketplace MCP runtime bootstrapping so cached runtimes refresh when the bundled package pin changes.
257
+ - Harden local dashboard server responses with browser security headers and safer IPv6 localhost URLs.
258
+ - Tighten the dashboard header copy, add click/keyboard row inspection, and keep detailed usage guidance out of the primary UI.
259
+ - Keep call details sticky while scrolling and render timestamps as local human-readable date/time values.
260
+ - Prefer non-review models in mixed thread model summaries, add fit-to-width model labels, and add a scroll-aware `Top` button.
261
+ - Hide single-page dashboard pagination and keep multi-page controls compact in the toolbar.
262
+ - Render fetched and refreshed timestamps as local human-readable date-times and make the call details scrollbar visible.
263
+ - Rewrite the README around practical usage investigations, long-chat context growth, and pre-release limitations.
264
+ - Add a screenshot-driven dashboard guide built from synthetic aggregate fixture data.
265
+ - Preserve requested virtualenv Python paths during plugin install instead of resolving through interpreter symlinks.
266
+ - Keep generated dashboards, SQLite databases, CSV exports, and raw Codex logs out of git.
267
+
268
+ ## 0.1.13
269
+
270
+ - Add dashboard load limits, API limits, and pagination for larger Codex histories.