Skip to content

Memory injection silently broken for fresh installs (pi-mem unpinned, upstream HEAD broken) #13

Description

@clawdia-lobster

Problem

template/settings.json references git:github.com/jo-inc/pi-mem, so pi resolves it to HEAD of main (f324d0c). That HEAD carries dba718e, which injects the memory block as a trailing {role:"system"} message.

pi-agent-core's convertToLlm() handles user | assistant | toolResult | custom | bashExecution | branchSummary | compactionSummary and filters everything else — there is no case "system". So the injected memory message is silently dropped before the model ever sees it.

Net effect: the memory_* tools still read/write disk, but the automatic per-turn context injection (MEMORY.md, daily log, scratchpad) never reaches the narrator. For a narrative game where continuity is the point, memory is effectively dead weight until the issue is noticed. No error, no crash — just silent forgetting.

Root cause

Upstream pi-mem bug, tracked at:

PR #6 is open and unmerged as of writing, so main is still broken.

Interim fix

Pin the template to a known-good source. clawdia-lobster/pi-mem@v1.0.4 tracks upstream with PR #6 applied:

"packages": [
  "git:github.com/clawdia-lobster/pi-mem@v1.0.4"
]

Once jo-inc/pi-mem#6 merges upstream, the pin can revert to git:github.com/jo-inc/pi-mem (or pin to the upstream tag).

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