changelog · newest first
Every release, since v0.1.
From a git-native decision graph to deterministic Architectural Conformance — the whole arc, newest first.
Aug 29, 2026
v1.20.2Snapshot deletion is durable without risking source — private and shared memory sync now carries stale JSON record deletions only after proving the overlay is a standalone repository distinct from protected code. Public deletion, local configuration, derived artifacts, non-JSON paths, and anything outside the exact Hunch subtree remain fail-closed.
v1.20.1Reviewed landscapes stay current safely — a complete reviewed Engineering Landscape can now be re-reviewed at a newer exact Git revision. Hunch replays the prior immutable discovery, proves the stored bytes and repository identity, and replaces only proven adoption records; partial selections, hand edits, forged review IDs, missing history, same-revision conflicts, and foreign repositories remain fail-closed.
Aug 28, 2026
v1.20.0One verified memory path from reason to result — reviewed repository structure and role-shaped engineering context now travel in one native, content-addressed envelope; the exact resulting code change can be bound to later usefulness evidence without turning that evidence into ranking or authority. PHP and existing ADR corpora join the same graph, long-lived team clients recover after transient remote failures, and generated assistant instructions match the MCP schema they document. Version 1.20.0 is the stable release on npm's latest channel.
Aug 26, 2026
v1.19.0Release evidence where people install — GitHub, npm, and the public site now lead with the preregistered correction-search receipt and its limits: 3/12 to 6/12 changed-declaration coverage, 8/12 to 10/12 correct-file coverage, and 41.9% less inspection for the same five hits. Version 1.19.0 is the stable release on npm's latest channel.
Aug 25, 2026
v1.19.0-rc.1Evidence-bounded correction search — hunch shortlist preserves its flat top five while adding file-anchored semantic declaration families and an eleven-declaration progressive queue. Execution and intervention receipts remain annotation-only because fresh transfers did not establish them as reliable exact-owner signals; rejected rerankers cannot silently change production ordering.
Aug 22, 2026
v1.18.1Deprecated ADRs no longer invent successors — hunch import-adr now distinguishes a bare deprecated lifecycle from an explicit replacement. A named successor still closes the decision window; without one, Hunch keeps the imported record visible as advisory memory, preserves the raw lifecycle in provenance, and emits a review warning instead of fabricating history.
v1.18.0YAML and Helm enter the graph — YAML anchors and aliases now produce truthful reference edges, while Helm define, include, and template relationships resolve only inside the nearest chart. Templated YAML and .tpl helpers remain indexable before rendering without forgiving invalid ordinary YAML or mistaking GitHub Actions expressions for Helm. Root-level components now own exact files instead of a repository-wide glob, and symbol-index attribution keeps overlapping synthetic YAML/Helm symbols distinct. This release also begins the Engineering Landscape Graph as an additive, versioned resource/relationship view: exact-revision package and Git-remote discovery emits evidence-bearing candidates without credentials, local paths, silent authority, or orchestration.
Aug 18, 2026
v1.17.0The projection notices when it rots — an exported ADR corpus is now held to the same standard as the wiki: a content-hash manifest (adopted on first hunch export-adr, silent where absent) feeds three new drift kinds — madr-stale (the decision moved), madr-edited (a human changed a generated file the next export would eat), madr-orphan (a public artifact whose decision left the public graph — a leak shape, and it says so) — each with its own hunch heal section, because they need different human fixes. Once adopted, the corpus refreshes automatically on the post-commit sync, so staleness is usually fixed by the machinery that would have reported it. Edit protection is keyed by content, not file name — per-export renumbering shifts names, and a name-keyed check destroyed hand edits twice over (overwrite and sweep) before review caught it; the regression tests were watched failing first. Also: retrieval now ranks recorded intent above code symbols that merely share the query's vocabulary — a bounded prior, never an exclusion — lifting the curated benchmark's Recall@10 from 70% to 90% (MRR 0.402 → 0.575); HUNCH_MEMORY_PRIOR_SHIFT=0 disables.
v1.16.0The MADR bridge — repos that already keep Architecture Decision Records get a populated graph on day 1: hunch import-adr reads an existing MADR or Nygard corpus deterministically — accepted decisions stay live, superseded ones close their bi-temporal windows at the successor's date, considered-but-rejected options become recorded alternatives — and re-running updates the same records instead of duplicating them. The reverse direction, hunch export-adr, regenerates the graph as a standard MADR corpus any ADR reader understands (Backstage annotation included), refuses to touch a hand-written corpus, and never leaks a private-overlay record. The graph stays the source of truth; the markdown is a disposable, regenerable projection.
v1.15.0Go support — Go repositories now index into the same symbol and dependency graph as TypeScript and Python: one registry entry, no engine changes. Structs and interfaces classify as the kinds blast radius and conformance predicates key on, type specs and aliases both land, and Go's dominant package-qualified call form (fmt.Println) is filtered through a stdlib allowlist so it never fabricates edges to same-named repo symbols. Imports resolve through go.mod's module path to exact package directories — a wrong dependency edge is worse than a missing one, so nothing is guessed. The grammar ships prebuilt for every supported platform and rides the same per-process loader isolation as the other languages.
v1.14.0Context arrives with its graph neighborhood — retrieval used to stop one edge away from a match, so a structurally relevant record two hops out never reached the payload. Delivery now walks the memory graph within a bounded, deterministic radius — depth decay, hard node and token caps, and external-hub exclusion keep the fan-out honest — lifting the curated retrieval benchmark's Recall@10 from 81.8% to 90.9% without changing the response contract. Also in this release: retired and closed constraints no longer surface among Top invariants in grounding; MCP auto-commit resolves its repo root per call, so a mid-session worktree switch can no longer commit memory into the wrong tree; and the release gate no longer misreads an unstaged-only change as source drift.
Aug 15, 2026
v1.13.1MCP delivery receipts arrive as structured data — hunch_context used to flatten the canonical delivery envelope into prose and never record its own delivery, forcing orchestrators to scrape IDs and metadata from text while hunch served stayed empty. The MCP tool now advertises an output schema, returns the complete envelope in structuredContent alongside the backward-compatible brief, and receipts exactly the records it actually delivered — including rank, reason, currentness and token cost. Budget-omitted and stale records are never counted, and a receipt write can never block context.
Aug 13, 2026
v1.13.0Truthful, provenance-checked delivery envelopes — CLI, MCP, and edit hooks now deliver memory through one deterministic envelope. Every candidate is checked for currentness, ranked into the same hard context budget, and either delivered with an exact reason or reported as omitted; active blocking constraints are never silently lost to a small caller budget. The local receipt ledger now records the exact delivered ID, rank, delivery reason, provenance status, and estimated token cost, while existing ledgers migrate additively. Documentation, decision, and retired-code grounding also compete inside that same budget instead of overflowing after packing.
Aug 12, 2026
v1.12.2Grounding that never arrived on Windows — on Windows, the hooks hunch init writes were quoted in a form only a Unix shell accepts. PowerShell — which VS Code, Cursor and Windsurf use to run them — read the first word as a piece of text rather than a command, so every hook died in the parser before Hunch ran at all. Nothing blocked, nothing warned: the assistant simply worked without the graph, session after session, and the one place that would have said so was the hook that never started. The commands are now written in a form PowerShell, cmd and sh all accept, and re-running hunch init replaces the broken entry instead of leaving a duplicate beside it. The same platform was also quietly costing you Architectural Conformance: a Windows path written the idiomatic way — String.raw`C:\Users\…` — is ordinary TypeScript that the parser behind hunch conform rejects, and because that scan is deliberately all-or-nothing, one such line took conformance down for the entire repository. Real syntax errors still fail it; the tolerance is declared per language and scoped to the exact shape the grammar gets wrong, so nothing else was loosened to buy it. And the release checks now include drift measured the way a fresh clone sees it — the blind spot that let all of this go unnoticed.
Aug 10, 2026
v1.12.1Memory that keeps receipts — memory that is never delivered is memory that doesn't exist, so Hunch now keeps receipts: every grounding injection and every helper-agent briefing lands in a local ledger, and hunch served reads it back — what reached an agent, how often, and which in-force records never have (that's where compaction starts). Helper agents now get briefings shaped to their job: explorers open with the component map, planners with live decisions and what each already rejected. The release gate stopped failing itself: memory commits landing mid-run, its own regeneration, and its own leftover receipt no longer read as source mutation — while anything touching real code still fails hard. Two false-alarm classes died: a doc describing the proposed status no longer grades as stale, and a marker quoted in backticks is an example, not a declaration. And when a write lands in the committed public store while a private overlay exists, the tools now say so out loud — the one-line warning that would have caught a real near-leak.
Aug 10, 2026
v1.12.0Grounding that survives delegation and compaction — two quiet ways your memory stopped reaching the assistant, closed. When an assistant hands work to a helper agent, that helper started with none of your graph — session orientation never fired inside it, and a read-only helper never touches the edit hook — so it could plan against decisions you'd already rejected. Helpers now open with the invariants that must survive delegation. And when a long session compacts its context, everything already injected was summarized away while the dedup ledger still said "delivered" — the rest of the session got one-line reminders about grounding the assistant no longer had. Compaction now resets that ledger, so grounding arrives in full again. Also: the release checks now prove themselves on Windows too — five platform-only faults in the offline release verifier (quoting, tar, process-group, and stdio-capture semantics) were found and fixed by running the full gate where CI never had.
Aug 9, 2026
v1.11.0A rule only blocks you if you actually signed it — until now, an assistant could turn something it believed you'd said into a hard rule that blocks commits across your whole repository, and that rule was recorded as if you had personally confirmed it. Now the signature has to be earned: a correction still lands the moment it's made and is still shown on every matching edit and in CI, but it can only block once you've been interviewed and countersigned it. Everything already in your graph keeps the authority it has. Also: a decision that rests on "we don't have X yet" now has to say where it's looking — under: "src" — so when that whole area is renamed or deleted, Hunch says "I can't tell any more" instead of quietly reporting that nothing's changed. One honest limit, stated plainly rather than papered over: a mistyped path still reads as absent, so re-check it when you re-attest — and prefer stating what does exist, which fails safely.
Aug 9, 2026
v1.10.8The reasons you write down actually get checked — v1.10.7 introduced premises: the checkable reasons a decision rests on. The tool that records them described the wrong shape, so the check was quietly dropped on the way in and the premise was stored as a plain note — one that can never go stale, and therefore never asks you anything. A decision could sit there resting on a reason that stopped being true, looking perfectly healthy. Fixed, with a test that fails if the check is ever dropped again. Also: an unreadable clock now counts as "can't tell" instead of "still fine" — the same rule the rest of the feature already followed; hunch heal now lists dead premises instead of reporting nothing while hunch drift reports them; and a decision you asked an assistant to record now ranks above one it drafted on its own initiative.
Aug 9, 2026
v1.10.7Memory that says who vouched for it — a decision recorded through a proper interview is now marked differently from one an assistant wrote on its own initiative. The second kind still works and is still searchable; it just never carries human authority, so it can't block your commits on its own say-so. An assistant reading a stray instruction in a file it opened can no longer produce a record that speaks with your voice — and, just as importantly, it can no longer take your signature off a decision you already vouched for by re-recording it. Also new: a decision can write down the checkable reasons it rests on — "there's no gateway yet", "reviewed until March" — and when one of those reasons stops being true, Hunch asks you about it instead of quietly deciding for itself. A dead reason never changes what a decision is allowed to enforce; it only raises the question.
Aug 9, 2026
v1.10.6Search that couldn't find your own function names — on setups without full-text search, Hunch fell back to a simpler lookup that quietly deleted underscores from your query, so hunch_record_decision was searched for as hunchrecorddecision and matched nothing at all. That fallback is the only search those setups have. Also: when two live decisions claimed the same topic, the pre-edit guard presented both as settled — and since each one lists what it ruled out, the agent was told both answers were right and each was forbidden, in the last thing it reads before writing code. A contested topic is now named as unresolved, with both decision ids and the command that settles it, because silence reads as "nothing was ever decided here" — which is how a settled question gets re-decided by accident. Plus: escalations no longer come back empty for teams whose memory lives in a private overlay, and two release-pipeline checks that could pass on the wrong evidence now read the evidence they were meant to.
Aug 6, 2026
v1.10.5A merge that quietly undid your bug fixes — if your team shares memory, closing a bug and then merging could put it straight back to open. Nothing conflicted, nothing warned you; the merge simply preferred the copy that hadn't been fixed yet, because closing a bug doesn't change any of the fields the merge used to pick a winner. A closure now survives the merge, while genuinely re-opening a bug still works. Also: a damaged search index no longer takes Hunch down with it. That index is rebuilt from your committed files and was always meant to be disposable, but only one kind of damage triggered a rebuild — any other left hunch index, query, check and doctor all failing on a raw database error, and the pre-edit guard silently seeing nothing at all, with no command left that could repair it.
Aug 6, 2026
v1.10.4Memory that stopped saving, and memory you couldn't find — a third audit round found two ways Hunch could go quiet without ever telling you. If you run the pre-edit hook at strict firmness, the very first blocked edit wrote a log file that made every later capture stop committing — the tool still said "recorded", the record still landed on disk, and nothing reached git again. And if you had installed the optional embeddings package, the reranker was throwing away most of your own decisions before you saw them: measured against this repo's 152 committed decisions, 38% were dropped from the results even when they were the single best match, and 88% when they sat a little further down. Both are fixed, and a decision now dims with age instead of disappearing. Also: a rule you record with an absolute file path is no longer silently enforced nowhere, and a failing test the model happens to label "critical" can no longer mint a repo-wide rule that blocks every edit you make afterwards.
Aug 6, 2026
v1.10.3A rejected decision no longer blocks your commits — the veto, regression, retired-symbol and conformance guards each carried their own copy of the "is this decision still in force?" test, and every copy only checked for supersession. So a decision you formally rejected kept blocking commits and kept telling your agent "don't re-add this" — and hunch review --reject couldn't stop it; only hand-editing the JSON could. All of them now share one predicate that also excludes rejected and expired decisions, while a proposed draft stays advisory as designed. Also fixed: a capture through MCP could write the same record id into both your public and private stores, which later broke topic uniqueness in a way no tool call could repair; and policy repair now heals the via binding of a must-pass-through policy after a rename, instead of leaving it pointing at the old symbol until the policy quietly stopped enforcing.
Aug 6, 2026
v1.10.2Guards that were quietly failing open — a second audit round found four enforcement paths that treated "cannot evaluate" as "complies", so a blocking rule could be denied by the pre-edit hook and then pass hunch check --strict on the very commit that broke it. All four now fail closed: rules on non-code files (CI workflows, SQL, Dockerfiles) match again, a forbidden dependency is checked against every added import rather than the first, external packages resolve in conformance predicates, and a delete-only PR no longer skips the graph-wide gates. Also: the wiki can no longer be steered into deleting files outside its own directory, wiki --private stops sending overlay records to your LLM provider by default, and construction (new Foo()) plus method-less Python classes finally appear in the graph — blast radius and hunch why were blind to both.
Aug 5, 2026
v1.10.1The audit wave — 28 defects closed in a day — a multi-agent code audit filed 29 issues against the released code; 28 are fixed here, each with a receipt and a regression test. The ones you'd feel: memory can no longer be lost to a crashed migration, an interrupted rewrite, or a torn config write; synthesis can no longer silently bill a metered Bedrock/Vertex gateway from your shell profile; non-ASCII file paths no longer slip past constraint checks; stranded git locks self-heal instead of silently wedging auto-commit; and your own hooks and slash commands are never overwritten by hunch init.
Aug 4, 2026
v1.10.0Findings — memory for what you observed but haven't fixed — a new record kind anchored to a date and evidence instead of a commit: an audit that surfaced a gap, a measured number, an incident with no code change. Findings ground future edits to the affected files automatically, ride the same search as every record, and resolve only with the fixing commit (/audit, hunch findings, hunch_record_finding). Also in this release: memory JSON stays byte-exact on Windows regardless of the installer's CRLF default, the test suite runs honestly on stock Windows hosts, and every production dependency advisory is closed at zero.
Jul 26, 2026
v1.9.4Collision-safe MCP, reproducible installs — MCP assistants keep repository roots and simultaneous decision captures isolated across projects, while generated MCP, hook, plugin, and CI commands execute the exact Hunch npm release that created them. This removes stale-global and retired GitHub-tarball failure paths without sacrificing deterministic installs.
Jul 23, 2026
v1.9.3Verified npm release receipts — fixes the executable semantic-version guard used after successful Sigstore bundle verification, so the immutable npm release closes with a content-addressed publication receipt instead of rejecting its own verifier metadata.
v1.9.2npm OIDC reaches the registry — trusted publishing keeps setup-node's required npm registry configuration, permits only its exact fixed non-secret sentinel, and still rejects every real long-lived npm credential. Open VSX verification also allows the public index a bounded three-minute visibility window. The immutable candidate, provenance, digest, and public-registry verification gates remain unchanged.
v1.9.1Open VSX-only editor publishing — the editor companion now has one explicit public home: Open VSX. Its immutable release gate validates one credential-free VSIX, publishes only those bytes, and verifies the public download digest. The accompanying npm hardening exposed setup-node's required sentinel as a follow-up release issue before npm publication.
Jul 22, 2026
v1.9.0One living engineering memory for the whole team — connect a codebase to a dedicated private Git memory repo once, and fresh clones, worktrees, CLI checks, and connected MCP assistants converge on the same decisions, corrections, constraints, policies, and proofs. Captures synchronize by default, concurrent structured records resolve deterministically, strict checks refuse stale or unverified team routes, and public-only receipts exclude the shared graph. Hunch still hosts nothing and grants no rule authority automatically. The npm package and VS Code 0.17.2 are validated as immutable artifacts before isolated publication.
Jul 17, 2026
v1.8.5npm publishing that does not expire — releases now authenticate through GitHub Actions and npm's short-lived trusted publishing credentials instead of a stored write token, while retaining a verifiable link from each public package to its source workflow.
Jul 17, 2026
v1.8.4Strict CI that stays available — Hunch guards keep running on standard GitHub Actions runners even when the host's SQLite build omits full-text search, falling back to portable keyword retrieval without weakening deterministic enforcement. Generated guard workflows pin an engine-compatible Node and exact Hunch release.
Jul 16, 2026
v1.8.3Reviewer-qualified experiments and a clearer market boundary — independent reviews begin with a plain-language comprehension check, present clearer choices, and keep target authors out of their own timed reviews. Hunch also ships a dated competitive landscape and a repeatable npm run research:competitors watch command; public positioning stays category-level and grounded in verifiable properties.
Jul 15, 2026
v1.8.2A shorter path from install to useful memory — the README is now a focused five-minute introduction instead of a full reference manual. The documentation leads with three clear paths — set up a repo, use Hunch day to day, or diagnose a problem — and the cookbook now includes a complete local/self-hosted model recipe with explicit safeguards for metered providers.
Jul 13, 2026
v1.8.1Python support — deep code-structure parsing now covers Python alongside TypeScript and JavaScript: symbols (functions, classes, decorated methods), call edges, and import/from … import resolution into component dependency edges, so hunch backfill, blast radius, and structure queries work on Python repos. Built on a new LanguageSpec registry that collapses the extractor's language gates into one entry point — adding a language is now a registry entry plus a tree-sitter grammar. Contributed by MrSampson, who also fixed the commit synthesizer: a squash-merge whose subject says "Merge …" but whose body carries the real PR description is no longer thrown away as noise (and a latent chore(deps) regex bug is gone). The "why" layer — decisions, bugs, rules — was always language-agnostic; now the structure layer starts catching up.
v1.8.0Memory that runs itself — the review queue is gone: every captured decision enters the graph as live advisory memory the moment it lands (auto-trust), and nothing gains blocking power until a human explicitly vouches. The rare decision only you can make is asked inline — hunch escalations lists topic conflicts, candidate rules awaiting review, and proposed rules ready to activate, each as a question with its resolution verb; normally empty. The new VS Code Hunch Memory panel is a source-control view of memory itself: a timeline of every move (capture · adopt · supersede · prune · repair) with click-to-diff and local revert, a Constitution section with one-click audited authority transitions (activate / demote / withdraw / retire), a strictness switch, and approve-to-push — memory auto-commits locally; publishing it is deliberately your click. Renames now self-repair the graph: decision bindings, tripwire and constraint scopes, and policy selectors heal automatically from git's own rename detection (exact matches only, zero guessing), landing as revertable timeline moves; a repaired policy asks once for a fresh proof. The VS Code surface is conformance-certified: its real spawn seam returns byte-identical policy receipts to the CLI, MCP, and CI in an executable fixture.
Jul 10, 2026
v1.7.0Subscription choice without vendor lock-in — Hunch now understands the coding-assistant CLIs available on your machine. Select Claude Code, Codex, or Cursor once with hunch provider <name>; an environment override still wins for a shell or CI run. If several subscriptions are installed and no choice has been made, Hunch deliberately stays on its free deterministic path instead of guessing whose plan to bill. The same policy now governs capture, verification, auto-review, and wiki prose, while Deep Synthesis remains an explicit multi-provider action.
Jul 8, 2026
v1.4.0The verification pipeline — delivery enforced, not hoped for — measured on real zod bugs: instruction skills installed as files were read in 0/20 sessions, and pass rates matched no-skill exactly; guaranteed delivery of the same content flipped hard-bug diagnosis FAIL→PASS on every discriminating cell (Opus and Haiku — Haiku+skill solved what bare Opus couldn't). So the operating loop — scope → evidence → change → verify → attack → report — now ships in the hooks: PostToolUse records observable facts (product edits, verify-shaped commands), Stop refuses to end a turn with unverified product edits (firm/strict only, max twice per turn — a broken gate degrades to advisory, never a lockout), SessionStart injects the loop once. Facts, not claims. No new knob — firmness governs; HUNCH_PIPELINE=0 kills. Plus a cookbook of copy-paste recipes, incl. how to write skill descriptions that actually fire.
Jul 5, 2026
v1.3.1A friendlier first hello — the README now leads with what you gain (a repo that remembers why, sessions consistent with your decisions) and says the quiet part out loud: advisory by default — nothing blocks until you say so. Same guarantees, receipts over threats.
v1.3.0Retrieval that follows the graph, not just the keywords — results now rank by what the graph knows: live decisions outrank superseded ones, human-vouched records outrank drafts, recent work outranks history — and when your query only matches a superseded decision, the topic's current decision surfaces right above it. Measured on a committed golden set: Recall@10 90→100%, MRR +14% — and that eval now gates every future retrieval change. No model in the ranking path.
v1.3.0The wiki knows what's happening — and what's next — hunch now and the wiki's now.md show recent decisions and the roadmap: record intent as a proposed decision and it appears; ship it and it leaves by itself. Renaming a component re-renders every page that links to it; --prose-heal drafts a reconciled overview on adopted docs (the deterministic corrections stay authoritative); and assistants get it all over MCP via hunch_now and hunch_wiki_status.
v1.3.0A quieter, sharper agent loop — identical pre-edit grounding no longer repeats: the full context arrives once per session, a one-line delta after (≈100× smaller on repeats), and sessions open with a graph orientation (recent + roadmap). Every blocking invariant is now content-matched — the strict gate denies the edit that actually breaks the rule, not every edit near it. Auto-drafts that duplicate a decision you already recorded are skipped before the LLM is even called, and hunch review --reject-duplicates sweeps any that slip through. hunch_context answers task phrases too, falling back to the closest graph matches instead of coming back empty.
Jul 4, 2026
v1.2.2The wiki takes over your docs — drift-gated, never rewriting them — hunch wiki renders a component wiki from the graph, and a specs ledger grades every repo markdown deterministically: ✅ grounded, ⚠ stale, ◻ unverified. A stale doc is adopted — a wiki-managed copy healed against the graph, every superseded pin re-pinned to the current decision with the correction inline — while your original is preserved untouched and the copy retires the moment you heal it. Freshness is drift, not a schedule: hunch drift names the stale pages, hunch wiki --heal regenerates only those, --check gates CI, and --private renders the full graph into the overlay repo — nothing private ever lands in the committed wiki.
v1.2.2Honest plumbing — capture replies report what the auto-commit actually did (a safety-backstop skip is no longer claimed as committed; a failed overlay push says so with a retry hint) · Node < 22.13 gets a friendly upgrade message instead of a raw ERR_UNKNOWN_BUILTIN_MODULE crash — and the edit-hook stays silent-exit-0, so an old Node never blocks an edit · reindexing preserves component enrichment (curation, raised fragility) and is byte-identical when nothing changed — no more timestamp churn in committed .hunch/ · releases publish from CI on a version-tag push, with npm provenance.
Jul 2, 2026
v1.2hunch structure — your agent greps; a grounded agent asks — agents burn grep/glob rounds every session rediscovering structure the graph already holds. One call now serves it: the repo map, a directory’s files and symbols, a file’s outline with who-calls-what, or a symbol’s exact definition site with its callers — so the agent knows exactly which file to read, first try. Deterministic, no LLM, straight from the index.
v1.1.1Claude Code plugin + the repo demos itself — install with /plugin marketplace add davesheffer/hunch → /plugin install hunch@hunch: the hunch_* tools plus /hunch:capture, /hunch:heal, /hunch:why, /hunch:fix, /hunch:fragile. And the repo now ships a curated slice of its own graph — clone it and hunch why answers on day one. Plus: runbook --find sees runbooks written out-of-band.
v1.1AGENTS.md as a drift surface — memory that gates, not just recalls — Anchor a section of AGENTS.md / CLAUDE.md / any repo markdown to a decision topic: your assistant is grounded with the current decision (and what it rejected) whenever it edits the file, and CI can fail when prose still describes a superseded one. hunch heal shows exactly what to reconcile — and never rewrites your prose.
v1.1hunch impact + hunch path — See what a change actually reaches before review — the dependent files, the invariants, the decisions concerned — and walk the shortest dependency chain between any two points in the codebase. Read-only, instant, no LLM.
Jul 2, 2026
v1.01.0 — zero native dependencies for the index — No install-time native builds, no node-gyp failures, no file-lock errors on Windows upgrades. Install is npm and nothing else. Requires Node ≥ 22.13.
Jul 2, 2026
v0.40One source of truth for memory — Every capture lands in exactly one home — shared cleanly across branches, worktrees, teammates, and agents. A fresh clone connects itself to the team's store, and hunch doctor tells the truth about where memory lives instead of silently reading empty.
v0.40Auto-commit on by default — Captures are committed to their store without being asked. Hunch never pushes or merges your code branch. Opt out per repo with --no-auto-commit.
v0.40Security — team discovery hardened — Opening an untrusted clone can never turn into code execution: the team-store pointer is validated before anything acts on it.
Jul 1, 2026
v0.39Decision-grounding — the doc≠graph spoke — The complement to Architectural Conformance: one spoke holds the code to recorded intent, this one holds the docs to the graph. The graph now resolves which decision is current for a topic — and which were superseded or rejected. Backward-compatible; existing graphs load unchanged.
v0.39Read-time grounding + drift gate — Assistants see the current decision — follow the graph, not a stale doc — before editing, and a file still anchored to a superseded decision is caught deterministically. CI-gateable via hunch drift.
v0.39One live decision per topic — by construction — The graph refuses to hold two live decisions on one topic; /capture interviews a decision to a resolved state — rationale and rejected alternatives included — before it is written; and the one case a git merge can break is caught for human resolution.
v0.39hunch heal + /capture and /heal — Read-only doc↔graph reconciliation, scaffolded as slash commands. It shows where prose and graph disagree; it never rewrites your prose silently.
Jun 27, 2026
v0.38.3Overlay auto-commit safety — Memory sync can never touch your code repo — hardened so the worst case is a skipped sync, never a surprise commit. If you use auto-commit, upgrade.
v0.38Architectural Conformance for AI code — Record the semantic architectural rules a linter can't express — layering, must-reach, dependency direction — and Hunch deterministically blocks any AI change that breaks them, citing the decision behind the rule and the bug it prevents reopening. No model in the gate.
v0.37Enforcement at a glance + grounding everywhere — hunch status shows what's armed, what's waiting on your confirmation, and what went stale — one screen. A rule taught once is held by every assistant, not just the one you taught it to.
v0.36Sharper rule matching — Forbidden-dependency rules now match what the code actually imports — a comment or string can't false-positive — and stay accurate for the file's whole life. Corrections auto-derive the right rule.
Jun 26, 2026
v0.35Content-matched constraints + symlink-safe hooks — Blocking rules fire on the actual violation and stay quiet on harmless edits in the same file. Plus reliable hook delivery on symlinked setups.
v0.34One memory across branches & worktrees — Edit memory anywhere in the repo; it's the same source of truth everywhere. No manual sync.
v0.32–0.33Seamless multi-branch / worktree memory — Linked worktrees and concurrent branches share one memory automatically.
Jun 25, 2026
v0.31Google Antigravity support — One graph now serves Google's agent IDE too — detected and wired automatically, only when installed.
v0.30Intent-conformance — The inversion: not "did this diff touch a guarded file?" but "does the code still satisfy the recorded design?" — silent drift is caught with no diff in scope.
v0.29Inline intent capture — Mark intent where it lives: a hunch-why: comment becomes a decision, a hunch-rule: comment becomes an enforced file rule.
v0.28hunch compare — multi-candidate verdict — Give it N candidate branches (several agent solutions to one task) and it ranks them by architectural fit. The "evaluate 5 solutions in 10 minutes" check.
v0.25–0.27Runbook memory — The how layer beside the why: reusable procedures distilled from real work, returned when the task recurs. Plus self-healing grounding that keeps every assistant's docs fresh.
v0.24Memory drift checks — hunch doctor flags memory that fell out of sync with the code — a smoke detector for stale memory.
v0.23Retrieval eval harness — Retrieval quality is a measured number in CI, not a claim.
v0.22Graph-augmented retrieval — Uses your code's own connections to surface the cross-file evidence plain search misses. Measured +41.7pt recall@10.
Jun 23, 2026
v0.18Deep Synthesis — Several independent readings of a change, reconciled into one more-trustworthy note. Advisory until you confirm it.
v0.17Private memory overlay — Open-source your code without open-sourcing your reasoning: sensitive records live in a separate private repo, visible to your local queries only — public outputs can never leak them. One command to set up.
v0.16Redundancy Guard — "this already exists" — A diff that re-implements something already defined elsewhere is flagged with the original's location. Advisory, tuned quiet.
Jun 21, 2026
v0.15Veto — the Decision Guard — Re-introducing an approach you rejected — the alternative that never existed in code — is caught with a receipt: what you rejected, what you chose instead. Also: relicensed Apache-2.0.
Jun 20, 2026
v0.14Causal Merge Verdict — One cited verdict per diff — BLOCK / WARN / PASS — showing the decision and the bug behind each rule, so a change that re-opens a closed bug is caught with its why.
v0.13Never Twice — corrections become enforced invariants — Correct the agent once and the rule is held against every assistant, in every future session.
Jun 18, 2026
v0.12CI Constraint Guard — A GitHub Action that comments what a PR touches and fails the check on a confirmed blocking rule. Memory that blocks a merge, not just advises.
v0.11On npm + safe strict mode — npm i -g @davesheffer/hunch. Strict mode is safe to enable on a shared repo — it only fails on what you've confirmed.
Jun 17, 2026
v0.10Windsurf support — Five assistants wired to one graph. Also: 24× faster indexing.
v0.9Time-Travel Memory + Regression Guard — Query the graph as of any commit; history is closed, never deleted. And re-introducing deliberately-retired code gets blocked.
Jun 16, 2026
v0.8Agent hooks + firmness — Memory injected before every edit; four enforcement levels, tunable at runtime.
v0.7Multi-CLI synthesis — Codex & Cursor join Claude — learning bills to whichever coding subscription you have.
v0.6Multi-assistant — Cursor, VS Code (Copilot), Codex & AGENTS.md wired to one graph.
v0.5Guardrails everywhere — Pre-commit guard, blast-radius tooling, and VS Code near-violations.
Jun 15, 2026
v0.4Blast-radius near-violations — hunch check flags rules you can break indirectly, through dependencies.
v0.3Drift repair — Stale records re-verify against the code in one command.
v0.2Failure-learning loop — Failing tests become bugs with suspects; recurring bugs are promoted into enforced rules.
Jun 14, 2026
v0.1Initial release — A git-native decision/bug/constraint graph, an MCP server, post-commit learning, auto-maintained grounding, and a VS Code extension.