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
+45 -4
View File
@@ -26,6 +26,9 @@ DATABASE RECORD
notes suspect asked the victim to help him with a crypto investment. victim handed over his phone
has_processed_date 0
created_at 2025-11-14 09:05:23
(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 [revised on review, verified against the sources in this file. Live DB still holds the shorter bulk-import summary — apply this to it.]
**Victims:** Dillon Attard, 27, a cryptocurrency holder in Sliema, Malta.
@@ -34,7 +37,7 @@ AI SUMMARY [revised on review, verified against the sources in this file. Live
**Attack Method:** The two met for lunch at a Sliema restaurant after Milton sought Attard's help with a small (€5,000) blockchain investment; when Attard handed his phone across the table for Milton to scan his wallet barcode, Milton allegedly pressed 'maximise', 'send' and 'confirm' in seconds while acting normally.
**Violence Used:** None — this was a sleight-of-hand fraud, not a violent attack.
**Violence Used:** No detention, no violence — this was a sleight-of-hand fraud, not a violent attack.
**Crypto Demanded/Stolen:** About 424,671 Unizen tokens, worth roughly $700,000, were allegedly siphoned to another wallet in an irreversible transfer.
@@ -86,9 +89,47 @@ Inspector Anthony Scerri together with AG lawyers Karl Muscat and Francesco Refa
Lawyers Charles Mercieca and Matthew Xuereb were defence counsel.
Lawyers Franco Debono and Marion Camilleri appeared parte civile.
OTHER LINKED SOURCES
[BLOCKED] url None — raw request refused; try the WebFetch path, which is a model transcription and must be labelled as such
https://timesofmalta.com/article/victim-describes-his-disbelief-as-700000-disappeared-under-his-nose.882790
------------------------------------------------------------------------------------------------
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 timesofmalta.com
URL https://timesofmalta.com/article/victim-describes-his-disbelief-as-700000-disappeared-under-his-nose.882790
Field url
Retrieved 2026-09-05T13:26:46+00:00 via Wayback Machine snapshot 20260607133913, deterministic extraction (HTTP None)
Language unknown
Kept paragraphs headline [0] + 2-10 of 29
Length 1,681 chars
Integrity sha256 35da99127c90eeef2acaee34a669fe67c9a30081231ac53d06efc1ecd7651de6
Trimmed AUTO-TRIMMED, unreviewed: kept paragraphs 2-10 plus headline [0]; dropped 1 leading and 18 trailing paragraphs. Case-term hits on page: 17.
Note live URL was BLOCKED on the first pass; text comes from an archived copy dated 2026-06-07
Archive http://web.archive.org/web/20260607133913/https://timesofmalta.com/article/victim-describes-his-disbelief-as-700000-disappeared-under-his-nose.882790
Caveat retrieved from a Wayback Machine snapshot, not the live page. The
snapshot date is in the method line; the live URL was unreadable.
------------------------------------------------------------------------------------------------
ORIGINAL (unknown, verbatim as retrieved)
Victim describes his disbelief as $700,000 disappeared under his nose
A man described in court on Monday how his crypto wallet of $700,000 was reduced to zero within seconds of handing over his mobile phone to a man now charged with fraud.
The 27-year old victim, Dillon Attard, took the witness stand to testify against Luke Milton, a 25-year old company director who is pleading not guilty to misappropriation and fraud, cryptocurrency theft, money laundering as well as various breaches of the Virtual Financial Assets Act.
The two had met for lunch at a Sliema restaurant after Milton sought help to make a €5,000 blockchain investment on the phone.
“I couldnt believe my eyes when I took the mobile back and saw that my wallet balance was zero,” said the witness, his tone agitated as he recalled the events of that lunchtime meeting with the accused.
I couldnt believe my eyes when I took the mobile back and saw that my wallet was zero
“As reality seeped in, I just snatched the phone. He didnt resist. My only thought was to secure my funds,” Attard said, explaining that he had placed both phones next to each other, helplessly watching the outgoing transaction and realizing “the fraud in [his] face.”
His first thought had been to redirect the funds from the accuseds mobile back to his own crypto wallet, but he soon realised that the transaction was being sent to another trust wallet.
“Couldnt you stop the outgoing transaction?” asked the prosecution.
“You can never stop a blockchain transaction once sent,” explained the victim, adding that reversal of the transaction was not possible without access to the decentralised wallet to which it was sent.
================================================================================================
generated from attacks-export-Gart-website.json + reported_K&R | case 285