Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 18 Jun 19:17
· 110 commits to main since this release
0b3be6e

Fixed

  • search(156): cmk search --scope decisions no longer shows a scary "unknown-scope" warning when semantic search is on. The decision-journal scope is keyword-only by design (the journal is a plain markdown file, not embedded), but with the hybrid default (after cmk install --with-semantic) it would print semantic default unavailable (unknown-scope:decisions) — or, with an explicit --mode, fail outright. It now recognizes the scope is keyword-only and just returns results, silently. The recall itself always worked; the alarming message is gone.
  • reindex(157): cmk reindex --full no longer crashes on a dual-written fact. A fact captured via cmk remember lives in both the working scratchpad and its archive file with the same id; a full reindex hit a UNIQUE constraint failed and aborted. The index now replaces by id with deterministic precedence (the archive copy wins), so reindex is robust and search results de-duplicate cleanly. Affects anyone who ran a manual cmk reindex --full; automatic indexing was unaffected.

Added

  • Tombstone recovery (155): cmk get <id> --include-tombstoned un-forgets a fact — for you, never for the AI. A cmk forget removes a fact from all recall, but its body is kept in the archive. You can now recover it: cmk get <id> --include-tombstoned reads the archive and returns the forgotten fact's body + when/why it was deleted. This is a human-only flag — the AI's mk_get tool stays tombstone-blind, so a fact you forgot never resurfaces in Claude's recall (a deleted fact staying deleted is the whole point). A live fact always takes precedence; recovery is a fallback only when the id isn't live.
  • Decision-journal recall (156): ask the AI how a decision evolved, not just what it is. The context/DECISIONS.md journal (added in 0.3.2) records every decision append-only — including the ones you later superseded or retracted. It's now recallable: cmk search "<topic>" --scope decisions (or mk_search with scope: "decisions") searches the journal for decision history — "what did we reject", "did X change", "why did we move away from Y" — and returns the superseded/retracted entries the live fact store no longer carries. The memory-search skill and the injected recall directive now point Claude at it for evolution/"what did we reject" questions, so you can just ask ("weren't we using Postgres? what changed?") and the AI consults the journal. This completes the decision-journal feature: it's no longer write-only.
  • Decision journal stays current automatically (159): no cmk digest needed. The context/DECISIONS.md journal now updates itself — every decision you capture is rendered into it at session end (and at the next session start for sessions that didn't close cleanly), so the journal is always current without you running any command. Previously it only existed if you ran cmk digest by hand; now it's automatic, like the rest of the kit's memory. (cmk digest still works as a manual refresh.)