Documentation layers

Holon's documentation is organized into four layers with clear boundaries. This prevents drift between what users see, what the runtime actually does, and what maintainers are designing next.

Layer 1: Product website (docs/website/)

Audience: New users, evaluators, integrators, and contributors learning Holon.

Goal: Explain why Holon exists, guide first success, and expose stable-enough concepts without overwhelming readers with RFC detail.

Structure:

SectionPurpose
HomeProduct promise, audiences, brand hierarchy, first CTA
Getting startedShortest path from clone to first agent interaction
ConceptsFour-object mental model before deep lifecycle vocabulary
GuidesTask-oriented workflows grouped by user job
ReferenceCurrent-contract CLI, config, and control-plane snapshots

Rule: Website pages should explain what and how, not why the design works that way. Link to RFCs for design rationale.

Layer 2: Runtime specs (docs/website/spec/)

Audience: Maintainers and contributors who need the current runtime contract.

Goal: Describe the current implementation-facing contract — what Holon actually does today, verified against implementation and tests.

Rule: Spec pages are not user tutorials. They are authoritative contracts. Each spec page links to the source RFCs that motivated the design and tracks known implementation/RFC/test gaps. When runtime behavior changes, the spec page and the RFC should be updated together.

Layer 3: Current public contract

Audience: Users running, configuring, integrating, or troubleshooting Holon.

Goal: Describe current behavior. Mark experimental or unstable behavior clearly.

Includes:

Rule: Reference pages should be verified against the compiled runtime (holon --help, holon config schema). Mark the version each page was last checked against. If behavior is experimental, say so.

Layer 4: Maintainer design (docs/, docs/rfcs/, docs/implementation-decisions/)

Audience: Maintainers and contributors changing runtime semantics.

Goal: Preserve architecture contracts, design rationale, and historical decisions. These are the canonical source of truth for runtime behavior.

Structure:

LocationContent type
docs/rfcs/Canonical design contracts — one RFC per runtime concept
docs/implementation-decisions/ADR-style records — one decision per file
docs/archive/Superseded notes, historical design docs

Rule: When a runtime concept changes, update the RFC first. Implementation decisions capture why a choice was made. Archives preserve history without cluttering the active surface.

Cross-layer links

When to update which layer

ChangePrimary targetSecondary
New CLI commandReference pageGuides, getting-started
Config key changeReference page, config schemaReference page in site
Runtime concept changeRFCConcepts page, reference
New user workflowGuidesGetting-started
Product messagingHomepageREADME
Design rationaleImplementation decisionRFC if normative