Skip to main content
Glama

refresh_fafm

Reload .fafm structured memory for one or more souls into the current session; returns a stamped delta of added/updated facts since last refresh. Use verbatim for full content.

Instructions

Reload the latest structured memory (.fafm) for one or more souls into the current session. Returns a stamped delta by default (added/updated facts since last refresh or a given timestamp). Use verbatim: true to receive the full current .fafm content instead. Reads your files and writes a refresh receipt (.fafm-refresh-receipts.json) to the project folder. Always returns a content hash + timestamp stamp. Complements recall, load_soul, and etch — does not replace them.

Input Schema

NameRequiredDescriptionDefault
soulNoSpecific soul to refresh. Omit or use 'default' for the primary memory layer. Use 'all' to refresh every available soul.default
sinceNoOptional ISO timestamp. Only return facts modified after this time. Ignored when verbatim=true.
verbatimNoIf true, returns the full current .fafm content for the requested soul(s) instead of a delta. Use sparingly — deltas are preferred for normal operation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=false, the description correctly discloses the side effect that matters: it reads files and writes a refresh receipt (.fafm-refresh-receipts.json) to the project folder. It also guarantees a content hash + timestamp stamp and states that 'since' is ignored under verbatim, which is real behavioral context beyond the annotations. Gaps remain around failure behavior and what a refresh does to in-session state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and default return, then layers side effects and routing. Five sentences is slightly dense for three parameters, but every sentence carries usable information and none is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so: stamped delta with added/updated facts, hash + timestamp, or full content under verbatim. The only missing piece is what the receipt file contains and whether refresh is idempotent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents soul, since, and verbatim in full. The description restates the since/verbatim interaction rather than adding new semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: reload the latest structured memory (.fafm) for souls into the current session, and clarifies the default return shape (stamped delta). It also positions itself relative to recall/load_soul/etch, though those are not siblings in the supplied list, so the differentiation against the actual sibling set (refresh_faf, refresh_blend) is weaker than it could be.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational guidance: deltas are the default, use verbatim:true for full content and 'sparingly', and it explicitly says it complements rather than replaces related tools. It stops short of an explicit when-not-to-use condition or any prerequisite/permission statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.