# Wow > Domain Model as a Service Modern Reactive CQRS Architecture Microservice Development Framework Based on DDD & EventSourcing ## Table of Contents - [Add Wow to an Existing Spring Boot Project](/guide/existing-project.md): Add one Wow aggregate to an existing Gradle, Kotlin, and Spring Boot service with explicit build, metadata, route, runtime, failure, and rollback gates. - [Agent Skills](/guide/skills.md): Select, install, and verify the four Wow Agent Skills for downstream applications. - [Aggregate and Invariants](/guide/domain/aggregate.md): Start from business boundaries and preserve aggregate invariants with event sourcing in Wow. - [Aggregate Lifecycle](/guide/domain/lifecycle.md): Explain StateAggregate creation, restoration, ordered sourcing, metadata evolution, and failure boundaries. - [Aggregate Scheduler](/guide/advanced/aggregate-scheduler.md): Cache Reactor Schedulers per named aggregate and separate thread pools, processing groups, and ordering scope. - [Aggregation Queries](/guide/query/aggregation-query.md): Define the public AggregationQuery AST, counting unit, and dynamic tabular-result contract. - [API Client](/guide/command/api-client.md): Call the global command facade through wow-apiclient's CoApi gateways while keeping the current protocol boundary explicit. - [API Client](/guide/extensions/apiclient.md): Call Wow command and snapshot HTTP contracts through CoApi while preserving route, wait-stage, query-schema, and server-guard boundaries. - [Architecture Overview](/guide/advanced/architecture.md): Understand Wow's module boundaries, authoritative data, runtime components, and extension responsibilities. - [Articles](/articles.md): Choose an opinion article by reader question: command completion, architecture trade-offs, or domain modeling in the AI era. - [As AI Gets Better, Code Gets Cheaper: The Business Domain Model Is What Really Matters](/articles/why-ddd-fits-ai-era.md): An evidence-bounded argument for why ubiquitous language, aggregate invariants, and executable domain specifications still matter as AI changes implementation work. - [Backup, Restore, and Replay](/guide/recovery.md): Treat EventStore as aggregate authority, then restore Wow snapshots, projections, message offsets, compensation state, and rollback evidence. - [Bank Account Transfer (JAVA)](/reference/example/transfer.md): Trace successful and compensating transfer paths through the real Java aggregate, Saga, runtime OpenAPI, and tests. - [BI Deployment and Recovery](/guide/bi-operations.md): Ownership, Deploy, Reset, interruption recovery, acceptance, and rollback for Wow BI. - [Business Intelligence](/guide/bi.md): Generate and operate ClickHouse read models from Wow command and state-event streams. - [CoCache](/guide/extensions/cocache.md): Drive CoCache loading and refresh from Wow snapshot queries and domain/state events. - [Command Processing Pipeline](/guide/command/internals/pipeline.md): Follow a command from CommandGateway through event append, message acknowledgement, event publication, and the PROCESSED boundary. - [Command Transport and Routing](/guide/command/internals/transport.md): Understand CommandBus contracts, local and distributed implementations, LocalFirst dual-copy admission, Void routing, and the SENT boundary. - [Command Wait Runtime](/guide/command/internals/wait-runtime.md): Understand WaitPlan headers, stage signals, wait states, handle coordination, remote callbacks, and fire-and-forget boundaries. - [Commands](/guide/command.md): Enter Wow commands through definition, in-process sending, HTTP invocation, service clients, completion semantics, and troubleshooting. - [Compensation Configuration](/reference/config/compensation.md): Complete property reference for event-failure capture, per-function retry, server scheduling, and WeCom notifications. - [Completion Semantics](/guide/command/completion.md): Choose the earliest command stage that satisfies the caller's visibility and side-effect contract, then handle branches, function matching, chained waits, and timeouts correctly. - [Configuring a Wow Application](/guide/configuration.md): Configure Wow by capability, runtime stage, backend ownership, and environment evidence; use reference pages for exact properties. - [Contributor Guide](/onboarding/contributor-guide.md): Decide whether a Wow contribution is ready for review using the repository's actual modules, Gradle tasks, and CI workflows. - [Core Concepts](/guide/core-concepts.md): Use stable terms for Wow commands, aggregates, events, state, waits, projections, sagas, and recovery. - [Core Configuration](/reference/config/core.md): Exact reference for the Wow runtime, buses, event sourcing, snapshots, storage routing, query schema, and PrepareKey configuration. - [CoSec](/guide/extensions/cosec.md): Extract and propagate CoSec context through Wow WebFlux commands and queries. - [Data Access Control](/guide/data-access.md): Scope Wow routes and queries by tenant, owner, space, and application-supplied ABAC filters without confusing routing data with authorization. - [Data Flow](/guide/advanced/data-flow.md): Connect commands, the domain model, event collaboration, and the read side while marking capability handoffs. - [Data Queries](/guide/query/data-query.md): Use shared query shapes to read snapshot or event-stream data. - [Define Commands](/guide/command/definition.md): Define command payloads, target-aggregate metadata, and handlers that return domain events only. - [Documentation Governance](/guide/advanced/documentation-governance.md): Keep Wow documentation authoritative, discoverable, reproducible, and owned by one canonical location. - [Domain Model](/guide/domain.md): Enter Wow's aggregates, event history, and snapshots through first modeling, historical evolution, or restoration performance. - [Domain Test Suite](/guide/test-suite.md): Use wow-test to express aggregate and saga behavior as Given → When → Expect specifications. - [Ecosystem and Resources](/reference/ecosystem.md): Verify ownership, in-repository integration boundaries, and installation entry points for Wow and related projects. - [Elasticsearch](/guide/extensions/elasticsearch.md): Use Elasticsearch for event streams, snapshots, and backend-aware queries. - [Evaluate and Contribute](/onboarding.md): Choose a role-based entry point to evaluate or contribute to Wow - [Event Compensation](/guide/event/compensation.md): Understand the complete event-processing recovery semantics from immediate retry and durable failure recording to scheduling and operator recovery. - [Event Compensation Example](/reference/example/compensation.md): Run the compensation service and verify its Dashboard, management endpoints, notifications, and deployment recovery loop. - [Event Dispatch Pipeline](/guide/event/dispatch.md): Understand how domain and state events move through function registration, Composite Dispatcher, filters, notification, and acknowledgement boundaries. - [Event Evolution](/guide/domain/event-evolution.md): Maintain long-lived persisted-event compatibility with revision, EventUpgrader, and historical replay. - [Event Processor](/guide/event/processor.md): Run side effects for committed events while making function matching, reactive completion, idempotency, ordering, replay, and failure boundaries explicit. - [Event Sourcing](/guide/domain/event-sourcing.md): Treat appended domain event streams as authoritative aggregate history and restore state through deterministic sourcing. - [Event Stream Aggregation](/guide/query/event-stream-aggregation.md): Apply JVM and WebFlux HTTP/OpenAPI event-stream aggregation to root documents and expanded events through seven business scenarios. - [Event Stream Queries](/guide/query/event-stream-query.md): Query aggregate event history, event-stream field paths, and published HTTP entries. - [Events and Collaboration](/guide/event.md): Choose the right event collaboration mechanism for ordinary side effects, cross-aggregate commands, read-model updates, and durable processing-failure recovery. - [Executive Guide](/onboarding/executive-guide.md): Decide whether to fund a bounded Wow pilot using a verifiable business slice, ownership, and operating evidence. - [Failures and Idempotency](/guide/command/reliability.md): Separate command failures by layer, then use requestId, EventStore persistence constraints, and downstream idempotency to handle conflicts, timeouts, and retries safely. - [Field Masking](/guide/query/masking.md): Configure Schema-driven masking for managed Snapshot and EventStream query results with static field annotations. - [Filter Expressions](/guide/query/filter-expression.md): Build composable query conditions with FilterExpression, JSON expressions, and the Kotlin DSL. - [Framework Tests and Benchmarks](/guide/test-runtime.md): How Wow framework contributors select local, contract, integration, coverage, and JMH tasks and interpret their evidence. - [Getting Started](/guide/getting-started.md): Prove a complete Wow command, event, snapshot, and versioned-state path with the current project template. - [HTTP 200 but the Query Is Empty: Stop Sleeping and Model Completion](/articles/command-success-is-not-complete.md): Use a read-after-write flow to distinguish command acceptance, aggregate processing, and selected projection completion while preserving correct timeout and retry boundaries. - [ID Generator](/guide/advanced/id-generator.md): Separate message-ID and aggregate-ID generation, SPI selection, caching, and deployment responsibility. - [Infrastructure Configuration](/reference/config/infrastructure.md): Exact properties, defaults, and ownership boundaries for Kafka, MongoDB, Redis, Elasticsearch, and WebFlux integrations. - [Introduction](/guide/introduction.md): Understand Wow's value, fit, runtime model, and the costs introduced by CQRS and Event Sourcing. - [JSON Schema](/guide/advanced/schema.md): Generate JSON Schema and OpenAPI components from domain types while keeping compile metadata and runtime query-model schemas separate. - [Kafka](/guide/extensions/kafka.md): Use Kafka for distributed command, domain-event, and state-event buses. - [Kotlin Order and Cart](/reference/example/order.md): Trace order commands, events, state, Saga, HTTP results, and failures through the repository's real source, generated OpenAPI, and tests. - [Metrics](/guide/advanced/metrics.md): Low-cardinality Wow runtime metrics, their pipeline meaning, and export evidence. - [Migrate Wow v6 to v8](/guide/migration/v6-to-v8.md): Upgrade a pinned Wow v6 system to a pinned v8 target with separate source, runtime, storage, data, and cutover gates. - [Migrating from Traditional Architecture](/guide/migration/traditional-architecture.md): Adopt Wow one bounded context at a time with a single writer, replayable import, reconciliation, and rollback. - [Migration Guide](/guide/migration.md): Select a Wow migration path and keep source, runtime, storage, data, and production evidence separate. - [Module Dependencies](/guide/advanced/module-dependencies.md): Select Wow modules by responsibility, direct Gradle dependencies, and Starter feature capabilities. - [Mongo](/guide/extensions/mongo.md): Use MongoDB for event streams, snapshots, queries, and PrepareKey. - [Observability](/guide/advanced/observability.md): Trace and metric evidence across the Wow command, event, storage, and recovery pipeline. - [Observability Configuration](/reference/config/observability.md): Wow switches and exporter wiring for OpenAPI, traces, metrics, and BI operations. - [OpenAPI](/guide/open-api.md): Publish Wow route contracts from generated metadata while keeping compile-time metadata, runtime WebFlux routes, schemas, and clients distinct. - [OpenTelemetry](/guide/extensions/opentelemetry.md): Add OpenTelemetry tracing to Wow runtime operations without owning the SDK or exporter. - [Prepare Key](/guide/advanced/prepare-key.md): PrepareKey conditional reservation, TTL, rollback, key change, and transaction boundaries. - [Product Manager Guide](/onboarding/product-manager-guide.md): Decide whether a product workflow needs Wow's command, event, state, and completion-stage model. - [Production Best Practices](/guide/best-practices.md): Apply modeling, non-blocking execution, idempotency, snapshots, compensation, testing, and production evidence along Wow command stages. - [Projection Processor](/guide/projection.md): Projections are optional; use live snapshots for single-aggregate current state by default, and project only when the read model materially differs. - [Query](/guide/query.md): Enter snapshot and event-stream data queries, aggregation queries, query backends, and API clients through the Query Gateway. - [Query API Client](/guide/query/query-api-client.md): Use wow-apiclient reactive, synchronous, typed, cursor, and separate snapshot-aggregation query interfaces. - [Query Backend](/guide/query/query-backend.md): Logical Query and Schema inputs, native compilation, and response ownership. - [Query Gateway](/guide/query/query-gateway.md): Fixed aggregate-bound preparation, scope, authorization, validation, and response stages. - [Query Model Schema](/guide/query/query-model-schema.md): Recursive logical values and independent native bindings describe runtime query capability. - [Redis](/guide/extensions/redis.md): Use Redis Streams, Lua, and native data structures for Wow buses and stores. - [Runtime Lifecycle](/guide/advanced/runtime-lifecycle.md): WowRuntime readiness, activity admission, graceful shutdown, force cleanup, and Spring ownership. - [Runtime Orchestration Migration](/guide/migration/runtime-orchestration.md): Move custom dispatchers, message sources, and Spring ownership to the one-shot WowRuntime. - [Saga](/guide/event/saga.md): Use a stateless Saga to map committed events to 0..N cross-aggregate commands, with explicit context, business compensation, waiting, and failure boundaries. - [Send Commands](/guide/command/sending.md): Choose among the in-process CommandGateway, aggregate HTTP routes, and the global command facade, then interpret JSON, SSE, and CommandResult correctly. - [Serialization](/guide/advanced/serialization.md): Wow's Jackson 3 mapper, framework module, event-type resolution, and wire-compatibility boundary. - [Snapshot Aggregation](/guide/query/snapshot-aggregation.md): Apply snapshot aggregation to root documents and collection elements through fourteen business scenarios. - [Snapshot Queries](/guide/query/snapshot-query.md): Query an aggregate's current materialized state, snapshot field paths, and published HTTP entries. - [Snapshots](/guide/domain/snapshot.md): Use replaceable aggregate-state checkpoints to shorten latest-state restoration, with clear SNAPSHOT-stage and current-state-read-model boundaries. - [Spring Boot Starter](/guide/extensions/spring-boot-starter.md): Conditionally wire Wow core, runtime lifecycle, and optional infrastructure in Spring Boot. - [Staff Engineer Guide](/onboarding/staff-engineer-guide.md): Decide whether a Wow boundary change is worth accepting using architecture, compatibility, and operational evidence. - [Technology Compatibility Kit](/guide/extensions/tck.md): Verify Wow adapters against shared public runtime contracts. - [Testing Wow Applications](/guide/application-testing.md): After domain specifications, verify generated metadata, runtime wiring, real adapters, recovery, and security boundaries in a Wow application. - [Traditional CRUD vs Wow: From Shipping Endpoints to Shipping a Domain Model](/articles/traditional-vs-wow-architecture.md): Compare common CRUD layering with Wow's model-driven runtime while separating framework capability, application responsibility, and repository evidence. - [Troubleshooting](/guide/troubleshooting.md): Diagnose command, storage, snapshot, projection, and saga failures from the last completed Wow stage, wiring conditions, and backend evidence. - [V9 Query Migration](/guide/query/v9-query-migration.md): Move historical query implementations to the current aggregate Gateway, recursive Schema, and native Backend. - [WebFlux](/guide/extensions/webflux.md): Materialize Wow runtime route contracts as Spring WebFlux functional endpoints. - [Wow Compiler](/guide/advanced/compiler.md): KSP inputs, three output categories, runtime consumers, and verification boundaries for wow-compiler. - [Wow Documentation Map](/guide.md): Choose the shortest path through the Wow documentation for your learning goal or engineering task.