ADR 0008: Diátaxis Documentation Framework¶
Status¶
Accepted
Context¶
Our documentation has grown organically over time, resulting in:
- Inconsistent structure and organization
- Mixed content types (tutorials mixed with reference, theory mixed with implementation)
- Difficulty for users to find what they need
- Challenges for maintainers in adding new content consistently
We need a systematic approach to documentation that:
- Serves different user needs (researchers, developers, reviewers)
- Provides clear organization and navigation
- Is sustainable for long-term maintenance
- Supports our dual mandate (research + engineering)
Decision¶
We adopt the Diátaxis Framework as our documentation methodology.
What is Diátaxis?¶
Diátaxis (from Ancient Greek δῐᾰ́τᾰξῐς: dia "across" + taxis "arrangement") is a systematic approach to technical documentation that identifies four distinct user needs and corresponding documentation forms:
-
Tutorials - Learning-oriented
- Purpose: Onboarding and skill-building
- Audience: New users
- Example: "Building your first theory graph"
-
How-To Guides - Goal-oriented
- Purpose: Solving specific problems
- Audience: Users working on tasks
- Example: "How to configure Neo4j connection"
-
Technical Reference - Information-oriented
- Purpose: Looking up facts and specifications
- Audience: Users needing precise information
- Example: API documentation, phase contracts
-
Explanation - Understanding-oriented
- Purpose: Providing context and background
- Audience: Users seeking deeper understanding
- Example: Mathematical models, epistemological foundations
Our Implementation¶
We've adapted Diátaxis for our research-engineering hybrid project:
docs/
├── getting_started/ # Tutorials + onboarding How-To guides
├── tutorials/ # Complete learning workflows
├── how_to/ # Task-specific guides
├── concepts/ # Explanation (theory, mathematics, epistemology)
├── workflow/ # Explanation + How-To (implementation details)
├── reference/ # Technical Reference (API, schemas, contracts)
├── research/ # Explanation (evaluation methodology, validation)
├── experiments/ # Explanation (empirical results, observations)
├── observability/ # How-To + Reference (events, monitoring)
├── adr/ # Explanation (architectural decisions)
└── architecture/ # Explanation (system design, patterns)
Research Adaptation¶
For our research project, we've enhanced the framework:
- Theory & Concepts (Explanation): Mathematical models, epistemological justifications
- Pipeline Implementation (How-To + Explanation): Code-level implementation details
- Architecture & Decisions (Explanation): Technical choices and rationale
- Research & Evaluation (Explanation): Validation methodology and results
Consequences¶
Positive¶
- Clear user pathways: Each documentation type serves a specific need
- Reduced cognitive load: Users find what they need faster
- Easier maintenance: New content has a clear home
- Improved quality: Each type has distinct writing guidelines
- Research transparency: Theory is separated from implementation
Negative¶
- Migration effort: Existing content needs reorganization
- Learning curve: Contributors must understand the framework
- Potential over-structuring: Some content may not fit cleanly
Mitigations¶
- Index pages: Each section has clear navigation and cross-references
- Documentation: This ADR explains the framework
- Flexibility: The framework guides but doesn't constrain
Alternatives Considered¶
-
Traditional API-first documentation
- Would favor engineers over researchers
- Doesn't support our dual mandate
-
Academic paper structure
- Too theoretical for developers
- Doesn't support reproducibility
-
Ad-hoc organization (current state)
- Proven to cause confusion
- Scales poorly
References¶
- Diátaxis Framework - Official documentation
- Diátaxis, from the Ancient Greek δῐᾰ́τᾰξῐς: dia ("across") and taxis ("arrangement")
- Solves problems related to documentation content (what to write), style (how to write it) and architecture (how to organise it)
Related ADRs¶
Implementation Date¶
2026-06-23