docs/modules/ — per-module pages
Tier: Public
[!NOTE] The Umbraculum module ecosystem entry point is
docs/MODULES.md— start there for vocabulary, the full catalog, the "I want to build a ___" decision tree, and a worked example.
This directory holds per-artifact pages linked from MODULES.md. It is intentionally narrow in scope; substantive arguments live in the RFCs, and substantive implementation lives in the package READMEs.
Layout
| Sub-directory | Purpose |
|---|---|
canonical/ | One page per canonical module (Tier 1, reserved codes from RFC-0001 §4). Pages land as each module ships. |
verticals/ | One folder per vertical configuration (Tier 6 — currently just brewery). The folder contains the vertical overview plus vertical-specific domain docs so Docusaurus renders them under the module ecosystem instead of beside platform-core docs. |
packages/ | Index of horizontal packages (cross-cutting infrastructure that is not a module). Each row links to the package's own README.md. |
contribute/ | "I want to build a ___" guides — per-target contribution paths with working examples. |
What's here today
| Path | Coverage |
|---|---|
canonical/automation.md | Shipped — read path + L2 isolation tests; Phase C pending. Use this as the template for the next canonical module. |
canonical/mrp.md | H2 2026 alpha shipped (Waves 1–6 + demo closure) — read-only API, web UX, brewery projections, AI advisor, RFC-0007 exports; mature write scope deferred to ROADMAP § H1 2027. |
canonical/wms.md | Open door stub — code reserved, β layout pre-committed, no implementation yet. Native-mandatory when shipped. |
canonical/crm.md | Open door stub — same. No firm horizon. |
canonical/crp.md | H2 2026 alpha shipped (Waves 1–6 + demo closure) — read-only API + web + AI + rendering proof; paired with mrp; mature scope H1 2027. |
packages/README.md | Shipped — index of horizontal + contracts + vertical-flavored packages; each row links to the workspace README.md. |
canonical/pim.md | Shipped — Phase A + B + C + D-integration-test-Option-B + RFC-0007 PR7 channel-feed proof (read path, web admin, 4 AI tools, cross-module composition proof, vendor-neutral product-catalog CSV render job); Phase E write paths + vendor-specific feeds + Option-A real-FK queued per surface doc §"Open work". Build record at design/canonical-pim-build-log.md. |
verticals/brewery/README.md | Shipped — reference vertical (β file relocation landed via RFC-0006; brewery-specific domain docs live beside the overview). |
contribute/README.md | Contributor entry — picks one of four paths below. |
contribute/canonical-module.md | Allocating a new canonical code (mini-RFC procedure). |
contribute/vertical-configuration.md | Building a new vertical (uses brewery as worked example). |
contribute/third-party-module.md | Tier 3 / Tier 4 connector or extension against an existing canonical. |
contribute/horizontal-package.md | New cross-cutting package under packages/<name>/. |
Adding a per-module page
When a new canonical module's read path ships (the equivalent of automation's Phase B), add a page under canonical/<code>.md. Mirror the section layout of automation.md:
- Front matter: Tier / Status / Code / Module tier / License / Audience.
- §1 What it does (one paragraph).
- §2 The four slices (β layout — API / web / native / contracts).
- §3 Registration (the
registerModule()call, copied from real code via a code reference). - §4 HTTP routes (table — method, path, auth, response shape).
- §5 AI tools (table — name, purpose, scopes).
- §6 Adapter SDK contract or equivalent third-party-facing surface (when applicable).
- §7 Data model (Prisma schema name + tables).
- §8 Tier limits.
- §9 Phase plan and timeline.
- §10 How to consume the module from another module / vertical.
- §11 Cross-references.
Then update docs/MODULES.md §3.1 to flip the row's status from "Open door" to whatever phase shipped, and link to the new page.