Skip to content

feat(cms): retain transactional saved page history and actor readback - #36

Merged
intel352 merged 12 commits into
mainfrom
feat/saved-page-history-20261009
Oct 9, 2026
Merged

intel352 merged 12 commits into
mainfrom
feat/saved-page-history-20261009

Conversation

@intel352

@intel352 intel352 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

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, tree 2bdd1e013da3c02c8107f5e2b11ca434272734a9, against main c214340e1385889f9cef56211b4423603958c336. Runtime source is byte-identical to independently reviewed 1b875a3813fb812ce156429a4fbccd067d3234f4; 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 38004046519 passed exact-source verification, real isolated PostgreSQL, full race tests and vet. CodeQL 38004041148 and 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 SHA256 1b0143f18c7c82190effef06dc715d5f09e35529593b1f04eb1907770e0b55d4); 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.

@intel352
intel352 changed the base branch from feat/content-promotion-integrated-20261009 to main October 9, 2026 23:18
@intel352
intel352 marked this pull request as ready for review October 9, 2026 23:22
@intel352
intel352 merged commit 8a87321 into main Oct 9, 2026
4 checks passed
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