doxa-maps/plugin-designs/gospel-resources/scripts
Doxa Maps f68cb24e78 2,001 groups had readable Scripture and were told they did not
go-int cross-checked 20 roster languages with "no New Testament found in the pools" against
open-data signals. Thirteen of the twenty had readable text all along — on a record the tier
could not see — and chasing that found one rule written four times and wrong in two of them.

THE BUG. tierOfCode tested `!!c.s`, one field, while this build's own hasReadableScripture
tested four sources. Tier 2 means "Scripture AND film", so a language whose text is on the
Faith Comes By Hearing record (au.m names the media it holds), on Scripture Earth, or in a
Door43 translation was scored 1 — "some resource found" — with its own text and the JESUS
Film both in hand. Measured: 602 codes and 2,001 of 12,379 groups move 1 -> 2. Tier 0 does
not move at all, 1,592 before and after, so nothing about who has NOTHING changes: the gap
lists, the 369 zero-access groups and the bridge-reach table are untouched.

THE SAME BUG DOWNSTREAM, and this is the one a catalyst would have felt: resourceRows typed
an FCBH record "audio, text, video" as Audio Scripture only, so the access table's
byType.Scripture never saw it. 288 people groups were published as "watch or hear, cannot
read" while their own readable Scripture sat behind that link. Access now reads 1,129 "read
and watch" (was 869), 518 "cannot read" (was 806), 85 "read" (was 57), 369 nothing found and
6 stories only — unchanged where it should be, and 2,107 in total either way. Typing the row
by its text would have dropped "can hear", so the access builder now counts a Scripture row
whose scope names audio as hearable too.

ONE OWNER NOW. hasReadableScripture is exported from gospel-resource-rows.js and imported by
the pin builder and by check-gospel-coverage-consistent, whose arm F had its own narrow copy
and therefore reported 2,001 disagreements against the corrected tier — a gate defending the
bug it exists to catch. A rule with four copies has no owner; this one has.

`sx` ships alongside: the readable text with its source named, for the 887 codes whose text is
not at c.s, so a surface can LINK what the tier now counts instead of claiming Scripture and
showing a film. Wiring it into the sheet and the field card is the next commit; this one is
data and rules only, and public/ is deliberately NOT rebuilt because rega is rendering this
worktree.
2026-09-27 18:53:52 +00:00
..
_snapshot-guard.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
build-bridge-reach-table.mjs The map learned to name peoples, not just their languages 2026-09-27 02:40:12 +00:00
build-country-gap-table.mjs Finish the GRN sweep: every reachable pool has now been checked 2026-09-25 02:44:37 +00:00
build-deaf-gap-table.mjs Tell the curated tables that GRN and Scripture Earth exist 2026-09-24 22:15:53 +00:00
build-doxa-gospel-access.mjs 2,001 groups had readable Scripture and were told they did not 2026-09-27 18:53:52 +00:00
build-field-cards.mjs The card waits for its data before it renders 2026-09-27 18:30:51 +00:00
build-gospel-by-province.mjs Two border peoples had no province, and my note blamed the wrong thing 2026-09-27 04:23:09 +00:00
build-gospel-gaps-table.mjs Export which kind of gap each row is, and make both surfaces agree 2026-09-25 00:22:11 +00:00
build-people-group-pins.mjs 2,001 groups had readable Scripture and were told they did not 2026-09-27 18:53:52 +00:00
build-resource-links-table.mjs Stop the tables saying GRN is missing and miscounting their own rows 2026-09-24 22:46:16 +00:00
build-translation-priority-by-country.mjs Rank the translation priority by the place a team is sent 2026-09-24 22:29:38 +00:00
build-translation-priority-table.mjs Make the translation-priority list a table you can export 2026-09-24 21:14:21 +00:00
enrich-resources-list.mjs Stop claiming Scripture in a language recorded as "Undetermined" 2026-09-24 05:22:59 +00:00
fetch-arclight-index.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
fetch-arclight-share-urls.mjs Every shipped link has evidence, and 1,412 of them did not 2026-09-27 01:26:50 +00:00
fetch-country-languages.mjs Guard the last three catalogue snapshots against a bad network day 2026-09-26 07:56:31 +00:00
fetch-door43-index.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
fetch-doxa-detail.mjs All 2,107 of Doxa's groups, placed and searchable, from Doxa's own record 2026-09-25 05:35:11 +00:00
fetch-doxa-people-groups.mjs All 2,107 of Doxa's groups, placed and searchable, from Doxa's own record 2026-09-25 05:35:11 +00:00
fetch-ebible-credits.mjs Guard the last three catalogue snapshots against a bad network day 2026-09-26 07:56:31 +00:00
fetch-ebible-index.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
fetch-fcbh-index.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
fetch-godtools-index.mjs Gospel presentations in 94 languages, from Cru's API rather than its parked domain 2026-09-24 13:51:56 +00:00
fetch-grn-index.mjs The GRN sweep was defaulting to "none", not measuring it 2026-09-25 05:42:16 +00:00
fetch-iso-macrolanguages.mjs The two largest gaps on this map were Chinese varieties of a resourced language 2026-09-24 12:44:24 +00:00
fetch-pray-index.mjs The map said "someone still needs prayer" and gave you no way to pray 2026-09-24 16:06:01 +00:00
fetch-scriptureearth-index.mjs Add Scripture Earth, and lift 28 groups off "nothing found" 2026-09-24 17:46:27 +00:00
fetch-sun-deaf-index.mjs Guard the last three catalogue snapshots against a bad network day 2026-09-26 07:56:31 +00:00
fetch-zume-index.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
refresh-country-bands.mjs Give the country sheet back the number its own footnote depends on 2026-09-25 03:19:00 +00:00
refresh-legacy-resource-flags.mjs Every shipped link has evidence, and 1,412 of them did not 2026-09-27 01:26:50 +00:00
verify-gospel-click-sheet.mjs The click-sheet verifier had not run in months, and was aimed at the wrong files 2026-09-25 03:33:31 +00:00
verify-gospel-links.mjs Finish the GRN sweep: every reachable pool has now been checked 2026-09-25 02:44:37 +00:00
verify-translator-org-links.mjs Name the translator, and let a mobiliser write to them 2026-09-26 07:43:58 +00:00