Skip to content
Memtru
Demo mode. These are captured runs of the real scenarios against a deliberately broken store and a fixed one. All data is synthetic.
Interactive demo

Watch a memory leak get caught, then fixed.

A small memory store forgets to filter reads by user. Memtru writes a synthetic marker as user A, confirms A can read it, then searches as user B. B gets A's marker. After the fix, the same scenarios run again.

  1. Run 1FAIL

    Before: user filter missing

    The store filters reads by tenant but not by user. Any user in the tenant can read any other user's memory.

    faults
    ignore_user_scope
    result
    1 failed · 5 passed
    captured
    22 Oct 2026, 06:35 UTC
    Open run
  2. Run 2PASS

    After: user filter restored

    The same scenarios, re-run after restoring the user filter on every read path.

    faults
    none
    result
    0 failed · 6 passed
    captured
    22 Oct 2026, 06:35 UTC
    Open run
  3. Run 3FAIL

    Several defects at once

    Records keyed by user id only, a soft delete that search ignores, and updates implemented as inserts.

    faults
    ignore_tenant_scope, soft_delete_visible, stale_update
    result
    4 failed · 2 passed
    captured
    22 Oct 2026, 06:35 UTC
    Open run
Memtru Afterlife · MT-AF-001, MT-AF-002A delete that worked, until it didn'tStep through a deleted memory coming back after a late write and a new session, then the fixed store.

Then compare

MT-REG-008 compares two runs and separates a real fix from a test that simply did not run.

Compare before and after
Reproduce this demo on your machine
pip install memtru
memtru demo

The demo command runs both stores and writes the same JSON and HTML reports shown here.