memory_save silently succeeds but persists nothing (absent from tool schema, only load/delete/forget declared) #201

Open
opened 2026-09-15 14:35:21 +00:00 by nsaspy · 0 comments
Owner

Summary

The Agent Zero memory toolset exposes memory_save inconsistently: it is absent from the always-on tool schema (only load/delete/forget are listed), yet an agent instructed to persist durable facts may still call it. In an observed session the call returned success ("done") but no memory was written — memory_load immediately returned "No memories found" and the memory store was empty. The result is silent data loss with a false success signal, which is the worst failure mode for a persistence tool.

Environment

  • Repo: lost-rob0t/a0-symbolics@main (container application root /a0)
  • prolog-rlm pin: not applicable
  • Command: memory tools invoked by the Mara agent profile during hackmode worker setup (2026-09-04); verified with grep of the tool schema and memory_load readback

Repro

  1. Start an agent session with the standard Mara/tool profile.
  2. Observe the always-on tool list: memory_load, memory_delete, memory_forget are present, memory_save is not documented as available.
  3. Attempt a memory save (agent believes the tool exists).
  4. Call memory_load with the same query.

Expected / Actual

Expected: either memory_save is consistently available and documented, or the attempt fails loudly with a clear "unknown tool" error. / Actual: the save attempt is accepted and reports "done", memory_load finds nothing, and no visible error surfaces anywhere.

Evidence

  • memory_load immediately after save: {"memory": "No memories found for specified query: "}
  • Tool schema in the system prompt lists only load/delete/forget under memory tools
  • Workaround used in-session: persist facts to a git-backed state file instead of the memory store

Suggested fix

Audit how memory tool declarations are filtered per profile/preset so memory_save is either always declared or attempts are rejected as unknown tools instead of silently succeeding.

## Summary The Agent Zero memory toolset exposes `memory_save` inconsistently: it is absent from the always-on tool schema (only load/delete/forget are listed), yet an agent instructed to persist durable facts may still call it. In an observed session the call returned success ("done") but no memory was written — `memory_load` immediately returned "No memories found" and the memory store was empty. The result is silent data loss with a false success signal, which is the worst failure mode for a persistence tool. ## Environment - Repo: lost-rob0t/a0-symbolics@main (container application root `/a0`) - prolog-rlm pin: not applicable - Command: memory tools invoked by the Mara agent profile during hackmode worker setup (2026-09-04); verified with `grep` of the tool schema and `memory_load` readback ## Repro 1. Start an agent session with the standard Mara/tool profile. 2. Observe the always-on tool list: `memory_load`, `memory_delete`, `memory_forget` are present, `memory_save` is not documented as available. 3. Attempt a memory save (agent believes the tool exists). 4. Call `memory_load` with the same query. ## Expected / Actual Expected: either `memory_save` is consistently available and documented, or the attempt fails loudly with a clear "unknown tool" error. / Actual: the save attempt is accepted and reports "done", `memory_load` finds nothing, and no visible error surfaces anywhere. ## Evidence - `memory_load` immediately after save: `{"memory": "No memories found for specified query: "}` - Tool schema in the system prompt lists only load/delete/forget under memory tools - Workaround used in-session: persist facts to a git-backed state file instead of the memory store ## Suggested fix Audit how memory tool declarations are filtered per profile/preset so `memory_save` is either always declared or attempts are rejected as unknown tools instead of silently succeeding.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/a0-symbolics#201
No description provided.