Evidence Engine methodology
This document describes how the Evidence Engine reaches a published finding, and — at greater length — what it is not allowed to do on the way there. It is written to be checked against the system: the stage list, the provider status and the approval roles on this page are read from the running platform, not transcribed into prose that could quietly fall out of date.
01The pipeline in depth
Eight stages
For each stage: what enters it, what it does, what it may not do, what a reviewer checks afterwards, and what is written down. The pipeline is auditable at every step or it is not evidence.
- Stage 01
Source intake
Every document is registered as a source record carrying its publisher, retrieval date and archive link before any analysis starts; a reviewer can open the full list of sources admitted to the run.
- What enters
- Documents already registered in the platform’s source table — official registers, regulatory notices, court records, corporate filings, company statements and reporting — each carrying its publisher, its retrieval date and, where one exists, an archive link. With them: the record the run is about, and a written instruction from the account starting the run.
- What it does
- Fixes the exact set of sources admitted to the run, and writes the run row to the database before the provider is called, so that a run which fails, times out or is abandoned still leaves a record behind it.
- What it may not do
- Admit anything that is not a registered source. The engine cannot fetch a document itself, follow a link, browse a register or search the open web. If a document is not on file, it is not in the run.
- What a reviewer checks
- The full list of sources admitted — and, more importantly, what was left out. A run over a partial source set produces findings that are true of that set and misleading about the world.
- What is recorded
- The run identifier, the target record, the provider, the model, the pipeline version and the identifiers of every source supplied.
- Stage 02
Verification
Each source is checked back to the body that issued it and graded for reliability; a reviewer can see which sources were graded as primary official records and which were downgraded.
- What enters
- The sources admitted at intake.
- What it does
- Each source is traced back to the body that issued it and carries a reliability grade: primary official, primary corporate, secondary verified, secondary unverified, or unassessed.
- What it may not do
- Upgrade a source on the strength of what it says. A claim does not make its own source more reliable, and a document that repeats a regulator’s notice is not itself a regulator’s notice.
- What a reviewer checks
- Which sources were graded as primary official records and which were downgraded, and whether each grade matches the document as issued rather than as reported.
- What is recorded
- The reliability grade against the source record, alongside its publisher, publication date and retrieval date.
- Stage 03
Entity extraction
Companies, licence holders, providers and authorities named in the verified sources are extracted as candidate entities; a reviewer can read every extracted name beside the source it was taken from.
- What enters
- The verified sources, with their grades.
- What it does
- Names of companies, licence holders, providers and authorities that appear in the text are lifted out as candidate entities, each carrying the source line it was taken from.
- What it may not do
- Resolve a name against outside knowledge. Recognising a brand is not evidence about it, and a name the sources do not contain cannot be introduced into the run at all.
- What a reviewer checks
- Every extracted name beside the source it came from, and the judgement no automated step can make safely: whether two spellings are one company or two, and whether a registered name and a trading name belong together.
- What is recorded
- Candidate names as findings of kind entity, each with the identifiers of the sources that name them.
- Stage 04
Relationship mapping
Extracted entities are linked into ownership, supply, hosting and payment relationships; a reviewer can trace the path of each proposed edge and the sources offered in support of it.
- What enters
- Candidate entities and the verified sources they were drawn from.
- What it does
- Proposes ownership, supply, hosting, payment and licensing links between the extracted entities, each expressed as an ordered path with the sources offered in support of it.
- What it may not do
- Propose a link the sources do not state. A shared address, a shared form of words, a shared IP range or a shared payment descriptor is recorded as exactly that, and is never promoted into ownership or control.
- What a reviewer checks
- The path of each proposed edge, and whether the cited source states the relationship or merely permits the inference. The second is not evidence, and is where a plausible graph quietly becomes a wrong one.
- What is recorded
- Findings of kind relationship, each with its ordered entity path and source identifiers. An approved edge is written to the relationship graph with its own evidence status and confidence, never before approval.
- Stage 05
Context
Proposed findings are set against the records the platform already holds and the regime of the jurisdiction concerned; a reviewer can inspect each contradiction the engine raises against the existing record.
- What enters
- The proposed findings, the records the platform already holds about the same entities, and the regime in force in the jurisdictions concerned.
- What it does
- Sets each proposal against the existing record and raises a contradiction wherever the two disagree — including where the new source contradicts something GambleLABS has already published.
- What it may not do
- Resolve the disagreement. It may not average two figures, prefer the more recent source, prefer the more authoritative source, or pick the more plausible account. The disagreement is the finding.
- What a reviewer checks
- Each contradiction raised, and which side of it is wrong — which sometimes means correcting a GambleLABS record rather than doubting the source.
- What is recorded
- Contradictions with the identifiers of every conflicting source and a statement of what each one says.
- Stage 06
Confidence
Every finding is scored from the reliability and number of the sources behind it, never from the engine’s own certainty; a reviewer can see the score attached to each individual claim.
- What enters
- The findings, with the reliability grades of the sources behind them.
- What it does
- Scores each finding, and the run as a whole, from 0 to 1 — derived from the reliability and the number of independent sources supporting the claim.
- What it may not do
- Score from the engine’s own certainty. A score may not rise because a claim is plausible, because it is serious, because it is widely believed, or because the engine has produced it confidently.
- What a reviewer checks
- The score on each individual claim against its source list. A single-source claim carrying a high score is a fault in the run, not a strong finding.
- What is recorded
- The per-finding confidence and the run confidence. A run reporting a value outside 0 to 1 is rejected outright rather than clamped.
- Stage 07Mandatory human gate
Human review
An editor approves, revises or rejects the run in full; nothing proceeds without a recorded approval, and the reviewing account and timestamp are stored against the analysis.
- What enters
- A completed run in full: every finding, every contradiction, every score and the whole source list.
- What it does
- An editor approves, revises or rejects the run. Approval is an act by a named account, recorded against the analysis.
- What it may not do
- Proceed on silence, on a timer, or on a threshold. There is no confidence value at which a run approves itself, and no queue that drains by expiry.
- What a reviewer checks
- Everything above, and then the wording: that every claim cites a source that was actually supplied, that no sentence carries an accusation the sources do not support, and that where a finding names a subject, that subject has been offered a right of reply.
- What is recorded
- The review status, the reviewing account and the timestamp of the decision, in the analysis row and in the audit log.
- Stage 08Reader-visible
Published intelligence
Approved findings are attached to the record they describe and carry their sources with them; a reader can open exactly the same source list the reviewer worked from.
- What enters
- An approved run.
- What it does
- The findings attach to the record they describe and carry their source list with them, so a reader opens exactly the material the reviewer worked from.
- What it may not do
- Appear on any public page unless the run completed and the human review status is approved. The read query filters on both conditions; there is no path around it and no preview surface that leaks an unapproved finding.
- What a reviewer checks
- After publication the mechanism is the correction log. A published finding is amended in the open, with the amendment attached permanently to the record — it is never quietly edited away.
- What is recorded
- The analysis row itself, readable by anyone who opens the record: model, pipeline version, confidence, findings, contradictions, sources, reviewer and dates.
02Scoring
The confidence model
A number between 0 and 1 attached to every finding and to the run that produced it. It is the single most misreadable thing the engine emits, so what it does not mean is set out at greater length than what it does.
What a score means
- A measure of how well the supplied sources support the claim — nothing more.
- Driven by two things only: how the sources were graded, and how many independent ones state the same thing.
- Highest where several primary official records state the claim directly, in their own words.
- Lowest where one unofficial source states it once, or where the claim is assembled from documents that each supply a fragment.
What a score does not mean
- Not a probability that the claim is true. It says how well documented a statement is, not how likely the world is to match it.
- Not a rating of the company named. A low score is a statement about the evidence in front of the engine, never a judgement about the subject.
- Not a risk score. It cannot be read as an indication that an operator is unsafe, unstable or about to fail, and it must not be used that way.
- Not comparable between runs. Two runs over different source sets produce scores on different evidence, and ranking companies by them would be meaningless.
- Not the model’s confidence in itself. The engine is explicitly instructed to score the sources, not its own certainty.
- Not a reason to publish. The human gate is not weighted by the score, and a high score buys nothing at it.
Because a score is a property of the evidence rather than of the subject, GambleLABS does not rank, grade or score companies anywhere on this platform, and no confidence value is ever aggregated into something that would look like one. A reader who wants to know how well documented a claim is should read the score. A reader who wants to know whether an operator is trustworthy should read the sources.
03Authorisation
The human-review gate
The stage the engine cannot pass by itself. An unapproved finding is not merely hidden from the interface — the query that reads analyses for public display filters on approval and completion together, so an unapproved run has no route to a reader at all.
Approval requires the ai:review permission. It is held by:
- Administrator
- Full platform access, including user management, ingestion configuration and the audit log.
- Editor
- Publishes and archives editorial records, approves case files, curates the homepage and signs off AI-supported findings.
Starting a run requires the separate ai:run permission. It is held by:
- Administrator
- Full platform access, including user management, ingestion configuration and the audit log.
- Investigator
- Builds investigations, entity dossiers and the relationship graph. Reads report bodies but not reporter identity.
- Researcher
- Writes research and explainers, manages sources. Sees only aggregate report metadata.
Running and approving are deliberately different permissions. Only one role holds both — Administrator — so in ordinary editorial work the account that starts an analysis is not the account that clears it for publication.
The rule this exists to enforce
The Evidence Engine is not permitted to publish an accusation. A finding that a company is connected to another company, that a licensee is not the brand a player deals with, or that an operation appears on an authority’s warning list is a serious statement about a named party, and a machine may propose it but may not make it. The gate is not a quality filter that a sufficiently good run can bypass. It is the point at which a person takes responsibility for the claim, and it has no override.
04Disagreement
Contradictions are published, not resolved
Sources about this industry disagree constantly: a register says one holder, a company statement says another; a filing gives one date, a notice gives a different one. How a system handles that is the clearest test of whether it is an evidence tool.
When two sources conflict, the engine is instructed not to resolve the conflict. It may not average two figures, prefer the more recent source, prefer the more authoritative one, or choose the account that reads as more plausible. It records the disagreement, names every source on each side, and states what each one says.
That contradiction then travels with the finding. It is shown to the reviewer at the gate, and — if the run is approved — it is published beside the finding on the record itself, where the reader sees it at the same moment they see the claim. A contradiction is never footnoted, collapsed behind a control, or dropped once the reviewer has formed a view.
This includes contradictions against GambleLABS' own published record. If a new source disagrees with something already on the platform, that is raised in the same way, and the correct outcome is sometimes a correction to the existing record rather than a doubt about the source. Corrections are permanent and attached to the record they amend.
The practical consequence is that a well-evidenced page on this platform may read as less tidy than a page elsewhere. That is the intended trade. A single confident sentence assembled from disagreeing sources is easier to read and worse to rely on.
05Limitations
What this engine cannot tell you
Stated without hedging, because a limitation a reader discovers for themselves costs the platform more than one it was told about.
- 01
Source coverage is uneven, and unevenly missing
The engine sees the documents the platform has registered. Some authorities publish enforcement notices as structured data; others publish a PDF, or a press release, or nothing at all. A company with no record here may be perfectly documented in a register GambleLABS has not connected. Absence of a finding is not a finding.
- 02
Language coverage is narrower than the market
The gambling industry is regulated in dozens of languages, and a material disclosure is often made only in the language of the jurisdiction. Sources the platform holds are weighted towards those published in English or translated into it, which biases what can be extracted at all — a bias that runs in the direction of under-reporting non-English-speaking markets.
- 03
Entity resolution is ambiguous, and ambiguity is where errors live
Corporate names repeat across jurisdictions, differ by one word between a register and a website, change on acquisition, and are frequently chosen to resemble a better-known company. Deciding that two names are one company is a judgement, not a lookup. The engine proposes; a reviewer decides; and the platform keeps both names on the dossier so a reader can see what was merged.
- 04
Records go stale between processing runs
An analysis is a reading of the sources as they stood when the run completed. A licence can be suspended, a domain reassigned or a company restructured the following morning, and nothing about the stored finding will change. Every published finding therefore carries its last-processed date, and that date should be read as a limit on the claim.
- 05
The relationship graph shows recorded relationships, not all relationships
An edge exists because a source stated it and a reviewer approved it. Undocumented control, informal arrangements, nominee shareholdings, verbal agreements and everything held behind an opaque corporate register are simply not in the graph. A sparse graph around a company means the documents are sparse. It is not evidence that the company is unconnected.
- 06
The engine reads excerpts, not archives
Each source enters a run as a bounded extract. A detail buried outside the extract is not considered, and the engine cannot ask for more of a document than it was given. Where a claim turns on a passage that was not supplied, the correct outcome is no finding — which is why an empty result is common and is not treated as a failure.
06Disclosure
Model and provider
Which model produced an analysis is part of the analysis. It is recorded on every run and stated here for the deployment you are reading.
- Provider
- None
- Model
- None
- Pipeline version
- eie-1
- Last completed run
- None
No provider is configured on this deployment. The reason recorded by the system: No analysis provider is connected to this installation.
No analysis can be produced in this state, and none is. The unconfigured provider raises an error rather than returning a result: there is no local heuristic, no sample output and no demonstration mode anywhere in the engine, because a fabricated analysis on an evidence platform is indistinguishable from a lie.
What is recorded on every run
- Target record
- The record the run was about
- Sources supplied
- Every source identifier admitted at intake
- Findings
- Each claim, its kind, its score and its citations
- Contradictions
- Each disagreement and the sources on both sides
- Review
- The status, the reviewing account and the timestamp
- Failures
- The stage a failed run stopped at, and the error
A run that cites a source it was not supplied is not partially kept. The whole run is discarded, because one fabricated reference invalidates every claim beside it.
Where sources come from