Anti-porous architecture: a unified design principle for CQRS + Actor + Event-Sourcing systems
Abstract
This paper is an analytic theory contribution in the sense of Gregor (2006, theory for analyzing, Type I): it introduces a new construct (porosity) and an analytic frame (the encoding decision underneath four surface manifestations), and presents one instantiation as existence proof that the inverse encoding is realizable in production. Quantitative evaluation of the instantiation is deferred to a companion case-study paper; the present paper's contribution is the analytic frame, not artifact evaluation. Four bodies of literature — relational database theory, domain-driven design, REST API contract design, and Event Sourcing — independently document a recurring representational defect: schemas that mix unrelated concepts, fields populated for some rows but not others, contracts overloading heterogeneous use cases behind optional parameters, event payloads recording what was sent rather than what was used. Each tradition names the defect locally and prescribes a local remedy. This paper argues that the four are surface manifestations of a single architectural decision — structure-centric encoding, the choice to make the representation primary the type-space the form must serve rather than the operation that determined the specific case. We name the defect porosity and its principled inversion (operation-centric encoding cross-layer) anti-porosity, and identify the three simultaneous conditions a CQRS + Actor Model + Event Sourcing combination must satisfy to sustain it. A system descending from a 2005 wrapper, refined across multiple projects and ported from Java to .NET, has run continuously in production since 2018 satisfying these conditions; that system, Puppeteer, is presented as one realization, not as the foundation of the claim.
Fields of Study & Subjects
Advanced Database Systems and Queries
Advanced Software Engineering Methodologies
Software Engineering and Design Patterns
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 26 May 2026
- Language
- EN
- Document type
- Preprint