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
92 lines
4.5 KiB
Markdown
92 lines
4.5 KiB
Markdown
# 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).
|