Skip to main content

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-directoryPurpose
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

PathCoverage
canonical/automation.mdShipped — read path + L2 isolation tests; Phase C pending. Use this as the template for the next canonical module.
canonical/mrp.mdH2 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.mdOpen door stub — code reserved, β layout pre-committed, no implementation yet. Native-mandatory when shipped.
canonical/crm.mdOpen door stub — same. No firm horizon.
canonical/crp.mdH2 2026 alpha shipped (Waves 1–6 + demo closure) — read-only API + web + AI + rendering proof; paired with mrp; mature scope H1 2027.
packages/README.mdShipped — index of horizontal + contracts + vertical-flavored packages; each row links to the workspace README.md.
canonical/pim.mdShipped — 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.mdShipped — reference vertical (β file relocation landed via RFC-0006; brewery-specific domain docs live beside the overview).
contribute/README.mdContributor entry — picks one of four paths below.
contribute/canonical-module.mdAllocating a new canonical code (mini-RFC procedure).
contribute/vertical-configuration.mdBuilding a new vertical (uses brewery as worked example).
contribute/third-party-module.mdTier 3 / Tier 4 connector or extension against an existing canonical.
contribute/horizontal-package.mdNew 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:

  1. Front matter: Tier / Status / Code / Module tier / License / Audience.
  2. §1 What it does (one paragraph).
  3. §2 The four slices (β layout — API / web / native / contracts).
  4. §3 Registration (the registerModule() call, copied from real code via a code reference).
  5. §4 HTTP routes (table — method, path, auth, response shape).
  6. §5 AI tools (table — name, purpose, scopes).
  7. §6 Adapter SDK contract or equivalent third-party-facing surface (when applicable).
  8. §7 Data model (Prisma schema name + tables).
  9. §8 Tier limits.
  10. §9 Phase plan and timeline.
  11. §10 How to consume the module from another module / vertical.
  12. §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.