5.7 The list_memories tool

Paginated chronological listing for review, audit, and cleanup workflows. Optional filters narrow the result to untagged rows, very-short or very-long rows, or rows that haven’t been confirmed since a given timestamp — the same filters are accepted by count_memories so a client can preview the size of a cleanup slice before listing it.

5.7.1 Inputs

limit

Integer. Optional, default 20, capped at MAX_RECALL_LIMIT.

offset

Integer. Optional, default 0.

include_deleted

Boolean. Optional, default false. When true, soft-deleted memories (tombstones) and expired memories are also returned.

untagged_only

Boolean. Optional, default false. When true, restrict to rows with no tags (empty tag array).

min_chars

Integer. Optional. Return only rows whose text length is at least this many characters.

max_chars

Integer. Optional. Return only rows whose text length is at most this many characters. Useful for finding fragments (e.g. max_chars=20).

not_confirmed_since

ISO 8601 timestamp. Optional. Return only rows that have not been confirmed since this instant — a row qualifies if last_confirmed_at IS NULL (never confirmed) or last_confirmed_at < this. Useful for finding stale memories during cleanup.

When multiple filters are supplied they combine with AND.

5.7.2 Output

Same shape as recall’s matches, but with no score field, and ordered by created_at DESC.

5.7.3 Errors

INVALID_INPUT (negative min_chars or max_chars, min_chars > max_chars, not_confirmed_since in the future), DATABASE_ERROR.