Skip to content

Releases: JJHbrams/Project-AMBER

AMBER (ENGRAM) v1.5.14

Choose a tag to compare

@JJHbrams JJHbrams released this 07 Sep 05:47

Follow-up to v1.5.13. Source only — no new installer. Install with the AMBER_1.5.12.661_x64-setup.exe asset on the v1.5.12 release.

v1.5.13 stopped the installer from destroying agent definitions you own. It also, unintentionally, stopped it from updating the ones we manage.

What went wrong in v1.5.13

Ownership was decided from the provenance record alone. Definitions deployed before that record existed had no entry, so every one of them was classified as yours and skipped. The practical result: planner, coder, and servant froze at whatever content they had, and no future improvement to them would ever reach a source install.

What changed

Ownership now has a second, safe signal. If the file on disk is byte-identical to the definition we ship, it is not your work — the record is simply missing. Those files are adopted and kept current. Anything whose content differs is still left alone, exactly as in v1.5.13.

How to apply this hotfix

If you installed from source with INSTALL.ps1 — this is the only path that was ever affected.

cd <your checkout>
git pull
.\INSTALL.ps1

The deployer runs straight from the checkout, so there is nothing else to do. On this run you should see the three managed definitions listed without SKIP; that is the adoption.

If you installed with the AMBER installer — nothing to do. The deployer is invoked only from modules/07_shims.ps1, so an installed copy never took this path. The fix ships with the next installer release.

Files already overwritten are not recovered. Before v1.5.13 no backup was taken — that was the defect. If you have ever installed from source and owned a planner, coder, or servant definition, check whether it is still yours. Recover from your own version control if you have it.

To deliberately reset the managed definitions to current:

.\installer\deploy_agent_definitions.ps1 -ProjectRoot . -UserProfile $env:USERPROFILE -Force

-Force backs each file up to .engram-bak before overwriting.

Validation

The adoption regression was run against the v1.5.13 script: it fails there and passes here, and it is the only test whose result changes — the protections for user-authored files hold in both versions.

AMBER (ENGRAM) v1.5.13

Choose a tag to compare

@JJHbrams JJHbrams released this 07 Sep 05:28

Superseded by v1.5.14. This release decided ownership from its provenance record alone, so definitions deployed before that record existed were skipped and would never receive a future update. Take v1.5.14 instead — it keeps the protection and restores the updates.

Hotfix. Source only — no new installer. Install with the AMBER_1.5.12.661_x64-setup.exe asset on the v1.5.12 release; this release changes an installer-side script and carries no new binary.

Deploying the managed planner/coder/servant subagent definitions could destroy an agent of the same name that you had written yourself.

What went wrong

The deployer copied with -Force unconditionally. planner, coder, and servant are ordinary names — you may well own one already — and it was overwritten with no backup and no warning. Reproduced in an isolated profile before fixing it: a hand-written coder.md disappeared in a single deployment run.

What changed

  • The deployer records the SHA-256 of what it wrote in ~/.engram/agent-definitions.json, and replaces a file only when the file on disk still matches that record.
  • Anything else — a file you authored, or one of ours you have since edited — is skipped, and the skip is printed rather than passed over in silence. If your agent stops being picked up, the install log now says why.
  • One skipped file does not stop the rest. The other roles still deploy.
  • -Force still overwrites, but backs the file up to .engram-bak first. An irreversible action leaves a way back.

Nothing about the provider-specific formats or destinations changed: .md to ~/.claude/agents, .agent.md to ~/.copilot/agents, .toml to ~/.codex/agents.

Who was exposed

Installs and reinstalls run from source with INSTALL.ps1. The deployer was only ever invoked from modules/07_shims.ps1, so machines set up with the AMBER installer never took this path.

If you installed from source and had your own planner, coder, or servant definition, check whether it is still yours. There is no backup from before this fix — that is the defect.

Validation

The three new regressions were run against the pre-fix script: they fail there and pass after, so they count the cause rather than the symptom.

How to apply this hotfix

If you installed from source with INSTALL.ps1 — the only path that was affected:

cd <your checkout>
git pull
.\INSTALL.ps1

The deployer runs straight from the checkout, so there is nothing else to do.

If you installed with the AMBER installer — nothing to do. The deployer is invoked only from modules/07_shims.ps1, so an installed copy never took this path. The fix ships with the next installer release.

To deliberately reset the managed definitions to current:

.\installer\deploy_agent_definitions.ps1 -ProjectRoot . -UserProfile $env:USERPROFILE -Force

-Force backs each file up to .engram-bak before overwriting.

AMBER (ENGRAM) v1.5.12

Choose a tag to compare

@JJHbrams JJHbrams released this 06 Sep 16:11

Install with AMBER_1.5.12.661_x64-setup.exe (199,920,978 bytes, SHA-256 6f40260fb31de9c21281808157b43f7614f0205405f98f7b5b0693994592e50d). This release folds in v1.5.9 through v1.5.12.

Offline machines: the optional FP32 ModelPack is unchanged since v1.5.8 — core/install/model_manifest.py and resource/embedding-model/ are byte-identical — so download AMBER_1.5.8.552_FP32_ModelPack.zip from the v1.5.8 release and import it with --role model-cache --import-pack <zip>. It is not duplicated here.

AMBER (ENGRAM) v1.5.12 makes the overlay's bubble chat usable with an externally started renderer. Engram now hosts an authenticated loopback Event API that renderers connect to on their own, and it never launches, terminates, or inspects a renderer process.

External overlay Event API v2

  • Token-authenticated JSONL on 127.0.0.1. Renderers read ~/.engram/overlay-event-api-v2.json, register, and reconnect with bounded backoff after a host restart rotates credentials.
  • One connection may advertise several logical renderers as a catalog; Engram promotes a replace owner only after the matching renderer.ready.
  • Published policy is metadata-only. Prompts, thinking, tool I/O, file paths, and memory contents are never sent.
  • Engram stores only a renderer's logical ID and mode — never executables, arguments, working directories, manifests, or asset paths. Legacy command-based configuration is diagnosed but never executed.

The bubble chat no longer stalls

Two blocking calls sat on the Tk main thread and only fired on the external-renderer path, which is why this never showed with the bundled character.

  • Persisting renderer geometry ran a synchronous yaml round trip and fsync — 49 ms on the measured machine (p95 72 ms), once per reported geometry change. It is now queued and coalesced on a writer thread, while reads replay unflushed updates so a caller still observes its own write. A one-second drag reporting 20 updates went from roughly 980 ms of frozen UI and 20 disk writes to 1.209 ms and a single write.
  • Publishing an event ran a blocking sendall. A renderer that paused reading filled the socket buffer and froze the host for a full second before the renderer was dropped. Outbound is now a bounded per-client queue with its own thread; only semantic events are shed under pressure, never position, visibility, or handshake messages.
  • Renderer input is drained every 10 ms instead of every 50 ms.

Bubble z-order follows what the user actually does

The answer bubble stays in front while the reply is written and after it completes, wherever the user happens to be working. It steps behind the window the user clicks, and returns when the overlay is clicked again. The input bar follows the same rule — under a replace renderer the host never wins the OS foreground, so its previous focus-scoped rule could never fire and the input bar opened underneath other windows.

Also in this release

  • Restarting returns to the presentation the user was in, without the renderer playing an exit animation and immediately reappearing. The click is answered in about 176 ms instead of leaving a dead window painted for roughly ten seconds.
  • Declarative bundled sprite timelines: first-cell hold substitution, loop and one-shot completion, layered frames, deterministic ranged holds, bucket rotation.
  • The speech bubble's tail tip can be dragged apart from the body; the direction persists with existing bubble position state.
  • Bash is classified as execute in tool_category. PowerShell matched shell while bash contains none of the generic verbs, so it had been falling through to other.
  • Subagent definitions moved from config/skills/ to config/agents/<provider>/, deployed by installer/deploy_agent_definitions.ps1.
  • Console windows no longer flash when guards and policy hooks invoke git from console-less GUI processes.

Validation

  • AMBER release source: 755 tests passed. The remaining failures are outside this change and reproduce identically on the unchanged development baseline — most need the optional kuzu package, some assert manual prose, two read the developer's own overlay.user.yaml (they pass under an isolated profile), and one is a pre-existing tunnel mock.
  • Measured against a live host with a real external replace renderer: input-to-reaction round trip p50 10.8 ms / p95 15.4 ms, and 1,049 broadcasts pushed at a peer that had stopped reading left that round trip unchanged with no loss.
  • Z-order was confirmed on screen rather than by assertion alone: the answer bubble sits above the active window while answering, is occluded by an application the user clicks, and returns to the front when the character is clicked again.

Design notes, sequence and timing diagrams, and the measurements are in docs/dev/external-overlay-bubble-flow.md.

AMBER (ENGRAM) v1.5.8

Choose a tag to compare

@JJHbrams JJHbrams released this 01 Sep 00:22

