File size: 988 Bytes
76b78ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

from research.helix import HelixMemory


def test_helix_recall_bridges_cases_and_keeps_receipts(tmp_path):
    memory = HelixMemory(str(tmp_path / "memory.jsonl"))
    record = memory.write("The market rose in 1929", "Index record: 1929 rose 4%", "supports", "MEDIUM", "quoted value", case_id="history", source_ids=["doc-a"], tags=["finance", "timeline"])
    assert record["id"].startswith("mem-")
    assert memory.recall_many("What happened to the market in 1929?", tags=["finance"])[0]["source_ids"] == ["doc-a"]
    assert memory.bridges("market 1929", tags=["finance"])


def test_helix_forget_and_stats(tmp_path):
    memory = HelixMemory(str(tmp_path / "memory.jsonl"))
    record = memory.write("A", "B", "supports", "LOW", "R", case_id="c1")
    assert memory.stats()["records"] == 1
    assert memory.forget(record_id=record["id"]) == 1
    assert memory.stats()["records"] == 0