Skip to content

kernel: shared conditional history and revision-aware save coordination - #535

Open
nyblnet wants to merge 2 commits into
mainfrom
codex/kernel-document-state
Open

nyblnet wants to merge 2 commits into
mainfrom
codex/kernel-document-state

Conversation

@nyblnet

@nyblnet nyblnet commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Documents can change while asynchronous writes are in flight, and whole-document undo can overwrite newer collaborator values. Add reusable JSON snapshots, identity-addressed differences/conditional reversal, and a serialized save queue that acknowledges only the captured document revision.

Apps provide the document/revision host and ignored metadata keys. Kernel owns no slide/page/sheet shape, dirty UI, undo grouping or content rules. This PR introduces helpers only; app adoption is separate.

Validation: standalone kernel TypeScript check; cross-shape document-state regressions covering ordering, failure recovery, replacement, conflicts and prototype keys; CI registration 371/371. The new rig is wired into CI. No format, splice, encryption or release changes.

Related: #533 handles persistence/reconnection and #534 handles presence; neither is replaced by this change. App PRs must merge after this one.

@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown

Build size

main (2294eb6) → codex/kernel-document-state (1da9d71)

app base PR change
bento/slides 658.5 KiB 658.5 KiB 0.0 KiB (0.00%)
bento/spaces 264.7 KiB 264.7 KiB 0.0 KiB (0.00%)
bento/dash 406.5 KiB 406.5 KiB 0.0 KiB (0.00%)

Updated: 2026-09-20T16:55:05Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant