Releases: mrap/hex
Releases · mrap/hex
Release list
v0.48.0
v0.48.0
Changes since v0.47.0.
Features
- feat: pause fact prune until access counter exists; adopt drift-check/STOP-conditions/leverage conventions; skill-versioning standard
Docs
- docs: memory.md rides the prune pause — verified-against bumped to 2c3250d1
Other
- bump: v0.48.0
v0.47.0
v0.47.0
Changes since v0.46.0.
Fixes
- fix(deps): bump hex-iii engine rev to 893e3614 — otel family 0.32, closes CVE-2026-48504
- fix(install): bump BOI pin v3.3.1→v3.3.2 + atomic-rename deploy (FIX-017)
Other
- bump: v0.47.0
- headroom removal (Layer C): delete log_tail module and all foundation refs
- p2-applier: review fixes — proposal_id sanitization, flock serialization, ledger-first write ordering, main.rs scope restore
- p2-applier stage C: hex apply watch watchdog + hex-applier cron worker (TDD)
- p2-applier stage B: hex apply run/revert/status with ledger trail + escalations (TDD)
- p2-applier stage A: rule registry + lint_gates merge + risk classifier (TDD)
v0.46.0
v0.46.0
Changes since v0.45.0.
Features
- feat(release): develop-sync — watcher fast-forwards origin develop on watched repos
- feat(release): oss-releaser branch watch — 5-minute cron polls origin release/+hotfix/ and finishes new heads
- feat(release): finish mode — complete a pre-existing release/hotfix branch
- feat(release): repo_dir + watch profile fields for the branch watcher
Docs
- docs(versioning): releaser agent-ownership model — branch push IS the release request
Other
- bump: v0.46.0
v0.45.0
v0.44.0
v0.44.0
Changes since v0.43.0.
Features
- feat(memory): per-run wall-clock budget in run_index — bail loudly over budget (S6)
- feat(backup): off-site encrypted restic backup as a hex worker
- feat(burn-guard): name the 10m cron trigger for stable telemetry identity
- feat(failures): daily digest worker + out-of-process probe plist; fix freshness cron to 09:00 PT
- feat(llm-cost): worker-run seam (OBS-024 complete at all three seams)
- feat(failures): hex failures CLI digest + alerts + out-of-process probe
- feat(resources): hourly sampler worker
- feat(llm-cost): openrouter seam records cost rows (use_case threaded)
- feat(failures): module-not-landed disk-vs-binary diff
- feat(resources): hex resources sample|status — tiered sampling, level-triggered pressure
- feat(llm-cost): claude-cli seam records cost rows
- feat(failures): failure signatures with new-flag + duplicate-fire anomaly
- feat(failures): MISSED with duration-aware slack, NEVER-RAN, downtime subtraction
- feat(failures): expectations model + cron prev-fire math (cron =0.15.0 pinned to engine)
- feat(resources): floor + trend rule evaluation over durable history
- feat(worker): named triggers + shared fid_for — stable telemetry identity
- feat(resources): watch-list + df/du sampling into telemetry rows
- feat(llm-cost): standard cost-row helper (OBS-024)
Fixes
- fix(memory): lock orphan-vector invariant + harden vec inserts; no live delete-sync bug
Docs
- docs: scheduled jobs are hex workers, not LaunchAgents (#16)
- docs(sanitize): genericize instance paths + bucket name in merged telemetry/backup docs
- docs(backup): creds via .hex/secrets/b2-backup.env (harness auto-loads), not Keychain
- docs(backup): encryption + key-custody note; restore example → B2
- docs(backup): target = Backblaze B2 (final)
- docs(backup): reach gdrive via rclone API backend, not the mounted FS
- docs: hex failures surfaces + WAL footgun
- docs: hex resources row
Tests
- test(codex-parity): AGENTS.md scheduling assertion — launchd → hex-worker/LaunchAgent (PR #16)
- test: serialize all lib-target HEX_DIR mutations on the one shared env lock
- test(llm-cost): harden cost-row test against pre-existing HEX_DIR env race
Other
- bump: v0.44.0
- wip: telemetry assessment fixes (db_exists guards, OpenRouter usage-absent S6, display_order) — UNVERIFIED, build/test interrupted
- plan: check off hex-failures-detection steps (all complete)
- plans: telemetry consumption layer — hex failures, hex-resources, llm-cost seams
v0.43.0
v0.43.0
Changes since v0.42.0.
Fixes
- fix(memory): persist chunk vectors per-batch to survive index interruption (H-09)
- fix(ci): unstale telemetry test + de-brittle boi help-lines assertion
- fix(ci): copy system/code-intel into e2e build images so scipd path dep resolves
- fix(memory): --file filters ALL search arms, not just FTS
- fix(lint-gates): hex-from-worker matches command-position hex only (not args)
Other
- bump: v0.43.0
- ci(core-e2e): cargo-chef + gha cache, timeouts, BOI off PR path (#15)
- harness: self-heal — verify restarts + watchdog so the harness can't stay dead
v0.42.0
v0.41.0
v0.41.0
Changes since v0.40.0.
Other
- bump: v0.41.0
- core-e2e: drop stale hex-doctor script COPY (doctor is now a harness subcommand)
- rename: hex burn -> hex usage burn — one namespace for usage/metrics tracking (Mike 2026-06-12)
- burn guardrail: hex burn check + hex-burn-guard worker ($100/hr, recursive, loud)
- memory/recall: correct injection-tax figures — compaction-aware share is
3-6% of reads ($300-400/mo), not 37%/$1,755 - memory/recall: cut per-prompt injection tax — 3k budget, 2x400 chunk cap, machine-prompt gate
v0.39.0
v0.39.0
Changes since v0.38.0.
Features
- feat(code-intel): A2 T6 — cq live routing, rename apply, check, doctor scipd section
- feat(code-intel): A2 T5 — wire live pool into scipd daemon + quiescent-fallback readiness
- feat(code-intel): A2 T3 — capped LRU pool with policy sweeps and footprint watchdog
- feat(code-intel): LSP<->cq translation layer for the live path (A2 T4)
- feat(code-intel): live LSP client + rust-analyzer instance lifecycle (A2 T2)
- feat(code-intel): A2 T1 — proto types, scipd config, daemon skeleton, error taxonomy additions
- feat: facts semantic recall — facts_vec populated via maintain backfill; recall fuses FTS + KNN arms (RRF)
- feat: hex memory maintain (orphan sweep, FTS optimize, transcript_files hygiene, VACUUM) on weekly cron; quick cron offset from :00
- feat: hex backup — online sqlite snapshots (memory/events/ledger) + 7-day rotation; the 04:00Z cron finally has a target
- feat(code-intel): E2E acceptance, launchd template, operator docs
- feat(code-intel): full cq CLI with doctor
- feat(code-intel): blob-OID freshness and response assembly
- feat(code-intel): cq index orchestration with atomic publish
- feat(code-intel): query engine (def/refs/callers/symbols/search)
- feat(code-intel): SCIP protobuf ingest into generation SQLite
- feat(code-intel): generation store with atomic publish and prune
- feat(code-intel): workspace identity, registry, worktree resolution
- feat(code-intel): scaffold scipd crate with error taxonomy and envelope
Fixes
- fix(code-intel,harness): T9 audit fixes — loud rename permission preservation, dead-code warnings
- fix(code-intel): T4 test fake implements footprint_mb (T3 trait addition)
- fix(code-intel): deterministic prune for same-second generations
Docs
- docs: sanitize develop — genericize personal-instance references (release hygiene)
- docs(code-intel): A2-S10 deployment acceptance PASS
- docs(code-intel): SPEC-A2 §8 acceptance record — A2-S1..S10 with T9 audit
- docs(code-intel): A2-S4 rename target macro-free per T4 finding (live rename is macro-body-blind)
- docs(code-intel): A2 spec — verified smoke-3 numbers, quiescent-fallback readiness rule
- docs(code-intel): A2 pool defaults from smoke #3 (cap 2, 3GB kill, footprint metric)
- docs(code-intel): A2 spec with success criteria + implementation plan
- docs(code-intel): Task 12 acceptance record — S1-S10 audit, all gates green
- docs(code-intel): callers gate nuance — macro-arg captured, macro-body invisible
- docs(code-intel): fold smoke-test #2 findings into spec and plan
- docs(code-intel): A1 spec with success criteria + implementation plan
Chores
- chore: pin BOI_VERSION=v3.3.0 — first GitFlow-cut boi release (R-A9.1)
Tests
- test(code-intel): A2 T8 — live E2E (S5/S7/S8), scipd launchd template, A2 docs
- test(code-intel): A2 T7 — golden live suite (S2/S3/S4) + shared tests/common harness
- test(code-intel): golden acceptance suite (spec S2)
- test(code-intel): golden fixture crate and expectations
Other
- bump: v0.39.0
- consumers: workspace-conditional base_branch teaching + GitFlow policy marker
- bump: BOI pin v3.2.5 -> v3.2.6 (operator-boundary fixes: audit A1/A2/A3/C1)
- review-fix: sweep dead code warnings
- module state: config-dir JSON -> harness runtime DB (.hex/harness/state.db)
- review-fix: capture test isolates HEX_DIR — no more fake hook::capture ok rows in the production telemetry DB; harness .gitignore covers stray .hex/
- review-fix: wire the facts KNN arm into hex memory search — query embedded once, shared by chunk and facts fusion; Facts section in output; CHANGELOG claims now match shipped behavior
- review-fix: maintain transcript_files hygiene canonicalizes to the backstop's ABSOLUTE form — live watermarks survive the weekly run instead of being purged
- review-fix: reaper verifies identity (ps command= contains claude) before kill; killpg rc checked with kill fallback — no false-success telemetry on PID reuse
- changelog: memory pipeline holistic fix
- memory: index backfills missing vectors; stats reports gaps; KNN distance floor; [rss] logs opt-in
- reaper: pidfile-tracked distill children; serve startup kills orphans; drain timeouts hit telemetry
- hook capture: stdin transcript_path is authoritative; inline copy; every failure path loud (stderr+telemetry)
- consolidate: 10-min wall-clock budget on the transcript backstop — quick ticks can no longer starve the nightly lock
- consolidate: full waits for the lock (45m) and alerts on timeout; quick lock-skips record skipped-lock, not ok
- doctor: nightly-full-liveness check (26h) + 48h audit window; deduped alert pathway (stderr+telemetry+osascript)
- consolidate: findings are reported, not fatal — exit reflects operational errors only
- telemetry: slice events carry start offset; child detail keeps head+tail
- plan: memory pipeline holistic fix (FIX-007..FIX-011, 2026-06-11 assessment)
v0.38.0
v0.38.0
Changes since v0.37.0.
Features
- feat: hex module enable|disable — generic activation primitive over the worker registry
- feat(guard): worktree-guard covers ANY git repo — HEX_WORKTREE_GUARD_REPOS deleted
Fixes
- fix(harness): remove Happy title-nudge hook — Happy sunset 2026-06-09
- fix(lint-predispatch): unreadable spec path allows loudly instead of blocking
Docs
- docs: rewrap launchctl bootstrap gotcha paragraph in hex-ops.md
Chores
- chore: rework success-path idioms from oss-releaser merge
- chore: purge all 'happy' mentions — app refs neutralized, idioms reworded
- chore: wipe release.sh + dead scripts from system/scripts/
Other
- bump: v0.38.0
- oss-releaser: GitFlow release worker — hex release cut + sanitize port + git-guard (retire release.sh)
- agent-infra P1b foundation: hex ledger wild + gatekeeper canary/identity enforcement