An architecture organized around causality, not only state.
Puppeteer is a distributed-systems substrate built around software subjects with identity, authority and durable histories of their own. It preserves a domain as a continuous program of actions, consequences and manifestations.
State still exists. Infrastructure still exists. The difference is where continuity is defined.
In continuous production since 2018 · an ongoing research series.
State tells you what is true.
The journal tells you how it became true.
The causal program preserves what happened, why it mattered, and what may still need to happen.
- ActSomething is done in the domain.
- JournalWhat happened, and what it meant.
- ConsequenceWhat has to follow from it.
- NowWhat the participant sees immediately.
- DeferredWhat stays open without losing its cause.
- Replay · ContinueThe same history, enacted again or carried forward.
An entry is not a record of a change. It is the reason for one.
- Currently viewingEntry 01 · Participant joined
- Cause
- A participant entered the shared domain.
- Now
- Presence acknowledged; the roster updates.
- Deferred
- Eligibility for the next distribution.
- May follow
- Open a boundary · assign a role.
- →Current domain condition
The journal keeps the narrative where the domain happened, instead of reconstructing it later from unrelated traces.
Paper 0A, §3.2The assembled verbFrom actor to subject.
A Puppet is a software subject with identity, authority and a durable history of its own.
Where it runs
- process
- host
- node
- cluster
- network
- runtime
What it is
- identity
- authority
- voice
- verbs
- roles
- durable history
- ActorAn independent unit of execution.
- EnactAn admitted exercise becomes an act in the Puppet's own history.
- Durable historyActs are persisted so the subject can be reconstructed.
- SubjectThe Puppet to which this history belongs.
Infrastructure determines where it runs. Its history determines who it is.
Not every request becomes history.
A Puppet records an exercise as one of its acts only after it crosses its admission frontier. Refused exercises leave no act; once admitted, the act remains in history whether execution succeeds or fails.
Before the frontier
After the frontier
- Refused 0 acts
- Admitted → execution fails 1 act
- Admitted → execution achieves 1 act
Attention is not memory.
A journal cannot, by itself, remember to act because something did not happen — that is what attention adds. remember is how a subject arranges its own return to a concern still open.
Memory preserves what happened. Attention preserves what still matters.
Built to exist in distributed systems.
Puppeteer is built so populations of independent subjects can execute concurrently, persist their acts and be reconstructed across changes in process, host and topology.
- Actor Modelhelps to read independent, concurrent execution.
- CQRShelps to read the separation of intent from reads.
- Event Sourcinghelps to read history as a source of reconstruction.
- Puppeteeruses enacted acts to constitute a subject's durable history.
History is not only how state is rebuilt. It is part of who the Puppet is.
Actors give us concurrency. Puppeteer gives them subjecthood.
How nCubo engineers across topologiesOne play. Many stages.
The production can change. The domain should not have to.
A screen is one staging of the domain, not the domain itself.
Acting and observing are architectural roles, not properties of a particular screen.

- 1
- domain
- 5
- measured stagings
- 6
- clients
- 0
- domain edits
Meaning must survive replay, delay and changing environments.
Not uptime, and not failover. Continuity here is architectural.
Continuity preservescausalityidentityauthoritypending consequence
Organized as two integrity families.
Causal integrity requires authority integrity.
The Continuity ContractCausal Integrity
Causality · Identity- Interpretable actions
- Preserved history
- Attributable consequences
Authority Integrity
Authority · Pending consequence- Legitimate observables
- Explicit bindings
- Authorized destinations
Familiar primitives. A different architectural center.
- Actor ModelIsolate concurrent executionDoes the process that runs it decide who it is?
- Event SourcingPreserves what happenedWho authors the observable account?
- Ports & adaptersInvert dependenciesDoes the domain still ask the outside world to complete it?
The primitives are familiar. The authority contract is different.
The question is who is actually in a position to make the decision.
The architecture was isolated, tested and extended through research.
Not only proposed. Each paper examines one architectural property on its own.
- 02ProgramIdentityWhat makes a running unit remain itself?
- 04ParticipantsContinuityWhat must hold when one cause reaches many actors?
- 05JournalCausalityWhat must be preserved for behavior to continue?
- 08AuthorityAuthorityWho is entitled to decide what becomes observable?
- 09StagingIdentityWhat remains itself when stage, client and deployment change?
Research isolated the architectural properties. Engineering turned them into an executable asset.
From architectural proposition to executable asset.
- Research
- Specification
- Compilation
- Manifestation
- Validation
No step replaces the one before it. The result is not only an implementation — it is a reusable architectural asset.
The architecture is still unfolding.
The research documents not only its propositions, but the conditions under which they must still be tested.
- 01External side effects
- 02Authority across trust boundaries
- 03Long-running deferred consequences
- 04Scale and partition boundaries
- 05Semantic versioning of historical programs
- 06Determinism across manifestations
- 07Authorization of causal operations
- 08Observation and journal governance
- 09Compatibility across domain evolution
- 10Governance of destination bindings
- 11Whether complexity is removed or relocated
