BINADocs
justbina.com
Esc
  • Try “quote gate”, “bulletin”, or “CLEARY_LLM_MODEL”.
ExplanationExplanation · Understanding-oriented

Grounded extraction

How a model's proposals become part of a report, what the quote gate checks, and what it deliberately does not claim.

Reading a 300-recital decision for every party, figure and effect is slow work. BINA uses a hosted language model to propose those items. A proposal becomes part of the record only after deterministic code checks it against the decision text.

#Propose, then verify

The model receives public decision recitals and returns structured JSON. Application code — not the model — then checks each proposal:

  1. Schema — only allowed fields and kinds.
  2. Citation — the cited recital exists in the stored text.
  3. Exact quote — the quote occurs verbatim in that recital (verifyQuote).
  4. Named-party span — a proposed party's name occurs inside its quote.
  5. Source version — the proposal belongs to the current text; changing the source invalidates old proposals.

Proposals that pass are accepted automatically (autoApproved: true, reviewer auto-approve policy). Party proposals are promoted to category 1.

#How the quote comparison works

Published texts are messy. ADLC's data.gouv text loses spaces where a line wrapped, and both authorities glue footnote calls to the preceding word. A lawyer quoting the passage writes neither. So both sides are reduced to the same key before comparing:

  • quote marks and dashes are folded to one form;
  • case and whitespace are ignored;
  • a footnote call — 1–3 digits right after a letter and before a space, punctuation or the end — is dropped.

Art.5, 2021 and EUR 430 are untouched. The quote must still reproduce every letter and number of the passage, in order. A quote shorter than 8 characters is refused as too short to verify.

#What the gate does not prove

That is why every auto-accepted item can be rejected afterwards through POST /v1/radar/extractions/:id/review. Rejection is the retraction path, and it is recorded in the append-only log together with the source version, model, prompt hash, raw response hash, coverage and usage.

#Summaries are built from verified notes

The headline, the bulletin's In brief and the three summary lines are written by a separate summary pass from quote-verified notes only. Each line names the notes it rests on, and checkSummaryLine refuses:

  • any number that is not in those notes;
  • any name that is not in the decision.

When a note is rejected or superseded, every line that cites it is withdrawn.

#The prompt

Prompt version radar-llm-4 allows up to twelve distinct proposals per source section, keeps economic effects separate from fines and market descriptions, and extracts explicit records — notices, contracts, complaints — that may show who belongs to an affected group, without classifying legal identifiability. A completed run is reused when source, recital parse, prompt and model are unchanged.

#What never reaches the model

Client lists and reviewer identities stay out of every prompt. Watchlist matching runs locally.

BINA · private enforcement radar. Nothing in these docs is legal advice; BINA does not make legal decisions.