cctally 1.106.0 → 1.107.0
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.
- package/CHANGELOG.md +20 -0
- package/bin/_cctally_cache.py +553 -44
- package/bin/_cctally_core.py +20 -151
- package/bin/_cctally_dashboard.py +62 -53
- package/bin/_cctally_dashboard_envelope.py +16 -83
- package/bin/_cctally_dashboard_share.py +1 -7
- package/bin/_cctally_db.py +6 -133
- package/bin/_cctally_doctor.py +91 -40
- package/bin/_cctally_five_hour.py +6 -53
- package/bin/_cctally_forecast.py +42 -197
- package/bin/_cctally_journal.py +27 -217
- package/bin/_cctally_milestone_history.py +58 -141
- package/bin/_cctally_milestones.py +0 -72
- package/bin/_cctally_parser.py +6 -10
- package/bin/_cctally_percent_breakdown.py +20 -26
- package/bin/_cctally_project.py +3 -5
- package/bin/_cctally_quota.py +2 -12
- package/bin/_cctally_quota_model.py +4 -12
- package/bin/_cctally_record.py +308 -1253
- package/bin/_cctally_reporting.py +1 -19
- package/bin/_cctally_share.py +45 -32
- package/bin/_cctally_statusline.py +11 -15
- package/bin/_cctally_tui.py +34 -214
- package/bin/_cctally_weekrefs.py +196 -322
- package/bin/_lib_aggregators.py +7 -2
- package/bin/_lib_cache_report.py +5 -2
- package/bin/_lib_credit.py +2 -9
- package/bin/_lib_dashboard_sources.py +4 -16
- package/bin/_lib_doctor.py +190 -1
- package/bin/_lib_pricing.py +44 -0
- package/bin/_lib_quota_model.py +54 -44
- package/bin/_lib_record.py +9 -41
- package/bin/_lib_rederive.py +0 -8
- package/bin/_lib_render.py +19 -80
- package/bin/_lib_snapshot_cache.py +15 -198
- package/bin/_lib_subscription_weeks.py +138 -141
- package/bin/_lib_view_models.py +86 -133
- package/bin/cctally +0 -7
- package/dashboard/static/assets/{ConversationsView-Dst33C0n.js → ConversationsView-BHbw2W1l.js} +13 -13
- package/dashboard/static/assets/{DoctorModal-5rvkyksy.js → DoctorModal-DcyMPwvn.js} +1 -1
- package/dashboard/static/assets/ModalRoot-BYV-99Rq.js +1 -0
- package/dashboard/static/assets/{ProjectsDrillPanel-CsR1bjJu.js → ProjectsDrillPanel-ecN8oCwv.js} +1 -1
- package/dashboard/static/assets/{SourceDetailModal-BnTIwt-R.js → SourceDetailModal-CUwdD7_v.js} +1 -1
- package/dashboard/static/assets/{UpdateModal-D_RfssnW.js → UpdateModal-CKlFE0ER.js} +3 -3
- package/dashboard/static/assets/index-D8svRv_9.js +13 -0
- package/dashboard/static/assets/index-klO46NcU.css +1 -0
- package/dashboard/static/assets/{outlineNavigation-C7J9lhGB.js → outlineNavigation-CVse0Hj9.js} +1 -1
- package/dashboard/static/assets/useKeymap-CJ-Pi17D.js +1 -0
- package/dashboard/static/dashboard.html +3 -3
- package/package.json +1 -3
- package/bin/_lib_credit_identity.py +0 -159
- package/bin/_lib_credit_selection.py +0 -342
- package/dashboard/static/assets/ModalRoot-BJH02VzE.js +0 -1
- package/dashboard/static/assets/index-rzXw99Hy.js +0 -13
- package/dashboard/static/assets/index-u3wLfjt2.css +0 -1
- package/dashboard/static/assets/useKeymap-B3KCc_c7.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.107.0] - 2026-09-04
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- The same-window weekly credit model introduced in 1.106.0 is reverted. A week is anchored to its billing cycle again, and a recorded credit no longer rewrites the week in place or withholds the `$/1%` figure.
|
|
12
|
+
- Upgrading from 1.106.0 rebuilds the disposable stats index once. On a large store that took about a minute here, and commands report that a rebuild is running until it finishes.
|
|
13
|
+
- `claude-fable-5-1` and `claude-mythos-5-1` each count as their own model family in the weekly quota model, instead of being pooled with the model they follow. Your quota calibration refits once on the next `cctally quota` run.
|
|
14
|
+
- `cctally doctor` separates the one refused-pricing-write state that restarting cctally cannot clear — a recorded pricing date it cannot read — from the ordinary one, and names the step that does clear it.
|
|
15
|
+
- A shared `cctally weekly` artifact labels each row by the date its cycle began, matching the terminal table and the dashboard. On a week Anthropic reset early, that label and the artifact's stated period both move forward.
|
|
16
|
+
- The dashboard's Projects panel counts a credited week as the two billing cycles it is, so its week grid covers fewer calendar days for the same week count.
|
|
17
|
+
- The `cctally weekly` and `cctally report` artifacts, the dashboard's Weekly panel footer and the Weekly modal title all count billing cycles rather than weeks, because a credited week supplies two rows. `Avg %/wk` is now `Avg %/cycle`.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- `cctally weekly` renders a week credited in place as two rows, one per billing cycle, matching `cctally report`. The cycle before the credit had no row at all, and its spend was missing from the table and from `--json` totals.
|
|
21
|
+
- The dashboard's Weekly panel and the TUI show both cycles of a credited week from one source, so a week's two rows can no longer disagree with the panel total beside them.
|
|
22
|
+
- `cctally project` counts a credited week as the two billing cycles it is, so `--weeks N` spans a shorter calendar range there. `attributedUsedPercent` rises, because the cycle before the credit matches its usage snapshot again.
|
|
23
|
+
- A `cctally dashboard` left running across a pricing update can no longer overwrite corrected conversation cost from the table it started with. It keeps ingesting, your conversations stay listed, and `cctally doctor` says to restart it.
|
|
24
|
+
- `cctally doctor` reports a refused conversation-cost write from any process that hit it, including short-lived ones like the status line and `cctally daily` that never open the conversation store.
|
|
25
|
+
- `cctally cache-sync --rebuild` says it did nothing when it may not rewrite conversation cost, instead of reporting `0 processed` and exiting 0. It names both reasons: a stored pricing table newer than this one, or one that is not a date.
|
|
26
|
+
- `cctally doctor`'s refused-pricing-write warning clears once cctally is running current with the store, including after a refused `cctally cache-sync --rebuild`. That refusal previously left a warning the documented remedy could not clear.
|
|
27
|
+
|
|
8
28
|
## [1.106.0] - 2026-09-03
|
|
9
29
|
|
|
10
30
|
### Changed
|