AMBER (ENGRAM) v1.5.8 reduces the main Windows installer by moving the exact FP32 semantic model payload into a verified first-use cache.

  • Main installer: 199,836,679 bytes, 52.4% smaller than v1.5.7.
  • Exact intfloat/multilingual-e5-small FP32 revision and normalized 384-dimensional outputs are preserved.
  • First-use hydration is pinned, SHA-verified, and atomically published.
  • Semantic vectors are isolated by immutable manifest SHA provenance.
  • Offline PCs can download the optional FP32 ModelPack asset and import it with the installed executable's --role model-cache --import-pack <zip> command.

Validated with a fresh frozen build, runtime/embedding/role/dashboard smoke tests, 57 semantic and payload regression tests, and an offline frozen model-pack import with HF_HUB_OFFLINE=1.

The literal v1.2 GUI in-place upgrade remains a noncritical post-release field verification.

AMBER (ENGRAM) v1.5.7

Choose a tag to compare

@JJHbrams JJHbrams released this 31 Aug 15:24

AMBER (ENGRAM) v1.5.7

설치 제품명을 **AMBER (ENGRAM)**으로 정리하고, 구버전 업그레이드와 대시보드 DB 경로 문제를 수정한 패치 릴리스입니다.

주요 변경

  • Windows 설치 마법사, 앱 목록, 시작 메뉴, 자동 시작 바로가기를 AMBER (ENGRAM)으로 표시
  • 설치 파일명을 AMBER_1.5.7.548_x64-setup.exe로 변경
  • 기존 engram-overlay.exe, engram-overlay 명령, AppId, 설치 경로, 설정 키는 그대로 유지
  • 기존 Engram Overlay.lnk / engram-overlay.lnk를 새 바로가기 이름으로 안전하게 정리
  • v1.2 계열처럼 Wiki guides/manual이 비어 있는 기존 환경에서도 설치 bootstrap이 관리형 문서 12개를 생성
  • Streamlit 대시보드가 하드코딩 경로 대신 선택한 DB/Wiki 디렉터리를 사용하고 DB 경로별 cache를 분리
  • Codex, Claude Code, Antigravity 공급자 설정·hook·문서를 현재 계약에 맞게 동기화

외부 오버레이 개발

예제와 reference implementation: https://github.com/JJHbrams/engram-overlay

검증

  • Release version: 1.5.7.548
  • Development source: 63d9eb01544226340211cdcfd22d287b4dc32d06
  • Release-relevant regression: 38 tests passed
  • Fresh frozen runtime/embedding/role/dashboard smoke passed
  • Custom DB smoke: negative control, bootstrap, dashboard AppTest, HTTP health passed
  • Managed manual manifest: 12/12 installed
  • Inno Setup 6.7.3 release compile passed

실제 v1.2 설치본에서 GUI in-place upgrade를 수행할 disposable Windows VM은 이번 릴리스 환경에 없어, 해당 시나리오는 field verification 항목으로 남겨두었습니다.

SHA-256

7D09488A29CD7943D922E14900A59E122A89B78E4AD8AE85ABDADC62EAA1B065 AMBER_1.5.7.548_x64-setup.exe

Engram Overlay v1.5.6

Choose a tag to compare

@JJHbrams JJHbrams released this 26 Aug 10:47

Engram Overlay v1.5.6

외부 오버레이 연동과 배포 버전 추적을 정식 릴리스합니다.

주요 변경

  • Settings GUI에서 검증된 manifest를 선택하고 observer/replace 모드로 적용
  • observer 클릭 위치를 같은 말풍선 세션의 활성 앵커로 사용
  • renderer EOF, 잘못된 JSONL, handshake 실패 시 번들 오버레이와 말풍선 앵커 복구
  • replace 재시작 시 Engram에 저장된 위치를 우선하여 위치 이탈 방지
  • source, frozen EXE, build manifest, Inno installer에 4자리 버전 일치
  • directive 등록 preview/승인/1회용 commit gate

외부 오버레이 개발

예제와 reference implementation: https://github.com/JJHbrams/engram-overlay

검증

  • Release version: 1.5.6.523
  • Source commit: e3e677b
  • Focused regression: 107 tests passed
  • Fresh frozen runtime/embedding/smoke/dashboard checks passed
  • Existing 1.5.5.504 installation upgraded in place; settings and replace position preserved

SHA-256

8A7577B269641C32FABFA4BEE0DB8415765ABF725BA08EED40B8ABFFE084B537 EngramOverlay_1.5.6.523_x64-setup.exe

Engram Overlay v1.5.5

Choose a tag to compare

@JJHbrams JJHbrams released this 20 Aug 05:02

Engram Overlay v1.5.5 separates non-terminal session checkpoints from irreversible closure and hardens STM lifecycle safety.

