Alexander Whitestone
|
c05febf86f
|
feat: MemPalace fleet memory scaffold — taxonomy, Evennia plugin, privacy tools
Delivers milestone artifacts for #1075 (MemPalace × Evennia — Fleet Memory):
**#1082 — Palace taxonomy standard**
- `mempalace/rooms.yaml` — fleet-wide room vocabulary (5 core rooms: forge,
hermes, nexus, issues, experiments) with optional domain rooms and tunnel
routing table
- `mempalace/validate_rooms.py` — validates a wizard's mempalace.yaml against
the standard; exits non-zero on missing core rooms (CI-ready)
**#1077 — Evennia plugin scaffold**
- `mempalace/evennia_mempalace/` — contrib module connecting Evennia to MemPalace
- `CmdRecall` — `recall <query>` / `recall <query> --fleet` in-world commands
- `CmdEnterRoom` — teleport to semantic room by topic
- `MemPalaceRoom` — typeclass whose description auto-populates from palace search
- `searcher.py` — thin subprocess wrapper around the mempalace binary
- `settings.py` — MEMPALACE_PATH / MEMPALACE_WING configuration bridge
**#1083 — Privacy boundary tools**
- `mempalace/export_closets.sh` — closet-only export enforcing policy that raw
drawers never leave the local VPS; aborts on violations
- `mempalace/audit_privacy.py` — weekly audit of fleet palace for raw drawers,
full-text closets, and private source_file paths
**Tests:** 21 new tests covering validate_rooms and audit_privacy logic.
Refs #1075, #1077, #1082, #1083
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-07 10:09:56 -04:00 |
|
Alexander Whitestone
|
367a06a849
|
feat: MemPalace × Evennia fleet memory scaffold (#1075)
CI / test (pull_request) Failing after 7s
CI / validate (pull_request) Failing after 3s
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
|
2026-04-07 10:07:15 -04:00 |
|