Documentation layers

Holon's documentation is organized into five distinct layers with explicit boundaries, audience definitions, and content contracts. This prevents drift between user-facing mental models, authoritative reference contracts, and internal runtime specifications.

The five documentation layers

LayerAudiencePrimary question answeredWhat belongs hereWhat does NOT belong here
Getting started (/getting-started/)New users & evaluators"How do I get my first successful result with Holon?"Shortest-path installation, onboarding, first agent interaction, quick verification, next-step branchesFull CLI command trees, complete config catalogs, API endpoints, internal state models
Concepts (/concepts/)Users & integrators"What is Holon's mental model and why does it work this way?"Stable objects (Agent, WorkItem, Task, Workspace), trust boundaries, memory, continuity, observable invariantsStep-by-step how-to steps, exact flag/endpoint lists, internal module/struct details, volatile engine mechanics
Guides (How-to) (/guides/)Practitioners & operators"How do I accomplish a specific task X?"Task-driven workflows: goal, prerequisites, step-by-step commands, verification, troubleshooting, related linksFull argument reference tables, internal scheduler algorithms, design debates
Reference (/reference/)Users, integrators & operators"What is the exact, authoritative definition of this flag, endpoint, or configuration key?"CLI command tree, configuration schema, HTTP control plane endpoints, model catalog, tool schemas, status enumsNarrative tutorials, onboarding paths, architecture rationale, internal state machines
Spec (/spec/)Maintainers & contributors"What is the current internal runtime contract that changes must preserve?"Scheduler state machines, execution-root invariants, task lifecycle contracts, internal security boundariesUser onboarding, marketing narrative, quick start workflows

Layer guidelines & content contracts

1. Getting started — First success

2. Concepts — User-facing mental models

3. Guides — Task-oriented how-to

4. Reference — Current authoritative contract

5. Spec — Maintainer runtime contracts

Supporting maintainer layers

Cross-layer links

A well-structured document links across layers rather than copying content:

Getting started ──> Guides (for specific tasks)
      │                │
      ▼                ▼
  Concepts ──────> Reference (for exact parameters/endpoints)
      │
      ▼ (maintainers only)
    Spec ─────────> RFCs / ADRs (for design rationale)

When to update which layer

Kind of changePrimary documentation targetCross-references to update
New CLI command or flagreference/cli.mdRelevant guides/ or getting-started/ if part of a core path
New HTTP endpointreference/http-control-plane.mdRelevant how-to in guides/
New user workflow or taskguides/<task>.mdLinks to reference/ and concepts/
Core object mental model changeconcepts/<model>.mdspec/ for engine contracts, reference/
Internal scheduler or state machine updatespec/<contract>.mdSource code tests & maintainer notes
Architectural design decisiondocs/rfcs/ or docs/implementation-decisions/Link from spec/