v1.15.1

Gentleman-Programming/engramv1.15.1Apr 30, 2026by github-actions[bot]

Upgrading?

Release notes summary

This patch fixes local import reliability, implements canonical project write locking, and stabilizes TUI ordering for sessions and observations.

Key Highlights

  • Improved local sync import reliability with dependency-safe mutations.
  • Added repo-scoped `.engram/config.json` support for canonical project locking.
  • Stabilized recent sorting to use creation time with deterministic tie-breakers.
  • Improved error messages for missing dependencies.

New Features

  • Local import reliability improvements
  • Project locking configuration via `.engram/config.json`

Full Release Notes

## Summary

Engram v1.15.1 is a patch release for the issue #296 recovery path: local import reliability, canonical project locking, and stable TUI ordering.

## Fixes

### Local sync import reliability

- `engram sync --import` now imports local chunks through the dependency-safe mutation path.
- Local chunks are converted to ordered mutations before apply, so sessions are applied before observations/prompts.
- Cross-chunk dependencies can now progress even when the manifest lists dependent observations before their sessions.
- Missing dependencies now fail with a clearer dependency-safe stall error instead of only surfacing a raw SQLite FK failure.

### Canonical project write lock

- Added repo-scoped `.engram/config.json` support with `project_name`.
- Write tools use the configured project from the repo root and ignore agent-supplied project drift.
- Invalid config fails writes loudly instead of silently falling back.

Example:

```json
{
  "project_name": "sias-app"
}
```

### Stable recent ordering

- Recent observations now sort by creation time with a deterministic ID tie-breaker.
- Recent sessions now sort by latest session/observation time with deterministic tie-breakers.
- This makes TUI “latest” views match creation time instead of appearing ID-driven.

## What is intentionally not included

This patch does not implement the full persistence RFC from #296. It does not replace all IDs, remove chunk sync, add cloud/local inserted timestamps, or add a sync conflict DLQ. Those remain design topics.

## Upgrade

```bash
brew update
brew upgrade engram
```

After upgrading, if you use Claude Code hooks, rerun:

```bash
engram setup claude
```

Related Repositories