Skip to content

Fresh global install fetches iii-engine 0.16.1 but runtime hard-pins 0.11.2 — agentmemory/npx refuses to boot (aarch64 Linux) #752

@Omee11

Description

@Omee11

Bug Description

On a clean install, the installer places iii-engine v0.16.1 on PATH, but the agentmemory v0.9.24 runtime hard-pins iii v0.11.2. The launcher's version preflight then refuses to start, so a default install is non-bootable out of the box until you manually intervene.

The two halves of the install disagree about the engine version: the installer fetched a newer iii than the runtime is willing to run against.

Steps to Reproduce

  1. Fresh box, Ubuntu 24.04 aarch64 (Oracle Ampere), Node v26.
  2. npm install -g @agentmemory/agentmemory → installs three binaries into ~/.local/bin/: iii, iii-init, iii-worker, all v0.16.1.
  3. npx @agentmemory/agentmemory@latest (or the global agentmemory).

Actual Behavior

The launcher prints and exits without starting:

■  iii-engine on PATH is v0.16.1 but agentmemory v0.9.24 hard-pins v0.11.2. Engine API
   drift causes runtime failures (e.g. state::list-not-found on v0.13.0). Downgrade with:
   `curl -fsSL https://github.com/iii-hq/iii/releases/download/iii/v0.11.2/iii-aarch64-unknown-linux-gnu.tar.gz | tar -xz -C ~/.local/bin`.
   Or set AGENTMEMORY_III_VERSION=0.16.1 to override at your own risk.

Expected Behavior

A default npm i -g + npx @agentmemory/agentmemory should boot. The iii version the installer fetches should match the version the runtime pins (or the runtime should accept it).

Two extra wrinkles worth flagging

  1. The suggested downgrade is incomplete on this platform. The linked v0.11.2 release asset iii-aarch64-unknown-linux-gnu.tar.gz contains only the iii binary — no iii-init, no iii-worker. The 0.16.1 install produced all three. So following the literal downgrade leaves a 0.11.2 iii engine alongside a 0.16.1 iii-worker — a mismatched split set, arguably worse than the original problem.

  2. The override actually works cleanly — the "at your own risk" may be overstated for 0.16.1. Setting AGENTMEMORY_III_VERSION=0.16.1 keeps the consistent 0.16.1 engine+worker set the installer already laid down, and it boots healthy:

    ◆ Connected — v0.9.24 at http://localhost:3111
      Health: ✓ healthy   Sessions: 1   Observations: 1
      Provider: noop (no key)   Embeddings: bm25-only
    

    /agentmemory/health returns state: closed / connectionState: connected, worker registers, 125 REST endpoints come up, and there was no state::list-not-found during boot/health (only two self-healing engine WS reconnects). So on aarch64 at least, 0.16.1 appears compatible enough that you may be able to simply bump the runtime pin rather than chase a downgrade.

Suggested fix (any one)

  • Have the installer / iii-init fetch the iii version the runtime pins, instead of latest; or
  • Bump the runtime's pinned/accepted iii version to 0.16.1 (validated boot above); or
  • If the downgrade path is kept, ship the full binary set (iii + iii-init + iii-worker) in the pinned release so engine/worker versions can't split.

Workaround

AGENTMEMORY_III_VERSION=0.16.1 agentmemory     # boots cleanly with the consistent 0.16.1 set

Environment

  • agentmemory: 0.9.24 (npm global)
  • iii-engine: installed 0.16.1, runtime pins 0.11.2
  • Node v26.0.0, npm 11.12.1
  • OS: Ubuntu 24.04.4 LTS, aarch64 (Oracle Ampere)
  • Provider: noop / bm25-only (no LLM key configured)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions