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
105 lines
5.2 KiB
Markdown
105 lines
5.2 KiB
Markdown
# 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
|
|
|
|
```mermaid
|
|
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
|
|
|
|
1. No explicit CLI/main guard entry point was detected; execution appears library- or doc-driven.
|
|
2. Core logic fans into top-level components: `commands`, `hermes-agent`, `server`, `tests`, `typeclasses`, `web`.
|
|
3. Validation is incomplete around `world/rebuild_world.py`, `world/gardens_wing.py`, `world/workshop_wing.py`, so changes there carry regression risk.
|
|
4. 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; functions `parse_wing_file()`:40, `get_room()`:238, `rebuild_rooms()`:247, `verify_exits()`:327, `manage_characters()`:374, `setup_channels()`:397
|
|
- `commands/command.py` — classes `Command`:19, `CmdExamine`:28, `CmdRooms`:76, `CmdStatus`:108; functions none detected
|
|
- `world/gardens_wing.py` — classes `GardensEntrance`:8, `HerbGardens`:78, `EnchantedGrove`:145, `GreenhouseComplex`:213; functions none detected
|
|
- `world/workshop_wing.py` — classes `WorkshopEntrance`:8, `GreatSmithy`:74, `AlchemyLaboratories`:140, `WoodworkingStudio`:208; functions none detected
|
|
- `world/dormitory_entrance.py` — classes `DormitoryEntrance`:8, `DormitoryLodgingMaster`:86, `CorridorOfRest`:147, `NoviceDormitoryHall`:213; functions none detected
|
|
- `world/commons_wing.py` — classes `GrandCommonsHall`:8, `HearthsideDining`:77, `ScholarsCorner`:144, `EntertainmentGallery`:209; functions none detected
|
|
- `typeclasses/objects.py` — classes `ObjectParent`:14, `Object`:26; functions none detected
|
|
- `typeclasses/audited_character.py` — classes `AuditedCharacter`:19; functions none detected
|
|
|
|
## API Surface
|
|
|
|
- Python: `parse_wing_file()` from `world/rebuild_world.py:40`
|
|
- Python: `get_room()` from `world/rebuild_world.py:238`
|
|
- Python: `rebuild_rooms()` from `world/rebuild_world.py:247`
|
|
- Python: `verify_exits()` from `world/rebuild_world.py:327`
|
|
- Python: `manage_characters()` from `world/rebuild_world.py:374`
|
|
- Python: `setup_channels()` from `world/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 detected
|
|
- `world/gardens_wing.py` — no matching test reference detected
|
|
- `world/workshop_wing.py` — no matching test reference detected
|
|
- `world/dormitory_entrance.py` — no matching test reference detected
|
|
- `world/commons_wing.py` — no matching test reference detected
|
|
- `typeclasses/objects.py` — no matching test reference detected
|
|
- `server/conf/settings.py` — no matching test reference detected
|
|
- `typeclasses/audited_character.py` — no matching test reference detected
|
|
- `typeclasses/accounts.py` — no matching test reference detected
|
|
- `world/fix_world.py` — no matching test reference detected
|
|
- `typeclasses/channels.py` — no matching test reference detected
|
|
- `server/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 tests
|
|
- `server/conf/settings.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `typeclasses/audited_character.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `typeclasses/accounts.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `world/fix_world.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `typeclasses/channels.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `server/conf/mssp.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `typeclasses/scripts.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `commands/default_cmdsets.py` — not imported by indexed Python modules and not referenced by tests
|
|
- `world/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 responsibilities
|
|
- `world/rebuild_world.py` — large module (482 lines) likely hides multiple responsibilities
|