This guide provides practical information about writing and maintaining documentation for the Cloacina project.
Documentation Structure
Our documentation follows the Diátaxis Framework but the structure is feature-area first, then quadrant — not the canonical Diataxis “tutorials / how-to / reference / explanation at the top level”. Each feature area gets its own Diataxis tree:
docs/content/workflows/{tutorials,how-to-guides,reference,explanation}/ — Workflow surface (the DB-backed DAG primitive).
docs/content/computation-graphs/{tutorials,how-to-guides,reference,explanation}/ — Computation graph surface (the in-process event-driven DAG primitive).
docs/content/python/{workflows,computation-graphs}/{tutorials,how-to-guides,reference,explanation}/ + docs/content/python/api-reference/ — Python-side mirrors of the same split.
docs/content/glossary.md — Every term in one place.
docs/content/troubleshooting.md — Common problems, including platform-spanning issues.
docs/content/contributing/ — This section.
When adding a new doc, decide first which feature area it belongs to, then which quadrant within that area. If a doc spans feature areas, it lives at the most relevant area and the others cross-link to it.
Nomenclature compliance
All docs must comply with CLOACI-S-0011. In particular: never use reactive scheduler / reactive computation graph / reactive subsystem. Use reactor, computation graph, and traversal per spec.
Writing Guidelines
General Principles
Write clear, concise, and accurate documentation
Use active voice and present tense
Include practical examples where appropriate
Keep documentation up-to-date with code changes
Consider the reader’s perspective and experience level
API Documentation and Cross-Linking
When documenting API features or referring to API components in the documentation, use the api-link shortcode. It uses Rust’s namespace syntax to create links: