doxa-maps/data/tables
doxa-maps-88655c70 270fae1a02 Verification survives being killed, and every record now means the same thing
A full pass is ~6,500 requests over a quarter of an hour, and it was killed three
times by system memory pressure - twice at around 2,500 and once at 1,000. Results
lived only in memory until the final write, so each kill threw away every request it
had made. The file on disk survived, which is correct, but the pass never landed and
the bandwidth was spent for nothing.

Every record now carries `at`, the moment it was checked, and the table is written
after each batch. A killed run loses at most one batch, and rerunning with
VERIFY_MAX_AGE_H skips anything already stamped. Writing mid-pass is safe because a
checkpoint only ADDS to or REFRESHES records - it can never shrink the table, which is
the failure the snapshot guard exists for elsewhere.

Proven rather than asserted: killed mid-pass, 300 stamped records survived on disk;
the restart reported "resuming - 600 URL(s) already checked within 24h, 5876 left to
do" and skipped them. The fourth memory kill then arrived unplanned during the real
run and cost 500 records instead of 1,900.

With the pass finally complete, the point of it: bible.is verification switched from a
body-size heuristic to their API two changes ago, but only the URLs added since had
been re-checked. 2,609 of 2,868 records still asserted "verified" on the older basis.
All 2,708 now come from /api/bibles, and none from the heuristic.

The last 160 were neither shipped nor broken - leftovers from filesets no build has
referenced since the FCBH ranking changed, quietly carrying the old method. A full
pass now prunes any record for a URL that nothing ships and nothing proved dead, so
the table means exactly one thing: every URL this map currently ships, plus the
history of everything ever proven dead. Broken records are never pruned; forgetting a
dead link is how it gets shipped again.

That prune sat behind an early exit that fired whenever nothing was stale, so the
first run to reach it reported success and pruned nothing. Removed.

Table: 6,476 records, 6,397 verified, 74 broken and dropped, 5 uncheckable, 0
unstamped, 0 on the old method.
2026-09-24 12:28:48 +00:00
..
arclight-index.json Harvest the whole Arclight catalogue: film coverage 306 -> 2,087 languages 2026-09-24 04:08:30 +00:00
arclight-share-urls.json Give the film links a destination: 2,049 real per-language deep links 2026-09-24 06:09:11 +00:00
city-bridge-opportunities.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
country-connectivity.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
deaf-gap.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
door43-index.json Door43 spelled 32 major languages with two letters, so 2.87bn people saw none of it 2026-09-24 10:27:16 +00:00
ebible-index.json Name and scope every Scripture link, including the 24 on an older edition 2026-09-24 06:47:23 +00:00
fcbh-index.json Bible video from FCBH, with the real book scope on every link 2026-09-24 11:47:37 +00:00
gaps-and-opportunities.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
gospel-access-vs-growth.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
gospel-by-country.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
gospel-gaps.json Say we looked, when we looked: 2,608 rows understated their own evidence 2026-09-24 08:16:54 +00:00
gospel-link-verification.json Verification survives being killed, and every record now means the same thing 2026-09-24 12:28:48 +00:00
gospel-resource-links.json Bible video from FCBH, with the real book scope on every link 2026-09-24 11:47:37 +00:00
index.json List what is missing, in a form you can take away 2026-09-24 08:08:59 +00:00
internet-by-country.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
key-cities-admin-n.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
key-cities.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
languages-by-country.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
languages-per-city.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
messaging-channels.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
network-operators.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
open-doors.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
people-group-pins.json The Deaf gap is not a search problem, and the map now says so 2026-09-24 12:08:27 +00:00
people-group-resources.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
platform-reachability.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
social-platforms.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
zume-index.json Pashto: 47.6M speakers were told Zume had nothing, while its Pashto site was live 2026-09-24 09:37:56 +00:00