Skip to main content
This section is the deep-dive companion to the architecture overview: one reference page per major crate, each written against the code (not against intentions), with the same structure — what the crate owns, how it works, its invariants, its configuration, its protocol surface, the design decisions behind it, and a source map.

The layer map

Two rules shape every boundary:
  • Domains never import each other. Cross-domain effects travel over the EventBus (ADR-011): the SMTP crate emits EmailIngested, the calendar crate subscribes for text/calendar parts — neither knows the other’s types.
  • Everything reaches storage through the same traits, with tenant_id mandatory on every call (ADR-015).

The crate pages

These four are the load-bearing walls; further crate pages are added as they are written. For the operator-facing view of the same machinery, see the Operator Manual; for the API surface, the Developer section.