Codebase Taxonomy
This page defines how the repo should classify code surfaces.
The point is simple: not every file deserves the same status, and the repository should say that explicitly instead of flattening everything into one vague bucket.
Classification Thresholds
Core
A file is Core if it defines DDA-X mechanics, runtime behavior, memory, provider logic, configuration, or the main public execution surface.
Examples:
src/llm/*src/memory/*src/discord_agent/*run_discord_agent.pyrun_snake.ps1
Lineage
A file is Lineage if it belongs to the documented historical arc of DDA-X development captured in the simulation chronology.
Primary references:
- Simulation Chronology
simulation_chronology.csv
Branch
A file is a Branch if it is a serious DDA-X experiment or world-specific build that extends the framework, but is not currently part of the documented chronology.
Applied
A file is Applied if it turns DDA-X into a companion, chatbot, UI, or domain-specific user-facing system.
Stable applied surfaces can live under apps/ instead of simulations/ when they deserve to stand as first-class software rather than experimental drafts.
Support
A file is Support if it exists to analyze runs, compare outputs, automate tests, export artifacts, or debug integrations.
Legacy Local
A file is Legacy Local if it was created for one-off debugging or machine-specific inspection and is kept only as preserved scratch history. These files should not dominate the repo surface.
Current Structure
Core
src/llm/openai_provider.pysrc/llm/hybrid_provider.pysrc/memory/ledger.pysrc/discord_agent/config.pysrc/discord_agent/runtime.pysrc/discord_agent/bot.pyrun_discord_agent.pyrun_snake.ps1configs/discord_agent/*.json
Lineage
All files listed in:
simulation_chronology.csv
That documented lineage remains the canonical historical arc even though the working simulations/ directory has grown beyond it.
Branch
These are substantial DDA-X branches that deserve to be treated as real experiments rather than random leftovers:
simulations/clock_that_eats_futures.pysimulations/eternal_return.pysimulations/flame_war.pysimulations/glass_cathedral.pysimulations/harborlight.pysimulations/lighthouses_kestrel_bay.pysimulations/parenting_clash_ddax_v2.pysimulations/parenting_clash_azure_phi.pysimulations/simulate_soul_mirror.pysimulations/sonnet_gpt52_collab.py
Applied
These are domain-facing or character-facing builds of the framework:
apps/brobot/true_brobot.pyapps/brobot/brobot_ui.pyapps/eckhart/azure_phi_chat.pyapps/eckhart/eckhart_terminal.pyapps/mad_hatter/mad_hatter_chatbot.pyapps/repository_guardian/repository_guardian.pyapps/singularity/singularity_chatbot.pyapps/torahbot/torah_study_bot.pyapps/torahbot/torahbot_ui.py
Support
These files support analysis, testing, comparison, or operational inspection:
scripts/session_tools/analyze_flame_war.pyscripts/session_tools/repository_guardian_dashboard.pyscripts/simulation_support/repository_guardian_stress_test.pyscripts/simulation_support/torahbot_debug_renderer.pyscripts/simulation_support/verify_clock_that_eats_futures.pyscripts/debug_api/legacy/debug_model.pyscripts/vanilla_comparison.pyscripts/debug_api/openai_probe.pyscripts/session_tools/*
Legacy Local
These older one-off OpenAI probes are preserved under:
scripts/debug_api/legacy/*
They are no longer front-of-repo surfaces. The consolidated replacement is:
scripts/debug_api/openai_probe.py
Practical Rule
When deciding whether a file belongs at the public front of the repo:
- Core and Applied deserve strong visibility
- Lineage deserves documentation and historical framing
- Branch deserves categorization, not burial
- Support belongs under
scripts/or explicit utility sections - Legacy Local should stay out of the repo root and out of the main narrative
Experimental Families
The non-lineage experimental surface already falls into recognizable families.
Pressure and Fracture
simulations/flame_war.pysimulations/parenting_clash_ddax_v2.pysimulations/parenting_clash_azure_phi.pysimulations/sonnet_gpt52_collab.py
These are social-stress and facilitation experiments: escalation, repair, blame, empathy, rigidity, and healing under conflict.
Mythic and Narrative Branches
simulations/clock_that_eats_futures.pysimulations/eternal_return.pysimulations/glass_cathedral.pysimulations/lighthouses_kestrel_bay.pysimulations/simulate_soul_mirror.py
These push DDA-X into richer symbolic, metaphysical, or world-driven settings while still testing identity, pressure, drift, and recovery.
Companion and Character Systems
apps/brobot/true_brobot.pyapps/eckhart/azure_phi_chat.pyapps/eckhart/eckhart_terminal.pyapps/mad_hatter/mad_hatter_chatbot.pyapps/repository_guardian/repository_guardian.pyapps/singularity/singularity_chatbot.pyapps/torahbot/torah_study_bot.pysimulations/harborlight.py
These are more directly user-facing builds where DDA-X becomes a persona, teacher, companion, or character system.
Interfaces and Support Surfaces
apps/brobot/brobot_ui.pyapps/torahbot/torahbot_ui.pyscripts/session_tools/analyze_flame_war.pyscripts/session_tools/repository_guardian_dashboard.pyscripts/simulation_support/repository_guardian_stress_test.pyscripts/simulation_support/torahbot_debug_renderer.pyscripts/simulation_support/verify_clock_that_eats_futures.pyscripts/debug_api/legacy/debug_model.py
These are wrappers, dashboards, inspection tools, and validation helpers around the main experiments.