docs(palace): mark Phase N1 complete in roadmap

This commit is contained in:
saravanakumardb1 2026-04-10 01:20:08 -07:00
parent 632b5df1ac
commit d9d0cffc8d

View File

@ -359,22 +359,22 @@ import type { BasePalaceMemoryDoc } from '@bytelyst/palace';
All methods require `userId` + `productId` as first two params: All methods require `userId` + `productId` as first two params:
- [ ] `ensureWing(userId, productId, workspaceId, name)` — upsert wing from workspace - [x] 44d8867 `ensureWing(userId, productId, workspaceId, name)` — upsert wing from workspace
- [ ] `getWing(userId, productId, wingId)``PalaceWingDoc | null` - [x] 44d8867 `getWing(userId, productId, wingId)``PalaceWingDoc | null`
- [ ] `listWings(userId, productId)``PalaceWingDoc[]` - [x] 44d8867 `listWings(userId, productId)``PalaceWingDoc[]`
- [ ] `deleteWing(userId, productId, wingId)` — cascade delete rooms, memories, tunnels, KG - [x] 44d8867 `deleteWing(userId, productId, wingId)` — cascade delete rooms, memories, tunnels, KG
- [ ] `ensureRoom(userId, productId, wingId, name, description?)` — upsert room - [x] 44d8867 `ensureRoom(userId, productId, wingId, name, description?)` — upsert room
- [ ] `listRooms(userId, productId, wingId)``PalaceRoomDoc[]` - [x] 44d8867 `listRooms(userId, productId, wingId)``PalaceRoomDoc[]`
- [ ] `storeMemory(userId, productId, wingId, roomId, hall, content, sourceNoteId?, embedding?)` — create + dedup - [x] 44d8867 `storeMemory(userId, productId, wingId, roomId, hall, content, sourceNoteId?, embedding?)` — create + dedup
- [ ] `searchSemantic(userId, productId, query, embedding, wingId?, limit)` → ranked memories - [x] 44d8867 `searchSemantic(userId, productId, query, embedding, wingId?, limit)` → ranked memories
- [ ] `searchText(userId, productId, query, wingId?, limit)` → text-matched memories - [x] 44d8867 `searchText(userId, productId, query, wingId?, limit)` → text-matched memories
- [ ] `searchHybrid(userId, productId, query, embedding, wingId?, limit)` → text candidates re-ranked by cosine - [x] 44d8867 `searchHybrid(userId, productId, query, embedding, wingId?, limit)` → text candidates re-ranked by cosine
- [ ] `getWingSummary(userId, productId, wingId)` → rooms + memory counts - [x] 44d8867 `getWingSummary(userId, productId, wingId)` → rooms + memory counts
- [ ] `isNearDuplicate(userId, productId, roomId, hall, content, embedding, threshold)` → boolean - [x] 44d8867 `isNearDuplicate(userId, productId, roomId, hall, content, embedding, threshold)` → boolean
- [ ] `pruneOldMemories(userId, productId, wingId, olderThanDays, minRelevance)` → count deleted - [x] 44d8867 `pruneOldMemories(userId, productId, wingId, olderThanDays, minRelevance)` → count deleted
- [ ] `decayRelevance(userId, productId, halfLifeDays)` → count updated - [x] 44d8867 `decayRelevance(userId, productId, halfLifeDays)` → count updated
- [ ] `backfillEmbeddings(userId, productId)` → count embedded - [x] 44d8867 `backfillEmbeddings(userId, productId)` → count embedded
- [ ] `healthCheck()``{ cosmos: boolean, llm: boolean }` - [x] 44d8867 `healthCheck()``{ cosmos: boolean, llm: boolean }`
**User isolation enforcement:** **User isolation enforcement:**
```typescript ```typescript
@ -504,19 +504,19 @@ async function encryptMemoryContent(doc: PalaceMemoryDoc): Promise<PalaceMemoryD
### N1.7 Tests ### N1.7 Tests
- [ ] Wing CRUD with user isolation (user A can't see user B's wings) - [x] 632b5df Wing CRUD with user isolation (user A can't see user B's wings)
- [ ] Room CRUD scoped to wing + user - [x] 632b5df Room CRUD scoped to wing + user
- [ ] Memory store with deduplication - [x] 632b5df Memory store with deduplication
- [ ] Semantic search returns relevant results ranked by cosine similarity - [x] 632b5df Semantic search returns relevant results ranked by cosine similarity
- [ ] Text search returns text-matched results - [x] 632b5df Text search returns text-matched results
- [ ] Hybrid search combines text + semantic - [x] 632b5df Hybrid search combines text + semantic
- [ ] Near-duplicate detection (exact + cosine) - [x] 632b5df Near-duplicate detection (exact + cosine)
- [ ] Field encryption round-trip for memory content - [x] 632b5df Field encryption round-trip for memory content
- [ ] Prune removes old low-relevance memories only for the requesting user - [x] 632b5df Prune removes old low-relevance memories only for the requesting user
- [ ] Relevance decay applies exponential reduction - [x] 632b5df Relevance decay applies exponential reduction
- [ ] Wing deletion cascades to rooms, memories, tunnels, KG - [x] 632b5df Wing deletion cascades to rooms, memories, tunnels, KG
- [ ] Cross-user isolation: user A's search never returns user B's memories - [x] 632b5df Cross-user isolation: user A's search never returns user B's memories
- [ ] productId scoping: wrong productId returns empty results - [x] 632b5df productId scoping: wrong productId returns empty results
--- ---