You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(plan): record WS-G Wave 15 database aliases and fix WS-N Neo4j wording
Wave 15 lands three database-layer alias shims; WS-N spec now references canonical-derived Firestore KG.
Co-authored-by: Cursor <cursoragent@cursor.com>
1.**New retrieval tool**`utils/retrieval/tools/graph_tools.py`, registered in the agentic tool set
585
586
(`utils/retrieval/agentic.py`). Read-only; never writes the KG.
586
-
2.**Traversal contract:** resolve query entities → fetch the **≤2-hop** neighborhood from Neo4j with
587
+
2.**Traversal contract:** resolve query entities → fetch the **≤2-hop** neighborhood from the
588
+
canonical-derived Firestore KG with
587
589
a **fan-out cap** (e.g. ≤25 edges/node, hard subgraph cap ≤60 triples) → return triples joined to
588
590
their backing canonical atom `content` + `memory_id` for citation. Hop budget and caps are config
589
591
constants, not magic numbers (decision §10 Q14).
@@ -994,6 +996,13 @@ Drove the implementable rollout to local commits on `memory-canonical-rollout` (
994
996
-**Verification:** baseline pre-change → **89 passed, 0 failed** (10-module suite); post-change full memory suite in ONE process → **101 passed, 0 failed**; `ws_i→ws_l` ordering → **52 passed, 0 failed**; `test_ws_n_graph_traversal.py` → **12 passed**; async scan clean on new modules; black-clean.
995
997
-**Carry-forward:** KG still built from legacy extraction path for non-canonical users; canonical cohort selective KG invalidation remains deferred (WS-J hook logs only); v2 items (community detection, subgraph summaries) unbuilt by design.
-**Scope (bounded slice, NOT the full ~280-file sweep):** additive neutral alias modules re-exporting existing `database/v17_*` symbols — no file moves, no call-site churn. Shims: `database/memory_collections.py` → `v17_collections`, `database/memory_apply_store.py` → `v17_memory_apply_store`, `database/memory_vector_metadata.py` → `v17_vector_metadata`. Import-parity tests extended in `test_ws_g_module_aliases.py`; registered in `test.sh`. Plan doc fix: WS-N spec Neo4j wording → canonical-derived Firestore KG (matches Wave 14 implementation).
1002
+
-**Module-group choice:****database layer** (not config/env) — Wave 10 already aliased `models/`; config flags (`V17_MODE`, etc.) are scattered across utils/routers with no single importable module, so database `v17_*` modules are the next clean additive group per WS-G ordering (config → database → utils → routers → clients).
-**Note:** the full `v17_*`/`tier`→`layer` product-surface rename remains a continuous WS-G backlog (never big-bang); only these 3 database shims + doc wording fix landed.
1005
+
997
1006
> Append-only record of executed waves for review later. All work lands on worktree branch
0 commit comments