authored_draft_pair.v1.json (1539B)
1 { 2 "schema": "radroots.authored-draft-pair.v1", 3 "status": "approved", 4 "owners": [ 5 "radroots_storage", 6 "radroots_storage_sqlite" 7 ], 8 "authority": "Existing opaque authored revision and backend-neutral atomic storage ownership.", 9 "request": "Exactly two validated distinct authored draft identifiers with the same author. Each retains its existing expected-head CAS and payload/successor constraints. No application payload interpretation.", 10 "atomicity": "Memory validates both under its one state lock before insertion. SQLite uses one BEGIN IMMEDIATE transaction and the existing authored-revision tables. Failure or cancellation before commit must retain neither new revision. Lost acknowledgment after commit has an unknown immediate outcome recoverable by exact replay.", 11 "replay": "Only both exact historical snapshots replay together. Mixed replay/insertion or any mismatch is a conflict and rolls back. Complete historical replay does not establish current head ownership; consumers must check current authority separately before effects.", 12 "compatibility": "Additive unpublished alpha API with fail-closed default BackendUnavailable. No sequential fallback. Existing single append, stored schema, migration identities, dependencies and limits remain unchanged.", 13 "non_goals": [ 14 "coordinate semantics", 15 "application reservation policy", 16 "signing", 17 "delivery", 18 "public SQL or transaction handles", 19 "arbitrary batch transactions", 20 "new database", 21 "release qualification" 22 ] 23 }