What's New
This release fixes the cloud recovery parity gap where mutation-backed current state could be visible in cloud/dashboard data but missing from fresh chunk/manifest recovery.
Changes
Bug Fixes
- Mutation-to-chunk materialization: accepted mutation pushes now also create compatible
cloud_chunkspayloads for sessions, observations, and prompts. - Fresh recovery parity: chunk/manifest bootstrap can recover entities that arrived through the mutation path after this release.
- Automatic startup repair:
engram cloud servenow materializes existing mutation-only rows for everyENGRAM_CLOUD_ALLOWED_PROJECTSentry at startup. - Explicit repair command: added
engram cloud repair materialize-mutations --project <project> (--dry-run|--apply)for operator verification and re-runs. - Legacy schema compatibility: cloud migrations now handle older Postgres schemas missing modern
cloud_chunks.payload, count columns,cloud_mutations.project, and textcloud_project_controls.updated_by.
Validation
- Postgres-backed backfill tests ran against Docker Postgres (not skipped).
- Full Go suite and server E2E tests passed.
Operator Notes
After upgrading and restarting engram cloud serve, automatic repair runs for allowed projects. To verify manually:
ENGRAM_DATABASE_URL='postgres://...' engram cloud repair materialize-mutations --project sias-app --dry-runA healthy post-repair run should report no remaining planned chunks, or existing mutations as already materialized.
Upgrade
brew upgrade engram