StellarCrow and Claude Fable 5.1
439e83a4cb
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
2026-09-06 19:36:45 +02:00
..
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00
2026-09-06 19:36:45 +02:00