FirstAlerts

Methodology

Reports on this site are written by an automated pipeline from facts extracted out of published coverage and public records. This page describes what it publishes, what it refuses to publish, and where the process can still fail. It is generated from the configuration the pipeline runs on, so it describes the system as it currently is rather than as it was designed.

Facts are separated from writing

Extraction and writing are different steps. Every extracted fact must be supported by a quotation that appears verbatim in the source article; the quotation is located by searching the archived text, never taken on trust. The model that writes a report is given only the verified fact set and never sees the article, so it cannot introduce a detail that no source stated.

Where sources disagree, the disagreement is the published result. Figures are reported as a range with both sources named rather than reconciled into one number, and every revision stays on the record.

Where a fact came from travels with it

Each fact carries the standing of its source, and that governs the language a report is allowed to use about it. An instrument reading is never described as something anyone confirmed, and an official record is never hedged against press reporting.

  1. official_on_recordA named official, on the record
  2. official_documentA filed record — registry, docket, accident file
  3. institutionalA hospital, school district, operator or manufacturer
  4. sensorAn instrument reading — flight tracking, weather observation
  5. local_mediaAn established local outlet with a named reporter
  6. wireA national wire or aggregated report
  7. social_scannerSocial posts and scanner audio

The bottom rung cannot carry a published fact on its own. Repetition is not corroboration: many outlets carrying the same unattributed claim does not promote it.

Mass Casualty Incidents: what is withheld

Some fields are read out of coverage and deliberately not published. They are recorded so the process can be audited and so a later official statement can be checked against what was circulating — but they are never given to the model that writes the report.

  • suspect_identity.*

    a suspect is named only when a law enforcement agency states it on the record — not from sources-say, scanner audio, or another outlet

    Published only once the source reaches: official_on_record. Releasing it is flagged for closer review.

  • victims.*

    victims are named only once an official source or the family has released the name, never from reporting alone

    Published only once the source reaches: institutional. Releasing it is flagged for closer review.

  • weapons

    weapons detail is limited to what officials stated, at their own specificity, and never aggregated across sources

    Published only once the source reaches: official_on_record. Releasing it is flagged for closer review.

  • tactical_detail

    response positions, staging and sheltering locations are never published, during an active event or after it

    Never published, at any level of sourcing.

Reports in this category do not publish on the strength of the checks alone. Each one is read a second time, against the fact set, by a different and stronger model than wrote it: it is asked what the report asserts that the record does not carry, and how every person named is handled. That decision is recorded against the report with its reasons, and the reviewer is named as the model, because it is not a person. This page will not claim otherwise.

What this is trying to be

This site models an investigative reporter rather than a wire desk. The aim is the most complete, accurate and timely account available: not being first with a name, but bringing the context a newsroom would otherwise need a day and a records request to assemble — what has happened at this place before, what the operator’s record is, what the law is where it happened, what the aircraft actually was.

Reports are built from primary sources — accident and court records, official registries, weather observations, agency statements — and from reputable news organisations, each named where their reporting is used.

Speed matters and is not traded away. The pipeline runs end to end every few minutes, so a report is usually published within minutes of the coverage it is built from, already carrying the record lookups. What is never traded is publishing something no source stated: where a fact cannot be verified it is left out and the report says so, which is a different thing from being slow.

Who writes these

Every report on this site is written by an automated system, bylined AI Reporter, and no person reads each one before it appears. That is the honest description of the process, and it is the reason for everything else on this page: with no editor reading every word, the checks have to be in the code, the sourcing has to be visible in the text, and a reader has to be able to say when something is wrong.

Every report carries a thumbs up and down. A thumbs down asks what was wrong, and the answer is attached to that specific report — reader corrections are part of how errors here get found, not a formality.

What the checks do before a report publishes

After a report is written, it is checked in code against the fact set: every figure must appear in a fact, every cited link must be a source that was actually read, and category rules — how an owner may be described, whether a date was stated, whether the language matches the standing of its source — are verified rather than assumed. A report that fails any check is shown its own complaints and rewritten, twice, at escalating effort; the rewrite goes through the identical checks, so the only way out is to satisfy them.

What is still held after that is read again rather than left waiting. A report that waits is not a report anybody decided about — a campus shooting was written five minutes after the wire moved and then sat unpublished for a day behind a hundred and twenty-five others. So a second model reads the draft against the fact set, and either it runs, or it is rewritten against the specific complaint and read again, or it is rejected on the record with the reason attached. Where a report releases something that cannot be taken back — naming a person, describing what was used — that is put in front of the reviewer explicitly, and the reasoning it gives is kept.

What this does not solve

A quotation check proves a source said something, not that it is true. If every source is wrong, the report is wrong, and it will be wrong with citations. Facts derived from records rather than reporting — an aircraft identified by matching an accident record to a date and place — are labelled as derived, and that match can be wrong when two similar events are close together; the system refuses to guess when it cannot tell them apart.

Publication is recorded against whoever or whatever performed it. Where that record says AI Reporter, it means the step was automated and no person read the report — the record is meant to be read literally.

Reports are generated by a language model, and it can be confidently wrong in ways the checks do not catch. Corrections are welcome, and are published as visible revisions rather than silent edits.