AiDR

Feature 02 · The exhibits

The case file: fetched by reference, indexed in one scope

A sync event names an exhibit; AIOL fetches its bytes itself, signed, from a host it was told to trust, and indexes it in a namespace that is the dispute and nothing else. A party may add scratch files — private, and refused once the case is closed.

  1. 01 · What you see
  2. 02 · How it is used
  3. 03 · Technically
  4. 04 · The explainer

01What you see

aiol · /case/documents — Dossier documents
AIOL case file documents: the synced case file of eight documents and the party’s own working documents, separated.
Captured from AIOL’s development instance, on its demonstration case. Two lists, deliberately apart: Dossier (synced from ADR, readable by every party) and Your working documents (scratch, private).

02How it is used

  1. Nothing to do for the case file itself — it fills as ADR announces documents and AIOL fetches them.
  2. Open an exhibit — the viewer shows the real text blocks, or the pipeline's state in words while it is still being ingested.
  3. Add a scratch file of your own — it is yours alone, in list and in content.
  • A removed exhibit is tombstoned and leaves the index; the record keeps the fact that it existed.
  • A closed dispute refuses new scratch uploads.
  • No file from a browser is ever taken as “the ADR document”.

03Technically

  • By reference + fetch. document.added carries metadata and a fetch_url; AIOL GETs it with the same HMAC scheme, only from ADR_FETCH_ALLOWED_HOSTS, size-capped. A URL elsewhere fails the document without a call.
  • One pipeline, two realms. Quarantine, scan, sandboxed extraction, index — the firm's own pipeline, now realm-agnostic: document_chunks.realm = dispute, scope_id = dispute_id, keys under disputes/<id>/.
  • The namespace is the boundary. A model answer can never cite another dispute — that index is outside its retrieval, not filtered out of it.
  • Inline or queued. Dev and tests pull inside the webhook; production leaves fetch rows to the worker that serves both realms.

a scratch upload, as a party

POST /api/v1/adr/documents  · multipart
201  origin="aiol_created"  visibility="private"
409  · the dispute is closed
case fileorigin adr_sync · readable by every party · immutable
scratchorigin aiol_created · private to the uploading party · refused when frozen

04The explainer · play, pause, step, full screen

Scene 1 of 4

An exhibit arrives by reference

The sync event names the document — its number, title, kind, who filed it, and a URL to fetch it from. It carries no bytes. AIOL never accepts a file from a browser as "the ADR document".

0:00 / 0:21