prototype: add DDS-scoped persisted configuration - #28248
Draft
Abram Sanderson (Abe27342) wants to merge 11 commits into
Draft
Abram Sanderson (Abe27342) wants to merge 11 commits into
Abram Sanderson (Abe27342) wants to merge 11 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add compositional kernel configuration, sequenced CAS, publication gating, ordered replay, and dark document capability support. Preserve legacy channels and ordinary DDS operation behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Consume the prepared-message bypass before synchronous dirty listeners can submit ordinary edits. Regenerate outstanding explicit document capability requests after reconnect replay completes, outside replayed batches. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Include the new internal runtime option in the exhaustive load-test matrix without enabling the prototype. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (7015 lines, 38 files), I've queued these reviewers:
How this works
|
Restore the original document-schema one-attempt policy and remove explicit ensure/retry APIs. Request the capability through normal desired-schema features, gate publication on active persisted state, and preserve configured detached snapshots through runtime feature inputs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Abram Sanderson (Abe27342)
force-pushed
the
abe27342-sharedtree-history-configuration
branch
from
September 18, 2026 20:21
f79eee5 to
2db0863
Compare
Use an additive persisted string set with identity-preserving no-op unions and the existing one-attempt schema policy. Separate local type creation permission from persisted type readiness across runtime, datastore, and kernel gates, including detached rehydration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adopt the shared configuration facet with an opt-in factory and a persisted sequenced retention boundary. Keep legacy retention options and collaboration, fork, and undo safety. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Rebase serialized peer state to the summary boundary without changing live peer branches or locally retained forks. Cover stale peer bases, fresh load, continued editing, and local fork safety. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Exercise runtime attributes, summarizers, ordered barriers, detached transitions, snapshot replay, retention safety, and normal optimistic edit recovery on configured Trees. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Update the Tree runtime fixtures and prototype documentation for exact DDS type membership while preserving history behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Abram Sanderson (Abe27342)
force-pushed
the
abe27342-sharedtree-history-configuration
branch
from
September 18, 2026 22:49
2db0863 to
a54eccb
Compare
Contributor
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Contributor
Bundle size comparisonBase commit: Notable changes
Per-bundle deltas
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a prototype. It is not yet ready for external review. It is likely it will be split into more manageable PRs as well, though I find it helpful to see the big picture.
Description
Adds a "DDS configuration" mechanism aimed at providing a home for persisted values which:
This mechanism works similarly to
DocumentSchemaat the container-runtime level. This problem space is relatively nuanced. The details around what portions of the data handling protocol these configurations affect will impact how DDSes must react to changes in the protocol.See e.g. this table classifying certain sorts of changes:
Persisted configuration consists of everything past the first row. Rows 3 and 4 are particularly tricky. This PR does not aim to make the base mechanism handle them out of the box. Such configuration changes frequently require interesting special-casing (see e.g. IdCompressor "ghost session") and careful analysis from the DDS author.
The base mechanism still aims to support those kinds of functionality by providing DDS authors information about which configuration revision ops were sent under - this is frequently enough to let them implement a scheme that mitigates issues in this realm (e.g. "drop in-flight ops, have original author of those ops notice this on ack and resubmit ops with equivalent intent").