Add project revision foundation

This commit is contained in:
2026-07-23 21:17:48 +02:00
parent 6b6d2c2a42
commit 903d977443
16 changed files with 2052 additions and 9 deletions
+20 -3
View File
@@ -354,14 +354,31 @@ Persist project-wide change history and restore points across reloads and applic
Tasks:
- add project-scoped monotonic revisions
- record immutable server-side change sets with before/after state
- add optimistic revision checks for stale commands
- [x] add project-scoped monotonic revision storage
- [x] add immutable append-only server-side change-set storage with versioned
forward/inverse payloads
- [x] add optimistic checks when appending a revision
- route domain writes and history records through one shared transaction
- model serializable domain command descriptions outside React
- persist undo/redo eligibility on the server
- add named and periodic logical project snapshots
- restore a historical snapshot as a new revision
- keep database backups separate from logical history
Implemented foundation:
- projects start at revision zero and advance monotonically
- each revision has one separately stored logical change set
- revision metadata, change-set payloads and the project counter are committed
in one SQLite transaction
- a stale expected revision produces no history writes
- integration coverage verifies sequential revisions, stale-command rejection
and rollback after a forced late persistence failure
The current editor operations are not connected to this history boundary yet.
Undo/redo therefore remains session-local until the remaining tasks are
implemented.
Acceptance criteria:
- undo/redo remains available after a page reload