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
+11 -50
View File
@@ -26,6 +26,9 @@ DATABASE RECORD
notes tortured by three masked individuals in a hall on the outskirts of the city, finger cut off
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:** 42 y/o man
@@ -68,19 +71,19 @@ As it was a slight accident, the police asked him what happened and transported
------------------------------------------------------------------------------------------------
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 romaniatv.net
URL https://www.romaniatv.net/afaceristul-din-cluj-care-sustine-ca-a-fost-torturat-pentru-parola-portofelului-cripto-era-de-fapt-beat-la-volan_8057741.html
Field url
Retrieved 2026-09-05T12:50:57+00:00 via raw HTTP retrieval, deterministic extraction (HTTP 200)
Language unknown
Kept paragraphs ALL 33 paragraphs, untrimmed
Length 4,653 chars
Integrity sha256 215f5f09b82df383f292654598ba4a2d883dc62611fd9cb11534c56618f9a374
Trimmed NOT TRIMMED. Full page extract; trim on read-through.
Kept paragraphs headline [0] + 1-11 of 33
Length 2,617 chars
Integrity sha256 406f9165561a06c824ab46691a5103f8734c5d34b922e50181fa05a054e5f0e5
Trimmed AUTO-TRIMMED, unreviewed: kept paragraphs 1-11 plus headline [0]; dropped 0 leading and 21 trailing paragraphs. Case-term hits on page: 11.
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.
------------------------------------------------------------------------------------------------
@@ -111,48 +114,6 @@ Inițial, omul de afaceri nu a făcut nici o plângere, dar a trebuit să dea ex
Cum a fost vorba despre un accident ușor, polițiștii l-au întrebat ce s-a petrecut și l-au transportat la spital, unde s-a și aflat întreaga poveste. Patronul le-a povestit oamenilor legii că ar fi fost torturat de trei indivizi mascați, într-o hală de la marginea orașului. Agresiunea a avut la bază codul secret de acces la portofelul electronic de criptomonede, unde, susține clujeanul, ar avea circa 200.000 de dolari.
Citeşte şi: ÎPS Teodosie este aşteptat joi la DNA pentru a i se aduce la cunoştinţă calitatea de inculpat
Citeste și...
De ce nu mai vor românii să plece la muncă în străinătate. Interesul a coborât la minimul ultimului deceniu
„Poate îl dăm!”. Gigi Becali, anunț major înainte de Dinamo &#8211; FCSB
A murit Costeluș de la Clejani. Care ar fi cauza decesului
Calendar ortodox 6 septembrie 2026. Săptămâna se încheie cu o sărbătoare mare
Florin Cîțu acuză Comisia Europeană pentru creșterea taxelor în România: ”Este cea mai proastă și cea mai nocivă decizie posibilă”
Au apărut primele oferte de Revelion. Cât costă să petreci noaptea dintre ani la hotelul din Mamaia al lui Gică Hagi
Prognoza meteo 6 septembrie 2026. Prima zi de duminică din septembrie va fi excelentă pentru grătare și mers la mare. Maxima ajunge la 33 de grade
NU mai ai voie să te plimbi cu TROTINETA în parc! Primăria cere blocarea lor completă
Încă o despărțire în casa Mireasa! Maria și Valentin au încheiat relația: „Nu a fost capabil”
Mihai Stoica a făcut cronica primului său Dinamo &#8211; FCSB: „Credeam că Bucureștiul mă înghite”. Cum vede acum derby-ul
Florin Barbu, atac la adresa lui Ilie Bolojan: Trebuie să plece înainte să pună definitiv agricultura românească pe butuci
Poți primi amendă în parcarea Lidl, Kaufland sau Carrefour? Ce spune exact Codul Rutier în 2026
Pensionarii care continuă să lucreze își pot majora pensia. Ce acte sunt necesare și unde se depune cererea
Anda este adolescenta din Gorj care a murit la scurt timp după ce a ajuns la spital! Fata de 14 ani a fost adusă în stare gravă, în urma unor complicații
Un nou model Dacia. Va fi electric şi nu e Spring
Doi minori de 16 ani, carbonizați pe un drum din Suceava, după ce mașina în care se aflau a fost cuprinsă de foc
Lovitură de teatru. Frații Pavăl au decis să investească masiv la Cluj
Surprize pentru fiecare zodie. Horoscopul weekendului 5-6 septembrie 2026
VIDEO Cresc prețurile la alimente și energie. Presiune tot mai mare pe bugetele românilor
================================================================================================
generated from attacks-export-Gart-website.json + reported_K&R | case 171
================================================================================================