Files
Krystie dc5dc94d79 Initial commit: Adaptive Recall sidecar for UMP (Phase 5)
Multi-channel retrieval sidecar over Universal Memory Protocol:
- 3-channel RRF (UMP FTS5 + Qdrant vector + knowledge graph)
- ACT-R re-ranking (Anderson 1983) with access tracking
- Co-occurrence graph edges (Phase 6) for dense traversal
- Memory lifecycle decay (Phase 4) with per-kind confidence
- MCP shim routes recall through sidecar, falls back to canonical UMP

Architecture:
- src/server.js      HTTP sidecar on port 4380
- src/graph.js       2592-node / 111-edge graph from UMP (or +cooccur: 13k+)
- src/actr.js        A_i = -d*ln(age) + beta*log1p(freq) + epsilon*conf
- src/access_log.js  per-URN counter + last_accessed_at
- src/ump-recall-mcp.js  MCP shim (recall via sidecar, others passthrough)

Eval results (851-record UMP corpus):
- 2ch RRF over baseline: +50pp recall@10
- 3ch RRF (+graph): +60pp, 12 unique wins
- ACT-R re-rank: 4/20 #1 changes, 84% top-5 retention

Tests: 76/76 passing across graph (27), actr (27), access_log (28),
decay (20), mcp-shim (sidecar + fallback). Run with: npm test

Inspired by AIAppsAPI/adaptive-recall but built from scratch against
existing DNS2 infrastructure (UMP at :4317, Qdrant at :6333,
Ollama at :11434). No paid SaaS, MIT-licensed.
2026-07-12 19:24:47 -07:00

42 lines
1.5 KiB
Python

# Auto-verified eval queries. Regenerate with build_verified_queries.py
# Each query's expected_id was confirmed to exist in UMP AND its body
# shares at least one keyword with the query.
QUERIES_VERIFIED = [
{
"query": "TOTP secret DashCaddy DNS2",
"expected_id": "urn:ump:krystie-knowledge-infrastructure-md-s10",
"expected_subject": "TrueRecall Memory System (DNS2)",
"category": "DashCaddy",
"source": "2026-06-11 dashboard-lockout fix session"
},
{
"query": "DNS1 port 53 firewall blocked secondary",
"expected_id": "urn:ump:krystie-knowledge-infrastructure-md-s11",
"expected_subject": "DNS architecture Primary/Secondary",
"category": "DNS",
"source": "2026-05-30 DNS1 sync session"
},
{
"query": "BitNet dead replaced ollama",
"expected_id": "urn:ump:krystie-ump-first-thing-2026-06-22",
"expected_subject": "BitNet dead since 2026-06-06",
"category": "Infrastructure",
"source": "recurring reference"
},
{
"query": "Triangles PoW PoS cutoff nonce zero",
"expected_id": "urn:ump:krystie-knowledge-projects-triangles-md-s2",
"expected_subject": "Triangles hybrid PoW/PoS",
"category": "Triangles",
"source": "triangle skill + 2026-06-20 PoW/PoS sync fix"
},
{
"query": "mem-watcher krystie TrueRecall sessions ingest",
"expected_id": "urn:ump:krystie-knowledge-infrastructure-md-s10",
"expected_subject": "mem-watcher-krystie",
"category": "TrueRecall",
"source": "recurring"
}
]