codex-usage-tracking 0.11.3__tar.gz → 0.12.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 (360) hide show
  1. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/.codex-plugin/plugin.json +1 -1
  2. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/CHANGELOG.md +13 -0
  3. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/PKG-INFO +8 -1
  4. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/README.md +1 -0
  5. codex_usage_tracking-0.12.0/docs/architecture-boundary-map.md +53 -0
  6. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/development.md +7 -7
  7. codex_usage_tracking-0.12.0/docs/maintainability-roadmap.md +7643 -0
  8. codex_usage_tracking-0.12.0/docs/maintainability-scorecard.md +142 -0
  9. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/one-dot-oh-readiness.md +8 -8
  10. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/pyproject.toml +57 -7
  11. codex_usage_tracking-0.12.0/scripts/check_wemake_baseline.py +36 -0
  12. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/skills/codex-usage-tracker/scripts/run_mcp.py +2 -2
  13. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/__init__.py +1 -1
  14. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/__main__.py +3 -1
  15. codex_usage_tracking-0.12.0/src/codex_usage_tracker/allowance.py +514 -0
  16. codex_usage_tracking-0.12.0/src/codex_usage_tracker/allowance_rate_card.py +279 -0
  17. codex_usage_tracking-0.12.0/src/codex_usage_tracker/allowance_text.py +116 -0
  18. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/call_origin.py +32 -13
  19. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli.py +530 -0
  20. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli_config.py +196 -0
  21. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli_dashboard.py +163 -0
  22. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli_diagnostics.py +160 -0
  23. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli_output.py +11 -0
  24. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/cli_parser.py +2 -194
  25. codex_usage_tracking-0.12.0/src/codex_usage_tracker/cli_parser_diagnostics.py +201 -0
  26. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context.py +514 -0
  27. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_action_timing.py +105 -0
  28. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_loader.py +144 -0
  29. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_serialized.py +215 -0
  30. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_summaries.py +401 -0
  31. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_token_estimates.py +82 -0
  32. codex_usage_tracking-0.12.0/src/codex_usage_tracker/context_values.py +87 -0
  33. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/costing.py +40 -9
  34. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/dashboard.py +134 -236
  35. codex_usage_tracking-0.12.0/src/codex_usage_tracker/dashboard_assets.py +169 -0
  36. codex_usage_tracking-0.12.0/src/codex_usage_tracker/dashboard_pricing_snapshot.py +47 -0
  37. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostic_action_hints.py +80 -0
  38. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostic_fact_classifiers.py +383 -0
  39. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_facts.py +60 -303
  40. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_reports.py +1 -30
  41. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_analysis.py +130 -279
  42. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_constants.py +2 -2
  43. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_events.py +23 -13
  44. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostic_snapshot_payloads.py +176 -0
  45. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_report.py +20 -19
  46. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostic_snapshot_source_logs.py +204 -0
  47. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostic_snapshot_source_scan.py +322 -0
  48. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshots.py +55 -339
  49. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostics.py +96 -270
  50. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostics_mcp.py +326 -0
  51. codex_usage_tracking-0.12.0/src/codex_usage_tracker/diagnostics_types.py +16 -0
  52. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/formatting.py +99 -52
  53. codex_usage_tracking-0.12.0/src/codex_usage_tracker/json_contract_validation.py +112 -0
  54. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/json_contracts.py +5 -64
  55. codex_usage_tracking-0.12.0/src/codex_usage_tracker/parser.py +228 -0
  56. codex_usage_tracking-0.12.0/src/codex_usage_tracker/parser_jsonl_v1.py +418 -0
  57. codex_usage_tracking-0.12.0/src/codex_usage_tracker/parser_jsonl_values.py +326 -0
  58. codex_usage_tracking-0.12.0/src/codex_usage_tracker/parser_state.py +181 -0
  59. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_snapshots.js +70 -14
  60. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_live.js +7 -3
  61. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/projects.py +50 -27
  62. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/recommendations.py +157 -105
  63. codex_usage_tracking-0.12.0/src/codex_usage_tracker/report_filters.py +88 -0
  64. codex_usage_tracking-0.12.0/src/codex_usage_tracker/report_project_summary.py +128 -0
  65. codex_usage_tracking-0.12.0/src/codex_usage_tracker/report_recommendations.py +127 -0
  66. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/reports.py +85 -232
  67. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server.py +558 -0
  68. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_call_detail.py +137 -0
  69. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_call_lists.py +170 -0
  70. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_context.py +125 -0
  71. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_context_settings.py +41 -0
  72. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_dashboard_shell.py +69 -0
  73. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_diagnostic_facts.py +210 -0
  74. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_diagnostic_routes.py +227 -0
  75. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_diagnostic_snapshots.py +241 -0
  76. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_live_queries.py +52 -0
  77. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_live_rows.py +151 -0
  78. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_open_investigator.py +69 -0
  79. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_recommendations.py +82 -0
  80. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_request_guards.py +45 -0
  81. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_responses.py +69 -0
  82. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_routes.py +55 -0
  83. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_status.py +83 -0
  84. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_summary.py +70 -0
  85. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_threads.py +80 -0
  86. codex_usage_tracking-0.12.0/src/codex_usage_tracker/server_usage_refresh.py +200 -0
  87. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store.py +558 -0
  88. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_connection.py +28 -0
  89. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_dashboard_queries.py +446 -0
  90. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_diagnostic_call_queries.py +191 -0
  91. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_diagnostic_queries.py +330 -0
  92. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_exports.py +49 -0
  93. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/store_query_sql.py +98 -32
  94. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_refresh.py +122 -0
  95. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_rows.py +64 -0
  96. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/store_schema.py +37 -60
  97. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_sources.py +263 -0
  98. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_summary_queries.py +51 -0
  99. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/store_thread_summaries.py +71 -4
  100. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_usage_api_queries.py +145 -0
  101. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_usage_record_queries.py +105 -0
  102. codex_usage_tracking-0.12.0/src/codex_usage_tracker/store_usage_timing.py +12 -0
  103. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/threads.py +54 -27
  104. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_allowance_breakpoints.py +290 -0
  105. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_allowance_fits.py +259 -0
  106. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_allowance_online.py +317 -0
  107. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_delta.py +33 -0
  108. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_delta_core.py +178 -0
  109. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_delta_rows.py +382 -0
  110. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_delta_summary.py +504 -0
  111. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_scopes.py +26 -0
  112. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_boundary_summary.py +424 -0
  113. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_capacity_specs.py +198 -0
  114. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_error_diagnostics.py +227 -0
  115. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_feature_history.py +449 -0
  116. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_features.py +284 -0
  117. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_grace.py +180 -0
  118. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_history_state.py +91 -0
  119. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_model.py +497 -0
  120. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_predictive.py +346 -0
  121. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_predictive_specs.py +268 -0
  122. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_proxy_fit.py +146 -0
  123. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_regime_labels.py +29 -0
  124. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_regime_segments.py +411 -0
  125. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_regression.py +393 -0
  126. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/usage_drain_reports.py +82 -160
  127. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_spans.py +495 -0
  128. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_state_buckets.py +246 -0
  129. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_state_diagnostics.py +302 -0
  130. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_summary_metrics.py +348 -0
  131. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_thread_curves.py +171 -0
  132. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/usage_drain_time_series.py +97 -43
  133. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_token_components.py +262 -0
  134. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_transition_gates.py +184 -0
  135. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_transition_metrics.py +259 -0
  136. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_types.py +187 -0
  137. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_utils.py +190 -0
  138. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_walk_forward.py +236 -0
  139. codex_usage_tracking-0.12.0/src/codex_usage_tracker/usage_drain_walk_forward_rows.py +408 -0
  140. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracking.egg-info/PKG-INFO +8 -1
  141. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracking.egg-info/SOURCES.txt +155 -1
  142. codex_usage_tracking-0.12.0/src/codex_usage_tracking.egg-info/requires.txt +20 -0
  143. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/store_dashboard_helpers.py +3 -1
  144. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_call_origin.py +24 -0
  145. codex_usage_tracking-0.12.0/tests/test_cli_parser_diagnostics.py +36 -0
  146. codex_usage_tracking-0.12.0/tests/test_context_action_timing.py +48 -0
  147. codex_usage_tracking-0.12.0/tests/test_context_scan.py +55 -0
  148. codex_usage_tracking-0.12.0/tests/test_context_serialized.py +71 -0
  149. codex_usage_tracking-0.12.0/tests/test_context_summaries.py +109 -0
  150. codex_usage_tracking-0.12.0/tests/test_context_token_estimates.py +45 -0
  151. codex_usage_tracking-0.12.0/tests/test_context_values.py +43 -0
  152. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_diagnostics_snapshots.py +155 -0
  153. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_live.py +46 -0
  154. codex_usage_tracking-0.12.0/tests/test_dashboard_pricing_snapshot.py +33 -0
  155. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_server.py +7 -7
  156. codex_usage_tracking-0.12.0/tests/test_diagnostic_fact_classifiers.py +65 -0
  157. codex_usage_tracking-0.12.0/tests/test_diagnostic_reports.py +27 -0
  158. codex_usage_tracking-0.12.0/tests/test_diagnostic_snapshot_events.py +37 -0
  159. codex_usage_tracking-0.12.0/tests/test_diagnostic_snapshot_report.py +71 -0
  160. codex_usage_tracking-0.12.0/tests/test_diagnostic_snapshot_source_scan.py +124 -0
  161. codex_usage_tracking-0.12.0/tests/test_formatting.py +87 -0
  162. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_json_contracts.py +23 -0
  163. codex_usage_tracking-0.12.0/tests/test_parser_inspect_log.py +38 -0
  164. codex_usage_tracking-0.12.0/tests/test_parser_state.py +54 -0
  165. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_pricing.py +16 -0
  166. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_privacy.py +8 -5
  167. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_projects.py +25 -0
  168. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_recommendations.py +25 -0
  169. codex_usage_tracking-0.12.0/tests/test_server_call_detail.py +167 -0
  170. codex_usage_tracking-0.12.0/tests/test_server_call_lists.py +197 -0
  171. codex_usage_tracking-0.12.0/tests/test_server_context.py +174 -0
  172. codex_usage_tracking-0.12.0/tests/test_server_context_settings.py +39 -0
  173. codex_usage_tracking-0.12.0/tests/test_server_dashboard_shell.py +80 -0
  174. codex_usage_tracking-0.12.0/tests/test_server_diagnostic_facts.py +218 -0
  175. codex_usage_tracking-0.12.0/tests/test_server_diagnostic_refresh_auth.py +48 -0
  176. codex_usage_tracking-0.12.0/tests/test_server_diagnostic_snapshots.py +372 -0
  177. codex_usage_tracking-0.12.0/tests/test_server_live_queries.py +71 -0
  178. codex_usage_tracking-0.12.0/tests/test_server_live_rows.py +131 -0
  179. codex_usage_tracking-0.12.0/tests/test_server_open_investigator.py +85 -0
  180. codex_usage_tracking-0.12.0/tests/test_server_recommendations.py +159 -0
  181. codex_usage_tracking-0.12.0/tests/test_server_request_guards.py +58 -0
  182. codex_usage_tracking-0.12.0/tests/test_server_responses.py +67 -0
  183. codex_usage_tracking-0.12.0/tests/test_server_routes.py +36 -0
  184. codex_usage_tracking-0.12.0/tests/test_server_status.py +139 -0
  185. codex_usage_tracking-0.12.0/tests/test_server_summary.py +145 -0
  186. codex_usage_tracking-0.12.0/tests/test_server_threads.py +141 -0
  187. codex_usage_tracking-0.12.0/tests/test_server_usage_refresh.py +264 -0
  188. codex_usage_tracking-0.12.0/tests/test_store_dashboard_queries.py +178 -0
  189. codex_usage_tracking-0.12.0/tests/test_store_large_batches.py +106 -0
  190. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_store_migrations.py +17 -0
  191. codex_usage_tracking-0.12.0/tests/test_store_query_sql.py +56 -0
  192. codex_usage_tracking-0.12.0/tests/test_store_sources.py +194 -0
  193. codex_usage_tracking-0.12.0/tests/test_threads.py +203 -0
  194. codex_usage_tracking-0.12.0/tests/test_usage_drain_allowance_fits.py +192 -0
  195. codex_usage_tracking-0.12.0/tests/test_usage_drain_boundary_delta.py +70 -0
  196. codex_usage_tracking-0.12.0/tests/test_usage_drain_boundary_delta_summary.py +281 -0
  197. codex_usage_tracking-0.12.0/tests/test_usage_drain_boundary_summary.py +130 -0
  198. codex_usage_tracking-0.12.0/tests/test_usage_drain_error_diagnostics.py +161 -0
  199. codex_usage_tracking-0.12.0/tests/test_usage_drain_feature_history.py +65 -0
  200. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_usage_drain_model.py +0 -95
  201. codex_usage_tracking-0.12.0/tests/test_usage_drain_one_percent_capacity.py +137 -0
  202. codex_usage_tracking-0.12.0/tests/test_usage_drain_predictive.py +59 -0
  203. codex_usage_tracking-0.12.0/tests/test_usage_drain_regime_segments.py +86 -0
  204. codex_usage_tracking-0.12.0/tests/test_usage_drain_regression.py +68 -0
  205. codex_usage_tracking-0.12.0/tests/test_usage_drain_report_records.py +107 -0
  206. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_usage_drain_reports.py +50 -1
  207. codex_usage_tracking-0.12.0/tests/test_usage_drain_state_buckets.py +110 -0
  208. codex_usage_tracking-0.12.0/tests/test_usage_drain_state_diagnostics.py +64 -0
  209. codex_usage_tracking-0.12.0/tests/test_usage_drain_summary_metrics.py +66 -0
  210. codex_usage_tracking-0.12.0/tests/test_usage_drain_thread_curves.py +38 -0
  211. codex_usage_tracking-0.12.0/tests/test_usage_drain_token_components.py +45 -0
  212. codex_usage_tracking-0.12.0/tests/test_usage_drain_transition_gates.py +61 -0
  213. codex_usage_tracking-0.12.0/tests/test_usage_drain_transition_metrics.py +34 -0
  214. codex_usage_tracking-0.12.0/tests/test_usage_drain_walk_forward.py +61 -0
  215. codex_usage_tracking-0.11.3/src/codex_usage_tracker/allowance.py +0 -759
  216. codex_usage_tracking-0.11.3/src/codex_usage_tracker/cli.py +0 -976
  217. codex_usage_tracking-0.11.3/src/codex_usage_tracker/context.py +0 -1082
  218. codex_usage_tracking-0.11.3/src/codex_usage_tracker/parser.py +0 -852
  219. codex_usage_tracking-0.11.3/src/codex_usage_tracker/server.py +0 -1508
  220. codex_usage_tracking-0.11.3/src/codex_usage_tracker/store.py +0 -1796
  221. codex_usage_tracking-0.11.3/src/codex_usage_tracker/store_sources.py +0 -209
  222. codex_usage_tracking-0.11.3/src/codex_usage_tracker/usage_drain_model.py +0 -6753
  223. codex_usage_tracking-0.11.3/src/codex_usage_tracking.egg-info/requires.txt +0 -12
  224. codex_usage_tracking-0.11.3/tests/test_threads.py +0 -53
  225. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/.mcp.json +0 -0
  226. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/AGENTS.md +0 -0
  227. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/CONTRIBUTING.md +0 -0
  228. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/LICENSE +0 -0
  229. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/MANIFEST.in +0 -0
  230. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/SECURITY.md +0 -0
  231. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/assets/icon.svg +0 -0
  232. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/architecture.md +0 -0
  233. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  234. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-call-investigator-preview.png +0 -0
  235. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-call-investigator.png +0 -0
  236. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-calls-preview.png +0 -0
  237. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-calls.png +0 -0
  238. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-details.png +0 -0
  239. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  240. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-diagnostics.png +0 -0
  241. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-insights.png +0 -0
  242. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/dashboard-threads.png +0 -0
  243. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/plugin-prompts.png +0 -0
  244. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/plugin-thread-leaderboard.png +0 -0
  245. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/ux/call-detail-panel.png +0 -0
  246. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/ux/insight-overview.png +0 -0
  247. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/assets/ux/thread-investigation.png +0 -0
  248. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/call-drilldown-performance-checklist.md +0 -0
  249. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/cli-json-schemas.md +0 -0
  250. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/cli-reference.md +0 -0
  251. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/dashboard-guide.md +0 -0
  252. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/install.md +0 -0
  253. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/mcp.md +0 -0
  254. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/pricing-and-credits.md +0 -0
  255. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/privacy.md +0 -0
  256. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/ui-ux-improvement-plan.md +0 -0
  257. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/docs/usage-drain-modeling.md +0 -0
  258. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/scripts/benchmark_synthetic_history.py +0 -0
  259. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/scripts/check_release.py +0 -0
  260. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/scripts/install_local_plugin.py +0 -0
  261. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/scripts/model_usage_drain.py +0 -0
  262. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/scripts/smoke_installed_package.py +0 -0
  263. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/setup.cfg +0 -0
  264. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/skills/codex-usage-api/SKILL.md +0 -0
  265. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/skills/codex-usage-tracker/SKILL.md +0 -0
  266. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/api_payloads.py +0 -0
  267. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_concentration.py +0 -0
  268. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/diagnostic_snapshot_rows.py +0 -0
  269. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/i18n.py +0 -0
  270. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/mcp_server.py +0 -0
  271. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/models.py +0 -0
  272. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/paths.py +0 -0
  273. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/__init__.py +0 -0
  274. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/assets/icon.svg +0 -0
  275. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard.css +0 -0
  276. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard.js +0 -0
  277. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_actions.js +0 -0
  278. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_analysis.js +0 -0
  279. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call.css +0 -0
  280. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_diagnostics.js +0 -0
  281. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_call_investigator.js +0 -0
  282. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_cells.js +0 -0
  283. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_data.js +0 -0
  284. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_detail.css +0 -0
  285. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_details.js +0 -0
  286. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics.js +0 -0
  287. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_diagnostics_facts.js +0 -0
  288. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_events.js +0 -0
  289. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_filters.js +0 -0
  290. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_format.js +0 -0
  291. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_i18n.js +0 -0
  292. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.css +0 -0
  293. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_insights.js +0 -0
  294. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_layout.css +0 -0
  295. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_payload_cache.js +0 -0
  296. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_responsive.css +0 -0
  297. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_state.js +0 -0
  298. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_status.js +0 -0
  299. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.css +0 -0
  300. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tables.js +0 -0
  301. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_template.html +0 -0
  302. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/dashboard_tooltips.js +0 -0
  303. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ar.json +0 -0
  304. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/de.json +0 -0
  305. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/en.json +0 -0
  306. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/es.json +0 -0
  307. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/fr.json +0 -0
  308. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/it.json +0 -0
  309. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ja.json +0 -0
  310. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ko.json +0 -0
  311. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/pt.json +0 -0
  312. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/ru.json +0 -0
  313. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/vi.json +0 -0
  314. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/dashboard/locales/zh-Hans.json +0 -0
  315. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-evidence.png +0 -0
  316. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator-preview.png +0 -0
  317. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-call-investigator.png +0 -0
  318. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls-preview.png +0 -0
  319. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-calls.png +0 -0
  320. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-details.png +0 -0
  321. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics-git-expanded.png +0 -0
  322. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-diagnostics.png +0 -0
  323. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-insights.png +0 -0
  324. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/dashboard-threads.png +0 -0
  325. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-prompts.png +0 -0
  326. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/assets/plugin-thread-leaderboard.png +0 -0
  327. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/docs/dashboard-guide.html +0 -0
  328. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/rate_cards/codex-credit-rates.json +0 -0
  329. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/skills/codex-usage-api/SKILL.md +0 -0
  330. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_data/skills/codex-usage-tracker/SKILL.md +0 -0
  331. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/plugin_installer.py +0 -0
  332. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/pricing.py +0 -0
  333. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/pricing_config.py +0 -0
  334. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/pricing_estimates.py +0 -0
  335. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/pricing_openai.py +0 -0
  336. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/redaction.py +0 -0
  337. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/schema.py +0 -0
  338. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/server_utils.py +0 -0
  339. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracker/support.py +0 -0
  340. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracking.egg-info/dependency_links.txt +0 -0
  341. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracking.egg-info/entry_points.txt +0 -0
  342. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/src/codex_usage_tracking.egg-info/top_level.txt +0 -0
  343. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_allowance.py +0 -0
  344. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_cli_lifecycle.py +0 -0
  345. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_cli_release.py +0 -0
  346. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_context_evidence.py +0 -0
  347. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_data.py +0 -0
  348. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_payload.py +0 -0
  349. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_state.py +0 -0
  350. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_dashboard_status.py +0 -0
  351. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_diagnostic_snapshots.py +0 -0
  352. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_i18n.py +0 -0
  353. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_mcp_integration.py +0 -0
  354. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_mcp_launcher.py +0 -0
  355. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_parser.py +0 -0
  356. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_plugin_installer.py +0 -0
  357. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_redaction.py +0 -0
  358. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_schema.py +0 -0
  359. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_store_dashboard_mcp.py +0 -0
  360. {codex_usage_tracking-0.11.3 → codex_usage_tracking-0.12.0}/tests/test_support.py +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-usage-tracker",
