Skip to content

Commit e463bcc

Browse files
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 parent 41c3cf6 commit e463bcc

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

.cursor/plans/canonical_memory_domain_rollout.plan.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ todos:
2727
content: "WS-F: minimal intuitive Short-term/Long-term UI (badge=layer, info popovers) + onboarding tweak for opted-in users only"
2828
status: pending
2929
- id: naming-sweep
30-
content: "WS-G: phased rename — V17, L1/L2 processing jargon, tier→layer, rollout modes, v17 API paths (~280 files; alias first, waves)"
31-
status: pending
30+
content: "WS-G: phased rename — V17, L1/L2 processing jargon, tier→layer, rollout modes, v17 API paths (~280 files; alias first, waves; models + database core shims landed)"
31+
status: in_progress
3232
- id: decommission
3333
content: "WS-H: migrate remaining cohorts, retire legacy stores/code, land on ONE canonical system"
3434
status: pending
@@ -569,8 +569,9 @@ are inert for the legacy cohort.
569569

570570
### WS-N — Graph-traversal retrieval / GraphRAG (deferred: starts only AFTER WS-H decommission)
571571

572-
- **Problem (verified):** the Neo4j knowledge graph exists and is rebuildable
573-
(`database/knowledge_graph.py`, `utils/llm/knowledge_graph.py:rebuild_knowledge_graph`), but chat
572+
- **Problem (verified):** the canonical-derived Firestore KG (`knowledge_nodes`/`knowledge_edges` in
573+
`database/knowledge_graph.py`, `utils/llm/knowledge_graph.py:rebuild_knowledge_graph`) exists and is
574+
rebuildable, but chat
574575
retrieval is **flat agentic RAG** (`utils/retrieval/agentic.py` + `utils/retrieval/tools/`): no
575576
multi-hop traversal, no subgraph assembly feeding generation. Relationship questions ("how does my
576577
unemployment situation interact with joining Omi?") cannot traverse linked atoms.
@@ -583,7 +584,8 @@ are inert for the legacy cohort.
583584
- **Scope (prescriptive, v1 — intentionally minimal):**
584585
1. **New retrieval tool** `utils/retrieval/tools/graph_tools.py`, registered in the agentic tool set
585586
(`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
587589
a **fan-out cap** (e.g. ≤25 edges/node, hard subgraph cap ≤60 triples) → return triples joined to
588590
their backing canonical atom `content` + `memory_id` for citation. Hop budget and caps are config
589591
constants, not magic numbers (decision §10 Q14).
@@ -994,6 +996,13 @@ Drove the implementable rollout to local commits on `memory-canonical-rollout` (
994996
- **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.
995997
- **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.
996998

999+
### Wave 15 — WS-G (bounded: database-layer alias shims) — ✅ committed 2026-06-24
1000+
1001+
- **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).
1003+
- **Deliberately NOT touched:** frozen names, PostHog/usage event keys, persisted Firestore `tier` field, remaining `database/v17_*` modules (`v17_v3_compatibility_projection`, `v17_non_active_memory_routes`, `v17_app_key_memory_grants`, vector-repair outbox family), utils/routers/clients rename backlog.
1004+
- **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+
9971006
> Append-only record of executed waves for review later. All work lands on worktree branch
9981007
> `memory-canonical-rollout` (worktree `/Users/dazheng/workspace/omi-memory-rollout`), **committed
9991008
> locally only** — nothing pushed/merged to `main` without explicit go-ahead. This plan file is

0 commit comments

Comments
 (0)