feat(sources): Wayback pass, automatic trimming, detention rule, ten cases re-sourced

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
This commit is contained in:
StellarCrow
2026-09-06 19:36:45 +02:00
co-authored by Claude Fable 5.1
parent 499fd61f79
commit 439e83a4cb
588 changed files with 24800 additions and 13190 deletions
@@ -26,6 +26,9 @@ DATABASE RECORD
notes setup of fake p2p trade, after 2 succesful trades, cash stolen
has_processed_date 1
created_at 2025-11-13 05:44:45
(flag legend: 'kidnappings' is the DETENTION flag — 1 when the victim was held against
their will at any point, tied, locked in, held at gunpoint or taken away; it is NOT the
same as the 'Kidnapping' scenario, which means taken away and held. See README, Definitions.)
AI SUMMARY [generated at bulk import, NOT verified against sources]
**Victim:** Unidentified 22-year-old
@@ -67,19 +70,19 @@ Yesterday afternoon, they met again to complete the exchange in an office on Via
It was this last step that aroused the suspicion of the 22-year-old, who asked to see all the banknotes. When the group refused, he closed his computer and tried to leave the room but was attacked, and a gunshot was fired to intimidate him. During the chaos, the woman escaped, taking with her the 50,000 euros that had been given to the young man during the initial transaction. The police found the other 45,000 euros in the scammers car, which were intended to deceive the victim.
------------------------------------------------------------------------------------------------
FETCHED ARTICLE 1 [RAW EXTRACT — NOT YET TRIMMED]
!! This is the whole page as extracted. It still contains site furniture,
!! and may contain teaser headlines for UNRELATED cases. Trim on read-through.
!! Do not quote from it without checking the passage belongs to this case.
FETCHED ARTICLE 1 [AUTO-TRIMMED — UNREVIEWED]
!! Furniture was cut by a script keyed on this case's record, not by a person.
!! It may still carry passages about OTHER cases from a round-up article.
!! The full page extract is kept in staging/ if a cut needs revisiting.
Source milano.repubblica.it
URL https://milano.repubblica.it/cronaca/2018/06/07/news/milano_truffa_bitcoin_soldi_falsi_milano_arresti-198392710/
Field url
Retrieved 2026-09-05T12:55:16+00:00 via raw HTTP retrieval, deterministic extraction (HTTP 200)
Language unknown
Kept paragraphs ALL 17 paragraphs, untrimmed
Length 3,455 chars
Integrity sha256 2c1c9b883a4c064b51af53ce653d9dc0df669566ccf2d28d83d9fd9b849671e9
Trimmed NOT TRIMMED. Full page extract; trim on read-through.
Kept paragraphs headline [0] + 2-13 of 17
Length 3,238 chars
Integrity sha256 b0a32cb1e6ada371f038444c1e76329d3504a17e67a2435b9e0c513b4dd970fc
Trimmed AUTO-TRIMMED, unreviewed: kept paragraphs 2-13 plus headline [0]; dropped 1 leading and 3 trailing paragraphs. Case-term hits on page: 4.
Caveat retrieved from a live page on the date above. Unlike text copied
from the spreadsheet, there is no second copy to hash it against.
------------------------------------------------------------------------------------------------
@@ -88,8 +91,6 @@ ORIGINAL (unknown, verbatim as retrieved)
Bitcoin veri contro banconote false: due arresti a Milano per truffa - la Repubblica
Iscriviti gratis alla newsletter di Repubblica Milano
Soldi falsi in cambio di Bitcoin. Due persone - un serbo di 33 anni e un cubano di 35 - sono stati arrestati perché hanno tentato di spacciare a un 22enne una valigia piena di soldi falsi. Solo che il ragazzo si è accorto del raggiro poco prima di trasferire i Bitcoin sul conto dei finti clienti e, quando ha rifiutato di procedere all'operazione, è stato aggredito dai due uomini e da una donna di cui si sono perse le tracce.
La vicenda risale al tardo pomeriggio di ieri. A dare l'allarme, attorno alle 19.15, è stato l'inquilino della palazzina di viale Abruzzi all'interno della quale si svolgeva l'incontro. Il cittadino ha chiamato la polizia dopo aver sentito delle urla e un colpo di pistola (che poi si rivelata una scacciacani). Altri hanno segnalato una mazzetta di 500 euro sul marciapiedi, una parte dei soldi fac-simile usati per la truffa. Quando, poi, gli agenti sono arrivati hanno trovato il 22enne, cioè la vittima, con il naso rotto e vari traumi in faccia e il cubano con un trauma cranico: entrambi sono finiti al Fatebenefratelli, il primo con una prognosi di 14 giorni e il secondo di 7.
@@ -120,14 +121,6 @@ consulenza di esperti. Ogni volta che viene fatto un acquisto attraverso
uno dei link presenti nel testo, Consigli.it riceve una commissione
senza alcuna variazione del prezzo finale.
Offerte Amazon di questa settimana: i migliori sconti da non perdere
Stampare un libro, ecco come risparmiare
Vendite giudiziarie
Ricerca avvisi pubblicati
================================================================================================
generated from attacks-export-Gart-website.json + reported_K&R | case 042
================================================================================================