How the Platform Read a Screening Rule
A screening rule is subjective text. "Complete dossier", "in a timely manner", "adequate documentation" — none of these has a single definition, and it is the AI that decides what each expression means when it evaluates a case. Whoever writes the rule had no way of knowing which reading the model adopted: they found out later, report by report, when screening flagged compliance where there was none (or the other way around).
The Como a plataforma leu esta regra (How the platform read this rule) panel, in the Screening Rules screen, closes that gap. It shows what the AI understood — and it produces that reading in light of three things at once:
- the rule text;
- the actual text of the articles of the procedural code for the selected context, when the rule cites any;
- the case law attached to those articles, when the context has any.
See also: normative reference validation, which checks whether the cited provisions exist in the base and shows the full text of each; and AI rule generation.
A single panel
Until August 2026 there were two panels doing nearly the same thing — "Testar o entendimento da IA" (Test what the AI understood) and this one. Both sent the text to the same model with the same prompt, and drew the same blocks. Two doors into the same room forced whoever writes a rule to find out by trial which one counted.
One remains, and it covers two states:
| State | What the button does | Saved? |
|---|---|---|
| Rule already saved (detail panel) | Ler agora / Reler re-reads the stored rule | Yes — the reading is kept next to the rule and takes effect in search |
| New rule (creation dialog) | Ler agora reads the text currently on screen | No — it is a preview; the footer says so |
In both states the prompt and the model are the same ones the platform uses on save. What you read is, literally, the reading screening will use — not a second opinion produced through another path. A separate "explain" prompt would diverge from the production one at the first adjustment, and you would start validating a comprehension that never executes.
If you edit the text of an already-saved rule, the panel warns that there are unsaved changes and that the reading shown is of the stored text. Save so the platform re-reads it.
What you see
| Block | What it says |
|---|---|
| Verifica (Checks) | What the rule verifies, in one sentence. |
| Como a IA entendeu (How the AI read it) | In plain language, how the model read the subjective points of the text — where there is room for interpretation and which reading it adopted. This is the block you judge comprehension by. |
| Pontos a conferir (Points to check) | What the rule, as written, leaves open against the cited provision or the courts' understanding: a condition the article requires and the rule omits, a point where it goes beyond the statutory text, a holding that narrows the literal reading. It is empty when there is nothing to flag — the model is instructed not to invent caveats to fill the field. |
| Critérios (Criteria) | The objective conditions that, to the model, characterize compliance. |
| Também aparece como (Also appears as) | Equivalent ways of writing the criterion that the search will look for in the case files — this is what lets screening reach a case that used different wording. |
| Evidência esperada (Expected evidence) | Which document proves it (order, certificate, petition, decision, minutes). |
| Base considerada na leitura (Basis used in the reading) | Collapsed by default. Lists the provisions and decisions the platform actually handed to the model. |
The footer shows the model that produced the reading and — for a saved rule — the date; in a preview, a note that nothing was saved.
Why "Basis used in the reading" exists
Without it, two different states produce the same explanation and you cannot tell them apart:
- the rule cites no provision at all;
- the rule cites one, but the article is not registered in that context.
The block is measured fact, not model output: it lists what the platform sent. When there is nothing, the panel says so plainly — "reading done with the rule text only".
The procedural code enters the reading
When the rule text cites a provision — "Art. 313", "art. 6º" — the platform loads the actual text of that article and hands it to the model along with the rule. The explanation is then produced in light of the code, not in a vacuum.
This solves a problem that produced no error: terms like "adequate filing" or "in a timely manner" change meaning depending on the procedure, and without the provision the model picked a plausible meaning — exactly the hardest format to check for someone who is checking its understanding.
Where the article comes from. From the context (or contexts) selected on the rule itself, on screen. If you select CPC and CPP, both blocks go to the model, each labeled with its code — because the same number is a different thing in each: Art. 313 is stay of proceedings in the CPC and pre-trial detention in the CPP.
With no context selected, no article is loaded. The reading still happens, only without the anchor. This is deliberate: guessing a default code would make a new context's rule be read under the wrong law, and the error would come out as a convincing explanation. The same applies when the cited provision is not registered in that context, or when the base is down — the reading never fails because of that.
Case law comes with it
Having the statutory text is not enough: the courts have already ruled on much of it, sometimes in ways that narrow or broaden the literal reading. A rule that is correct against the text may be wrong against the settled holding.
So the reading also receives the decisions attached to the cited provisions, and most of the Points to check come from them.
What the platform sends. A sample, and it is declared as a sample: for each article the model is told how many decisions exist and how many it is seeing. That is not a detail — without the declaration, three rulings would read as the entire body of case law, and the rule would take effect on a certainty manufactured by the excerpt.
How decisions are chosen. First by weight — binding precedent, repetitive appeals and general repercussion come before ordinary rulings — and, on a tie, most recent first. It is the same weight ladder screening uses when evaluating a case; two different definitions of "strongest decision" would make the panel show one decision and screening weigh another.
Article or item. Citing an item ("art. 6º, III") brings the case law of the article that contains it. This is not a simplification: in the graph, decisions are attached to the article, never to the item alone.
When there is no decision at all, the panel says so — "no case law registered for the provisions cited in this context". Silence would read as "the platform did not look", when it looked and found nothing.
Permissions
| Action | Permission |
|---|---|
| See the stored reading | RULES_VIEW |
| Re-read a saved rule (writes) | RULES_EDIT |
| Preview a new rule (does not write) | RULES_TEST |
Checking whether the model understood a rule does not require write permission: the preview uses the same permission as the normative reference validator next to it.
When the AI does not answer
The reading depends on the language model. When it does not answer, the screen states the reason instead of going blank:
| Message | What to do |
|---|---|
| "A leitura de regras por IA está desativada nesta instalação." | An administrator enables it in Settings. |
| "O modelo demorou mais de 60 segundos para responder." | Try again, or shorten the rule text. |
| "O modelo respondeu, mas fora do formato esperado." | Try again; if it persists, notify an administrator. |
| "Não foi possível falar com o modelo de IA agora." | The AI service is unavailable. Try later. |
None of these prevents creating or saving the rule: the reading is a check, not a mandatory step. When it fails at save time, the rule is left without a reading and the Ler agora button produces it later. The re-read runs in the background and takes a few seconds; the screen says it is re-reading and refreshes itself when it finishes.
While it runs, a progress bar appears under Como a plataforma leu esta regra, naming the current step. There are four of them: load the rule and its context, locate the cited provisions and case law, generate the reading with the AI, store and index it. The bar advances per completed step, not by elapsed time — the third one is the AI call and accounts for nearly all of the wait, so the bar sitting on it for tens of seconds is expected. That is what is actually happening.
When to use it
- When writing a new rule, before creating it: the text does not need to be saved yet. If the reading does not match your intent, rewrite the rule and ask again — subjectivity is fixed in the text, not in the model.
- When editing an existing rule, to check the effect of the change.
- When inheriting someone else's rule, to understand how it is actually applied.
- Whenever the rule cites a provision, to see whether it still holds against what the courts have decided about it.