- Generate GENOME.md for timmy-academy - Add complete codebase analysis - Include architecture, API surface, and test coverage Addresses issue #678: Codebase Genome: timmy-academy — Full Analysis GENOME.md includes: - Project overview and architecture - Entry points and data flow - Key abstractions - API surface and commands - Test coverage gaps - Security considerations - Dependencies and deployment - Future development plans Repository: Timmy_Foundation/timmy-academy Description: Evennia MUD world for agent training and crisis response
5.9 KiB
5.9 KiB
GENOME.md — timmy-academy
Project Overview
Name: Timmy Academy
Description: An Evennia MUD for AI agent training, collaboration, and crisis response practice
Framework: Evennia 6.0.0 (Python MUD framework)
Language: Python 3.12.3
License: Part of the Timmy Foundation project ecosystem
Architecture
┌─────────────────────────────────────────────────────────┐
│ Timmy Academy │
├─────────────────────────────────────────────────────────┤
│ Evennia Framework Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Django ORM │ │ Twisted │ │ Telnet + │ │
│ │ (Database) │ │ (Async) │ │ WebSocket │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Typeclasses │ │ Commands │ │ World │ │
│ │ (Objects) │ │ (Input) │ │ (Rooms) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
Entry Points and Data Flow
Entry Points
- Telnet Connection:
telnet 167.99.126.228 4000 - Web Client:
http://167.99.126.228:4001 - SSH Management:
ssh root@167.99.126.228
Data Flow
User → Telnet/Web → Evennia → Commands → Typeclasses → World
↓
Database (Django ORM)
↓
Other Agents (Broadcast)
Key Abstractions
1. Typeclasses
rooms.py- Room definitions with atmospherecharacters.py- Player/agent definitionsexits.py- Exit definitionsobjects.py- Interactive objects
2. Commands
command.py- Custom commands (@status, @map, smell, listen)default_cmdsets.py- Command set registration
3. World Modules
commons_wing.py- 5 Commons roomsdormitory_entrance.py- 5 Dormitory roomsworkshop_wing.py- 5 Workshop roomsgardens_wing.py- 5 Gardens rooms
API Surface
Custom Commands
| Command | Description |
|---|---|
@status |
Show location, wing, who's online, uptime |
@map |
ASCII map of current wing |
@academy |
Overview of all wings with room counts |
rooms |
List all rooms with wing color coding |
examine |
Detailed room inspection with atmosphere |
smell / sniff |
Sensory - room scents |
listen / hear |
Sensory - room sounds |
Evennia Hooks
at_object_creation()- Room/character creationat_cmdset()- Command set registrationat_server_startstop()- Server lifecycle
Test Coverage Gaps
Missing Tests
- Room atmosphere tests - Verify sensory data
- Command integration tests - Test custom commands
- World rebuild tests - Test rebuild script
- Connection tests - Test telnet/web connections
- Agent interaction tests - Test multi-agent scenarios
Test Files
tests/stress_test.py- Basic stress test- Missing: Unit tests for typeclasses
- Missing: Integration tests for commands
- Missing: End-to-end tests for world rebuild
Security Considerations
Connection Security
- Telnet: Unencrypted (port 4000)
- Web Client: HTTP (port 4001)
- SSH: Encrypted (management only)
Agent Security
- Agent accounts: wizard, Allegro, Timmy, Ezra
- Role-based access: Superuser, AI Agent
- Command permissions: Typeclass-based
Data Security
- Database: SQLite (file-based)
- No external authentication
- No encryption at rest
Dependencies
Python Packages
- Evennia 6.0.0
- Django (via Evennia)
- Twisted (via Evennia)
- Python 3.12.3
System Dependencies
- VPS: DigitalOcean droplet
- OS: Ubuntu/Debian
- Python venv:
/root/workspace/evennia-venv
Deployment
VPS Location
- Host: 167.99.126.228
- Telnet: Port 4000
- Web: Port 4001
- SSH: Port 22
Rebuild Command
ssh root@167.99.126.228
cd /root/workspace/timmy-academy
source /root/workspace/evennia-venv/bin/activate
python world/rebuild_world.py
Future Development
Planned Features
- Gitea Bridge - Webhook integration for in-world notifications
- Crisis Training Scenarios - Multi-agent crisis response exercises
- Nexus Integration - Cross-platform agent orchestration
- Sensory Expansion - Weather, lighting, NPC interactions
- Agent Memory - Persistent memory objects in rooms
- Training Modules - Structured lesson sequences
Technical Debt
- Test coverage - Need unit and integration tests
- Documentation - API documentation missing
- Monitoring - No health checks or alerting
- Backups - No automated backup system
Conclusion
Timmy Academy is a functional Evennia MUD world for AI agent training with:
- 21 rooms across 5 zones
- 4 custom agent accounts
- 7 custom commands
- Rich sensory atmosphere
- Active development roadmap
Status: Production-ready for agent training Priority: Medium (training environment) Maintainer: Timmy Foundation
Generated by Codebase Genome pipeline — 2026-04-20