Repository navigation
Release v1.5.0
Summary
Make the human-time estimate auditable without turning reports into an attendance claim. The calculation now has one versioned source of truth, an opt-in structural ledger for people and API consumers, and explicit safeguards around block overlap, precision, and sensitive metadata.
Release notes are generated from this description:
Added
- Add
--explain-human-timefor a readable table ledger and structured JSON details covering scoped/effective signals, timestamp deduplication, block boundaries, credit, clipping, and the reconciled total. - Add stable
signal-blocks-v1algorithm, timezone, and boundary-basis metadata to JSON reports. - Add privacy and reconciliation regression coverage, including exact half-millisecond ties and equal-priority timestamp collisions.
Changed
- Calculate human-time intervals, block explanations, and the summary total through one shared path.
- Round the final total from exact integer microseconds with ties-to-even, exposing the unrounded block subtotal and rounding adjustment for auditability.
- Reject
--explain-human-timefor CSV and the TUI, whose output shapes cannot represent the one-to-many ledger without ambiguity.
Fixed
- Reject
--review-creditvalues greater than--human-idle, preventing separately clustered work blocks from overlapping and counting time twice.
Privacy
- Explanation output includes structural timestamps, signal kinds, providers, and repository labels only; it excludes prompt/response text, raw session IDs, cwd/root paths, model names, and commit hashes.
Verification
cargo test— 232 unit tests and 10 integration tests passed.cargo clippy --all-targets -- -D warnings— passed.cargo fmt --check— passed.git diff --check— passed.- Two structured validation reviews completed; all findings were addressed before opening this PR.