This document defines how documentation in Loop is organized, written, and maintained.
If this file is doing its job, nobody needs to ask "where should this live?" during review.
- Make the project operable for newcomers and maintainers.
- Keep behavior docs close to runtime truth.
- Provide reliable pathways by role, skill level, and workflow.
- Keep writing precise, human, and useful under pressure.
| Audience | Primary docs | What success looks like |
|---|---|---|
| New user | docs/user-guide/quickstart.md, docs/user-guide/learning-paths.md |
Can run first successful checks and avoid common footguns |
| Returning user | docs/user-guide/workflow-recipes.md, docs/reference/command-reference.md |
Can select and run the right workflow quickly |
| Power user | docs/user-guide/power-user-playbook.md |
Can tune depth, cost, and assurance for high-stakes work |
| Contributor | docs/developer-guide/setup.md, docs/developer-guide/workflow-cookbook.md |
Can ship changes with tests, docs, and evidence |
| Maintainer | docs/developer-guide/quality-gates.md, docs/troubleshooting/incident-playbook.md |
Can diagnose failures and land safe changes predictably |
| Runtime debugger | docs/internals/architecture.md, docs/internals/runtime-walkthrough.md, docs/internals/module-map.md |
Can trace behavior from symptom to module |
| Architecture reader | docs/concepts/mental-model.md, docs/concepts/principles.md, docs/adr/ |
Can explain why system tradeoffs exist |
| Workflow | Start | Deep dive | Closeout |
|---|---|---|---|
| First run | docs/user-guide/quickstart.md |
docs/user-guide/learning-paths.md |
docs/troubleshooting/common-issues.md |
| Feature development | docs/developer-guide/workflow-cookbook.md |
docs/developer-guide/quality-gates.md |
docs/developer-guide/contribution-workflow.md |
| Adapter behavior changes | docs/user-guide/claude-code-adapter.md |
docs/internals/ooda-and-execution.md |
docs/developer-guide/quality-gates.md |
| Spec and formalization work | docs/user-guide/workflow-recipes.md |
docs/spec/, docs/internals/runtime-walkthrough.md |
docs/execution-plan/VALIDATION-MATRIX.md |
| Incident triage | docs/troubleshooting/incident-playbook.md |
docs/troubleshooting/diagnostics-checklist.md |
docs/troubleshooting/common-issues.md |
| Command lookup | docs/reference/command-reference.md |
Makefile, scripts/ |
docs/execution-plan/evidence/ |
- Orientation docs:
- Explain where to start and how to choose a path.
- Examples:
docs/README.md, sectionREADME.mdfiles.
- Procedure docs:
- Provide commands, success criteria, and failure protocol.
- Examples: user recipes, developer workflow cookbook, quality gates.
- Concept docs:
- Explain mental model and tradeoff logic.
- Examples:
docs/concepts/*.
- Internals docs:
- Explain runtime behavior, module boundaries, and data flow.
- Examples:
docs/internals/*.
- Troubleshooting docs:
- Turn symptoms into deterministic diagnosis and fixes.
- Examples:
docs/troubleshooting/*.
- Reference docs:
- Fast lookup material, minimal narrative.
- Examples:
docs/reference/*,docs/glossary.md.
Every operational document should satisfy:
- Explicit target reader.
- Concrete commands for procedures.
- Clear expected outcomes.
- Link to adjacent docs instead of copy-paste duplication.
- No typographic em dash punctuation.
- No aspirational claims without verification path.
When behavior changes:
- Update code and docs in the same change set.
- Update the nearest section index if navigation changes.
- Record validation evidence for nontrivial claims.
- Re-run docs style checks (
make docs-check).
When docs structure changes:
- Update
README.mdat repo root. - Update
docs/README.md. - Update affected section
README.md. - Add at least one cross-link from an existing high-traffic page.
- "TBD" as permanent architecture.
- Procedures without success criteria.
- Claims that cannot be validated.
- New docs that are not linked from any index page.
- Deleting old docs without redirecting readers to replacement paths.
- System-wide docs ownership is shared by active maintainers.
- Every merged behavior change is responsible for its own documentation updates.
- During review, "works in code but not in docs" counts as incomplete.
Documentation is part of the runtime interface. It just compiles in human brains instead of cargo.