cctally 1.84.0 → 1.84.1

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 CHANGED
@@ -5,6 +5,11 @@ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.84.1] - 2026-07-29
9
+
10
+ ### Fixed
11
+ - Internal (maintainer-only): Linux release CI now exercises transcript-recovery integration fixtures without requiring the hosted runner's filesystem to support copy-on-write reflinks. The test-only copy seam is reachable only under pytest; production recovery still fails closed when a filesystem cannot make the bounded main/WAL clone. The Projects fixture guard also keeps byte-for-byte determinism between builds made by the same SQLite engine while comparing committed fixtures by canonical schema and row content across SQLite versions, whose valid B-tree page layouts can differ. This supersedes the failed public Linux gate for v1.84.0.
12
+
8
13
  ## [1.84.0] - 2026-07-29
9
14
 
10
15
  ### Added
@@ -6933,7 +6933,17 @@ def _clone_conversation_probe_member(
6933
6933
  source: pathlib.Path,
6934
6934
  destination: pathlib.Path,
6935
6935
  ) -> None:
6936
- """Bounded same-volume COW clone; never fall back to a byte copy."""
6936
+ """Bounded same-volume COW clone; production never falls back to a copy."""
6937
+ if (
6938
+ os.environ.get("PYTEST_CURRENT_TEST")
6939
+ and os.environ.get("CCTALLY_TEST_CONVERSATION_PROBE_COPY") == "1"
6940
+ ):
6941
+ # Hosted Linux workspaces commonly reject FICLONE. Integration tests
6942
+ # opt into a small-fixture byte copy so they can exercise the recovery
6943
+ # protocol; the PYTEST_CURRENT_TEST guard keeps this seam unreachable
6944
+ # from production, where clone unavailability must still fail closed.
6945
+ shutil.copyfile(source, destination)
6946
+ return
6937
6947
  cp = shutil.which("cp")
6938
6948
  if cp is None:
6939
6949
  raise OSError(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cctally",
3
- "version": "1.84.0",
3
+ "version": "1.84.1",
4
4
  "description": "Claude Code usage tracker and local dashboard for Pro/Max subscription limits - weekly cost-per-percent trend, quota forecasts, threshold alerts. ccusage-compatible.",
5
5
  "homepage": "https://github.com/omrikais/cctally",
6
6
  "repository": {