Feature 05 · Drafting & editing
Drafting that cannot touch the record
Open a case file document to work on it and you get a private working copy; the original is untouched. The dispute frames the draft, the agents cite exhibit numbers, saves cut immutable versions, export renders a PDF in the case’s styling. “File to ADR” is refused until ADR offers it — and then it will be an act, never a sync.
01What you see

02How it is used
- Start from an exhibit (a private working copy), from blank, or from one of the centre's templates.
- Draft with the agents — structure for the stage, arguments grounded in the exhibits, procedural compliance against the calendar and the terms of reference.
- Save a version when it matters; review proposals; export the PDF.
- File it on ADR — by exporting and filing there, until “File to ADR” is offered.
- Private by default. A half-written memorial is never readable by the other side; sharing into the session is explicit.
- “Current” is the draft you opened last.
03Technically
- Own tables.
dispute_drafts,_versions,_suggestions,_exports— a draft is private to its party from birth and bound to one dispute. - Originals are immutable. An exhibit forks a working copy (
origin = aiol_created, linked to the source); a second open returns the same copy. - The frame is server-side. Seat → jurisdiction, applicable law, language from the locale, role as position; the client sends content and a reason, never a frame.
- Append-only. Named saves and exports cut versions and audit rows; proposals are anchored, verified and recorded with their resolution.
filing, today
POST /api/v1/adr/drafting/current/file 501 { reason: "not_offered_by_adr", wayRound: "export the PDF and file it on ADR" }
ADR owns the record; AIOL is the workbench. When filing is offered it will be an explicit, signed act by a party — never a background sync.
04The explainer · play, pause, step, full screen
Scene 1 of 4
An exhibit is never edited
Open a case file document to work on it and AIOL forks a private working copy, origin aiol_created, linked to its source. The record is untouched; a second open returns the same copy, not another one.