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 -59
View File
@@ -26,6 +26,9 @@ DATABASE RECORD
notes he and his wife were kidnapped, he was tortured and they stole his car. The victim called the cops with a 2nd phone
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:** Undisclosed
@@ -116,19 +119,19 @@ The victim's wife was held in a hotel in Ternopil. No physical force was used ag
Police officers found the stolen car a few kilometers from the crime scene.
------------------------------------------------------------------------------------------------
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 lb.ua
URL https://lb.ua/news/2020/12/24/473829_ternopoli_zatrimali.html
Field url
Retrieved 2026-09-05T12:54:18+00:00 via raw HTTP retrieval, deterministic extraction (HTTP 200)
Language unknown
Kept paragraphs ALL 39 paragraphs, untrimmed
Length 4,671 chars
Integrity sha256 35b10c6abc328f40d830db3e7684193c8422bd937b074890460113493be04bd0
Trimmed NOT TRIMMED. Full page extract; trim on read-through.
Kept paragraphs headline [0] + 12-24 of 39
Length 2,572 chars
Integrity sha256 f4cd058cf90c278c1040bfed219e3fc2ec6d9c341ed7bb1cbbdb218d896c68cc
Trimmed AUTO-TRIMMED, unreviewed: kept paragraphs 12-24 plus headline [0]; dropped 11 leading and 14 trailing paragraphs. Case-term hits on page: 5.
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.
------------------------------------------------------------------------------------------------
@@ -137,29 +140,6 @@ ORIGINAL (unknown, verbatim as retrieved)
У Тернополі автовикрадачі катували чоловіка і вимагали у нього 800 тисяч
«Організм був надто виснажений. Це фактор ризику і він реалізувався». Що відбувається з колишніми полоненими після звільнення
Почаївській лаврі надали додаткові 60 днів на розірвання зв'язків із РПЦ
Фото​Стихійне лихо в Непалі: що відомо про долю 57 українців?
Україна звернулася до МСЕ з вимогою відключити нашу територію від зон обслуговування російської супутникової системи "Рассвет"
У Міноборони роз’яснили, як саме Євгенія Хмару звільнили з військової служби
ФотоПосол Італії в Україні вручив найвищу державну нагороду двом українським діячам мистецтва
На Одещині знайшли мертвою 15-річну дівчину: поліція затримала 19-річного односельця
Росіяни атакували Україну балістикою та БПЛА: вибухи у Києві, Полтаві, Запоріжжі та Кривому Розі
ФотоСмертність перевищує народжуваність в Україні вже 30 років поспіль: LB.Talks про те, від чого помирає Україна РЕПОРТАЖ
Головна —
Політика — 24 грудня 2020, 12:40
У Тернополі затримали автовикрадачів, які катували чоловіка і вимагали у нього $800 тисяч
Затримано організатора, співорганізатора та виконавця.
У Тернополі затримали викрадачів авто, які катували чоловіка та вимагали у нього 800 тисяч доларів. Їм інкримінують одразу три статті Кримінального
@@ -194,34 +174,6 @@ ORIGINAL (unknown, verbatim as retrieved)
Вони катувлаи його родину та забрали усі гроші та прикраси.
ФотоНа Харківщині 14-річний хлопець за добу викрав три автомобілі і тричі потрапив у ДТП
Мер Тернополя відмовляється вводити карантин вихідного дня
ФотоЧоловіка-"бодімодифікатора" з Тернополя засудили до довічного за вбивство тату-майстрині
ФотоЗеленський розпочав робочу поїздку до Запорізької області
Увічнення пам’яті Кернеса в Харкові: єдність і боротьба протилежностей
У грудні 30 депутатів пропустили 90% голосувань Ради, - КВУ
ФотоОфіс генпрокурора передав справу Татарова з НАБУ до СБУ (оновлено)
Зеленський підписав закон, який продовжує дію особливого порядку місцевого самоврядування в ОРДЛО
Кандидати в мери Борисполя. Хто злетить?
У Запоріжжі втретє за два тижні обрали голову облради
​Нардепу від "Cлуги народу" присудили 2 млн гривень моральної компенсації за кримінальне переслідування
Офіс з просування експорту запустив портал для підтримки експортерів
ВАКС продовжив термін домашнього арешту Микитасю до 23 лютого
Продовжуючи переглядати LB.ua ви підтверджуєте, що ознайомилися з Правилами користування сайтом та погоджуєтеся на використання файлів cookies
================================================================================================
generated from attacks-export-Gart-website.json + reported_K&R | case 074
================================================================================================