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:
StellarCrow
2026-09-09 18:17:12 +02:00
co-authored by Claude Fable 5.1
parent 93cf7ae53a
commit 1387037367
143 changed files with 33765 additions and 920 deletions
+88
View File
@@ -762,5 +762,93 @@
},
"1": {
"FETCHED": 1
},
"487": {
"FETCHED": 3
},
"486": {
"FETCHED": 1
},
"485": {
"FETCHED": 4
},
"484": {
"FETCHED": 3,
"NOT AN ARTICLE": 1,
"THIN": 1
},
"483": {
"FETCHED": 1,
"NOT AN ARTICLE": 1,
"THIN": 1
},
"482": {
"FETCHED": 5
},
"481": {
"FETCHED": 5
},
"480": {
"FETCHED": 3,
"BLOCKED": 1
},
"479": {
"FETCHED": 2,
"NOT AN ARTICLE": 1
},
"478": {
"FETCHED": 4
},
"477": {
"FETCHED": 2
},
"476": {
"FETCHED": 4,
"BLOCKED": 1
},
"475": {
"BLOCKED": 3,
"FETCHED": 2
},
"474": {
"FETCHED": 4
},
"473": {
"FETCHED": 2
},
"472": {
"FETCHED": 4
},
"471": {
"FETCHED": 4
},
"470": {
"FETCHED": 4
},
"469": {
"FETCHED": 4
},
"468": {
"FETCHED": 4,
"BLOCKED": 1
},
"467": {
"BLOCKED": 1,
"FETCHED": 1,
"THIN": 2
},
"466": {
"FETCHED": 4
},
"465": {
"NOT AN ARTICLE": 1,
"FETCHED": 1
},
"464": {
"FETCHED": 3
},
"463": {
"FETCHED": 3,
"BLOCKED": 1
}
}