Skip to content

Automatic memory does not supersede outdated facts, causing incorrect recall #1189

Description

@Phillgro

Description

OpenJarvis successfully extracts and stores long-term memory facts automatically. However, when a user explicitly updates an existing preference, the previous fact remains active instead of being replaced or marked as outdated.

This results in contradictory memories and can cause the assistant to recall outdated information as the current preference.

The issue was reproduced using the Orchestrator agent, Ollama, and Qwen 3.5 9B.

Steps to Reproduce

  1. Enable automatic memory in config.toml:

    [memory]
    enabled = true
    backend = "local"
  2. Start OpenJarvis and open a new chat.

  3. Send: "My favorite color is petrol. I also prefer this color for user interface design."

  4. Verify that the information was automatically saved to memory_facts.jsonl.

  5. Open another chat and send: "My preference for user interfaces has changed. I used to prefer petrol, but now I prefer dark blue."

  6. Check memory_facts.jsonl. Both preferences are stored as separate facts.

  7. Open another new chat and ask: "Which color do I currently prefer for user interfaces?"

  8. Observe that the assistant incorrectly identifies petrol as the current preference.

Expected Behavior

When a user explicitly updates an existing preference, OpenJarvis should recognize that the new information supersedes the previous fact.

The outdated fact should be replaced or marked as superseded/inactive.

Memory retrieval should prioritize the current preference (dark blue), while optionally preserving the previous preference (petrol) as historical information.

Actual Behavior

Both the original preference (petrol) and the updated preference (dark blue) remain stored as active facts in memory_facts.jsonl.

When asked about the current preference in a new conversation, the assistant incorrectly responds that petrol is preferred.

The assistant also reverses the chronology, treating dark blue as the previous preference.

The automatic memory system therefore stores updates but does not reliably resolve conflicting information.

Operating System

Windows

Python Version

3.13

Hardware

NVIDIA GPU

Engine

No response

Logs / Traceback

No exception or traceback occurs. The issue is reproducible through normal chat interactions.

The local `memory_facts.jsonl` file contains both the original and updated preferences as separate facts. Automatic extraction and recall are enabled and functioning, but the retrieved information is interpreted incorrectly.

Activity

  1. alcainof493-hash commented on Oct 30, 2026

    @alcainof493-hash

    jarvis # start chatting (default: chat-simple)
    jarvis gui # start the graphical browser interface
    jarvis init --preset --force # replace config with a starter preset

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

Metadata

Metadata

Assignees

No one assigned

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions