From 7250bf5331de0126b73e027bc4015fde6aa7a844 Mon Sep 17 00:00:00 2001 From: gnuxie Date: Wed, 15 Oct 2025 22:32:23 +0100 Subject: [PATCH 1/7] Persistent Replica Runtime. https://github.com/the-draupnir-project/Draupnir/issues/979. https://github.com/the-draupnir-project/planning/issues/68. --- design/2025-10-persistent-replica-runtime.md | 208 +++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 design/2025-10-persistent-replica-runtime.md diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md new file mode 100644 index 0000000..1132c5e --- /dev/null +++ b/design/2025-10-persistent-replica-runtime.md @@ -0,0 +1,208 @@ +# Persistent Replica Runtime + +Background: https://github.com/the-draupnir-project/Draupnir/issues/979 + +The revision issuer system draupnir has is adhoc and entirely in-memory. +Attempts to persist specific revision issuers requires a for backing store to be +written that cannot function as the source of truth for the revision. There is +also no way to rollback these stores. Transactions between revision issuers are +not formalized and it is possible for revision issuers to become unsynchronised. +This would be especially true if e.g. the PolicyRoomRevisions were persisted, +we'd want to be confident that all deltas from dependency revisions were applied +in order. + +Critically the revision issuer model holds back scaling for draupnir4all or +other centralized service architectures draupnir could adopt. As each revision +issuer needs to be available in memory to each process and node.js doesn't allow +for shared memory. + +Revision issuers themselves as the exist in Draupnir-MPS are essentially actors +that produce deltas. It is possible for all computation in draupnir can be +expressed through these actors, and this is desirable because it allows for +draupnir to start and restart in an instant. We propose that this is the +direction for draupnir to head in for a future v3. + +An alternative is just rewriting everything in Elixir and using mnesia. + +NOTE: While this is an overhaul of the underlying infrastructure, we do want to +commit to phasing this in incrementally without having to suspend development +like with draupnir-mps. + +## Proposal + +_Revision issuers_ become _persistent replicas_. The live in-memory instance of +a _revision issuer_ becomes a _replica actor_. A meta-object is introduced to +describe the schema of the revisions and the logic of the actor called a +_replica description_. + +Persistence is implemented by a storage backend that takes the _replica +description_ and creates tables or documents from them. + +A scheduler is introduced that schedules _replica actors_ across worker threads +in Node.JS. + +## Concepts + +### Record + +The first primitive of the runtime is records. These are synonymous with +documents from a document store or a database record. Examples include Matrix +events, policies, room membership. + +Records are a concept because they provide us with automatic persistence +management when the schema provided to a replica description alongside the delta +schema. + +### Revision + +revisions are immutable snapshots that accurately reflect some state at the +point the revision was created. These are composed of a collection of records. + +Revisions are produced by replica actors, and both are described by a replica +description. + +### Delta + +Deltas represent the outcome of a computation related to a revision that provide +a reproducible transformation of the revision state. + +Delta's have their own identity, a delta ID and backlink to a previous delta. + +#### Provenance data + +Each delta needs to include information about upstream inputs it depends on: + +- A revision ID for the revision used to derive the delta. +- The revision ID's of any revisions that are transitive dependencies, along + with the identities of the replicas that issued them. + +### Revision reducer + +A revision reducer is stateless code that takes a revision and an external delta +or data input and produces a new delta specific to the revision. + +### Replica + +A replica is the storage layer representation of a specific partitioned +revision, its records, and its deltas. + +These are ensured to exist by the replica description. + +### Replica actor + +A replica actor is responsible for handling input data, calling revision +reducers, and persisting new revisions and deltas. + +A revision actor is produced by a replica description and is instantiated with +partition data. + +### Replica description + +A replica description describes how to build replicas from the partition data, +and also how to build revision actors. + +### Rebuild delta + +A rebuild delta is a specific kind of delta that is the direct result of a +change in implementation of a replica. For instance it may be important to issue +a rebuild delta when bugs are fixed in replica descriptions that meant replica's +were producing faulty data. + +### Partition + +replicas are partitioned by a key. This key is usually something like a Matrix +room ID, or the user identifier of a Draupnir instance. + +### Actor ID + +These prevent multiple live in-memory actors providing for the same replica. The +scheduler makes sure that there is only ever one live actor per replica +partition. This does require the scheduler to rebuild all actors if the +scheduler crashes, but i'm fine with that. + +### Revision ID + +A revision identifier is a specific ULID that is associated with a revision. + +### Intent replica (effect) + +A intent replica is a special kind of replica that produces an intention to see +some outcome enacted. These intents are then carried out by outcome issuers +(effect handler). + +Enabled protections should be intent replicas. These protections are partitioned +by the capability provider set they are using and the draupnir they are +associated with. They are not associated with the in-memory instance but the +activation of the protection. + +### Outcome replica (effect handler) + +An outcome replica is a special kind of replica that records whether actions +have been issued for intents. The semantic meaning of the outcome is not +relevant, e.g. failure to ban a user is still an outcome that needs to be +recorded and is the outcome of the intent. + +outcome replicas for protections are partitioned in the same way as the intent +replicas, it's just the capability providers are responsible for producing the +actions. + +## Semantics + +### Actor migration + +Actors need to be transportable across node.js worker threads in order to +balance CPU. + +### Preemption + +replica actor client code will be interruptive in order to gracefully handle +shutdown and migration of actors. + +This will be achieved by abusing I/O operations to signal interrupts. CPU bound +actor code will still have to cooperatively check for an interrupt signal. + +### Garbage collection + +Replica dependents will formally be tracked. Transitive dependencies will also +need to be considered for rollbacks to be successful. replicas will only be able +to discard an old revision when all transitive dependents have successfully +migrated to a superseding revision. + +### Scheduling + +The scheduler is responsible for starting replica actors and migrating them when +CPU becomes exhausted in worker threads. The scheduler gives each actor a +controller that signals interrupts. The store is expected to also receive the +controller so that it can preempt on I/O. + +The scheduler will have to be communicated `os.loadavg()` from each worker +thread and use this to trigger actor migration. Realistically we can probably +only move actors from high utilisation to low utilisation and have some strategy +that tries to identify and isolate the cpu intensive actors for reporting. + +### Crashing + +What happens when an actor crashes? + +#### Poisoned delta + +If the revision reducer crashes when processing a delta, and continues to crash +when re-attempted, the delta will be skipped with an explicit acknowledgement. +This signifies a bug in the implementation of the revision reducer and is really +a critical issue. It's important not to bring down the whole system, but quite +honestly the existence of a reducer bug in critical areas can be as bad as that. +Protections obviously can have faulty reducers and don't effect other +functionality. + +#### Other issues + +The actor should be restarted with exponential backoff. + +### Messaging + +How do deltas get communicated to dependencies? especially if the in-memory +actors can crash and be unreliable for message delivery. + +The deltas get written to the persistent store and a message is sent to the +other threads about the write so that the delta can be read back from the store +and propagated to dependencies. From 379ff05df60e66eb7d7b6c9d3a8c757facd02f91 Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 16 Oct 2025 00:06:49 +0100 Subject: [PATCH 2/7] Non-deterministic inputs. https://github.com/the-draupnir-project/planning/issues/68. --- design/2025-10-persistent-replica-runtime.md | 37 +++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index 1132c5e..e387ca8 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -16,11 +16,12 @@ other centralized service architectures draupnir could adopt. As each revision issuer needs to be available in memory to each process and node.js doesn't allow for shared memory. -Revision issuers themselves as the exist in Draupnir-MPS are essentially actors -that produce deltas. It is possible for all computation in draupnir can be -expressed through these actors, and this is desirable because it allows for -draupnir to start and restart in an instant. We propose that this is the -direction for draupnir to head in for a future v3. +Revision issuers themselves as they exist in Draupnir-MPS are essentially actors +that produce deltas. It is possible for all computation in draupnir to be +expressed through these actors. This is desirable because it allows for draupnir +to start and restart in an instant, and it encourages clean and reproducible +design. We propose that this is the direction for draupnir to head in for a +future v3. An alternative is just rewriting everything in Elixir and using mnesia. @@ -206,3 +207,29 @@ actors can crash and be unreliable for message delivery. The deltas get written to the persistent store and a message is sent to the other threads about the write so that the delta can be read back from the store and propagated to dependencies. + +## Non-deterministic inputs + +The PRR needs non-deterministic inputs in order to do anything useful, such as +matrix events, commands, and time scheduling. + +These are provided by _source replicas_. + +### Source replica + +A source replica is a system or client provided replica with no dependencies +that produces deltas. Source replicas provide no data in their records, only the +deltas are significant. + +### Time source replica + +Some protections in Draupnir have time-scheduled background tasks, such as +DraupnirNews. + +These should be implemented by having a revision reducer that accepts a tick +from a time service. + +The time source replica is a system provided source replica that persists +records about when to send ticks to other replicas. Each replica that requires +time scheduling is given a adaptor replica to bridge them to the time source. So +that they are not informed about every single tick. From 877d549c458b248e0700461409e5d372073b861b Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 16 Oct 2025 15:05:32 +0100 Subject: [PATCH 3/7] Rewrite introduction. --- design/2025-10-persistent-replica-runtime.md | 73 +++++++++++++------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index e387ca8..056c04e 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -1,36 +1,57 @@ # Persistent Replica Runtime +The persistent replica runtime is a deterministic incremental computation +environment. + Background: https://github.com/the-draupnir-project/Draupnir/issues/979 -The revision issuer system draupnir has is adhoc and entirely in-memory. -Attempts to persist specific revision issuers requires a for backing store to be -written that cannot function as the source of truth for the revision. There is -also no way to rollback these stores. Transactions between revision issuers are -not formalized and it is possible for revision issuers to become unsynchronised. -This would be especially true if e.g. the PolicyRoomRevisions were persisted, -we'd want to be confident that all deltas from dependency revisions were applied -in order. - -Critically the revision issuer model holds back scaling for draupnir4all or -other centralized service architectures draupnir could adopt. As each revision -issuer needs to be available in memory to each process and node.js doesn't allow -for shared memory. - -Revision issuers themselves as they exist in Draupnir-MPS are essentially actors -that produce deltas. It is possible for all computation in draupnir to be -expressed through these actors. This is desirable because it allows for draupnir -to start and restart in an instant, and it encourages clean and reproducible -design. We propose that this is the direction for draupnir to head in for a -future v3. - -An alternative is just rewriting everything in Elixir and using mnesia. - -NOTE: While this is an overhaul of the underlying infrastructure, we do want to -commit to phasing this in incrementally without having to suspend development -like with draupnir-mps. +The matrix-protection-suite has evolved to around a "revision issuers" concept +to provide deterministic, incremental computation and data-flow in order to +manage complex interactions and resource intensive operations. + +This abstraction has not been generalized and is ad-hoc. And the +matrix-protection-suite had specific and constrained design goals in its early +development in order to build a new core for the draupnir project: + +- Revision issuers are entirely in-memory structures. There are no asynchronous + methods to provide data for persistent storage. +- Attempts to persist specific revision issuers has required for backing stores + to be written that are in reality a downstream consumer of the deltas produced + by revisions outside of startup time. +- The backing stores are not generalized either and have virtually no support + for rollbacks in failed updates etc. +- Transactions between revision issuers are not formalized and it is possible + for revision issuers to become unsynchronised, if a delta fails to process or + is dropped, that effect is permanent until the system is restarted. +- Further the lack of "transaction" complicates persistence of revisions issuers + that are not sources of non-deterministic input e.g. the PolicyRoomRevisions + were persisted, we'd want to be confident that all deltas from the source + revision (room state) were applied in order. + +Most importantly, the matrix-protection-suite was designed to be used entirely +within one JS process. Using workers was never a consideration. This holds the +Draupnir project back from being able to use more centralized service +architectures. Which would be required to provide a popular service. ## Proposal +We propose that all computation in Draupnir to be expressed through _replica +actors_ using a new framework called the persistent replica runtime. This +transition would happen incrementally, rather than as a focussed effort like the +transition to the matrix-protection-suite and Draupnir 2.0. + +This would give us the following advantages: + +- Restart can be immediate and instantaneous. +- Workload can be balanced across worker threads using actor migration. +- All core computation is deterministic and reproducible, easing development and + testing. +- All data-flow interactions are explicit and auditable. +- Effects and effect handlers are first-class, providing not only pre-viewable + and auditable consequences for protections, but for all side-effects. +- The system is fudamentally fault tolerant: all computation is incremental, + transactional, and deterministic. And can be restarted at the last delta. + _Revision issuers_ become _persistent replicas_. The live in-memory instance of a _revision issuer_ becomes a _replica actor_. A meta-object is introduced to describe the schema of the revisions and the logic of the actor called a From 3b608f7af35d2bc4169673873420a9ea12ba45b2 Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 16 Oct 2025 15:18:34 +0100 Subject: [PATCH 4/7] Add dataflow diagram for draupnir. --- design/2025-10-persistent-replica-runtime.md | 2 ++ design/images/2025-10-draupnir-data-flow.png | Bin 0 -> 147606 bytes 2 files changed, 2 insertions(+) create mode 100644 design/images/2025-10-draupnir-data-flow.png diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index 056c04e..7c3ff08 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -9,6 +9,8 @@ The matrix-protection-suite has evolved to around a "revision issuers" concept to provide deterministic, incremental computation and data-flow in order to manage complex interactions and resource intensive operations. +![](./images/2025-10-draupnir-data-flow.png) + This abstraction has not been generalized and is ad-hoc. And the matrix-protection-suite had specific and constrained design goals in its early development in order to build a new core for the draupnir project: diff --git a/design/images/2025-10-draupnir-data-flow.png b/design/images/2025-10-draupnir-data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..e92bf5d7b90a09b6e7c5455ad249970765def43a GIT binary patch literal 147606 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

!@$Iudy+wr6(IfpwB4pJqeh%x&$=?ngM(Mm!e#V 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 FK~er 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 AGXMYp literal 0 HcmV?d00001 From 7e149b09a536cd3bcbde6352b143e562e3165992 Mon Sep 17 00:00:00 2001 From: gnuxie Date: Fri, 21 Nov 2025 23:54:42 +0000 Subject: [PATCH 5/7] TODOs --- design/2025-10-persistent-replica-runtime.md | 32 ++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index 7c3ff08..beed2a2 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -1,5 +1,37 @@ # Persistent Replica Runtime +TODO: Safing policy. Intent revision issuers should always run against the +entire input revisions, not deltas. The safing policy determines when the +reducers arm. This stops intent issuers running during catch up, and only after +catch up. Hm i'm not sure this is correct. The members patching policies style +revision issuer should be what an intent policy looks like, and the output +replica should really be the replica that is safed. It would seem strange to +convert an intent replica into soemthing like this thoug. No it is fine. Intent +replicas always produce recallable effects and model a desired state. Which +outcome replicas map to the real world. Intent replicas do not produce commands +for outcome replicas to implement, but instead an overall desired state for them +to implement. In this sense, the safing policy is not for the intent replica, +it's for the outcome replica. So we really have an Obligation replica as well as +an intent replica. Where Obligations are one shot and Intents produce a steady +state. + +TODO: When policy. Intent revision issuers have an evaluation policy + +TODO: Intent replica throttle indicator to help the scheduler choose which +replicas to sacrifice in a CPU exhaustion event. + +TODO: Explicitly mention that revisions and deltas can safely be held in memory +on different workers. since they are immutable. + +TODO: Focus on explaining the Replica as the core concept, and revise +terminology to say snapshot instead of revision and just say "delta stream" +instead of whatever we use for that. Just call it a state snapshot. + +TODO: How to handle replica version changes. Any change to the schema is going +to cause problems for dependencies. Code changes matter less but obviously +migration does need to happen. Code changes can effect the contract version +though if e.g. scope changes massively so it can't just be a schema version. + The persistent replica runtime is a deterministic incremental computation environment. From f64c4d0aad2451fbc7beb89fab4c4aa5f23b880d Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 18 Dec 2025 18:59:26 +0000 Subject: [PATCH 6/7] Projections. --- design/2025-10-persistent-replica-runtime.md | 107 ++++++++----------- 1 file changed, 43 insertions(+), 64 deletions(-) diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index beed2a2..8706504 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -32,6 +32,8 @@ to cause problems for dependencies. Code changes matter less but obviously migration does need to happen. Code changes can effect the contract version though if e.g. scope changes massively so it can't just be a schema version. +TODO: Rename replica -> projection + projection node + The persistent replica runtime is a deterministic incremental computation environment. @@ -99,97 +101,74 @@ in Node.JS. ## Concepts -### Record - -The first primitive of the runtime is records. These are synonymous with -documents from a document store or a database record. Examples include Matrix -events, policies, room membership. - -Records are a concept because they provide us with automatic persistence -management when the schema provided to a replica description alongside the delta -schema. - -### Revision +### Projection node -revisions are immutable snapshots that accurately reflect some state at the -point the revision was created. These are composed of a collection of records. +Projection nodes are immutable snapshots that accurately reflect a system state +at the point the node was created. -Revisions are produced by replica actors, and both are described by a replica -description. +Projection nodes can reduce input _deltas_ into an _output_ delta, which can +then be used to produce another projection node that reflects a new system +state. -### Delta +### Projection delta -Deltas represent the outcome of a computation related to a revision that provide -a reproducible transformation of the revision state. +Deltas represent the outcome of a computation related to a projection node that +provide a reproducible transformation of the projection state. Delta's have their own identity, a delta ID and backlink to a previous delta. -#### Provenance data - -Each delta needs to include information about upstream inputs it depends on: - -- A revision ID for the revision used to derive the delta. -- The revision ID's of any revisions that are transitive dependencies, along - with the identities of the replicas that issued them. +#### Source delta -### Revision reducer +Source deltas are special because they encapsulate the source of non-determinism +into the deterministic system. All computation in the system is caused by source +deltas. -A revision reducer is stateless code that takes a revision and an external delta -or data input and produces a new delta specific to the revision. +### Provenance data -### Replica +Each delta and projection node needs to include information about upstream +inputs it depends on. -A replica is the storage layer representation of a specific partitioned -revision, its records, and its deltas. +Each delta refers to the single source projection node that is the direct cause +for the current data flow. -These are ensured to exist by the replica description. +Each projection node refers to the current transient source projection nodes +that have been used to derive the current state. -### Replica actor +### Projection node reducer -A replica actor is responsible for handling input data, calling revision -reducers, and persisting new revisions and deltas. +A projection node reducer is a deterministic function that takes a projection +node and an input delta and produces a new output delta specific to the +projection node. -A revision actor is produced by a replica description and is instantiated with -partition data. +### Projection definition -### Replica description - -A replica description describes how to build replicas from the partition data, -and also how to build revision actors. +A projection definition defines how to build projections from partition data, +projection node reducers, and what the inputs to the projection are. ### Rebuild delta A rebuild delta is a specific kind of delta that is the direct result of a -change in implementation of a replica. For instance it may be important to issue -a rebuild delta when bugs are fixed in replica descriptions that meant replica's -were producing faulty data. - -### Partition +change in implementation of a projection, ie a change to the projection +definition. It may be important to issue a rebuild delta when bugs that caused +projections to produce faulty data are fixed. -replicas are partitioned by a key. This key is usually something like a Matrix -room ID, or the user identifier of a Draupnir instance. +The change in projection definition is used as the source delta within a rebuild +delta. -### Actor ID +### Partitioning -These prevent multiple live in-memory actors providing for the same replica. The -scheduler makes sure that there is only ever one live actor per replica -partition. This does require the scheduler to rebuild all actors if the -scheduler crashes, but i'm fine with that. +When projection definitions are combined with partition data when instantiated. -### Revision ID - -A revision identifier is a specific ULID that is associated with a revision. +replicas are partitioned by a key. This key is usually something like a Matrix +room ID, or the user identifier of a Draupnir instance. -### Intent replica (effect) +### Intent projection (effect) -A intent replica is a special kind of replica that produces an intention to see -some outcome enacted. These intents are then carried out by outcome issuers -(effect handler). +A intent projection is a special kind of projection that produces an intention +to see some outcome enacted. These intents are then carried out by outcome +projections (effect handlers). -Enabled protections should be intent replicas. These protections are partitioned -by the capability provider set they are using and the draupnir they are -associated with. They are not associated with the in-memory instance but the -activation of the protection. +Enabled protections should be intent projections. ### Outcome replica (effect handler) From cb5ea3d46f37ceff48f23064805e0da28e39ea95 Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 18 Dec 2025 19:05:09 +0000 Subject: [PATCH 7/7] Deterministic Projection System? --- design/2025-10-persistent-replica-runtime.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/design/2025-10-persistent-replica-runtime.md b/design/2025-10-persistent-replica-runtime.md index 8706504..cd3ce7b 100644 --- a/design/2025-10-persistent-replica-runtime.md +++ b/design/2025-10-persistent-replica-runtime.md @@ -1,4 +1,4 @@ -# Persistent Replica Runtime +# Deterministic Projection System TODO: Safing policy. Intent revision issuers should always run against the entire input revisions, not deltas. The safing policy determines when the @@ -170,17 +170,13 @@ projections (effect handlers). Enabled protections should be intent projections. -### Outcome replica (effect handler) +### Outcome projection (effect handler) -An outcome replica is a special kind of replica that records whether actions +An outcome replica is a special kind of projection that records whether outcomes have been issued for intents. The semantic meaning of the outcome is not relevant, e.g. failure to ban a user is still an outcome that needs to be recorded and is the outcome of the intent. -outcome replicas for protections are partitioned in the same way as the intent -replicas, it's just the capability providers are responsible for producing the -actions. - ## Semantics ### Actor migration