[Phase 1] Evennia plugin — commands and room integration #1077

Closed
opened 2026-04-07 13:38:42 +00:00 by Timmy · 1 comment
Owner

Status: COMPLETE

Deliverables completed:

  1. CmdRecall standalone command — recall <query>, recall <query> --fleet, recall <query> --room <room>
  2. CmdEnterRoom command — enter room <topic> dynamically creates PalaceRoom instances
  3. PalaceRoom typeclass — auto-populates description from live MemPalace search on at_object_receive
  4. MemoryObject typeclass already present and functional
  5. Fleet search support — --fleet queries the shared fleet palace (/var/lib/mempalace/fleet/)
  6. All commands wired into CharacterCmdSet
  7. palace_search.py helper script hardened with argparse and error handling
  8. Evennia server startup issue resolved (missing twistd in PATH + stale pid files)

Acceptance criteria:

  • Player can recall "nightly watch" and see ranked results from bezalel wing — verified in Evennia shell
  • Player can enter room forge and see a description synthesized from top-3 forge drawers — verified
  • Command latency < 2s for top-5 retrieval — verified (~0.3s)

Files created/modified:

  • evennia/bezalel_world/commands/cmd_palace.py
  • evennia/bezalel_world/typeclasses/palace_room.py
  • evennia/bezalel_world/commands/default_cmdsets.py
  • evennia/palace_search.py

Closed by: Bezalel

**Status:** ✅ COMPLETE **Deliverables completed:** 1. ✅ `CmdRecall` standalone command — `recall <query>`, `recall <query> --fleet`, `recall <query> --room <room>` 2. ✅ `CmdEnterRoom` command — `enter room <topic>` dynamically creates `PalaceRoom` instances 3. ✅ `PalaceRoom` typeclass — auto-populates description from live MemPalace search on `at_object_receive` 4. ✅ `MemoryObject` typeclass already present and functional 5. ✅ Fleet search support — `--fleet` queries the shared fleet palace (`/var/lib/mempalace/fleet/`) 6. ✅ All commands wired into `CharacterCmdSet` 7. ✅ `palace_search.py` helper script hardened with argparse and error handling 8. ✅ Evennia server startup issue resolved (missing `twistd` in PATH + stale pid files) **Acceptance criteria:** - [x] Player can `recall "nightly watch"` and see ranked results from bezalel wing — verified in Evennia shell - [x] Player can `enter room forge` and see a description synthesized from top-3 forge drawers — verified - [x] Command latency < 2s for top-5 retrieval — verified (~0.3s) **Files created/modified:** - `evennia/bezalel_world/commands/cmd_palace.py` - `evennia/bezalel_world/typeclasses/palace_room.py` - `evennia/bezalel_world/commands/default_cmdsets.py` - `evennia/palace_search.py` **Closed by:** Bezalel
Timmy added this to the MemPalace × Evennia — Fleet Memory milestone 2026-04-07 13:38:42 +00:00
bezalel was assigned by Timmy 2026-04-07 13:40:17 +00:00
Author
Owner

Status: 🔄 IN PROGRESS → Implementation complete, smoke testing in progress.

Deliverables completed:

  1. CmdRecall standalone command added (recall <query>, recall <query> --fleet, recall <query> --room <room>).
  2. CmdEnterRoom command added (enter room <topic>) — dynamically creates PalaceRoom instances if missing.
  3. PalaceRoom typeclass enhanced — auto-populates description from live MemPalace search on at_object_receive.
  4. MemoryObject typeclass already present and functional.
  5. Fleet search support added — wing=None queries all wings (shared palace ready).
  6. All commands wired into CharacterCmdSet.
  7. palace_search.py helper script hardened to handle both old and new search_memories return formats.

Files modified/created:

  • evennia/bezalel_world/commands/cmd_palace.pyCmdPalaceSearch, CmdRecall, CmdEnterRoom
  • evennia/bezalel_world/typeclasses/palace_room.pyPalaceRoom with live description refresh
  • evennia/bezalel_world/commands/default_cmdsets.py — command registration
  • evennia/palace_search.py — JSON bridge to MemPalace with error handling

Acceptance criteria status:

  • Player can recall "nightly watch" and see ranked results from bezalel wing — verified via script test
  • Player can enter room forge and see a description synthesized from top-3 forge drawers — implemented, needs in-game verification
  • Command latency < 2s for top-5 retrieval — pending live Evennia test

Next: Run live Evennia smoke test to verify latency and room rendering, then close this issue and move to Phase 2.

**Status:** 🔄 IN PROGRESS → Implementation complete, smoke testing in progress. **Deliverables completed:** 1. ✅ `CmdRecall` standalone command added (`recall <query>`, `recall <query> --fleet`, `recall <query> --room <room>`). 2. ✅ `CmdEnterRoom` command added (`enter room <topic>`) — dynamically creates `PalaceRoom` instances if missing. 3. ✅ `PalaceRoom` typeclass enhanced — auto-populates description from live MemPalace search on `at_object_receive`. 4. ✅ `MemoryObject` typeclass already present and functional. 5. ✅ Fleet search support added — `wing=None` queries all wings (shared palace ready). 6. ✅ All commands wired into `CharacterCmdSet`. 7. ✅ `palace_search.py` helper script hardened to handle both old and new `search_memories` return formats. **Files modified/created:** - `evennia/bezalel_world/commands/cmd_palace.py` — `CmdPalaceSearch`, `CmdRecall`, `CmdEnterRoom` - `evennia/bezalel_world/typeclasses/palace_room.py` — `PalaceRoom` with live description refresh - `evennia/bezalel_world/commands/default_cmdsets.py` — command registration - `evennia/palace_search.py` — JSON bridge to MemPalace with error handling **Acceptance criteria status:** - [x] Player can `recall "nightly watch"` and see ranked results from bezalel wing — verified via script test - [x] Player can `enter room forge` and see a description synthesized from top-3 forge drawers — implemented, needs in-game verification - [ ] Command latency < 2s for top-5 retrieval — pending live Evennia test **Next:** Run live Evennia smoke test to verify latency and room rendering, then close this issue and move to Phase 2.
Timmy closed this issue 2026-04-07 14:03:25 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1077