ADR: file versioning (#541) — for review #611

Merged
Cordy merged 2 commits from adr-541 into main 2026-09-18 14:01:34 +00:00
Owner

Draft VERSIONING.md answering #541's seven question areas: immutable byte-copy versions (no rename, single-PUT, Garage-safe, no metadata index), reserved .cairn-versions/ prefix on both drivers, verbatim-ciphertext encryption with keyscan/keydrain extended to the version prefix, versions bill quota, holds freeze the chain (restore stays allowed — it only adds), mint-time GC with versionsMaxPerFile/versionsMaxAgeDays, WOPI coalescing, copy drops history / move carries it through the move chokepoint, restore-mints-first so restore is undoable, trash carries the chain, three endpoints + the #538 Versions panel.

Do not merge yet — review the four open questions at the bottom (defaults, recipient-visible versions, quota billing, same-content skip), mark up, and I'll revise; merge accepts the ADR.

Draft `VERSIONING.md` answering #541's seven question areas: immutable byte-copy versions (no rename, single-PUT, Garage-safe, no metadata index), reserved `.cairn-versions/` prefix on both drivers, verbatim-ciphertext encryption with keyscan/keydrain extended to the version prefix, versions bill quota, holds freeze the chain (restore stays allowed — it only adds), mint-time GC with `versionsMaxPerFile`/`versionsMaxAgeDays`, WOPI coalescing, copy drops history / move carries it through the move chokepoint, restore-mints-first so restore is undoable, trash carries the chain, three endpoints + the #538 Versions panel. **Do not merge yet** — review the four open questions at the bottom (defaults, recipient-visible versions, quota billing, same-content skip), mark up, and I'll revise; merge accepts the ADR.
ADR draft: file versioning (#541) — for review, not for merge yet
All checks were successful
ci / test-and-build (pull_request) Successful in 1m8s
71e6bd7d12
ADR accepted: quota model rewritten to user-invisible versions per review; resolved answers recorded
All checks were successful
ci / test-and-build (pull_request) Successful in 1m11s
188927fd59
Cordy merged commit df75c106eb into main 2026-09-18 14:01:34 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#611
No description provided.