[Feature] Add optimistic concurrency for campaign saves #23

Closed
opened 2026-07-06 11:24:02 +02:00 by zemion · 2 comments
Owner

Imported from the consolidated GovOPlaN product backlog.

  • Source: /mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md
  • Line: 178
  • Section: Milestones > Milestone 10 - Collaboration And Advanced Governance
  • Source status: PARTIAL.

Imported backlog item:

- [ ] Add optimistic concurrency for campaign saves.
<!-- codex-backlog-fingerprint:d9df85a159bbb8c7f61d1e0c --> Imported from the consolidated GovOPlaN product backlog. - Source: `/mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md` - Line: `178` - Section: `Milestones > Milestone 10 - Collaboration And Advanced Governance` - Source status: `PARTIAL.` Imported backlog item: ```markdown - [ ] Add optimistic concurrency for campaign saves. ```
zemion added this to the Milestone 10 - Collaboration And Advanced Governance milestone 2026-07-06 13:14:55 +02:00
Author
Owner

Codex State: ready

Summary

  • Use the platform OCC contract in govoplan-core#277: monotonic aggregate revisions and strong If-Match preconditions first, then conservative three-way reconciliation.
  • Disjoint scalar/map edits may merge automatically. Stable-ID collection operations may merge when disjoint; reorder, delete-versus-edit, same-path, workflow, delivery, ownership, lock, and frozen-evidence changes remain explicit conflicts.

Next / Blocked

  • Implement CampaignVersion edit revisions and stale-save rejection as the first slice, then add client base snapshots/change paths and the shared conflict UI.

Suggested status label: status/ready

## Codex State: ready ### Summary - Use the platform OCC contract in govoplan-core#277: monotonic aggregate revisions and strong If-Match preconditions first, then conservative three-way reconciliation. - Disjoint scalar/map edits may merge automatically. Stable-ID collection operations may merge when disjoint; reorder, delete-versus-edit, same-path, workflow, delivery, ownership, lock, and frozen-evidence changes remain explicit conflicts. ### Next / Blocked - Implement CampaignVersion edit revisions and stale-save rejection as the first slice, then add client base snapshots/change paths and the shared conflict UI. Suggested status label: `status/ready`
zemion added
status
ready
codex/ready
and removed
status
triage
codex/needs-human
labels 2026-07-30 05:28:20 +02:00
Author
Owner

Implemented in Campaign cd223cb on Core contract 9b88ae3. Saves/autosaves require the current strong ETag and base revision, stale writes return bounded refresh metadata, disjoint changes can reconcile automatically, and real conflicts use the shared resolver with protected-path handling and audit evidence.

Implemented in Campaign `cd223cb` on Core contract `9b88ae3`. Saves/autosaves require the current strong ETag and base revision, stale writes return bounded refresh metadata, disjoint changes can reconcile automatically, and real conflicts use the shared resolver with protected-path handling and audit evidence.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#23