Skip to content

Auto-classified memories inherit a hardcoded expiry #196

Description

@RobertSigmundsson

Description

#114 fixed the seven-day default expiry for MemoryType.CONTEXT, and the reasoning given there - that operational state was being discarded silently - applies unchanged to four other types that are also chosen automatically rather than by the user. Those four still carry a finite default.

Current mapping on main (core/memory_types.py):

FACT: None        DECISION: 90      PREFERENCE: None   TODO: 30
INSIGHT: 180      CONTEXT: None     INSTRUCTION: None  ERROR: 30
WORKFLOW: 365     REFERENCE: None   TOOL: 90           HYPOTHESIS: 180
PREDICTION: 30    SCHEMA: None      BOUNDARY: None

ERROR: 30, TOOL: 90, DECISION: 90 and PREDICTION: 30 expire on their own.

Expected Behavior

Either these types persist until superseded, as CONTEXT now does, or their expiry is something the writer opts into.

Actual Behavior

A memory classified automatically as ERROR disappears after 30 days, and a DECISION after 90, without the writer having chosen a lifetime and without any notice at expiry.

Why this matters

The types most affected are the ones a classifier assigns, not the ones a user picks. Someone recording "this approach failed because X" does not choose the ERROR type - the pipeline does - and so never sees the 30-day clock they have been opted into. DECISION at 90 days is the sharpest case: a decision record is precisely the kind of memory whose value is that it still exists when someone later asks "why is it like this?".

This is the same argument #114 accepted for CONTEXT; I am only pointing out that the fix stopped at one entry of the table.

Environment

  • Surreal-Memory version: 3.8.0 (ae8e8743)
  • Installation method: source

Additional Context

Related: #114 (the CONTEXT case).

No PR attached because this is a product decision about defaults, not a defect with one correct fix - and changing four defaults silently changes retention for existing installs, which is your call to make rather than mine.


Measured on v3.8.0 (ae8e8743). Thanks for the recent releases - re-checking this against a
current base rather than a stale one was only possible because the tags land so promptly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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