Add project revision foundation
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user