Skip to content

Releases: Gentleman-Programming/engram

v1.14.9

29 Apr 07:50

Choose a tag to compare

Summary

  • Fixed autosync incorrectly marking pending cloud mutations as acknowledged before any server push occurred.
  • Added a clear non_enrolled_pending_mutations diagnostic when autosync is blocked by local project enrollment state.
  • Surfaced persisted sync diagnostics in engram cloud status so users can see the required enrollment action.

Validation

  • go test ./...
  • Main CI passed.
  • Release workflow passed.

Upgrade guidance

Upgrade both clients that run engram serve and any self-hosted cloud server, then retry autosync. If engram cloud status reports non_enrolled_pending_mutations, run engram cloud enroll <project> for the intended project and retry.

v1.14.8

28 Apr 19:31

Choose a tag to compare

Summary

  • Fixes cloud chunk uploads blocked by chunk_id does not match payload content hash.
  • Makes the cloud server authoritative for canonical chunk IDs while preserving payload validation and content-addressed storage.

Details

  • /sync/push now accepts valid chunk payloads even when the client-provided chunk_id is empty or differs from the server-computed canonical hash.
  • The server still canonicalizes and validates the payload before storage.
  • Storage and response use the server-computed chunk_id, not the client-provided value.
  • This prevents client/server canonicalization version skew from blocking last_acked_seq and accumulating pending cloud journal entries.

Validation

  • Double adversarial review returned clean.
  • go test -count=1 ./internal/cloud/cloudserver ./internal/cloud/remote ./internal/sync ./internal/store ./internal/mcp ./cmd/engram
  • git diff --check

v1.14.7

28 Apr 19:13

Choose a tag to compare

Summary

  • Serializes MCP write tools through an explicit queue to prevent concurrent SQLite write contention.
  • Fixes a mem_save timeout path exposed by v1.14.6 by closing candidate-search rows before follow-up writes.
  • Keeps MCP read tools direct so searches/current-project lookups do not wait behind writes.

Details

  • Queued MCP write tools: mem_save, mem_update, mem_delete, mem_save_prompt, mem_session_summary, mem_session_start, mem_session_end, mem_capture_passive, mem_merge_projects, and mem_judge.
  • Read tools such as mem_search, mem_context, mem_current_project, and mem_get_observation remain direct.
  • Queue cancellation is worker-owned so callers do not receive a false cancellation for a write that already started.
  • Panics in a write handler are isolated so the queue worker stays alive for later writes.
  • Queue backpressure returns a clear retryable error instead of hanging.

Validation

  • Double adversarial review returned clean after fixing the cancellation race.
  • go test -count=1 ./internal/mcp ./internal/store ./cmd/engram ./internal/setup
  • go test -race ./internal/mcp -run 'Test(WriteQueue|ReadHandlerDoesNotWaitBehindBlockedQueuedWrite)' -count=1
  • git diff --check

v1.14.6

28 Apr 11:21

Choose a tag to compare

Summary

  • Hardened CLI edge cases around help handling, update checks, and manual saves.
  • Improved Claude Code hook reliability for session import and reminder timestamp parsing.
  • Strengthened SQLite/project merge behavior with regression coverage.

Details

  • engram save now records the current working directory for manual-save sessions.
  • engram cloud --help, engram cloud enroll --help, and engram sync --help return usage without creating local state.
  • mcp, serve, and cloud serve skip update checks on startup-sensitive paths.
  • Claude session-start import now runs in the background with timeout-safe single-flight locking.
  • Claude reminder timestamps now support RFC3339, offset timestamps, and SQLite-style timestamps without fallback-to-zero nudges.
  • SQLite store initialization uses a single open connection early, and migration helpers close rows before schema writes.
  • Project merge now consolidates deterministic legacy aliases while preserving canonical idempotency.

Validation

  • Judgment Day adversarial review passed after iterative fixes.
  • go test -count=1 ./cmd/engram ./internal/store ./internal/setup ./internal/mcp
  • bash -n plugin/claude-code/scripts/session-start.sh
  • bash -n plugin/claude-code/scripts/user-prompt-submit.sh
  • git diff --check

v1.14.5

27 Apr 13:58

Choose a tag to compare

Changelog

  • 3b99f0a fix(claude): use current MCP tool names in hook

v1.14.4

27 Apr 09:34

Choose a tag to compare

Engram v1.14.4 — Guided repair for cloud sync failures

Patch release for Engram Cloud sync diagnostics.

Fixed

  • Known repairable cloud sync/upsert/canonicalization failures now keep the original error visible and append actionable recovery guidance.
  • Foreground engram sync --cloud --project <project> now recommends the explicit doctor and repair flow when a repairable failure is detected.
  • Autosync stores the same guidance in its failure message so status/dashboard surfaces can show the next steps.
  • No automatic repair is performed. Engram never runs repair --apply from sync or autosync.

Recommended repair flow

engram cloud upgrade doctor --project <project>
engram cloud upgrade repair --project <project> --dry-run
engram cloud upgrade repair --project <project> --apply
engram sync --cloud --project <project>

Validation

  • Main CI passed for c350b6c.
  • Release workflow completed successfully.

Upgrade

brew update && brew upgrade engram

v1.14.3

27 Apr 09:08
a477c9d

Choose a tag to compare

Engram v1.14.3 — Claude MCP tool discovery repair

Patch release for Claude Code users hitting intermittent MCP tool discovery failures.

