How it works
From a public post to an event you can defend.
Eight stages. Each one leaves a record the next one can be checked against. Nothing on the desk is a summary without a path back to the items.
01 · Collect
Public sources, each with its own rules.
An adapter is a file. It names the source, the modality it yields, the rights it carries, and how often it may be called. Text comes from news feeds, Wikipedia current events, Mastodon public timelines, and Bluesky search. Official alerts come from the National Weather Service and GDACS. Readings come from USGS seismic, NASA FIRMS fire detections, and EONET. Imagery entries come from the Sentinel-2 catalogue on Earth Search. Aircraft positions come from OpenSky.
Every item is stored once with its canonical URL, a SHA-256 of the raw body, the time it was published, the time it was collected, and, for readings, the time the sensor observed. Those are three different clocks. FUSE never confuses them.
02 · Extract
A claim is a span, not a paraphrase.
The extractor is deterministic: an event lexicon, numeric parsers for magnitudes, counts, and distances, and hedging, negation, and attribution cues. Each claim records the character range it came from, so the raw viewer can light up the words. If the sentence says 'reports of' or 'unconfirmed', the claim is hedged. If it quotes an agency, the claim is attributed. If it says 'no injuries', the claim is negated, which matters when another source says the opposite.
Instrument records are claims too. A USGS reading yields a magnitude claim with the sensor's own time and location. That is what lets a text report be checked against a reading in the same window.
03 · Trace
Independence is counted, not assumed.
Ten outlets carrying one wire story are one source. FUSE ties items together by canonical URL, near-duplicate body text, explicit quotation, shared publisher family, and reposted media, then unions them into independence groups. The support index counts groups, not items. The benchmark page shows what happens when the discount is switched off: support inflates and the gold scenarios fail.
Reused pictures are detected with perceptual hashes. A picture is flagged as recycled only when an earlier sighting exists from a different organisation at least 36 hours before. Same-day syndication of a wire photo is not a recycled image.
- A perceptual-hash match says the same picture appeared before. It does not say which use is the original.
- Absence of Content Credentials is not evidence of manipulation. Most legitimate images have none.
04 · Place and time
Where, with alternatives. When, with a basis.
Place names resolve against a GeoNames-derived gazetteer of about 19,000 cities, regions, and countries with English alternate names. Resolution scores population, feature type, locative cues in the sentence, and other places mentioned in the same item. The chosen place carries a confidence and a radius. Alternatives are kept and drawn on the map as hollow circles, so an analyst can see that 'Paris' had a Texas reading.
Time comes from the claim when the text states one, from the sensor when the item is a reading, and from publication only as a bound. The event window records which basis it used, and linking discounts windows that are wide or inferred.
05 · Fuse
Events are hypotheses, and they can be split.
Candidate items are merged by a constrained agglomerative pass: same event type family, overlapping footprints, overlapping windows, and cohesion within the cluster. Cannot-link rules stop a magnitude 7.0 from merging with a 5.1 in the same province, and keep two text reports apart unless something concrete joins them. Instrument readings inside the window and footprint attach as corroboration and raise the independent count.
Each event has a version. New snapshots re-run the pipeline, and the versions tab shows how status and index moved. Analyst decisions overlay machine output and are kept separately with the identity and justification that made them.
06 · Verify
A support index with nine named factors.
The index combines independent supporting groups, independent contradicting groups, official-source presence, instrument corroboration, imagery availability, media provenance flags, claim concreteness, source priors, and coordination signals. Each factor shows its weight, value, contribution, and the items that drove it. The sum is a heuristic between 0 and 1 and is labelled as such. It is not a probability of truth, and there is no calibration model behind it yet.
Contradictions are explicit: magnitude disagreement beyond tolerance, count disagreement, a negated claim against an asserted one, an official denial. They are listed with the quotes side by side. An event with contradictions from independent groups is disputed, not averaged.
- The support index is heuristic. It is not a probability that an event happened.
- A machine-text detector score is not falsity. Detector outputs are weak signals and are recorded as such.
07 · Forecast
Short-horizon forecasts, scored against a baseline.
For each event FUSE issues a probability that it will still be reported at 6, 24, and 72 hours, and that an official source will carry it. The model is a hand-set logit over coverage features, always shown beside a persistence baseline. When later snapshots exist, forecasts resolve and a Brier score is computed against that baseline. Where no later snapshot exists, the forecast says so. Single-source items with no official backing receive no number at all.
08 · Deliver
A dossier is the desk, flattened.
The dossier for an event contains the hypothesis, the assessment with factor breakdown, every item with its span-level claims, the lineage edges and groups, media checks, forecasts, assessment history, and analyst decisions. It exports as HTML for reading and JSON for a system. Both carry the same banners the desk shows.