[EPIC] Evennia as Timmy's World Shell #82

Closed
opened 2026-03-30 15:24:18 +00:00 by Timmy · 1 comment
Owner

Vision

Use Evennia (Python MUD framework) as Timmy's operational world. Instead of a flat script loop, Timmy lives as a Character in an Evennia world where:

  • Rooms = operational contexts (Workshop, Library, Observatory, Forge)
  • Objects = artifacts, documents, tools, knowledge items
  • Scripts = scheduled tasks, monitors, daemons
  • Commands = Timmy's tool library, callable by name
  • Channels = communication buses (Gitea, Telegram, inter-wizard)
  • Typeclasses = extensible object types Timmy can learn and create

This gives Timmy persistent state, spatial reasoning about his work, a plugin architecture for new capabilities, and a framework that already handles networking, persistence, and message passing.

Why Evennia specifically

  • Pure Python, Django ORM underneath (SQLite or Postgres)
  • Typeclass system = hot-reloadable Python classes attached to DB objects
  • Built-in scheduler (Scripts) with tick-based and cron-like timing
  • Web client + traditional telnet — Alexander can walk through Timmy's world
  • Mature (v6.0.0, 15+ years), well-documented, active community
  • Extensible without forking — everything is overridable via typeclasses

Architecture

Evennia Server
  |
  +-- Timmy (Character typeclass)
  |     |-- tools as Commands
  |     |-- knowledge as Attributes
  |     |-- current task as Script
  |
  +-- Workshop (Room) -- where Timmy executes tasks
  +-- Library (Room) -- knowledge base, ingested papers
  +-- Observatory (Room) -- monitoring, health, dashboards
  +-- Forge (Room) -- where new tools/capabilities are built
  +-- Dispatch (Room) -- incoming tasks from Gitea/Telegram
  |
  +-- Scripts
  |     |-- GiteaPoller -- checks for assigned issues
  |     |-- HealthMonitor -- tracks system status
  |     |-- IngestDaemon -- processes new knowledge
  |
  +-- Channels
        |-- #wizard-bus -- inter-wizard communication
        |-- #gitea -- issue/PR notifications
        |-- #telegram -- bridge to Telegram

Dependency

All subsequent tickets in this epic build on this architecture.

Tickets in this epic

See issues tagged with evennia label.

## Vision Use Evennia (Python MUD framework) as Timmy's operational world. Instead of a flat script loop, Timmy lives as a Character in an Evennia world where: - **Rooms** = operational contexts (Workshop, Library, Observatory, Forge) - **Objects** = artifacts, documents, tools, knowledge items - **Scripts** = scheduled tasks, monitors, daemons - **Commands** = Timmy's tool library, callable by name - **Channels** = communication buses (Gitea, Telegram, inter-wizard) - **Typeclasses** = extensible object types Timmy can learn and create This gives Timmy persistent state, spatial reasoning about his work, a plugin architecture for new capabilities, and a framework that already handles networking, persistence, and message passing. ### Why Evennia specifically - Pure Python, Django ORM underneath (SQLite or Postgres) - Typeclass system = hot-reloadable Python classes attached to DB objects - Built-in scheduler (Scripts) with tick-based and cron-like timing - Web client + traditional telnet — Alexander can walk through Timmy's world - Mature (v6.0.0, 15+ years), well-documented, active community - Extensible without forking — everything is overridable via typeclasses ### Architecture ``` Evennia Server | +-- Timmy (Character typeclass) | |-- tools as Commands | |-- knowledge as Attributes | |-- current task as Script | +-- Workshop (Room) -- where Timmy executes tasks +-- Library (Room) -- knowledge base, ingested papers +-- Observatory (Room) -- monitoring, health, dashboards +-- Forge (Room) -- where new tools/capabilities are built +-- Dispatch (Room) -- incoming tasks from Gitea/Telegram | +-- Scripts | |-- GiteaPoller -- checks for assigned issues | |-- HealthMonitor -- tracks system status | |-- IngestDaemon -- processes new knowledge | +-- Channels |-- #wizard-bus -- inter-wizard communication |-- #gitea -- issue/PR notifications |-- #telegram -- bridge to Telegram ``` ### Dependency All subsequent tickets in this epic build on this architecture. ### Tickets in this epic See issues tagged with `evennia` label.
ezra was assigned by Timmy 2026-03-30 15:24:18 +00:00
Author
Owner

Closed — superseded by Grand Timmy Uniwizard epic (#94). Evennia world shell is now Phase 1 of #94, not a separate epic.

Closed — superseded by Grand Timmy Uniwizard epic (#94). Evennia world shell is now Phase 1 of #94, not a separate epic.
Timmy closed this issue 2026-03-30 15:40:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-home#82