Repository navigation
feat(cms): retain transactional saved page history and actor readback - #36
Merged
Merged
Conversation
intel352
changed the base branch from
feat/content-promotion-integrated-20261009
to
main
October 9, 2026 23:18
intel352
marked this pull request as ready for review
October 9, 2026 23:22
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.
Saved CMS writes advance a durable tenant revision but do not retain prior page content or attributable per-write records. This adds transactional saved history for page create/update/delete and guarded batch/rollback, retaining changed-page before/after content snapshots, versions, a host-supplied actor, UTC saved time and content digests. A private tenant-authorized history read API provides bounded cursors and the current saved head. Existing expected_version CAS remains authoritative; refused stale writes record nothing.
Depends on merged #35 and now targets main. PostgreSQL requires an explicit additional history SQL prerequisite under a writer fence, matched host route authorization, schema/auth-continuity admission, backup/retention review and versioned adoption. The existing clean10→clean11 admission covers only the first ledger prerequisite. This PR applies no migration, deployment, plugin pin or credential grant. The history-start marker records the current revision at adoption and invents no earlier content/actor history. Unsaved browser drafts require a separate autosave/presence protocol.
Final merge candidate is
f3fe6b105e544e75b7d5713b308b9f9fa429c930, tree2bdd1e013da3c02c8107f5e2b11ca434272734a9, against mainc214340e1385889f9cef56211b4423603958c336. Runtime source is byte-identical to independently reviewed1b875a3813fb812ce156429a4fbccd067d3234f4; only two parent-reviewed CHANGELOG lines were added. A parent-verified ancestry merge resolved the squash-stack comparison without changing the approved content tree or force-pushing. Full effective main comparison is the reviewed saved-history change plus that changelog.Exact candidate hosted CI
38004046519passed exact-source verification, real isolated PostgreSQL, full race tests and vet. CodeQL38004041148and its CodeQL check passed. Original runtime exact-head race/vet evidence records 262 passing top-level tests and two optional browser skips; editor UI is unchanged, and PR35 has separate editor/browser evidence. The complete runtime independent review has no findings (receipt SHA2561b0143f18c7c82190effef06dc715d5f09e35529593b1f04eb1907770e0b55d4); the two-line documentation addition and ancestry/tree proof have separate parent review provenance. No hosted content or production database was changed by these fixtures or review.