Add atomic device row updates

This commit is contained in:
2026-07-23 21:38:20 +02:00
parent 296cb0f1c4
commit 2d0aa11d9c
14 changed files with 918 additions and 53 deletions
@@ -153,14 +153,19 @@ Completed foundation:
ownership and equipment-identifier uniqueness inside its transaction
- circuit updates derive their inverse from the persisted pre-command row and
commit the domain update, inverse command, change set and revision together
- an internal `circuit-device-row.update` command applies the same boundary to
device fields, validates project-device and room ownership and records
automatically derived local override metadata in its normalized forward
command
- integration tests apply the generated inverse as a new `undo` revision and
verify rollback for stale revisions and late history failures
verify rollback for stale revisions and late history failures on both update
command types
Remaining constraints before implementing history:
- extend the concrete project-scoped command union and executors beyond the
internal `circuit.update` slice; the generic versioned command envelope is
complete
internal Circuit and CircuitDeviceRow update slices; the generic versioned
command envelope is complete
- route domain writes and revision recording through one shared project
transaction boundary; the current revision repository only commits history
records and the counter together