3
- "version": "0.11.3",
3
+ "version": "0.12.0",
4
4
  "description": "Unofficial local tracker for aggregate Codex token usage from local session logs.",
5
5
  "author": {
6
6
  "name": "Douglas Monsky"
@@ -2,6 +2,19 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.12.0 - 2026-06-29
6
+
7
+ - Refactor CLI, dashboard server routing, SQLite store/query boundaries, context parsing, diagnostics, and usage-drain modeling into smaller modules with compatibility facades.
8
+ - Add local Agent Maintainer ratchet configuration, strict local `tach check`, maintainability boundary docs, and a maintainability scorecard for future cleanup work.
9
+ - Harden Diagnostics dashboard behavior for projected weekly credits charts, command expansion, live row status, and desktop/mobile smoke coverage.
10
+ - Clean up warning-sensitive tests so the full suite runs without SQLite/resource-handle `ResourceWarning` noise.
11
+ - Validate the refactor against a frozen local JSONL rebuild comparison before release.
12
+
13
+ ## 0.11.4 - 2026-06-27
14
+
15
+ - 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.
16
+ - Add synthetic regression coverage for large diagnostic fact refreshes under a low SQLite variable ceiling. Thanks to `@gevikhn` for the Windows setup failure report.
17
+
5
18
  ## 0.11.3 - 2026-06-23
6
19
 
7
20
  - 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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codex-usage-tracking
3
- Version: 0.11.3
3
+ Version: 0.12.0
4
4
  Summary: Unofficial local Codex plugin and dashboard for investigating aggregate token usage, costs, caching, and thread patterns.
5
5
  Author: Douglas Monsky
6
6
  License-Expression: MIT
@@ -28,12 +28,18 @@ License-File: LICENSE
28
28
  Requires-Dist: mcp>=1.2.0
29
29
  Requires-Dist: tiktoken>=0.13.0
30
30
  Provides-Extra: dev
31
+ Requires-Dist: agent-maintainer[core]==0.1.0b1; python_version >= "3.11" and extra == "dev"
32
+ Requires-Dist: actionlint-py>=1.7.12.24; python_version >= "3.11" and extra == "dev"
31
33
  Requires-Dist: build>=1.2; extra == "dev"
34
+ Requires-Dist: git-agent-ratchet>=1.3.0; python_version >= "3.11" and extra == "dev"
32
35
  Requires-Dist: mypy>=1.10; extra == "dev"
33
36
  Requires-Dist: pytest>=8.0; extra == "dev"
34
37
  Requires-Dist: pytest-cov>=5.0; extra == "dev"
35
38
  Requires-Dist: ruff>=0.8; extra == "dev"
39
+ Requires-Dist: tach>=0.35.0; python_version >= "3.11" and extra == "dev"
36
40
  Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "dev"
41
+ Requires-Dist: wemake-python-styleguide>=1.6.2; python_version >= "3.11" and extra == "dev"
42
+ Requires-Dist: zizmor>=1.26.1; python_version >= "3.11" and extra == "dev"
37
43
  Dynamic: license-file
38
44
 
39
45
  # Codex Usage Tracker
@@ -47,6 +53,7 @@ Local-first dashboard, Codex plugin, and companion skill for understanding where
47
53
 
48
54
  [![CI](https://github.com/douglasmonsky/codex-usage-tracker/actions/workflows/ci.yml/badge.svg)](https://github.com/douglasmonsky/codex-usage-tracker/actions/workflows/ci.yml)
49
55
  [![PyPI](https://img.shields.io/pypi/v/codex-usage-tracking.svg)](https://pypi.org/project/codex-usage-tracking/)
56
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/codex-usage-tracking?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=BLUE&left_text=downloads)](https://pepy.tech/projects/codex-usage-tracking)
50
57
  ![Python 3.10-3.14](https://img.shields.io/badge/python-3.10--3.14-blue)
51
58
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
52
59
 
@@ -9,6 +9,7 @@ Local-first dashboard, Codex plugin, and companion skill for understanding where
9
9
 
10
10
  [![CI](https://github.com/douglasmonsky/codex-usage-tracker/actions/workflows/ci.yml/badge.svg)](https://github.com/douglasmonsky/codex-usage-tracker/actions/workflows/ci.yml)
11
11
  [![PyPI](https://img.shields.io/pypi/v/codex-usage-tracking.svg)](https://pypi.org/project/codex-usage-tracking/)
12
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/codex-usage-tracking?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=BLUE&left_text=downloads)](https://pepy.tech/projects/codex-usage-tracking)
12
13
  ![Python 3.10-3.14](https://img.shields.io/badge/python-3.10--3.14-blue)
13
14
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
14
15
 
@@ -0,0 +1,53 @@
1
+ # Architecture Boundary Map
2
+
3
+ This repository uses `tach` for local architecture visibility and enforcement.
4
+ The current local gate is:
5
+
6
+ ```bash
7
+ tach check
8
+ ```
9
+
10
+ `tach check` now passes locally and should be treated as a blocking local gate
11
+ for maintainability work. Remote CI remains untouched until explicitly approved.
12
+
13
+ ## Current Strictness
14
+
15
+ - `layers_explicit_depends_on = true`
16
+ - `forbid_circular_dependencies = false`
17
+ - `source_roots = ["src"]`
18
+ - tests, docs, build artifacts, virtualenvs, and caches are excluded
19
+
20
+ The explicit dependency setting is enabled because the current boundary map can
21
+ validate module dependencies cleanly. Circular dependency blocking is still
22
+ deferred: enabling `forbid_circular_dependencies` currently reports broad cycles
23
+ across the coarse module groups. That should be handled in a later, smaller
24
+ architecture branch after the groups are split more precisely.
25
+
26
+ ## Intended Direction
27
+
28
+ The current map uses coarse file-level module groups. The intended dependency
29
+ direction remains:
30
+
31
+ 1. `core`: shared models, schema, paths, formatting, privacy helpers.
32
+ 2. `pricing`: pricing and allowance helpers, depending only on core.
33
+ 3. `parsing`: JSONL parsing, diagnostic fact extraction, raw context loading.
34
+ 4. `persistence`: SQLite schema, migrations, refresh cursors, query helpers.
35
+ 5. `reports`: application report assembly and stable JSON payloads.
36
+ 6. `diagnostics`: diagnostic snapshots and aggregate-only analysis.
37
+ 7. `dashboard_api`: dashboard generation, localhost API, HTTP helpers.
38
+ 8. `adapters`: CLI, MCP, package entrypoint, plugin installer wrappers.
39
+
40
+ Adapters may call inward. Dashboard/API may call reports, diagnostics,
41
+ persistence, parsing, pricing, and core surfaces. Reports and diagnostics may
42
+ call lower-level layers. Low-level modules should avoid reaching upward.
43
+
44
+ ## Local Commands
45
+
46
+ ```bash
47
+ tach check
48
+ tach report src/codex_usage_tracker/usage_drain_reports.py --dependencies --usages
49
+ tach map -o /tmp/codex-usage-tracker-tach-map.json
50
+ ```
51
+
52
+ Use `tach report` and `tach map` for diagnosis. Use `tach check` as the local
53
+ blocking gate.
@@ -38,7 +38,7 @@ fix/<issue-number>-short-description
38
38
  docs/<issue-number>-short-description
39
39
  chore/<issue-number>-short-description
40
40
  test/<issue-number>-short-description
41
- release/0.11.3
41
+ release/0.12.0
42
42
  hotfix/0.3.3
43
43
  ```
44
44
 
@@ -91,7 +91,7 @@ blocked
91
91
  Recommended milestones:
92
92
 
93
93
  ```text
94
- 0.11.3
94
+ 0.12.0
95
95
  1.0-readiness
96
96
  1.0.0
97
97
  ```
@@ -146,8 +146,8 @@ python scripts/smoke_installed_package.py --docker
146
146
  To verify the public PyPI package instead of the local checkout:
147
147
 
148
148
  ```bash
149
- python scripts/smoke_installed_package.py --from-pypi --version 0.11.3
150
- python scripts/smoke_installed_package.py --docker --from-pypi --version 0.11.3
149
+ python scripts/smoke_installed_package.py --from-pypi --version 0.12.0
150
+ python scripts/smoke_installed_package.py --docker --from-pypi --version 0.12.0
151
151
  ```
152
152
 
153
153
  `scripts/check_release.py` treats these public-package smoke commands as release-state claims. Keep their `--version` and `codex-usage-tracking==...` values aligned with `pyproject.toml`; the release gate fails when the docs claim a different public version. It also checks that install docs point at the real PyPI distribution, `codex-usage-tracking`, and keep the warning that `codex-usage-tracker` is a different PyPI package.
@@ -294,8 +294,8 @@ After the release branch merges, tag from updated `main`, not from an unreviewed
294
294
  ```bash
295
295
  git switch main
296
296
  git pull --ff-only
297
- git tag -a v0.11.3 -m "codex-usage-tracker 0.11.3"
298
- git push origin v0.11.3
297
+ git tag -a v0.12.0 -m "codex-usage-tracker 0.12.0"
298
+ git push origin v0.12.0
299
299
  ```
300
300
 
301
301
  Do not create or push release tags without maintainer approval.
@@ -304,7 +304,7 @@ Do not create or push release tags without maintainer approval.
304
304
 
305
305
  Publishing uses GitHub Actions Trusted Publishing through `.github/workflows/publish.yml`; do not upload from a local machine and do not add PyPI or TestPyPI API tokens.
306
306
 
307
- The first public package release, `0.3.0`, was published on June 8, 2026. Patch release `0.3.1` followed the same day to ship the live-dashboard skill launch fix. Patch release `0.3.2` made dashboard launch refresh the default and added runtime enablement for context loading. Minor release `0.4.0` added Python 3.14 support, release recovery docs, stricter privacy/support-bundle regression coverage, and large-history benchmark thresholds. Patch release `0.4.1` was published by workflow dispatch from `main`; it hardened the PyPI publish workflow and checked off completed 1.0 readiness gates. Minor release `0.5.0` added dashboard localization support and initial language catalogs. Minor release `0.6.0` is the performance and call-drilldown release with SQL-backed live API slices, materialized thread summaries, faster evidence loading, and dashboard runtime module refactors. Patch release `0.6.1` aligns the final README/package screenshots and companion plugin assets. Minor release `0.7.0` adds observed usage snapshots and the latest-observed dashboard card while keeping raw evidence on demand only. Minor release `0.8.0` adds aggregate diagnostics, source-offset context seeking, and live dashboard loading hardening. Patch release `0.8.1` improves Diagnostics fact table readability with pinned fact names and sortable fact columns. Minor release `0.9.0` adds persisted diagnostic snapshots, on-demand diagnostic refresh, tool/command/file-read/concentration reports, and Diagnostics dashboard panels. Minor release `0.10.0` adds Git/GitHub CLI diagnostics, file-modification diagnostics, and derived call timing fields across the dashboard and API. Patch release `0.10.1` adds lightweight action timing to context evidence and ships the synthetic Git Interactions README screenshot. Minor release `0.11.0` adds usage-drain diagnostic reports, projected weekly credit charts, and cumulative thread cost curves. Patch release `0.11.1` improves the Diagnostics weekly projection table and stale snapshot reload controls. Patch release `0.11.2` fixes served dashboard shell hydration and hardens the synthetic source-log benchmark smoke test. Patch release `0.11.3` fixes Windows live dashboard asset MIME handling.
307
+ The first public package release, `0.3.0`, was published on June 8, 2026. Patch release `0.3.1` followed the same day to ship the live-dashboard skill launch fix. Patch release `0.3.2` made dashboard launch refresh the default and added runtime enablement for context loading. Minor release `0.4.0` added Python 3.14 support, release recovery docs, stricter privacy/support-bundle regression coverage, and large-history benchmark thresholds. Patch release `0.4.1` was published by workflow dispatch from `main`; it hardened the PyPI publish workflow and checked off completed 1.0 readiness gates. Minor release `0.5.0` added dashboard localization support and initial language catalogs. Minor release `0.6.0` is the performance and call-drilldown release with SQL-backed live API slices, materialized thread summaries, faster evidence loading, and dashboard runtime module refactors. Patch release `0.6.1` aligns the final README/package screenshots and companion plugin assets. Minor release `0.7.0` adds observed usage snapshots and the latest-observed dashboard card while keeping raw evidence on demand only. Minor release `0.8.0` adds aggregate diagnostics, source-offset context seeking, and live dashboard loading hardening. Patch release `0.8.1` improves Diagnostics fact table readability with pinned fact names and sortable fact columns. Minor release `0.9.0` adds persisted diagnostic snapshots, on-demand diagnostic refresh, tool/command/file-read/concentration reports, and Diagnostics dashboard panels. Minor release `0.10.0` adds Git/GitHub CLI diagnostics, file-modification diagnostics, and derived call timing fields across the dashboard and API. Patch release `0.10.1` adds lightweight action timing to context evidence and ships the synthetic Git Interactions README screenshot. Minor release `0.11.0` adds usage-drain diagnostic reports, projected weekly credit charts, and cumulative thread cost curves. Patch release `0.11.1` improves the Diagnostics weekly projection table and stale snapshot reload controls. Patch release `0.11.2` fixes served dashboard shell hydration and hardens the synthetic source-log benchmark smoke test. Patch release `0.11.3` fixes Windows live dashboard asset MIME handling. Patch release `0.11.4` fixes large-history setup refresh failures from SQLite variable limits. Minor release `0.12.0` ships the maintainability architecture repair, dashboard diagnostics hardening, Agent Maintainer ratchets, and warning-clean test suite.
308
308
 
309
309
  - GitHub Release: `https://github.com/douglasmonsky/codex-usage-tracker/releases/tag/v0.3.0`
310
310
  - GitHub Release: `https://github.com/douglasmonsky/codex-usage-tracker/releases/tag/v0.3.1`