Add automatic project snapshots
This commit is contained in:
@@ -101,6 +101,17 @@ Implemented named-snapshot foundation:
|
||||
explicit inline restore confirmation and cursor-based loading of older
|
||||
revisions; a successful restore reloads all project read models
|
||||
|
||||
Implemented automatic-snapshot policy:
|
||||
|
||||
- `project_snapshots.kind` distinguishes `named` from `automatic`
|
||||
- the central revision boundary captures the complete post-command state after
|
||||
every 25 additional project revisions
|
||||
- the newest 12 automatic snapshots per project are retained
|
||||
- retention never removes named snapshots, immutable revisions or physical
|
||||
database backups
|
||||
- automatic capture and retention run inside the same transaction as the
|
||||
triggering project revision
|
||||
|
||||
## Revit / CSV / IFCGUID Round-Trip Direction
|
||||
|
||||
External model exchange should use explicit staging and link entities instead of writing imported rows directly into circuits.
|
||||
@@ -258,7 +269,6 @@ Completed foundation:
|
||||
|
||||
Remaining constraints before completing project version history:
|
||||
|
||||
- define and implement a periodic snapshot and retention policy
|
||||
- extend project-scoped commands only when further project mutations are
|
||||
deliberately added to history; the generic versioned envelope is complete
|
||||
- do not model IFCGUID as an overloaded circuit equipment identifier
|
||||
@@ -266,7 +276,6 @@ Remaining constraints before completing project version history:
|
||||
|
||||
## Deferred Decisions
|
||||
|
||||
- exact snapshot frequency and retention policy
|
||||
- whether large snapshot payloads remain in PostgreSQL or move to object storage
|
||||
- branch visualization after undo followed by new edits
|
||||
- user/role model and actor attribution
|
||||
|
||||
Reference in New Issue
Block a user