Add foundational architecture for the MemPalace × Evennia integration milestone. All sub-issues (Phase 1–4 and infra) can now build on top of this scaffold. **nexus/mempalace/** - `config.py` — MEMPALACE_PATH, FLEET_PALACE_PATH, FLEET_WING, CORE_ROOMS - `searcher.py` — `search_memories()`, `search_fleet()`, `add_memory()`, `MemPalaceResult`, `MemPalaceUnavailable`; ChromaDB imported lazily **nexus/evennia_mempalace/** Commands: - `CmdRecall` — `recall <query>` / `recall <query> --fleet` - `CmdEnterRoom` — `enter room <topic>` teleports to a palace room - `CmdRecord` / `CmdNote` / `CmdEvent` — write decisions, breakthroughs, and events into the palace (Phase 4) Typeclasses: - `MemPalaceRoom` — room whose description auto-populates from palace search - `StewardNPC` — answers player questions via wing memory search (Phase 3) All classes use a graceful Evennia stub so the module imports cleanly outside a live Evennia/Django environment. **docs/mempalace/rooms.yaml** (#1082 deliverable) Fleet-wide room taxonomy standard: 5 required core rooms, 3 write rooms, optional domain rooms, tunnel policy, and privacy rules. **tests/** - `test_mempalace_searcher.py` — 20 tests covering config, ChromaDB mocking, search/add, error paths - `test_evennia_mempalace_commands.py` — 20 tests covering all commands, `_closest_room`, `_extract_topic`, StewardNPC responses 40 new tests, all passing. Refs #1075
8.5 KiB
8.5 KiB