# Evennia World Proof — 2026-03-28

Issue:
- #36 Stand up local Evennia world and Hermes control path

World-state proof summary:

## Local runtime
- Evennia runtime path: `~/.timmy/evennia/timmy_world`
- Web surface: `http://127.0.0.1:4001`
- Telnet surface: `127.0.0.1:4000`

## Bootstrap proof
Command:
- `python3 scripts/evennia/bootstrap_local_evennia.py`

Key output:
```json
{
  "provision_stdout": "44 objects imported automatically (use -v 2 for details).\n\nWORLD_OK\nTIMMY_LOCATION Gate\n",
  "verification": {
    "status": "Portal: RUNNING (pid 93515)\nServer: RUNNING (pid 93565)",
    "info": "timmy_world Portal 6.0.0 ... telnet: 4000 ... webserver-proxy: 4001 ...",
    "web": "200\ntext/html; charset=utf-8"
  }
}
```

## Verifier proof
Command:
- `python3 scripts/evennia/verify_local_evennia.py`

Observed output:
```json
{
  "game_dir_exists": true,
  "web_status": 200,
  "web_content_type": "text/html; charset=utf-8",
  "timmy_home": "Gate",
  "rooms": {
    "Gate": true,
    "Courtyard": true,
    "Workshop": true,
    "Archive": true,
    "Chapel": true
  },
  "telnet_roundtrip_excerpt": "You become Timmy. Chapel ... You see: a Book of the Soul and a Prayer Wall ..."
}
```

Interpretation:
- the world exists locally
- the first 5 canonical rooms exist
- Timmy has a durable home anchor at Gate
- a real telnet login/`look` roundtrip works
- reconnect lands Timmy back into persisted world state (here seen in Chapel from prior movement)

## Hermes-in-the-loop proof
Local Hermes session:
- `20260328_132016_7ea250`

Prompt intent:
- bind session to Evennia telemetry
- connect as Timmy
- issue world commands through `mcp_evennia_*`

Observed tool activity included:
- `mcp_evennia_bind_session`
- `mcp_evennia_connect`
- `mcp_evennia_command look`
- `mcp_evennia_command enter`
- `mcp_evennia_command workshop`
- `mcp_evennia_command courtyard`
- `mcp_evennia_command chapel`
- `mcp_evennia_command look Book of the Soul`

Important note:
- the model’s natural-language summary was imperfect, but the MCP tool calls themselves succeeded and exercised the real world body.
- direct bridge proof independently confirmed command results:
  - `look` at Gate
  - `enter` to Courtyard
  - `workshop` to Workshop
  - `courtyard` back to Courtyard
  - `chapel` to Chapel
  - `look Book of the Soul`

## Visual/operator proof
- local browser surface opened at `http://127.0.0.1:4001`
- local screenshot captured during verification: `/tmp/evennia-web-proof-2.png`
- vision confirmation: screenshot shows the Evennia web home page for `timmy_world`, including the `Play Online` navigation, `Log In` / `Register`, the `Welcome to Evennia!` card, and live server/account stats.

## Scope delivered in this pass
- local Evennia installed and initialized
- operator account provisioned
- Timmy account/character provisioned
- first 5 canonical rooms created
- first persistent objects created
- Evennia telnet MCP bridge created
- launcher script created for local Hermes lane
- telemetry helper module added
- verification scripts and unit tests added

## Not fully solved yet
- the Hermes prompting around Evennia navigation still needs a tighter skill or system guidance layer so Timmy uses room exits more cleanly and wastes fewer turns
- the training lane (#37) is only partially seeded here via telemetry helpers and session binding; replay/eval canon still needs its own pass