Fixed

  • Repaired Claude Code MCP permissions setup without adding startup delay.
  • engram setup claude-code now derives allowlist entries from the actual agent tool profile.
  • Setup writes permissions for both current durable MCP server ids and legacy plugin-scoped ids:
    • mcp__engram__...
    • mcp__plugin_engram_engram__...
  • Removed the stale hardcoded ToolSearch fallback from the Claude memory skill.

Validation

  • PR #192 merged after CI and PR validation passed.
  • Release workflow completed successfully for a477c9d.

Upgrade

brew update && brew upgrade engram

After upgrading, run:

engram setup claude-code

Then restart Claude Code so the repaired MCP config and permissions are loaded.

v1.14.2

27 Apr 06:46

Choose a tag to compare

Engram v1.14.2 — MCP implicit session sync fix

Patch release for MCP users syncing with Engram Cloud.

Fixed

  • MCP implicit/default sessions now persist the process current working directory.
  • Session upsert sync mutations created by MCP now include a valid directory field.
  • Fixes cloud sync failures like:
canonicalize cloud chunk: mutations[N]: session payload directory is required for upsert

Validation

  • Added regression coverage for mem_save, mem_save_prompt, and mem_session_summary.
  • CI is green for 39d48e9.

Upgrade

brew upgrade engram

v1.14.1

26 Apr 18:41

Choose a tag to compare

Engram v1.14.1 — Correct GHCR image package

Patch release for the official Engram Cloud Docker image.

Fixed

  • Publishes the official container image under the correct GHCR package:
    • ghcr.io/gentleman-programming/engram:v1.14.1
    • ghcr.io/gentleman-programming/engram:latest
    • ghcr.io/gentleman-programming/engram:1.14.1
    • ghcr.io/gentleman-programming/engram:1.14
    • ghcr.io/gentleman-programming/engram:1
  • Updates Dokploy/Coolify/Portainer docs and compose examples to use ghcr.io/gentleman-programming/engram.
  • Keeps the cloud image default command as engram cloud serve.
  • Aligns the session-delete E2E expectation with the new synced delete behavior.

Context

v1.14.0 introduced Memory Conflict Surfacing and the first GHCR publishing workflow. v1.14.1 corrects the package name so the image is attached to the existing engram package/repository instead of a separate engram-cloud package.

v1.14.0

26 Apr 18:22

Choose a tag to compare

Engram v1.14 — Memory Conflict Surfacing

Your agent can now detect when persistent memories contradict each other, resolve safely when confidence is high, and ask you in conversation when it is not sure.

No CLI flow to learn. No dashboard required. No breaking changes.

Memory Conflict Surfacing

This release closes a long-standing problem in persistent agent memory: what happens when memory contradicts itself.

Classic examples:

  • Three months ago you said “use Clean Architecture”; today you say “move to Hexagonal”. Without conflict awareness, an agent averages both and applies a Frankenstein architecture.
  • Two people on a shared project give contradictory context to the same memory layer.
  • You changed stack six months ago, but old memories still influence new decisions.

Before v1.14, Engram stored all of those memories and agents operated over partial truths. Now Engram detects the collision when new memory is saved.

How it works

The flow changes underneath normal memory saves:

  1. New memory is saved.
  2. Engram searches similar candidates with FTS5 plus topic-family matching.
  3. If candidates exist, the agent receives them with a judgment_id.
  4. The agent decides:
    • Same thing, no conflict → mark and continue.
    • Real contradiction with high confidence → resolve directly.
    • Not sure → ask you naturally in the conversation.
  5. The resolution is stored with a full audit trail: who decided, when, model, confidence, and reason.

When the agent asks, it is not a modal or a clickable prompt. It is normal chat:

“I see two architecture memories that conflict: one says Clean Architecture and one says Hexagonal. Which one is current?”

You answer normally. The agent persists the answer. Done.

What to expect after updating

  • Cleaner searches: superseded memories are surfaced with context such as supersedes: #42.
  • Real audit trail: each decision records who, when, model, confidence, and rationale.
  • Multi-persona ready: if two different agents judge the same pair, both judgments persist instead of overwriting each other.
  • Zero configuration: existing Engram users can upgrade and keep working.

Engram Cloud and deployment improvements

  • Added official multi-arch Docker image publishing for Engram Cloud:
    • ghcr.io/gentleman-programming/engram-cloud:latest
    • ghcr.io/gentleman-programming/engram-cloud:v1.14.0
    • ghcr.io/gentleman-programming/engram-cloud:1.14.0
    • ghcr.io/gentleman-programming/engram-cloud:1.14
    • ghcr.io/gentleman-programming/engram-cloud:1
  • Supported image platforms: linux/amd64 and linux/arm64.
  • Added a GHCR compose example for Dokploy, Coolify, Portainer, and VPS deployments.
  • The cloud image now defaults to engram cloud serve, so registry-based platforms do not need a custom command override.
  • Session deletes now propagate through sync, so cleaning empty local sessions can remove them from cloud/other clients instead of leaving stale empty sessions behind.

What is not in this release

Phase 2 will add:

  • Cloud sync for memory conflicts. Conflict data is local-only in this release.
  • Maintainer dashboard views for team disagreements.
  • Decay activation for old decisions that need ratification.
  • Semantic detection via embeddings. Phase 1 uses FTS5 plus agent judgment.

The schema already supports the roadmap; the remaining work is logic and UX.

Stats

  • 17 MCP tools, up from 16.
  • 13 tools in the agent profile, up from 12.
  • Around 50 new tests.
  • 0 known regressions.
  • 0 breaking changes.
  • Coverage: store 78.5%, MCP 94.9%.

Upgrade

brew upgrade engram

For Engram Cloud via Docker:

image: ghcr.io/gentleman-programming/engram-cloud:v1.14.0