docs+skills: add main UI/UX visual-truth PRD and skill links
This commit is contained in:
parent
1c36223e7f
commit
14a50ad4ae
289 changed files with 54463 additions and 0 deletions
|
|
@ -0,0 +1,95 @@
|
|||
"""
|
||||
Tests for layered memory retrieval with source attribution.
|
||||
|
||||
Run: python -m unittest brain.scripts.test_layered_retrieval -v
|
||||
"""
|
||||
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from brain.scripts.layered_memory_store import LayeredMemoryStore
|
||||
from brain.scripts.memory_policy import MemoryPolicy
|
||||
|
||||
|
||||
class TestLayeredRetrieval(unittest.TestCase):
|
||||
def test_retrieve_all_returns_records_with_attribution(self):
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
project_root = Path(tmpdir)
|
||||
# Configure policy to read from multiple layers
|
||||
policy = MemoryPolicy(
|
||||
project_root=project_root,
|
||||
read_layers=["project_agent", "project_global"],
|
||||
write_layers=["project_agent", "project_global"],
|
||||
)
|
||||
store = LayeredMemoryStore(policy=policy, agent_id="agent-1")
|
||||
|
||||
# Write to project_global
|
||||
store.append_entry(
|
||||
layer="project_global",
|
||||
record={
|
||||
"id": "global-1",
|
||||
"created_at": "2026-02-11T00:00:00Z",
|
||||
"scope": "project_global",
|
||||
"entry_type": "fact",
|
||||
"content": "Global Fact",
|
||||
"project_id": "rlm-mem",
|
||||
},
|
||||
)
|
||||
|
||||
# Write to project_agent
|
||||
store.append_entry(
|
||||
layer="project_agent",
|
||||
record={
|
||||
"id": "agent-1",
|
||||
"created_at": "2026-02-11T00:00:01Z",
|
||||
"scope": "project_agent",
|
||||
"agent_id": "agent-1",
|
||||
"entry_type": "note",
|
||||
"content": "Agent Note",
|
||||
"project_id": "rlm-mem",
|
||||
},
|
||||
)
|
||||
|
||||
all_records = store.get_all_records()
|
||||
|
||||
# Precedence should be project_agent then project_global
|
||||
self.assertEqual(len(all_records), 2)
|
||||
|
||||
# First record should be from project_agent
|
||||
self.assertEqual(all_records[0]["id"], "agent-1")
|
||||
self.assertEqual(all_records[0]["source_layer"], "project_agent")
|
||||
self.assertIn("agents", all_records[0]["source_path"])
|
||||
self.assertIn("agent-1", all_records[0]["source_path"])
|
||||
|
||||
# Second record should be from project_global
|
||||
self.assertEqual(all_records[1]["id"], "global-1")
|
||||
self.assertEqual(all_records[1]["source_layer"], "project_global")
|
||||
self.assertIn("global", all_records[1]["source_path"])
|
||||
|
||||
def test_retrieval_respects_policy_layer_order(self):
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
project_root = Path(tmpdir)
|
||||
# Reverse order for testing
|
||||
policy = MemoryPolicy(
|
||||
project_root=project_root,
|
||||
read_layers=["project_global", "project_agent"],
|
||||
write_layers=["project_agent", "project_global"],
|
||||
)
|
||||
store = LayeredMemoryStore(policy=policy, agent_id="agent-1")
|
||||
|
||||
store.append_entry(layer="project_global", record={
|
||||
"id": "g1", "created_at": "2026-02-11T00:00:00Z", "scope": "project_global",
|
||||
"entry_type": "fact", "content": "G", "project_id": "rlm-mem"
|
||||
})
|
||||
store.append_entry(layer="project_agent", record={
|
||||
"id": "a1", "created_at": "2026-02-11T00:00:00Z", "scope": "project_agent",
|
||||
"agent_id": "agent-1", "entry_type": "fact", "content": "A", "project_id": "rlm-mem"
|
||||
})
|
||||
|
||||
all_records = store.get_all_records()
|
||||
self.assertEqual(all_records[0]["id"], "g1")
|
||||
self.assertEqual(all_records[1]["id"], "a1")
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main(verbosity=2)
|
||||
Loading…
Add table
Add a link
Reference in a new issue