# MemPalace Fleet Room Taxonomy Standard # ======================================= # Version: 1.0 # Milestone: MemPalace × Evennia — Fleet Memory (#1075) # Issue: #1082 [Infra] Palace taxonomy standard # # Every wizard's palace MUST contain the five core rooms listed below. # Domain rooms are optional and wizard-specific. # # Format: # rooms: # : # required: true|false # description: one-liner purpose # example_topics: [list of things that belong here] # tunnel: true if a cross-wizard tunnel should exist for this room rooms: # ── Core rooms (required in every wing) ──────────────────────────────────── forge: required: true description: "CI, builds, deployment, infra operations" example_topics: - "github actions failures" - "docker build logs" - "server deployment steps" - "cron job setup" tunnel: true hermes: required: true description: "Agent platform, gateway, CLI tooling, harness internals" example_topics: - "hermes session logs" - "agent wake cycle" - "MCP tool calls" - "gateway configuration" tunnel: true nexus: required: true description: "Reports, docs, knowledge transfer, SITREPs" example_topics: - "nightly watch report" - "architecture docs" - "handoff notes" - "decision records" tunnel: true issues: required: true description: "Gitea tickets, backlog items, bug reports, PR reviews" example_topics: - "issue triage" - "PR feedback" - "bug root cause" - "milestone planning" tunnel: true experiments: required: true description: "Prototypes, spikes, research, benchmarks" example_topics: - "spike results" - "benchmark numbers" - "proof of concept" - "chromadb evaluation" tunnel: true # ── Write rooms (created on demand by CmdRecord/CmdNote/CmdEvent) ────────── hall_facts: required: false description: "Decisions and facts recorded via 'record' command" example_topics: - "architectural decisions" - "policy choices" - "approved approaches" tunnel: false hall_discoveries: required: false description: "Breakthroughs and key findings recorded via 'note' command" example_topics: - "performance breakthroughs" - "algorithmic insights" - "unexpected results" tunnel: false hall_events: required: false description: "Significant events logged via 'event' command" example_topics: - "production deployments" - "milestones reached" - "incidents resolved" tunnel: false # ── Optional domain rooms (wizard-specific) ──────────────────────────────── evennia: required: false description: "Evennia MUD world: rooms, commands, NPCs, world design" example_topics: - "command implementation" - "typeclass design" - "world building notes" wizard: ["bezalel"] tunnel: false game_portals: required: false description: "Portal/gameplay work: satflow, economy, portal registry" example_topics: - "portal specs" - "satflow visualization" - "economy rules" wizard: ["bezalel", "timmy"] tunnel: false workspace: required: false description: "General wizard workspace notes that don't fit elsewhere" example_topics: - "daily notes" - "scratch work" - "reference lookups" tunnel: false general: required: false description: "Fallback room for unclassified memories" example_topics: - "uncategorized notes" tunnel: false # ── Tunnel policy ───────────────────────────────────────────────────────────── # # A tunnel is a cross-wing link that lets any wizard recall memories # from an equivalent room in another wing. # # Rules: # 1. Only CLOSETS (summaries) are synced through tunnels — never raw drawers. # 2. Required rooms marked tunnel:true MUST have tunnels on Alpha. # 3. Optional rooms are never tunnelled unless explicitly opted in. # 4. Raw drawers (source_file metadata) never leave the local VPS. tunnels: policy: closets_only sync_schedule: "04:00 UTC nightly" destination: "/var/lib/mempalace/fleet" rooms_synced: - forge - hermes - nexus - issues - experiments # ── Privacy rules ───────────────────────────────────────────────────────────── # # See issue #1083 for the full privacy boundary design. # # Summary: # - hall_facts, hall_discoveries, hall_events: LOCAL ONLY (never synced) # - workspace, general: LOCAL ONLY # - Domain rooms (evennia, game_portals): LOCAL ONLY unless tunnel:true # - source_file paths MUST be stripped before sync privacy: local_only_rooms: - hall_facts - hall_discoveries - hall_events - workspace - general strip_on_sync: - source_file retention_days: 90 archive_flag: "archive: true"