Source applications retain their business records
Context
Shared reporting and lookup need access to application records without taking over their lifecycle.
Decision
Applications retain ownership of their business records, while Queries manages reusable definitions, derived results and execution ledgers through the registered interfaces.
Alternatives Considered
Maintain a separate reporting database: A second store would require independent freshness and access controls.
Implement reporting separately in every application: Applications would duplicate query execution, paging and delivery behavior.
Consequences
Applications supply their dataset, recipe, search, export and snapshot declarations. Files and search documents require retention and freshness policies of their own; snapshot owners generate their own rows.