Highlights:

  • Adds engram_summarize_session with durable message watermarks while keeping sessions open.
  • Makes engram_close_session a terminal boundary with final checkpoint and cache-binding invalidation.
  • Rejects writes to ended sessions and creates linked continuation sessions for stale implicit fingerprints.
  • Adds trusted journal provenance so subagents cannot write root-session Daily journals.
  • Writes one replaceable external Obsidian Daily snapshot per KG project/day while preserving the managed Wiki Daily ledger.
  • Extends policy guidance across Codex, Claude Code, Copilot, and Goose.

Validation:

  • 480 AMBER source tests passed in an isolated Windows profile.
  • Reuses the prevalidated frozen installer without rebuilding.
  • Installer size: 419,609,396 bytes.
  • SHA-256: CE1A12D69BE2728F90CF5AA85C2718E24954356E61CF60BF71E719289C07D106

Upgrade preserves existing databases, Wiki content, and Daily notes. Historical messages stranded after prior closes are not moved automatically.

Engram Overlay v1.5.4

Choose a tag to compare

@JJHbrams JJHbrams released this 18 Aug 12:42

Engram Overlay v1.5.4 adds the versioned local JSONL Custom Overlay Event API.

Highlights:

  • Observer and replace modes with automatic bundled-overlay fallback
  • Metadata-only Engram event stream plus geometry and pointer integration
  • Direction-first API manual and compact Settings help link
  • CLI provider Persona shortcut cleanup and Persona-tab-scoped guidance
  • First initiative nudge no longer waits on an uninitialized minimum-gap timer

Validation:

  • 425 Python tests passed on AMBER master in the release environment
  • Fresh frozen runtime contracts, embedding validation, role smoke tests, dashboard smoke, and Inno Setup packaging passed
  • SHA-256: 2EBAD580DFCB0ABF9210C0232E6C78C580CFA0097E3C8C9F60E2A0A38C51DE01

Engram Overlay v1.5.3

Choose a tag to compare

@JJHbrams JJHbrams released this 17 Aug 18:09

2026-08-18 - v1.5.3: Reliable Character Source Selection

Patch release. New or untouched installations use the Engram sprite grid by default. Existing
users who selected a custom image or animation directory keep that last choice during upgrade.

Highlights

  • Character source mode is now authoritative. Switching to sprite grid no longer leaves a
    stale single-image or animation path in control of the rendered character.
  • Legacy custom character choices survive upgrades. Pre-1.5 user configuration that contains
    a custom PNG or frame directory but no source_mode is migrated to static or sequence.
    An explicit modern source_mode is never overwritten.
  • Single images stay geometrically stable by default. Idle and click VFX remain available,
    while the old squash/stretch and vertical motion can be restored with the legacy-motion option.
  • Bundled character assets now have one canonical layout: static, sequences, sets, and
    reactions. Narrow compatibility aliases keep historical bundled paths working safely.

Validation

  • Full Python suite: 377 tests passed.
  • Isolated Windows Tk runtime: stale static/sequence paths switched correctly to sprite grid;
    custom static geometry and VFX, legacy motion opt-in, and sequence animation all passed.
  • Fresh frozen build: embedding check, overlay smoke check, dashboard render, and HTTP health passed.
  • Installer: EngramOverlay_1.5.3_x64-setup.exe (419,464,551 bytes).
  • SHA-256: 1A1A9F5158AD5B8C026002EA24348286AC88A19DB14FEB625AD968A800414B57.

Upgrade Notes

  • Keep the existing overlay.user.yaml to preserve the last custom character image or directory.
  • Users who never customized the legacy engram character receive the new sprite-grid default.
  • The installer does not replace explicit static, sequence, or sprite_grid selections.

Engram Overlay v1.5.2

Choose a tag to compare

@JJHbrams JJHbrams released this 17 Aug 14:50

Highlights

  • Dashboard와 Obsidian Wiki에서 함께 보는 11페이지 한국어 매뉴얼
  • 사용자 Wiki 문서를 보존하는 version-managed 매뉴얼 업데이트
  • 검증된 frozen/setup 캐시 재사용: 동일 -Release 실측 6.2초
  • pinned Hugging Face 원본 바이트 hydration과 SHA-256 검증
  • Inno Setup 자동 short-path, 원자적 bundle publish, 중복 smoke 제거
  • 설정의 Obsidian Daily Note 경로 및 CLI provider/model 동기화 개선

Validation

  • Full Python suite: 358 tests passed
  • Installer size: 419,539,153 bytes (400.1 MiB)
  • SHA-256: D0D755AD92CE6BB130B04B39FA1994712001482871E33C1D347078E4E7BF2365

기존 DB, Wiki, 작업 디렉터리와 사용자 작성 Wiki 문서는 installer에서 다른 경로를 명시하지 않는 한 보존됩니다.