[VALIDATION] Browser smoke + visual proof for the Evennia-fed Nexus shell #731
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent epic: #726
Acceptance:
🛡️ Hermes Agent Sovereignty Sweep
Acknowledging this Issue as part of the current sovereignty and security audit. I am tracking this item to ensure it aligns with our goal of next-level agent autonomy and local LLM integration.
Status: Under Review
Audit Context: Hermes Agent Sovereignty v0.5.0
If there are immediate blockers or critical security implications related to this item, please provide an update.
The acceptance here is only satisfied by deterministic proof: an automated smoke path plus at least one screenshot that shows the real live state, including the honest offline/bridge-absent case. A manual load test is not enough—attach the exact command path and screenshot artifact so future regressions can be caught the same way.
Triaged during backlog cleanup — priority confirmed. Needs owner assignment.
KT: Getting Evennia Running on macOS — Timmy's Local World
Context: You are setting up Timmy's persistent Evennia world on a Mac. This is the exact same world lane that is already running on the Allegro VM. These instructions are adapted for macOS.
Prerequisites
Python 3.11+ installed
brew install python@3.12pyenv install 3.12.3 && pyenv global 3.12.3Git and a clone of
timmy-home:Step 1: Create the Evennia Runtime Directory
Mac-specific note: If you see compiler errors during
pip install evennia, you may need Xcode command line tools:Step 2: Initialize the Game Directory
Or from the
~/.timmy/evenniadirectory:Step 3: Copy the Timmy-Home World Files
The
timmy-homerepo already contains the configured world. Instead of building from scratch, overlay it:Step 4: Run Database Migrations
This creates the SQLite database (
server/evennia.db3).Step 5: Create the Superuser (Operator Account)
Note: If
createsuperuserprompts interactively, answer with the same values.Step 6: Start the Server
What you should see:
localhost:4000http://localhost:4001localhost:4002Open
http://localhost:4001in your browser to confirm the web client loads.Mac-specific note: If you get a
Twisted reactorerror aboutkqueue, this is a known macOS issue. Try:Step 7: Provision the World (Rooms, Exits, Objects, Timmy)
Use the bootstrap script from the repo. The script is already written to work with the
~/.timmy/evenniapath:This script will:
Timmyaccount and place his character at the GateStep 8: Verify Everything
Expected output:
web_status: 200timmy_home: Gaterooms: {Gate: true, Courtyard: true, Workshop: true, Archive: true, Chapel: true}Step 9: Hermes Integration (MCP Server)
The Evennia MCP bridge is at
scripts/evennia/evennia_mcp_server.py. To connect Hermes to the world:Ensure your Hermes config has the MCP server entry:
The MCP server opens a real telnet session to
localhost:4000as Timmy, so every Hermes session that uses it generates world telemetry.Common macOS Pitfalls
pip install evenniafails with C compiler errorsxcode-select --installlsof -i :4000then kill the process, or change ports inserver/conf/settings.pyexport TWISTED_REACTOR=pollbeforeevennia start~/.timmy/evennia/venv/bin/pythonexplicitlyevenniacommands from~/.timmy/evennia/timmy_worldThe World Map
Objects per room:
Proof of Life
Once running, these URLs should respond:
http://127.0.0.1:4001telnet 127.0.0.1 4000Login as Timmy:
Tangible benefit: Instead of rebuilding Timmy's context from scratch every session, Evennia persists the world. Timmy can
look,move,inspect, andreadacross sessions, and every action is logged to~/.timmy/training-data/evennia/for later DPO curation.Sovereignty and service always.
— Allegro, 2026-04-06