Skip to content

Releases

v3.7.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 18:08
f96b613

Engram v3.7.0

A minor release that adds organization-scoped memory, a background daemon for engram serve, and a faster store and sync path. It pairs Engram with gentle-engram 0.7.0, the Pi companion package.

Highlights

  • Org-scoped memory: observations can carry an optional org field that groups projects by organization. It is set from the repository's .engram/config.json grouping label and is carried through every write path (insert, topic-key revision, import, upsert and rescued-mutation journaling). org is returned in search results and previews and can filter FTS, LIKE and topic-key lookups. The MCP tools mem_save, mem_search, mem_current_project, mem_list_projects and mem_session_summary accept it, the Obsidian exporter takes an --org filter, and the Pi-native tool schema matches the MCP schema. Content-hash deduplication includes org, so identical content in different organizations is kept separately. The field is optional everywhere: existing rows, imports and clients without it behave as before. Thanks @Deyvis17GY (#1151).
  • GET /search org filter: the HTTP endpoint now reads a trimmed org query parameter. A blank or missing value keeps unfiltered results, matching /projects and MCP mem_search. The Pi-native mem_search forwards org to the server instead of only declaring it (#2327).
  • Daemon mode: new docker-style lifecycle commands: engram run -d (detached start that prints the PID and port), engram ps, engram stop (graceful, then forced), engram logs [-f] and engram restart. engram serve now exits with a non-zero code when the same instance already owns the port, instead of exiting 0 in a silent crash loop. Thanks @carolitascl (#2229).
  • Server version skew: engram cloud status and an identity-confirmed engram ps show the running server version next to the installed CLI version and report a pending restart when they differ. Engram does not restart the server automatically (#2311). The upgrade guide now explains how to verify the running server version (#2251).
  • Claude Code memory-write opt-in: engram setup claude-code --allow-memory-writes grants twelve fixed memory tools under both MCP prefixes for unattended setups. Delete and project-merge tools are excluded, and the default prompt-based setup is unchanged (#2314).
  • Pi companion 0.7.0: engram setup pi now pins npm:gentle-engram@0.7.0. A managed npm:gentle-engram@0.6.0 pin is replaced instead of being kept alongside the new version, and pi-engram init upgrades it the same way. Earlier managed migrations, custom/local entries, unrelated settings and MCP configuration are preserved (#2329). gentle-engram 0.7.0 is published under the npm candidate dist-tag and promoted to latest by the maintainer: published to npm under the candidate dist-tag (publish run); promoted to latest by the maintainer after reviewing the published pair.
  • Obsidian docs: the Obsidian Brain guide now uses the stable engram command; engram-beta is no longer required. Thanks @matheo (#2007, closes #2306).
  • Contribution governance: PR checks accept Refs #N as an approved, non-closing issue reference alongside Closes/Fixes/Resolves, so partial PRs can link an umbrella issue without closing it. status:approved is still enforced on every referenced issue. Thanks @Reaan06 (#1617).
  • Fixes: sync preserves local edits behind unrelated chunk timestamps (#2309); engram doctor detects invalid pending cloud journal projects (#2308); migrate-copy admits the v3.6.0 catalog (#2252); Claude Code no longer captures desktop synthetic prompts (#2246), avoids unnecessary session argument rewrites (#2248), and preserves resume ownership while reporting registration failures (#2310).

Thanks to the community contributors in this release: @Deyvis17GY, @carolitascl, @matheo and @Reaan06.

Maintenance

Performance: store startup does less redundant work: column introspection and FTS trigger inspection are batched, redundant FTS creation and observation normalization are skipped, and fresh observation and sync columns are initialized directly (#2270, #2276, #2274, #2279, #2319, #2325, #2321). Context and save paths read less data: discarded context work is bounded by a byte budget, compact context reads only rendered fields, global context project-name hydration is bounded, established saves skip project enumeration, and save relevance checks avoid token collections (#2258, #2262, #2268, #2254, #2303). Sync defers historical payload reads, persists scoped chunk delete evidence to avoid historical downloads, aggregates synced chunk IDs without per-row filesystem checks, and skips no-op legacy project updates (#2256, #2294, #2296, #2281). Health probes use bounded store reads (#2260), checkout-root detection reuses Git metadata (#2300), and Windows generation identity is read from metadata handles (#2266).

Release tooling observes the exact Core and Pi artifact workflows and published Pi and Core persistence together (#2132, #2245). Internal refactors separate doctor repair argument parsing, consolidation selection and Git export publication (#2285, #2292, #2289). Test reliability and speed improvements cover PowerShell cancellation, SubagentStop fixtures, session marker cleanup, EINTR handling, the Claude matrix, shared candidate CLI fixtures and Pi PATH/real HTTP integrations (#2264, #2283, #2317, #2287, #2323, #2272, #1906).

Verification

  • Push CI for the release commit: green.
  • The release workflow runs module metadata and published Pi companion checks before GoReleaser; its companion preflight requires gentle-engram@0.7.0 on npm.
  • These checks do not claim an installed upgrade test in every environment or downstream Shell bundle upgrades.

Upgrade

  • Back up your Engram data and relevant configuration before upgrading, keep a known-good installation, and validate your integrations afterwards. See the release and rollback policy.

  • Homebrew:

    brew update
    brew upgrade engram
    engram version
  • If an Engram server is already running, restart it with the supervisor that started it and confirm the server version with engram cloud status or engram ps.

  • Pi users: after upgrading the core, run engram setup pi, or pi install npm:gentle-engram@0.7.0, then restart Pi.

  • Alternatively, download the archive for your OS and architecture below and verify it against checksums.txt. See the installation guide.

Full changelog

  • 16c5bf4 feat(release): observe exact Core and Pi artifact workflows (#2132)
  • 164babd fix(claude): skip desktop synthetic prompt captures (#2246)
  • 03b8223 feat(release): observe published Pi and Core persistence together (#2245)
  • a465b6c fix(claude): avoid unnecessary session argument rewrites (#2248)
  • 81536de docs: verify running server version after upgrades (#2251)
  • 590b403 fix(store): admit the v3.6.0 catalog in migrate-copy (#2252)
  • 2102090 perf(mcp): skip project enumeration for established saves (#2254)
  • b392045 perf(sync): defer historical payload reads until endpoints remain unresolved (#2256)
  • 6efffff perf(store): bound discarded context work by byte budget (#2258)
  • 0bf44c8 perf(server): use bounded store reads for health probes (#2260)
  • 0a019b2 test(plugin): distinguish PowerShell cancellation from child exits (#2264)
  • 0c3d47a perf(store): read only rendered fields for compact context (#2262)
  • b8598e6 perf(store): capture Windows generation identity from metadata handles (#2266)
  • 598c58e perf(mcp): bound global context project-name hydration (#2268)
  • 59ee7f2 perf(store): batch additive column introspection during startup (#2270)
  • 0369adb perf(tests): reuse the candidate CLI across package fixtures (#2272)
  • 2c321d5 perf(store): avoid redundant FTS creation for fresh databases (#2274)
  • 97b5449 perf(store): batch FTS trigger inspection during startup (#2276)
  • b0ecb20 perf(store): skip redundant observation normalization on healthy startup (#2279)
  • 2c71ca1 perf(store): avoid no-op legacy sync project updates (#2281)
  • 8fd46ac test(plugin): isolate SubagentStop capture fixtures per case (#2283)
  • 5dfd6fa refactor(cli): isolate doctor repair argument parsing (#2285)
  • 9dd1f29 refactor(sync): separate Git export content from publication (#2289)
  • a025adf refactor(test): read EINTR errno through libc byte view (#2287)
  • 51e73c7 refactor(cli): separate consolidation selections from execution (#2292)
  • edf7127 perf(sync): persist scoped chunk delete evidence to avoid historical downloads (#2294)
  • 6259693 perf(project): reuse Git metadata within c...
Read more

v3.6.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 12:56
ec2bf04

Engram v3.6.2

A core patch release that pairs Engram with gentle-engram 0.6.0, the Pi companion package.

Highlights

  • Pi companion 0.6.0: engram setup pi now pins npm:gentle-engram@0.6.0. A managed npm:gentle-engram@0.5.1 pin is replaced instead of being kept alongside the new version. Earlier managed migrations, custom/local entries, unrelated settings and MCP configuration are preserved (#2239).
  • Release tooling: verify published Windows core persistence (#2233).

Maintenance

Windows dispatcher lifecycle timing capture, Git UCRT curl resolution for Unicode test coverage, and Windows CI result-cache handling (#2238, #2236, #2241). No other core runtime changes since v3.6.1.

Verification

  • The release commit passed all 19 jobs in push CI. One Windows job was rerun once after a proxy.golang.org TLS handshake timeout; the merge-group run for the same commit also passed.
  • The staged candidate was checked before tagging: all manifest hashes match, and the six binaries come from this clean revision with Go 1.26.10. The staged Pi tarball is identical to the published gentle-engram@0.6.0 package.
  • The release workflow passed module metadata and published Pi companion checks before GoReleaser. The Homebrew formula hashes match the release assets.
  • These checks do not claim an installed upgrade test in every environment or downstream Shell bundle upgrades.

Upgrade

  • Back up your Engram data and relevant configuration before upgrading, keep a known-good installation, and validate your integrations afterwards. See the release and rollback policy.

  • Homebrew:

    brew update
    brew upgrade engram
    engram version
  • Pi users: after upgrading the core, run engram setup pi, or pi install npm:gentle-engram@0.6.0, then restart Pi.

  • Alternatively, download the archive for your OS and architecture below and verify it against checksums.txt. See the installation guide.

Full changelog

  • f53b90a feat(release): verify published Windows Core persistence (#2233)
  • c100fcd test(plugin): resolve Git UCRT curl for Unicode coverage (#2236)
  • 2177ede test(plugin): capture Windows dispatcher lifecycle timings (#2238)
  • 9da9cf7 chore(pi): prepare 0.6.0 consolidation candidate (#2239)
  • ec2bf04 ci(windows): avoid post-test result-cache processing (#2241)

Full comparison: v3.6.1...v3.6.2

gentle-engram v0.6.0

Choose a tag to compare

@Alan-TheGentleman Alan-TheGentleman released this 04 Nov 12:57

gentle-engram 0.6.0

Source: 1e4bea1e (tag pi-v0.6.0, head of #2239). The published package is byte-identical to plugin/pi on main at ec2bf048. Changes since gentle-engram 0.4.2 / pi-v0.4.2, the previous npm latest. Versions 0.5.0 and 0.5.1 were published through the candidate channel.

Highlights

0.6.0

  • Consolidation release. Synchronizes the package manifest, lockfile and core installer pin. It adds no new adapter or runtime functionality (#2239).
  • Clean upgrade from 0.5.1. pi-engram init and engram setup pi replace a managed npm:gentle-engram@0.5.1 pin rather than keeping both versions. Earlier managed migrations, custom/local/object entries, unrelated settings and MCP configuration are preserved, and repeated setup is byte-idempotent (#2239).
  • Selective memory capture guidance. The injected memory protocol now asks agents to persist verified, durable knowledge (decisions with rationale, non-obvious root causes, real constraints, resumption-relevant pending work), to skip routine progress and raw dumps, to search only when it materially helps, and to call mem_session_summary at significant closure or handoff (#2128).

From 0.5.1

  • mem_update find and replace (#1986).
  • Older context history (#1992).
  • Stored prompt search through MCP and Pi (#2000).
  • Memory dispatch and input projections qualified against the Go runtime, with real schema drift diagnostics (#1905, #2005, #1995).
  • The detached engram serve spawn no longer inherits session-scratch temporary variables (#2053).
  • Independent core/Pi version-pair validation (#1990) and native host compaction and resume ownership checks (#1993).

From 0.5.0

Session-owned core startup and shutdown (package metadata declares engram.startupPolicy: 1 and engram.sessionOwned: 1), bundled-store recovery across core upgrades, compact search and paginated history, and the canonical memory workflow. See the gentle-engram 0.5.0 release.

Install and compatibility

  • Matching core: Engram v3.6.2, whose engram setup pi pins npm:gentle-engram@0.6.0. Core v3.6.1 and earlier pin older companions, so upgrade the core and the companion together.

  • Install with engram setup pi from core 3.6.2, or directly:

    pi install npm:gentle-engram@0.6.0
  • Back up Engram data and configuration before upgrading and keep a known-good installation until the upgrade is accepted. See the release and rollback policy.

Verification and limits

  • The npm tarball matches its registry integrity. All 56 files match plugin/pi on main at ec2bf048 byte for byte.
  • From #2239: native Windows installed-host lifecycle and persistent 0.5.1→0.6.0 upgrade checks passed. The full Pi suite ran 640 tests: 639 passed and 1 was skipped because it requires an installed Pi host.
  • Not claimed: a direct 0.4.2→0.6.0 upgrade on a real user installation, cross-platform installed-host qualification, or downstream Shell bundle upgrades.

Contributors

Thank you @dnlrsls and @decode2 for the changes in this range.

Changes since pi-v0.5.0

  • feat(pi): expose mem_update find and replace (#1986)
  • fix(release): validate independent core and Pi version pairs (#1990)
  • feat(pi): expose older context history (#1992)
  • test(pi): verify native host compaction and resume ownership (#1993)
  • feat(memory): expose stored prompt search to MCP and Pi (#2000)
  • feat(pi): diagnose real schema drift without certifying parity (#1995)
  • feat(pi): qualify memory dispatch against the Go runtime (#1905)
  • feat(protocol): verify Go-owned Pi input projections (#2005)
  • test(protocol): complete bounded MCP-Pi behavioral evidence (#2010)
  • fix(pi): drop session-scratch temp variables from the detached serve spawn (#2053) by @decode2
  • chore(release): prepare core 3.5.3 and Pi 0.5.1 (#2063)
  • docs(memory): align selective durable knowledge capture (#2128)
  • chore(pi): prepare 0.6.0 consolidation candidate (#2239)

Full comparison: pi-v0.5.0...pi-v0.6.0

v3.6.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 11:42
d33a14a

Engram v3.6.1

A core maintenance release focused on reliable memory synchronization, project attribution, Unicode handling, and local integration lifecycle fixes.

Highlights

  • Safer deletion and synchronization: preserve soft deletes against stale local snapshots, stop re-journaling acknowledged hard-delete tombstones, enqueue sync mutations for isolated project-owned sessions, and bound legacy quarantine scanning (#2223, #2198, #2191, #2215).
  • Search and Unicode: fold diacritics in trigram searches, preserve UTF-8 boundaries in passive observation titles, retain Unicode through Claude passive-capture stdin, and skip semantic pairs when snippet lookup fails (#2219, #2212, #2213, #2174).
  • Project-scoped MCP context: attribute prompts using per-call workspace context and keep context-footer statistics within the effective project (#2218, #2217).
  • Integration reliability: verify the local server identity before Claude write gating, capture SubagentHandback reports without reading transcripts, improve OpenCode identity-readiness diagnostics, and wait for the MCP stdio signal watcher during teardown (#2214, #2216, #2167, #2127).
  • Windows and dashboard fixes: resolve curl without assuming a fixed Git installation layout, preserve Bash startup temporary-file lifetime, and refold only changed dashboard projects (#2162, #2199, #2220).

Verification and maintenance

This release also includes native Windows/macOS adapter test lanes, Linux race detection, PostgreSQL integration coverage, prerequisite-gated regression coverage, test-fixture lifecycle and performance improvements, and core-artifact lifecycle observation tooling. Contributor guidance and repository CI maintenance are included in the full changelog below.

The release commit passed all 19 jobs in push CI. The six staged binaries were checked against the candidate revision and manifest hashes. The release workflow completed successfully, including module metadata and published Pi companion checks. These checks do not claim an installed upgrade test in every environment.

Upgrade and release scope

  • This is Engram core v3.6.1. It reuses the existing pinned gentle-engram@0.5.1 companion. No new Pi npm version was published and the Pi latest channel was not promoted as part of this release. Unreleased current-main Pi changes are not included in the existing npm package.

  • Back up your Engram data and relevant configuration before upgrading; retain a known-good installation and validate your integrations afterward. See the release and rollback policy.

  • For existing Homebrew installations:

    brew update
    brew upgrade engram
    engram version
  • Alternatively, download the archive for your OS and architecture below and verify it against checksums.txt. Archives are available for macOS, Linux, and Windows on amd64 and arm64. See the installation guide.

Full changelog

  • ff3c6a4 ci(postgres): execute database-backed integration suites (#2117)
  • 85577ae ci: add full-suite Linux Go race detection (#2115)
  • 02c7b41 docs(contributing): stage policy transition and compact PR guidance (#2125)
  • 62374d4 docs(memory): align selective durable knowledge capture (#2128)
  • f82c184 fix(mcp): wait for stdio signal watcher before teardown (#2127)
  • 72e40df test(cli): reduce synthetic backup fixture lock wait (#2131)
  • 7192931 fix(cloudstore): clean migration fixture before closing admin database (#2130)
  • a5221de feat(release): observe owned Core artifact lifecycle (#2101)
  • 523289f ci(policy): skip unrelated PR metadata evaluations (#2118)
  • f15b94a fix(tools): respect Node prerequisites in artifact tests (#2135)
  • 49a1c9d ci: close issues inactive for 3 weeks and their linked PRs (#2143)
  • 29a4081 ci: preserve independently discovered technical contracts (#2151)
  • 5f1aabe ci: bound verification jobs with accepted execution ceilings (#2153)
  • 51bcdba ci(macos): add advisory native ARM64 source baseline (#2154)
  • 9824739 ci(adapters): run existing source suites on native macOS ARM64 (#2161)
  • 2ceda3c fix(plugin): resolve Windows curl without a fixed Git layout (#2162)
  • 52cbdab fix(server): key caller host context test literals (#2168)
  • a9bbeaa ci(windows): add observational full-module baseline wiring (#2156)
  • ee1d5ad test(autosync): join runners before TLS fixture cleanup (#2171)
  • b10056c fix(test): keep owned startup failure parent alive (#2173)
  • cf7804b test(autosync): synchronize post-stop fixture startup (#2183)
  • e89a6f3 fix(store): skip semantic pairs when snippet lookup fails (#2174)
  • 322bedb test(sync): synchronize autosync fake-store pagination (#2189)
  • 36c20bb fix(tests): isolate Codex session-end HTTP fixtures per case (#2178)
  • a6f66c2 fix(opencode): diagnose local identity readiness failures (#2167)
  • 7cf4ed2 ci(race): refresh compatible Go caches on trusted main (#2194)
  • f616a7e perf(tests): reuse cached CLI for Windows prompt fixtures (#2195)
  • 9b7afe3 fix(plugin): preserve Windows Bash startup temp lifetime (#2199)
  • d1b5dcd perf(tests): reduce Codex fixture startup overhead (#2209)
  • 366b729 fix(store): preserve UTF-8 boundaries in passive observation titles (#2212)
  • b14b59b fix(store): enqueue sync mutations for isolated project-owned sessions (#2191)
  • db23639 fix(claude): preserve passive capture Unicode through stdin (#2213)
  • d7b6576 fix(sync): stop re-journaling acknowledged hard-delete tombstones on sync (#2198)
  • 2b64002 fix(autosync): bound legacy quarantine scanning across cycles (#2215)
  • 66258eb fix(claude): verify local server identity before write gating (#2214)
  • b119630 fix(mcp): keep context footer statistics within the effective project (#2217)
  • 23cf291 fix(mcp): attribute prompts using per-call workspace context (#2218)
  • 41b08b5 fix(claude): capture SubagentHandback reports without reading transcripts (#2216)
  • a536801 fix(store): fold diacritics in trigram memory searches (#2219)
  • 34471bb fix(cloud): refold only changed dashboard projects (#2220)
  • 3ead0c9 test(store): handle missing Windows symlink privilege (#2221)
  • 99bd5b2 ci(coverage): exercise prerequisite-gated regressions (#2227)
  • 24f43a1 fix(test): batch static handoff fixture path conversions (#2226)
  • 27973b8 fix(store): preserve soft deletes against stale local snapshots (#2223)
  • d33a14a ci: run existing Pi and OpenCode adapters on native Windows x64 (#2164)

Full comparison: v3.6.0...v3.6.1

v3.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 21:49
98912f8

Changelog

  • 1c2efcc build(go): move the Go toolchain to 1.26.10 (#2110)
  • 20d07b7 feat(ci): add non-required vulnerability and workflow checks (#2102)
  • ac07f6f feat(ci): consume canonical proof configuration in fork CI (#2064)
  • d2c4bd3 feat(ci): isolate superseded PR verification (#2104)
  • c4ff11a feat(release): admit reviewed staged artifact inputs (#2067)
  • 171bfda fix(claude-code): preserve LF project responses on Windows (#2093)
  • f4e11b5 fix(cli): compare only plain release versions for updates (#2090)
  • 73ad960 fix(deps): bump golang.org/x/text to v0.41.0 for GO-2026-6629 (#2109)
  • aab0bb7 fix(deps): bump jackc/pgx/v5 to v5.9.2 for GO-2026-5004 (#2108)
  • 5165049 fix(obsidian): reject unsupported export limits (#2074)
  • aec0f4f fix(plugin): isolate Claude Pi guard fixtures from ancestor Git (#2092)
  • fcd9301 fix(plugin): wait for Codex stdin probe publication (#2094)
  • 4a605c1 fix(plugin): wait for Codex stdin probe readiness (#2099)
  • bdabea2 fix(relations): hide unjudgeable cross-project pending pairs (#2081)
  • b5c0365 fix(setup): preserve Codex TOML during legacy cleanup (#2088)
  • 16e06bb fix(store): report incomplete candidate persistence (#2087)
  • 7634092 fix(tests): isolate project fixtures and preserve contract LF (#2084)
  • 233bc04 fix(tests): isolate sync default project from process override (#2085)
  • 5af068f fix(tests): preserve Windows startup lock fixture checks (#2073)
  • 3e06420 fix(tests): respect runtime directory in SQLite HTTP fixture (#2086)
  • 2f4e0bd perf(sync): reuse decoded pending chunks across local import classification and apply (#1845)
  • 98912f8 test(ci): refresh workflow baseline after Go 1.26 update (#2111)

v3.5.4

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:47
5ff24e6

Changelog

  • 5ff24e6 fix(ci): detect module tidiness drift before release tags (#2069)

v3.5.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:58
d85c457

Changelog

  • d85c457 fix(release): ignore generated distribution output (#1959)

v3.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 17:30
41f1254

Engram 3.5.1

Frozen core source: 41f12547. Changes since the last published core release, v3.4.0: 75 merged pull requests.

This fix-forward release was published through Release run 39466387308. The existing v3.5.0 tag remains unchanged after its release attempt failed the module-tidy guard; no core v3.5.0 GitHub Release was published.

Highlights

  • Atomic memory consolidation with plan/confirmation, ownership checks and structured provenance; batch relation judgments and atomic session finalization.
  • Compact search, paginated observation history and Go-owned HTTP/agent workflow contracts.
  • Explicit prompt sharing for Git sync: prompts are excluded from Git chunks by default.
  • Local project aliases and routing previews, optional capture provenance, and explicit HOME project-selection safeguards.
  • Session-owned Pi server lifecycle and bundled-store upgrade recovery; reduced compaction/bootstrap context churn.
  • Fixes for sync session recreation with local children, Claude resume/compaction registration and OpenCode global-session authority.
  • Windows SQLite temporary-storage stabilization; bounded enrolled-journal repair transactions; project deletion tombstones and improved diagnostics.
  • Dashboard refresh and bounded dashboard read-model memory use.
  • Reconciled module checksums to fix the core release tidy guard (#1957): go.sum only, 6 additions and 35 deletions; go.mod and all 95 selected module versions unchanged. Closes #1955.

Upgrade and compatibility

The authorized release pair is Engram 3.5.1 + the existing gentle-engram 0.5.0. The core source above is distinct from Pi 0.5.0's source, fe897f66e964c58284bdc83e6e5447f9ba8364c0; no Pi republishing is planned. Core and Pi version streams are independent. The companion publication guard checks registry name/version, the installer pin, startupPolicy and sessionOwned metadata; it does not require equal core/Pi SemVer or Git SHAs. That guard alone does not prove runtime compatibility.

Setup upgrades the known managed 0.4.2 predecessor while preserving unrelated settings and MCP configuration (#1924). Pi 0.5.0 is already published on npm's candidate channel and as a Pi GitHub Release; latest promotion remains separate and pending. The isolated Windows amd64 runtime and managed-settings upgrade smoke passed for both staging and the actual published core 3.5.1/Pi 0.5.0 pair. npm latest promotion remains a separate pending operation. Back up your data and configuration before upgrading. This release does not claim full Go/Pi semantic parity or validation of every downstream Shell bundle upgrade.

Verification and limits

  • Actual source-fix evidence: checksum tidy RED/GREEN, module verification, unchanged selected-module comparison and independent bounded review PASS. Normal PR #1957 CI and merge-queue CI passed. The final merged core source above has parent fe897f66e964c58284bdc83e6e5447f9ba8364c0 and tree 6752db1a3f1185d24459b6aedb6ac60ad184601b, matching the reviewed checksum-fix tree. Issue #1955 is closed.
  • Exact merged-source main CI 39461390767 passed for core source 41f1254796d49233d7bcb11741093bc09eb386ff; the observer exited 0. This is source-CI evidence, not validation of a new release artifact.
  • Core 3.5.1 staging 39462750335 / attempt 1 succeeded for the frozen source. Artifact 12283567571 matched its API archive digest; all 14 payload files and six clean-source VCS buildinfo records were verified. The locally packed Pi 0.5.0 tarball is byte-identical to the already-published package. The staged pair's isolated Windows amd64 runtime/managed-settings upgrade smoke passed all 11 checks. Core 3.5.1 publication and actual public-asset/runtime verification succeeded within the scope below.
  • Historical evidence only: the old staged core 3.5.0 and companion 0.5.0, both from fe897f66, passed an isolated Windows x64 genuine Pi 1.3.0 search/save/search smoke, authentication, managed-settings migration and owned-process shutdown checks. Pi 0.5.0 publication succeeded; its published tarball matched the staged bytes and its provenance identity was inspected (cryptographic signature-chain verification was not claimed). These results remain valid for those identities, not for new core 3.5.1 artifacts.
  • Actual public assets: all seven downloaded files matched GitHub API names, sizes and SHA256 digests; the six archives also matched checksums.txt. All six executables report Go 1.25.10, the expected OS/architecture and source revision 41f12547. Public binaries differ from staging and report vcs.modified=true / +dirty; no post-build tracked-clean proof or signed-attestation equivalence is claimed.
  • Actual public-pair runtime evidence: the downloaded Windows amd64 binary (SHA256 cfd90c4572428c68c702b24e990c1cd3912f977dc8bc59d678d9337520bdbc2e) and the verified public Pi 0.5.0 bytes passed all 11 checks in genuine Pi 1.3.0. Native empty search → save → search, HTTP 401/200 authentication, managed 0.4.2→0.5.0 settings migration preserving unrelated settings/MCP, and owner/child shutdown passed. The independent probe ran once and exited 0; all children and the loopback model server closed. Pi lifecycle stderr traces are expected. Coverage is Windows amd64 with synthetic private fixtures, not real-user upgrades, every platform installation or every downstream Shell bundle upgrade.
  • Homebrew formula metadata was checked at version 3.5.1: all four Darwin/Linux URLs and archive hashes match this release. No Homebrew installation was performed.
  • Windows binaries are not Authenticode-signed; Smart App Control and Defender reports remain separate open investigations (#1703, #1912).

Contributors

Thank you @dnlrsls, @danielgap, @MataM15, @josegarvinvictoria, @pablon, @Alan-TheGentleman, @NotMxx, @akushonkamen, @LucasOliveira-dev2026 for the contributions included in this release range. Individual PR credits and first-time contributors are listed below.

What's Changed

  • fix(store): isolate manual saves from foreign session owners by @dnlrsls in #1797
  • fix(hooks): make session confirmation timeout configurable by @dnlrsls in #1798
  • feat(review): add data-preserving sync guidance by @dnlrsls in #1800
  • fix(doctor): explain unsupported observation-source repairs by @dnlrsls in #1799
  • fix(store): classify rescued session ownership atomically by @dnlrsls in #1801
  • feat(sync): bound dead deferred rows with conflicts prune by @danielgap in #1783
  • feat(store): add atomic ConsolidateObservations with plan/confirm (#242 slice 1 of 3) by @danielgap in #1782
  • feat(store): schedule reviews for five knowledge types by @dnlrsls in #1803
  • fix(plugin): bind resumed Claude sessions to their live continuation by @MataM15 in #1765
  • fix(sync): exclude prompts from Git chunks unless explicitly shared by @dnlrsls in #1806
  • feat(ci): add inactive linked-issue validation evaluator by @dnlrsls in #1812
  • feat(pi): add canonical topic workflow to the memory protocol by @josegarvinvictoria in #1653
  • feat(cli): add explicit prompt sharing for Git sync by @dnlrsls in #1813
  • feat(store): preserve structured consolidation provenance (slice 2) by @dnlrsls in #1818
  • feat(ci): add inactive bounded issue-check publisher by @dnlrsls in #1819
  • feat(ci): bootstrap trusted issue approval refresh by @dnlrsls in #1823
  • feat(store): bind consolidation to expected source owner by @dnlrsls in #1824
  • docs: unify memory protocol across all agent surfaces by @pablon in #1787
  • feat(mcp): expose confirmed atomic memory consolidation by @dnlrsls in #1825
  • fix(pi): preserve fake CLI invocation logs on Windows by @dnlrsls in #1829
  • feat(store): older history integration tracker (draft, no merge) by @dnlrsls in #1815
  • feat(ci): add trusted native issue-policy PR jobs by @dnlrsls in #1838
  • refactor(cli): extract doctor sync repair orchestration by @dnlrsls in #1837
  • test(store): cover consolidation provenance sequences by @dnlrsls in #1836
  • test(cloud): measure mutation pause lookup amplification by @dnlrsls in #1842
  • feat(ci): add guarded native metadata rerun helper by @dnlrsls in #1843
  • feat(mcp): add batch judgments and atomic session finalization by @dnlrsls in #1840
  • test(cloudstore): characterize dashboard cache read behavior by @dnlrsls in #1848
  • test(cloudstore): measure dashboard rebuild SQL ...
Read more

gentle-engram v0.5.0

Choose a tag to compare

@dnlrsls dnlrsls released this 20 Oct 08:28
fe897f6

gentle-engram 0.5.0

Source: fe897f66. Changes since gentle-engram 0.4.2 / pi-v0.4.2 (the npm predecessor, not the older GitHub Pi release).

Highlights

  • Session-owned core startup/shutdown and bundled-store recovery across core upgrades.
  • Align the default Pi memory tool profile with the Go-owned Agent contract and share compound workflow validation.
  • Compact memory search and paginated observation history through the HTTP/Pi workflows.
  • Canonical search/read/update memory workflow and unified protocol guidance.
  • Package the Go-owned runtime comparison assets and add local package validation plus real HTTP workflow coverage.
  • Keep post-compaction recovery instructions out of the system prompt to reduce unnecessary prompt re-reading.
  • Isolate primary-runtime contract fixtures from inherited delegated-agent roles and improve Windows fixture portability.

Upgrade from 0.4.2

Version 0.5.0 and the matching core setup pins include migration of the known managed 0.4.2 predecessor while preserving unrelated settings and MCP configuration (#1924).

Compatibility and publication

Core publication status: Engram 3.5.1 is published from source 41f1254796d49233d7bcb11741093bc09eb386ff. The original v3.5.0 tag remains unchanged after its checksum-preflight failure. The actual public Windows amd64 core 3.5.1/Pi 0.5.0 pair passed an independent 11-check runtime and managed-settings upgrade smoke. gentle-engram 0.5.0 remains on npm's candidate channel; latest promotion is a separate pending operation, not a package republication. Full Go/Pi semantic parity, real-user upgrades and every downstream Shell bundle upgrade are not claimed. Back up data and configuration before upgrading.

Verification and limits

  • Source CI passed for the exact release commit.
  • Staged and actual public Windows amd64 core 3.5.1/Pi 0.5.0 artifacts passed separate isolated genuine Pi 1.3.0 native search/save/search, authentication, managed-settings migration and owned-process shutdown checks. The actual public probe ran once and exited 0 with all 11 checks passing. The Pi tarball matches the published package bytes; core archive hashes match GitHub API digests and checksums.txt.
  • Core binaries report source revision 41f12547 with vcs.modified=true / +dirty and differ from staging; actual public runtime was tested rather than inheriting staging approval. No post-build tracked-clean proof or cryptographic signature-chain verification is claimed.
  • No real-user database or installation was used. These checks do not certify every downstream Shell bundle upgrade.
  • Windows binaries are not Authenticode-signed; Smart App Control and Defender reports remain separate open investigations (#1703, #1912).

Contributors

Thank you @dnlrsls, @Alan-TheGentleman, @josegarvinvictoria and @pablon for changes in the Pi package/setup range. Credits below identify the associated contributions.

Changes since pi-v0.4.2

  • feat(pi): add canonical topic workflow to the memory protocol by @josegarvinvictoria in #1653

  • docs: unify memory protocol across all agent surfaces by @pablon in #1787

  • fix(pi): preserve fake CLI invocation logs on Windows by @dnlrsls in #1829

  • fix: recover bundled stores across core upgrades and stop session-owned servers with Pi by @Alan-TheGentleman in #1854

  • fix(pi): preserve owned startup fixture checks on Windows by @dnlrsls in #1862

  • feat(search): expose compact search through HTTP and Pi by @dnlrsls in #1863

  • feat(history): expose paginated observation history through HTTP and Pi by @dnlrsls in #1869

  • feat(release): add rejection-only candidate checker by @dnlrsls in #1874

  • feat(release): validate local Pi package tarballs by @dnlrsls in #1882

  • fix(pi): integrate Go-owned agent profile on main by @dnlrsls in #1884

  • test(pi): integrate real HTTP workflow coverage on main by @dnlrsls in #1886

  • feat(capture): preserve optional project provenance by @dnlrsls in #1885

  • feat(runtime-contract): generate current Go-owned HTTP projection by @dnlrsls in #1893

  • feat(pi): package Go runtime comparison assets by @dnlrsls in #1904

  • feat(release): guard companion publication order by @dnlrsls in #1936

  • fix(pi): keep compaction recovery out of the system prompt by @dnlrsls in #1946

  • fix(pi): isolate native contract fixtures from delegated roles by @dnlrsls in #1950

  • feat(release): prepare compatible session-owned candidate pair by @dnlrsls in #1924

Full repository comparison: pi-v0.4.2...pi-v0.5.0

v3.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 15:38
5c41718

Changelog

  • 2eb9f51 feat(store): add read-only compatibility evidence (#1792)
  • 5c41718 fix(store): accept WAL-mode headers in compatibility probe (#1794)
  • 819ffc1 fix(store): check ignored errors in compatibility code (#1793)