Skip to content

Concepts

Why Protean works the way it does: the foundational ideas, the architectural patterns it supports, the design decisions behind them, and the internal machinery underneath.

For factual lookup of specific options, see Reference. For step-by-step instructions, see Guides.

  • Philosophy & Principles


    The convictions that guide every design decision in Protean.

    Philosophy

  • Foundations


    Core DDD concepts: ubiquitous language, bounded contexts, identity, invariants, streams.

    Foundations

  • Architecture Patterns


    DDD, CQRS, and Event Sourcing as implemented in Protean.

    DDD · CQRS · Event Sourcing

  • Building Blocks


    What each domain element is, its purpose, and its key characteristics.

    Building Blocks

  • Async Processing


    The engine, subscriptions, outbox pattern, priority lanes, and stream categories.

    Async Processing

  • Observability


    Wide events, query-oriented field design, correlation and trace context in logs, high-cardinality backends.

    Logging

  • Ports & Adapters


    How Protean separates domain logic from infrastructure through ports and adapters.

    Ports & Adapters

  • Internals


    The field system, shadow fields, query system, and event sourcing mechanics.

    Internals