Releases: getmembook/membook
Release list
membook@0.1.2
Patch Changes
- #22
c12907dThanks @hiranofficial! -membook --versionreads the version from package.json at runtime instead of
a hardcoded string. The published 0.1.1 introduced itself as 0.1.0; changesets
bumps the manifest, and a constant nobody remembers is wrong by the second
release. A test now pins the binary's answer to the manifest.
membook@0.1.1
Patch Changes
- #20
e41e553Thanks @hiranofficial! -membook reviewre-flows hard-wrapped memory bodies before display, and
re-asks on input it does not recognize instead of silently skipping — typed
ddmeaning delete, the old behaviour printed "Skipped." and moved on, which
on a prompt with a destructive option is the worst way to be wrong. EOF still
quits, so piped input cannot loop. - Updated dependencies [
e41e553,e41e553,e41e553]:- @membook/core@0.1.1
@membook/mcp@0.1.2
Patch Changes
- #22
c12907dThanks @hiranofficial! -SERVER_VERSIONreads package.json at runtime instead of a hardcoded string,
so the version the MCP server reports to clients tracks the release. Same
drift class as the CLI's--versionbug; same guard test.
@membook/mcp@0.1.1
@membook/core@0.1.1
Patch Changes
-
#20
e41e553Thanks @hiranofficial! - A model may fail to restore, but it may not destroy. LLM re-checkinvalidate
verdicts now land asstale— withheld from the book, flagged for review,
recoverable — instead of invalidating the memory outright.invalidated
remains reachable only through deterministic evidence (the anchored file is
gone) or a human decision inreview. Measured on live data: a small model
invalidated a still-true memory because a version number changed in its
anchored file;restorerequires string-matched evidence precisely to stop
rubber-stamping, and this closes the same hole in the destructive direction. -
#20
e41e553Thanks @hiranofficial! - NewrememberManyonMembook: batch writes open the index once instead of
per memory. Seeding and other bulk paths are dramatically faster on platforms
where database open/close is expensive (Windows most of all). Additive API;
shipped as a patch because this project reserves 0.2 for the workspace
roadmap and the pre-1.0 minor lane signals breakage. -
#20
e41e553Thanks @hiranofficial! -openIndexcloses the database handle on every throw path. The
metadata-mismatch throws leaked it, which was invisible on POSIX but made the
index undeletable on Windows — somembook reindex, whose remedy for drift is
deleting the file, failed with EBUSY. The error path no longer blocks its own
cure.
membook@0.1.0
Minor Changes
-
277e479Thanks @hiranofficial! - Add themembookCLI:init,status,verify,review,remember,
book,reindex.This is the human's surface where the MCP server is the agent's.
reviewis
where a person ratifies or rejects what an agent recorded — ratifying marks a
memory verified and re-anchors it to HEAD, because a human reading the code and
confirming the statement is a verification, and the strongest kind available.
rememberwritesorigin: authored, author: humanwithagentandmodel
structurally absent, the first real use of that provenance branch.statusexplains each state rather than only counting it, so that "nothing is
recorded" and "things are recorded but have drifted" read as different
sentences.verify --recheckrefuses to run without a configured model rather
than guessing.
Patch Changes
@membook/spec@0.1.0
Minor Changes
-
53af5f5Thanks @hiranofficial! - Initial pre-release of the Memfile standard and the storage engine.@membook/specdefines the format: Zod schema, anchor grammar, deterministic
serialization, and a validator that fails loudly on read and on write.
Provenance is discriminated so that every field's presence is meaningful — a
source_hashappears only when a real artifact stands behind it, and a
human-authored memory cannot express anagentormodelit never had.@membook/coreimplements storage: file CRUD, a derived SQLite + FTS5 index
with pinned assumptions, andreindex. Files are the truth; the database is a
cache, rebuilt deterministically from them.Neither package is published yet.
Patch Changes
-
18c69efThanks @hiranofficial! - Add@membook/mcp, the stdio MCP server:recall,remember, and
session_digest. It spawns per session and exits — no daemon.Retrieval is now hybrid and deliberately conservative. Relevance gates;
path proximity, recency and verification status only modulate it, so nothing
that fails on relevance can be rescued by being fresh or nearby. Results are
capped and floored, and when everything relevant is stale the caller is told
that rather than handed silence.spec: a memory only needs averifiedtimestamp when its status is
verified. A memory createdunverifiedwhose anchored code then changes
becomesstalehaving never been verified, and that must be representable
without inventing a timestamp.
@membook/mcp@0.1.0
Minor Changes
-
e41d84eThanks @hiranofficial! - Fill the three seams: secret scanning, LLM re-checking, and instrumentation.The scanner is deny-biased. A false positive blocks a memory and a human looks
at it; a false negative commits a credential forever — so when a rule is torn,
it blocks. It scans the whole serialized memory, redacts findings in every
message, and is on by default in the MCP server, since a guard that had to
be opted into would protect nobody.The re-checker is a skeptic, not a judge. Its dangerous failure is the false
restore, so every path that is not an explicit, schema-valid verdict leaves the
memory stale: unparseable reply, failed repair, provider down, unknown verdict.
One repair attempt asks only for the shape, never re-arguing the substance. The
prompt is versioned inprompts/recheck.md.Instrumentation is a local append-only JSONL file and never touches the
network. It records what recall served and withheld, verify transitions,
re-check verdicts, blocked writes, and book counts — so the product's claims
become numbers a user can check locally. Logging swallows its own errors,
because telemetry must never break what it observes. -
18c69efThanks @hiranofficial! - Add@membook/mcp, the stdio MCP server:recall,remember, and
session_digest. It spawns per session and exits — no daemon.Retrieval is now hybrid and deliberately conservative. Relevance gates;
path proximity, recency and verification status only modulate it, so nothing
that fails on relevance can be rescued by being fresh or nearby. Results are
capped and floored, and when everything relevant is stale the caller is told
that rather than handed silence.spec: a memory only needs averifiedtimestamp when its status is
verified. A memory createdunverifiedwhose anchored code then changes
becomesstalehaving never been verified, and that must be representable
without inventing a timestamp.
Patch Changes
@membook/core@0.1.0
Minor Changes
-
e41d84eThanks @hiranofficial! - Fill the three seams: secret scanning, LLM re-checking, and instrumentation.The scanner is deny-biased. A false positive blocks a memory and a human looks
at it; a false negative commits a credential forever — so when a rule is torn,
it blocks. It scans the whole serialized memory, redacts findings in every
message, and is on by default in the MCP server, since a guard that had to
be opted into would protect nobody.The re-checker is a skeptic, not a judge. Its dangerous failure is the false
restore, so every path that is not an explicit, schema-valid verdict leaves the
memory stale: unparseable reply, failed repair, provider down, unknown verdict.
One repair attempt asks only for the shape, never re-arguing the substance. The
prompt is versioned inprompts/recheck.md.Instrumentation is a local append-only JSONL file and never touches the
network. It records what recall served and withheld, verify transitions,
re-check verdicts, blocked writes, and book counts — so the product's claims
become numbers a user can check locally. Logging swallows its own errors,
because telemetry must never break what it observes. -
53af5f5Thanks @hiranofficial! - Initial pre-release of the Memfile standard and the storage engine.@membook/specdefines the format: Zod schema, anchor grammar, deterministic
serialization, and a validator that fails loudly on read and on write.
Provenance is discriminated so that every field's presence is meaningful — a
source_hashappears only when a real artifact stands behind it, and a
human-authored memory cannot express anagentormodelit never had.@membook/coreimplements storage: file CRUD, a derived SQLite + FTS5 index
with pinned assumptions, andreindex. Files are the truth; the database is a
cache, rebuilt deterministically from them.Neither package is published yet.
-
99ba26dThanks @hiranofficial! - Add the boot pack generator:compileBookandwriteBookemitMEMBOOK.mdat
the repository root.Selection is greedy on expected-value-per-token under a hard 2,000-token cap.
Status weights rather than gates — a young book is honestly all-unverified, so
gating onverifiedwould emit an empty book for exactly the repositories that
most need one — while stale and invalidated memories are excluded outright,
since the book is asserted with no room to caveat.Output is byte-identical for identical book state, because the file is
committed and prepended to every session: unstable ordering would mean noisy
diffs on a file nobody edited and a prompt-cache miss on every start. -
18c69efThanks @hiranofficial! - Add@membook/mcp, the stdio MCP server:recall,remember, and
session_digest. It spawns per session and exits — no daemon.Retrieval is now hybrid and deliberately conservative. Relevance gates;
path proximity, recency and verification status only modulate it, so nothing
that fails on relevance can be rescued by being fresh or nearby. Results are
capped and floored, and when everything relevant is stale the caller is told
that rather than handed silence.spec: a memory only needs averifiedtimestamp when its status is
verified. A memory createdunverifiedwhose anchored code then changes
becomesstalehaving never been verified, and that must be representable
without inventing a timestamp.