Added
- ctx-meter: add gate verb — mechanical refuse-vs-defer at the hard ceiling
- heimdall: wire heimdall-unconnected into the dispatcher
- unconnected: add heimdall-unconnected detector for stranded work
- analysis: add --list-unexplained diagnostic to cache classifier
- bin: wire heimdall-cost-forensics into the hmd dispatcher
- cost-forensics: portable per-repo Claude-API token/cost analysis tool
- analysis: add cache CREATE/READ transition classifier
- fallback: lower auto exhaustion threshold 95% -> 90% (reserve final 10% for orchestration)
- pressure: add heimdall-529-scan, read-only transcript overload detector
Fixed
- ctx-meter: compact over restart, mandatory /hmd:save, one-task delegation rule
- reachability: triage 11 expired exemptions — wire 7, reclassify 4 by-design
- gate: allowlist cost-forensics PRICING dict; fix anchor-check SIGPIPE race
- hooks: populate hook_event_name and label the 3 blank-trace guards
- release: stop pinning README installs to a moving commit SHA
- agent-resume: don't forward 429/rate-limit as backend overload pressure
Documentation
- agents: standardize context-window discipline as a checked rule, not prose
- analysis: reconcile context-discipline gate doc with shipped 3-tier design
- analysis: context-discipline gate — design, derivation, honest binding verdict
- analysis: correct the stranded-branch count — 3 of 3 sampled were already landed
- analysis: stranded agent work — inventory, one landed, three conflicted
- analysis: cache-CREATE mechanism resolved, headline cost-share corrected
- analysis: cost-forensics tool writeup + real-transcript sanity check
- analysis: resolve hook-delivery spike — SubagentStop fires on SIGKILL, TaskCompleted/TaskCreated never observed
- pressure: confirm 429/rate_limit exclusion from PRESSURE_KINDS, pin it with a test
- agent-resume: record that SubagentStop can't reach the orchestrator
- analysis: prove transcript 529 detection is stable, not fragile
- audit: correct 2 false-negative REGISTERED-NOT-FIRED hook verdicts
- analysis: feature-audit commands.md + agents.md end-to-end
Tests
- investigation-shape: preserve the gate suite an interrupted agent left uncommitted
Maintenance
- release: v2.4.3
Other
- [COMMUNICATION] feat(ctx-meter): tiered boundary-aware context gate + §8d standardization
- [COMMUNICATION] journal: [COMMUNICATION] journal: [COMMUNICATION] merge: triage — land 8 stranded branches (1 proven no-op), 1 reverted Co-Authored-By: runhmd 318965969+runhmd@users.noreply.github.com
- [COMMUNICATION] journal: [COMMUNICATION] merge: triage — land 8 stranded branches (1 proven no-op), 1 reverted Co-Authored-By: runhmd 318965969+runhmd@users.noreply.github.com
- squashed 2 checkpoint commit(s) (heimdall-wip)
- [COMMUNICATION] merge: triage — land 8 stranded branches (1 proven no-op), 1 reverted Co-Authored-By: runhmd 318965969+runhmd@users.noreply.github.com
- Revert "merge: land worktree-agent-a5476cbe642d6914f (investigation-shape gate suite preservation test)"
- [COMMUNICATION] docs(analysis): correct the stranded-branch count — 3 of 3 sampled were already landed
- [COMMUNICATION] journal: [COMMUNICATION] fix(reachability): triage 11 expired exemptions — wire 7, reclassify 4 by-design
- [COMMUNICATION] fix(reachability): triage 11 expired exemptions — wire 7, reclassify 4 by-design
- [COMMUNICATION] fix(gate): line-scope the pricing table exemption; fix SIGPIPE false-stale in allowlist check
- 6 edit-op checkpoint (heimdall-wip)
- [COMMUNICATION] journal: [COMMUNICATION] docs(analysis): stranded agent work — inventory, one landed, three conflicted
- [COMMUNICATION] docs(analysis): stranded agent work — inventory, one landed, three conflicted
- 6 edit-op checkpoint (heimdall-wip)
- [COMMUNICATION] journal: [COMMUNICATION] feat(cost-forensics): portable per-repo token/dollar analysis — fixes the n=1 gap
- [COMMUNICATION] feat(cost-forensics): portable per-repo token/dollar analysis — fixes the n=1 gap
- [COMMUNICATION] journal: [COMMUNICATION] journal: [COMMUNICATION] journal: [COMMUNICATION] fix(release): stop pinning README installs to a moving commit SHA
- [COMMUNICATION] journal: [COMMUNICATION] journal: [COMMUNICATION] fix(release): stop pinning README installs to a moving commit SHA
- [COMMUNICATION] journal: [COMMUNICATION] fix(release): stop pinning README installs to a moving commit SHA
- [COMMUNICATION] fix(release): stop pinning README installs to a moving commit SHA
- [COMMUNICATION] chore(release): v2.4.2
- preserve interrupted agent work (abc8c95ad27ae9882) [heimdall-agent-watchdog] Co-Authored-By: runhmd 318965969+runhmd@users.noreply.github.com
- 6 edit-op checkpoint (heimdall-wip)
Full changelog: v2.4.2...v2.4.3
Install/upgrade:
curl -fsSL https://raw.githubusercontent.com/randomittin/heimdall/v2.4.3/install.sh | bashinstall.sh.minisig is the detached minisign signature of this release's install.sh; bin/heimdall-autoupdate verifies it against release/heimdall-signing.pub before applying.