feat(cases): pull 25 new cases (463-487) from stats.gart.io; dossiers, sources, trim
- pull_live_cases.py: merges https://stats.gart.io/api/attacks into the export. The feed lacks notes/reports/original_date/has_processed_date, so existing records keep their fields; changed values are taken from live (record 188: victim, violence_torture, weapons, summary) and new records are appended with those four fields null. Previous export kept as attacks-export-Gart-website-2026-09-09-before.json; raw feed saved as attacks-live-api-2026-09-09.json. Export now has 389 records. - 25 new dossiers built; 93 linked URL slots fetched (77 fetched, 8 blocked, 4 thin, 4 video/social); 76 blocks auto-trimmed. Wayback retry for the 12 failed slots hit archive.org rate limits (429) and is left for a later run. - Sheet row 252 (the Phuket robbery listed in cases-missing-from-database.json) approved as the source for new case 476, which is that event. - Stale dossier for renamed case 188 removed. - Detention flag check on the new cases: 479 proposed 0->1 (forced entry plus assault), 468 null->0 proposed, 483 and 486 confirmed 0; review file and corrections JSON updated. Worklist and README carry the procedure. verify_all.py PASSES (2776 checks, 389 case files). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GZZENdTLzNGsbNy4DyF1yt
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
93cf7ae53a
commit
1387037367
+21
-1
@@ -41,7 +41,7 @@ Requirements to run this:
|
||||
--------------------------------------------------------------------------------
|
||||
## What this project is
|
||||
|
||||
Gart's K&R attack database lists 364 real kidnap/robbery/extortion incidents against
|
||||
Gart's K&R attack database lists 389 (as of 2026-09-09; 364 in the original bundle) real kidnap/robbery/extortion incidents against
|
||||
cryptocurrency holders. For each case we merged the structured DB record with any saved news
|
||||
article, and produce one readable .txt dossier per case. There is no app, no build system, no
|
||||
tests - just Python scripts that regenerate the .txt files, plus Markdown notes.
|
||||
@@ -231,6 +231,26 @@ Second pass, same day: Wayback Machine retrieval and automatic trimming.
|
||||
worklist).
|
||||
- Case 248: Oslo sources found by web search on 2026-09-05 and filed as extra_1..5 (see the worklist entry). verify_all.py PASSES (2321 checks). Not committed yet; review before pushing.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
## 2026-09-09 update: pulling new cases from the live site
|
||||
|
||||
The site publishes its cases at https://stats.gart.io/api/attacks (no auth). That feed lacks the
|
||||
notes, reports, original_date and has_processed_date fields of the original export, so
|
||||
merge-output/pull_live_cases.py MERGES it into attacks-export-Gart-website.json instead of
|
||||
replacing it: existing records keep their fields (changed values are taken from live and
|
||||
listed), new records are appended with the four fields null. The previous export is kept as
|
||||
attacks-export-Gart-website-<date>-before.json and the raw feed as attacks-live-api-<date>.json.
|
||||
|
||||
python pull_live_cases.py (add --dry-run to see the diff only)
|
||||
python stage_all.py (fetches the new cases' linked URLs)
|
||||
python wayback_pass.py <new ids>
|
||||
python auto_trim.py <new ids>
|
||||
python build_cases.py --all && python verify_all.py
|
||||
|
||||
First run: 25 new cases (463-487), one edited record (188). The export now holds 389 records.
|
||||
Note: build_cases.py writes a new dossier when a victim name changes but does not delete the old
|
||||
file; remove the stale one or verify_all.py reports one file too many.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
## Quick-start checklist for the next AI
|
||||
1. Read this file and merge-output/sofia-worklist.md.
|
||||
|
||||
Reference in New Issue
Block a user