Repository navigation
Releases: entireio/entire-brain
Release list
v0.5.1
Brain v0.5.1 removes verified legacy memory copies automatically and gives foreground writes priority over queued background work.
Fixed
- Remove verified redundant legacy memory files during normal writes, refreshes, and watcher passes. This includes copies retained by v0.5.0.
- Verify complete records, provenance, and lifecycle state before cleanup. Preserve unverified data and resume interrupted cleanup from durable records.
- Let background writers wait without spending job retries on ordinary lock contention. An active write finishes before another writer starts.
- Fetch and filter hosted memories outside the writer lock. Recheck concurrent updates before committing.
- Bound hosted retries when concurrent syncs keep changing the feed cache. Allow cancellation during retry waits.
- Preserve completed distillation results and cache entries when cancellation interrupts a wait for the writer lock.
- Avoid repeated full-store reads when updating the manifest after remember or hosted pull.
Upgrade
-
Finish active work and stop writers that share the local store.
-
Back up the complete Brain data and repository checkpoint refs. Include the global store if you use it.
-
Install the release:
entire plugin install brain --force --no-deps entire brain version
-
Confirm version
0.5.1. -
Resume normal Brain activity. If you paused background work, restart it with
entire brain start.
No manual migration or cleanup command is required. Large stores can require several normal passes before cleanup finishes.
For an optional progress check, use entire brain memories storage status --json. Use --global for the global store.
Upgrades from stable v0.2.0, v0.3.0, v0.4.0, and v0.5.0 are supported. Local migration remains one-way.
Clients v0.2.0–v0.4.0 cannot reopen a migrated local store. Older and newer clients can exchange hosted memories through separate local stores.
Keep the verified backup until you accept the upgrade. Do not manually remove unverified files, the active store, or checkpoint refs to reclaim space.
Claude capture requires Claude Code 2.1.78 or later with the generated Entire hooks.
Verification
The final release matrix covers stable upgrades, installed packages, all public command paths, migration interruption recovery, Graph integration, hosted sync, and live Claude capture.
Graph integration passed with Graph v0.5.0 and v0.6.0. Graph v0.4.0 still reports the unsupported provider interface without changing stored memories.
Customer-scale checks cover 2,784 unique records, repeated legacy copies, concurrent writers, and automatic cleanup.
The release workflow also tests the shipped pure-Go Windows configuration and its packaged windows/amd64 executable.
Full changelog: v0.5.0...v0.5.1
v0.5.0-nightly.202611040618.9609dda8
Brain v0.5.0
Brain v0.5.0 stores repository memories in one flat store and removes duplicate copies with the same memory ID.
Before upgrading: stop all writers and back up the complete Brain data and checkpoint refs. Local migration is one-way.
Older clients cannot read the migrated local store. Hosted compatibility uses separate local stores.
See the upgrade requirements below before installation.
Changed
- Durable memories now use one repository-level
facts/store.jsonfile.
Memories are visible across branches by default. Migration merges copies with
the same ID and retains provenance and lifecycle state. - Local storage migration is one-way. Stable v0.2.0, v0.3.0, and v0.4.0 can
upgrade, but cannot read the migrated store. - Migration retains original branch directories under
facts/.legacy-*.
Total disk usage can increase until these recovery copies are removed after
verification. Automatic removal is not included. - Hosted Brainstore sync keeps its per-fact wire format. Older and newer clients
can exchange memories through separate local stores.
Added
memories storage statusandmemories storage migrate, also with--global.
Migration supports legacy branch files and the unreleased schema 1 and schema 2
layouts. Interrupted migration can be retried. Later legacy writes are imported
with a warning to update the older client.- Upgrade and hosted-sync checks against stable v0.2.0, v0.3.0, and v0.4.0.
The release compatibility matrix excludes v0.1.0 and nightly releases.
Upgrade requirements
- Stop every writer that shares the local store before backup and migration.
Back up the complete Brain data and repository checkpoint refs.
brain stoppauses future background work; it does not wait for an active pass. - To use an older release, restore a complete pre-migration backup into a separate
environment. That backup does not contain later writes. A post-migration bundle
is not a downgrade format. - Do not run mixed old and new versions against the same migrated local directory.
Hosted compatibility requires separate local stores. - Verify migration and the backup before removing retained legacy directories.
Do not delete the flat store or checkpoint refs to reclaim disk space. - Claude capture requires Claude Code 2.1.78 or later with the generated hooks.
Checkclaude --versionand verify a checkpoint after a real turn and commit.
The CLI version-check fix will follow this release. - Large-store concurrent writers can still report
brain_locked.
Keep affected stores' background work paused during initial migration and
verification. Run foreground writers one at a time with support.
This release does not resolve all writer contention.
Removed
-
memories storage rollback. The flat store has no supported conversion back
to the released branch-file layout. -
memories promoteandmemories review. Memories use the repository-level
store without branch promotion. -
The brain-local privacy layer: the
privacycommand family
(list|exclude|include|purge|verify|retention), session tombstones, read
gates, and the per-response privacy policy machinery. The brain is a
derived index that mirrors the repository's checkpoint refs, so deletion
happens at the capture layer:entire checkpoint deleteremoves a
checkpoint, and the nextentire brain refreshdrops everything derived
from it — including the deleted session's fact provenance (a distilled
fact with no provenance left is deleted; authored memories and pulled
teammate copies are never touched). Caches of vanished sessions are swept
instead of retained. "Stop serving now" is
entire checkpoint delete <checkpoint> && entire brain refresh.
Upgrade note: a leftoverhistory/tombstones.jsonis no longer honored —
sessions it excluded re-enter projections while their checkpoints exist.
Refresh warns when one is found; delete those checkpoints to keep the
sessions out, then remove the file.memory repair --jsonno longer
reports theverify_clean/verify_availablefields. -
entire brain publishand the brain-bundle wire package (internal/brainwire).
The/brain/artifactsendpoint publish posted to was never deployed — the
server exists only in unmerged entire-api PRs — so the command failed for
every host, and its github.com-only client gate dead-ended Entire-native
users with a misleading refusal (COR-2290). Memories travel the per-fact
wire:entire brain memories syncon a connected repo works for any host
and is the manual push path. Invokingpublishnow fails with a tombstone
naming that replacement, following theinit-agentsprecedent. The https
floor and malformed-URL fences moved from publish to the memories-sync
surface, which shares the same hosted-target resolution.
Fixed
-
The watcher starts its memory worker after its own refresh, seed, and distillation
steps finish. This prevents that worker from blocking those steps in the same
pass. Other processes can still compete for the write lock. -
Released-client repository visibility tests now use each binary's actual storage
path. Upgrades from v0.2.0, v0.3.0, and v0.4.0 execute without this test being skipped. -
The conversation and history parsers now read the compact transcript
dialect the Entire CLI stores per checkpoint (Entire Transcript Format:
content blocks at the record's top level, nomessagewrapper). A default
(compact) export previously produced zero conversation exchanges — no
searchable exchanges, no user-prompt history records — until the user
re-exported withrefresh sessions --raw(COR-2289).The history extraction revision invalidates cached scan results. Caches filled
by the pre-compact scanner are discarded instead of reused. The cache wire
version remains compatible with supported stable clients. No re-export is needed; the next
refreshrescans the transcripts already on disk, and stored memories,
their anchors and their ids are unaffected. -
verifyno longer byte-compares transcripts in checkpoint-backed brains,
where the transcript it just read came out of the checkpoint store itself —
the comparison re-resolved the transcript flavor through an all-or-nothing
switch, so one session without a compact transcript anywhere in the store
marked every session-anchored memory "stale: exported transcript differs
from local checkpoint transcript" on each default (compact) refresh
(COR-2289). Brains with materialized transcript files (standalone bundles,
pre-0.4.0 brains) keep the comparison in the manifest's declared flavor and
report "unverifiable here" instead of a false stale when the local store
can no longer resolve that flavor.
Verification: stable upgrades from v0.2.0, v0.3.0, and v0.4.0; all 114 public command paths; migration recovery; Graph integration; hosted sync; and live Claude capture.
Full changelog: v0.4.0...v0.5.0
v0.4.0-nightly.202611020624.06a56b79
What's Changed
- evisdren/python-in-go-project by @entire[bot] in #579
- Skip all writes when facts promote changes nothing by @evisdren in #585
- Exit the plugin when its dispatcher dies by @evisdren in #584
- Stop acquiring the brain write lock to emit retrieval responses by @evisdren in #586
Full Changelog: v0.4.0-nightly.202611010616.3ebdaef3...v0.4.0-nightly.202611020624.06a56b79
v0.4.0-nightly.202611010616.3ebdaef3
What's Changed
Full Changelog: v0.4.0-nightly.202610310615.115f2713...v0.4.0-nightly.202611010616.3ebdaef3
v0.4.0-nightly.202610310615.115f2713
What's Changed
- evisdren/branch-storage-reconsider by @evisdren in #574
- Fix memory privacy and compatibility with stable v0.2–v0.4 clients by @evisdren in #575
- Sync memories on commit and distillation events by @evisdren in #576
Full Changelog: v0.4.0-nightly.202610300620.bf0870df...v0.4.0-nightly.202610310615.115f2713
v0.4.0-nightly.202610300620.bf0870df
v0.4.0-nightly.202610290621.f8deab17
What's Changed
- evis/cor-2290-publish-native-repos by @evisdren in #559
- Skip hosted sync when the host CLI prints an expired token by @evisdren in #558
- evisdren/brain-compact-format-issue by @evisdren in #557
- feat(factsync): send a versioned User-Agent on the hosted wire by @evisdren in #563
Full Changelog: v0.4.0-nightly.202610280620.fb496b57...v0.4.0-nightly.202610290621.f8deab17
v0.4.0-nightly.202610280620.fb496b57
What's Changed
- refactor(cli): move retrieval commands into internal/cli/command/retrieve by @evisdren in #544
- refactor(cli): move patterns and retrieval commands into their own packages by @evisdren in #543
- refactor(cli): move the dash command into a command package (COR-2268) by @evisdren in #542
- cor-2268-cmd-patterns by @entire[bot] in #545
- cor-2268-cmd-retrieve by @entire[bot] in #546
- refactor(cli): move hook command into internal/cli/command/hook by @evisdren in #549
- ci: select affected packages for the Windows test shards on pull requests by @evisdren in #553
- refactor(cli): move watch command into internal/cli/command/watch by @evisdren in #550
Full Changelog: v0.4.0...v0.4.0-nightly.202610280620.fb496b57
v0.4.0
What's Changed
- refactor(cli): pin CLI test XDG roots through clitest; update the harness TestMain hash (COR-2268) by @evisdren in #510
- refactor(cli): move environment and store-path resolution into base (COR-2268) by @evisdren in #515
- refactor(cli): move workspace pattern corpus and families into patterns (COR-2268) by @evisdren in #516
- refactor(cli): remove the stale mutable-DB test helper left by #516 by @evisdren in #517
- ci: run only diff-affected Go packages on pull requests (COR-2268) by @evisdren in #518
- test(cli): stop fixture refreshes from executing the real agent binary by @evisdren in #519
- Remove the local MCP surface by @evisdren in #509
- fix(doctor): stop flagging staged candidates as a stale facts manifest by @evisdren in #520
- Remove the orphaned hostedbrain MCP client by @evisdren in #521
- refactor(cli): add cmdutil with the shared command output helpers (COR-2268) by @evisdren in #522
- refactor(cli): move version and capabilities into command packages (COR-2268) by @evisdren in #523
- refactor(cli): move config and webhook commands into command packages (COR-2268) by @evisdren in #524
- cor-2268-cmd-connect by @entire[bot] in #525
- refactor(cli): extract docextract and move the docs command into a package (COR-2268) by @evisdren in #526
- cor-2268-cmd-lifecycle by @entire[bot] in #527
- refactor(cli): sink the durable-facts store into internal/factstore (COR-2268) by @evisdren in #529
- refactor(cli): move the remember command into command/facts (COR-2268) by @evisdren in #530
- refactor(cli): move add and brain-guide into command packages (COR-2268) by @evisdren in #531
- refactor(cli): sink the history index read layer into internal/historystore (COR-2268) by @evisdren in #532
- refactor(cli): sink the semantic-store read layer into internal/semstore (COR-2268) by @evisdren in #533
- evisdren/cor-2279-client-issue by @evisdren in #535
- refactor(cli): move repo-identity, bench, and publish into command packages (COR-2268) by @evisdren in #536
- refactor(cli): move brain-review into a command package (COR-2268) by @evisdren in #537
- refactor(cli): sink the unified retrieval engine into internal/retrieval and internal/docstore (COR-2268) by @evisdren in #538
- refactor(cli): move the stats command into a command package (COR-2268) by @evisdren in #539
- refactor(cli): move the viz command into a command package (COR-2268) by @evisdren in #541
- refactor(cli): move the recall command into command/facts (COR-2268) by @evisdren in #540
- ci: cancel superseded pull-request test runs by @evisdren in #547
- Cut 0.4.0: date the changelog section by @evisdren in #548
Full Changelog: v0.3.0...v0.4.0