Closes #678 in timmy-home tracking. Generated via pipelines/codebase_genome.py with: - Project overview - Architecture diagram (Mermaid) - Entry points and data flow - Key abstractions - API surface - Test coverage gaps (13 identified) - Security findings (2 medium) - Dead code candidates
5.2 KiB
5.2 KiB
GENOME.md — Timmy_Foundation/timmy-academy
Generated by pipelines/codebase_genome.py.
Project Overview
An Evennia MUD for AI agent training, collaboration, and crisis response practice.
- Text files indexed: 75
- Source and script files: 37
- Test files: 1
- Documentation files: 25
Architecture
graph TD
repo_root["repo"]
commands["commands"]
hermes_agent["hermes-agent"]
server["server"]
tests["tests"]
typeclasses["typeclasses"]
web["web"]
world["world"]
repo_root --> commands
repo_root --> hermes_agent
repo_root --> server
repo_root --> tests
repo_root --> typeclasses
repo_root --> web
Entry Points
- No explicit entry point detected.
Data Flow
- No explicit CLI/main guard entry point was detected; execution appears library- or doc-driven.
- Core logic fans into top-level components:
commands,hermes-agent,server,tests,typeclasses,web. - Validation is incomplete around
world/rebuild_world.py,world/gardens_wing.py,world/workshop_wing.py, so changes there carry regression risk. - Final artifacts land as repository files, docs, or runtime side effects depending on the selected entry point.
Key Abstractions
world/rebuild_world.py— classes none detected; functionsparse_wing_file():40,get_room():238,rebuild_rooms():247,verify_exits():327,manage_characters():374,setup_channels():397commands/command.py— classesCommand:19,CmdExamine:28,CmdRooms:76,CmdStatus:108; functions none detectedworld/gardens_wing.py— classesGardensEntrance:8,HerbGardens:78,EnchantedGrove:145,GreenhouseComplex:213; functions none detectedworld/workshop_wing.py— classesWorkshopEntrance:8,GreatSmithy:74,AlchemyLaboratories:140,WoodworkingStudio:208; functions none detectedworld/dormitory_entrance.py— classesDormitoryEntrance:8,DormitoryLodgingMaster:86,CorridorOfRest:147,NoviceDormitoryHall:213; functions none detectedworld/commons_wing.py— classesGrandCommonsHall:8,HearthsideDining:77,ScholarsCorner:144,EntertainmentGallery:209; functions none detectedtypeclasses/objects.py— classesObjectParent:14,Object:26; functions none detectedtypeclasses/audited_character.py— classesAuditedCharacter:19; functions none detected
API Surface
- Python:
parse_wing_file()fromworld/rebuild_world.py:40 - Python:
get_room()fromworld/rebuild_world.py:238 - Python:
rebuild_rooms()fromworld/rebuild_world.py:247 - Python:
verify_exits()fromworld/rebuild_world.py:327 - Python:
manage_characters()fromworld/rebuild_world.py:374 - Python:
setup_channels()fromworld/rebuild_world.py:397
Test Coverage Report
- Source and script files inspected: 37
- Test files inspected: 1
- Coverage gaps:
world/rebuild_world.py— no matching test reference detectedworld/gardens_wing.py— no matching test reference detectedworld/workshop_wing.py— no matching test reference detectedworld/dormitory_entrance.py— no matching test reference detectedworld/commons_wing.py— no matching test reference detectedtypeclasses/objects.py— no matching test reference detectedserver/conf/settings.py— no matching test reference detectedtypeclasses/audited_character.py— no matching test reference detectedtypeclasses/accounts.py— no matching test reference detectedworld/fix_world.py— no matching test reference detectedtypeclasses/channels.py— no matching test reference detectedserver/conf/mssp.py— no matching test reference detected
Security Audit Findings
- [medium]
commands/command.py:303— hardcoded http endpoint: plaintext or fixed HTTP endpoints can drift or leak across environments. Evidence:msg.append(" |wWeb:|n http://167.99.126.228:4001") - [medium]
hermes-agent/config.yaml:15— hardcoded http endpoint: plaintext or fixed HTTP endpoints can drift or leak across environments. Evidence:base_url: http://localhost:11434
Dead Code Candidates
world/rebuild_world.py— not imported by indexed Python modules and not referenced by testsserver/conf/settings.py— not imported by indexed Python modules and not referenced by teststypeclasses/audited_character.py— not imported by indexed Python modules and not referenced by teststypeclasses/accounts.py— not imported by indexed Python modules and not referenced by testsworld/fix_world.py— not imported by indexed Python modules and not referenced by teststypeclasses/channels.py— not imported by indexed Python modules and not referenced by testsserver/conf/mssp.py— not imported by indexed Python modules and not referenced by teststypeclasses/scripts.py— not imported by indexed Python modules and not referenced by testscommands/default_cmdsets.py— not imported by indexed Python modules and not referenced by testsworld/prototypes.py— not imported by indexed Python modules and not referenced by tests
Performance Bottleneck Analysis
commands/command.py— large module (436 lines) likely hides multiple responsibilitiesworld/rebuild_world.py— large module (482 lines) likely hides multiple responsibilities