Second and third rounds on the dossier pipeline, reviewed locally before commit. Retrieval - wayback_pass.py: retries every BLOCKED/DEAD/THIN/ERROR linked source through the Wayback Machine; blocks carry the snapshot date, archive URL and the live verdict. 143 slots retried: 93 fetched, 37 no snapshot, 12 script shells, 1 PDF. - fetch_sources.py: fetch_wayback() helper. - add_extra_sources.py: files staged extra_* finds (web search, not on the DB record) into the store with a provenance note. - Cases re-sourced by web search: 248 (Oslo: Document.no, Avisa Oslo, NRK; the linked Le Parisien piece is case 242 and is marked OFF-CASE), 258 Kharkiv, 260 Singapore, 358 Bangkok, 365 Las Vegas, 388 Verneuil-sur-Seine, 390 Zoersel, 430 Homestead. 341 of 364 cases now hold a fetched article; 11, 66 and 399 have no public text source (podcast, police video, direct victim report). Trimming - auto_trim.py: case-anchored furniture cut for UNTRIMMED blocks. Finds the body run that mentions the case, merges across subheadings and short furniture gaps, drops teasers, share bars, date/URL/caption lines and subscription pitches; refuses pages with no record term or almost no body. 302 blocks trimmed; 16 left on auto-trim-review.md (7 OFF-CASE suspects). Every cut is labelled AUTO-TRIMMED, UNREVIEWED in the dossier; the full extract stays in staging/. Decisions with anchors in trim-decisions-auto.json. - build_cases.py / verify_all.py: banners for auto-trimmed and archived blocks, staged-file check extended to Wayback blocks, flag legend under the record. Detention rule - README "Definitions": the DB field `kidnappings` is the DETENTION violence type (victim, guard, staff or relative held to force submission or execute the theft), distinct from the Kidnapping scenario (taken away and held). - detention-flag-review.md / detention-flag-corrections.json: 40 records reviewed with evidence; 30 set-to-1 proposals accepted by the owner on 2026-09-06 (listed in corrections-approved.md), 10 still open. - apply_detention_wording.py: "Violence Used" in the 70 reviewed summaries now names detention explicitly (62 of 70 labelled), supported by the summary's own text; idempotent; supersedes the batch scripts' wording. Worklist and docs - sofia-worklist.md: 248 decisions, detention rule item replacing the old "no abduction" item, fresh-search section for the textless cases. - README-START-HERE.md: progress notes, run commands, next steps. - Bug fixed in passing: Wayback blocks stored in-memory text with carriage returns; now stored as read back from disk. verify_all.py PASSES (2321 checks). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GZZENdTLzNGsbNy4DyF1yt
4.5 KiB
Approved corrections — apply these on the website database
Sofia's decision on each, taken one by one. Nothing here has been applied automatically.
Evidence for every item is in research-results.json and fact-check-findings.json.
Spreadsheet fixes (not the database)
Row 259 — URL is https://archive.is/El9EI, which is the Kharkiv snapshot. That same
link correctly sits on row 262 (Kharkiv) and on DB id 258 (Kharkiv). The article saved in
row 259 is the Europe 1 Val-de-Marne story, and DB id 362 already holds the correct
Europe 1 URL. So the database is right and this row's URL is the mispaste.
→ Fix or clear the URL on row 259. Leave DB id 258 alone.
Row 18 — Scenario says Armed Robbery in Public Space. The article says the attack
happened inside the victims' own apartment in the Busca neighbourhood of Toulouse. DB id
266 already says Home Invasion, which is closer.
→ Fix the sheet.
Row 252 — URL points to cryptonews.com/.../french-crypto-trader-kidnapped-near-paris,
a different case in France. The article saved in that row is a Phuket robbery in Thailand.
Trusting this URL would have filed the article under DB id 350.
→ Re-find the correct source. This case is also absent from the database entirely; see
cases-missing-from-database.json.
DB id 307 — Salford, October 2023
description duplicates id 354 (incident 1, the door knock) and notes describes
incident 2. Date, location, scenario and flags already fit incident 4. Confirmed by
elimination: five sheet rows, five DB records, four pairs settled independently.
→ Rewrite to incident 4, quoting the source in notes:
"Days later, the gang turned up at the victim's house again, demanding more money. They took him to Egret Drive, the address he was later found at by police, and placed a bag over his head."
DB id 321 — Recife, 21 March 2025
victim reads Crypto manager, but the person kidnapped was his mother. The record already
contradicts itself: the description reads "Crypto manager surveilled, mother kidnapped,
ransomed for 5 BTC".
→ Change victim to the mother.
DB id 456 — Serra, Espírito Santo, 11 June 2026
Drug-trafficking network claim — DELETE. The summary states the investigation "led to broader operation against a drug trafficking and money laundering network in Espírito Santo and Bahia". No source makes this claim. It traces to an unrelated teaser headline sitting inside the Sim Notícias page, about a street sweeper in a different case.
Pistol-whipping — DELETE, but keep violence_torture = 1. No source contains
"coronhada". Serra Noticiário, sourced to the police who processed him, says his only
injuries were "escoriações causadas pela queda durante a fuga". The flag stays on the basis
of one early A Tribuna line attributed to unnamed residents: "A vítima teria tentado
resistir ao sequestro, mas foi agredida." Record that as the basis, alongside the police
account of his injuries.
Vehicle count — CORRECT to two attacker vehicles. Keep the eight-suspect figure, which the victim's own account supports. Drop the third vehicle and the invented per-attacker role breakdown. Lt. Tavares: "conseguimos identificar dois carros que emparelharam com a Porsche, um HB20 branco e um Celta prata." Also record: both attacker vehicles carry São Paulo plates registered to the same owner (Serra Noticiário) — relevant to whether an attack was organised or opportunistic.
"as of June 16, 2026" — REMOVE the date, keep the rest. No article dated 16 June or later exists; every source found is dated 11 or 12 June. The count stands as "one arrested, seven at large", with no date attached.
Detention flag (kidnappings) — accepted 2026-09-06
Rule: README-START-HERE.md, "Definitions". The field is the detention flag; rename it detention
on the website. Evidence per case: merge-output/detention-flag-review.md.
→ Set kidnappings to 1 on these records: 4, 19, 25, 28, 29, 41, 43, 46, 63, 64, 82, 139, 143, 147, 152, 167, 169, 171, 180, 181, 182, 183, 200, 209, 229, 253, 301, 353, 380, 419.
Rule clarified the same day: detention used on anyone (guards, staff, a concierge, a relative) to force submission or execute the theft counts as 1, whether or not the record's named victim was present. Case 301 (guards tied up) is therefore in the list above.
Still open, not yet decided: the 1-to-0 proposals (124, 242, 273, 413, 422, 423, and nulls 354, 355) and the two CHECK items (215, 298).