Skip to content

HZR 0.3.7

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Aug 18:24

HZR 0.3.7 — Honest accounting and bounded output

HZR 0.3.7 makes the local reduction estimate state exactly which observed traffic it covers.
MCP calls, hook-routed CLI work, native host file tools, and inherited-stdio passthrough now have
explicit accounting routes. Native or unmeasurable operations remain visible without receiving
invented token counts or savings credit, and provider-billed usage remains a separate receipt.

The release also makes every bounded result explain its bound and recovery path. Search reports the
mode that actually ran, context candidates identify enclosing symbols when possible, and long
installer, daemon, MCP, and agent operations emit progress or remain bounded by a timeout.

What changed

  • Operation rows carry typed channel, measurement, and route values. hzr stats
    reports the measured coverage share, explicitly unmeasured bypasses, daemon-unavailable gaps,
    and the hook_cli / mcp / native_host split.
  • Claude receives a failure-silent PostToolUse observer for native Read, Grep, Glob,
    Edit, and Write. It sizes the serialized response, stores no tool content, changes no
    result, and grants no savings credit.
  • Every successful MCP tool produces one neutral accounting row. Validation failures produce no
    success row, and an accounting write lost with the daemon unavailable becomes a visible gap.
  • Inherited-stdio passthrough is explicitly unmeasured instead of a misleading zero-token
    delivery. Captured RAW output remains a neutral baseline with equal input/output estimates.
  • Bounded and ranged reads report file totals, omitted spans, and shell-safe recovery commands.
    Long-line shortening names --level none; memory exploration reports N of M shown and
    points to --detail verbose.
  • Memory recall exposes total_matches; bounded context memory names omitted bytes and the
    record id; search responses expose next_step.
  • Search text and structured output always report effective mode, fallback reason, and scan
    diagnostics, including zero-hit results. Exact mode preserves trailing whitespace and is
    explicitly per-line.
  • Search candidates use symbol outlines and line spans to resolve the smallest enclosing symbol.
    Every unresolved symbol carries a typed reason, and aggregate outline failures are warnings.
  • MCP output schemas declare their nested properties and required fields and are checked against
    representative structured content.
  • Installer and bundle downloads show progress outside a TTY and have an overall timeout. MCP
    search/planning sends progress notifications; foreground hzrd and long agent runs emit
    liveness output.
  • Public symlink swaps use one portable helper. Re-running hzr install --force with identical
    bundle bytes preserves the current-based public symlinks.
  • The dashboard separates optimized, measured RAW, native-observed, and unmeasured operations.

Upgrade impact

The ledger schema is migrated additively on first write; existing operation rows retain their
previous measured CLI interpretation. Indexes, memory records, project activation, and provider
receipts are not rewritten.

A normal install adds the native PostToolUse observer to HZR's marker-owned Claude hook entries.
Unrelated settings and hooks remain preserved by the existing transactional installer. In
project-only mode, the observer follows the same selected-workspace activation policy.

Upgrade and verify with:

hzr update
hzr --version
hzr hooks status
hzr stats
hzr doctor --workspace .

Restart already-open agent sessions after upgrading so they reload the managed hook and MCP
contracts.

Verification

The release was checked with:

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-targets --all-features
scripts/verify-fork-core.sh --test
cd visualizer && bun run typecheck && bun test
scripts/smoke-install.sh /path/to/hzr.tar.gz /path/to/SHA256SUMS

The fork-core gate passed 1717 tests with one intentionally ignored test and matched the reviewed
141-warning inherited Clippy ratchet. The packaged smoke passed clean installation, project-only
activation, same-version re-attestation, tamper rejection, and upgrade/rollback checks. It also
verifies that doctor recognizes the canonical dispatcher, SessionStart initializer, and
PostToolUse observer. Provider-backed benchmarks were not regenerated because this release
changes coverage and output contracts, not model fidelity or billed-token measurement.