# Evennia Training Data Contract Canonical local telemetry root: - `~/.timmy/training-data/evennia/` Per-session layout: - `~/.timmy/training-data/evennia/YYYYMMDD/.jsonl` - `~/.timmy/training-data/evennia/YYYYMMDD/.meta.json` Meaning: - `.jsonl` is the event stream emitted by the world lane - `.meta.json` is the sidecar mapping record tying the world trace back to the Hermes session id and event log path Minimum event fields: - `timestamp` - `event` - `actor` - for commands: `command` - for text output: `output` (possibly excerpted for compactness) Canonical mapping rule: - Hermes session id is the primary join key - the Evennia MCP bridge receives it through `mcp_evennia_bind_session` - all subsequent world events for that run append to the matching `.jsonl` - the sidecar meta file records `session_id` and `event_log_path` Why this matters: - Hermes transcript and Evennia world trace can be paired later for DPO curation - the world does not become an opaque side channel - replay/eval tools can consume the same contract Benchmark boundary: - Evennia traces represent the persistent-world lane - NLE/MiniHack remains the benchmark lane