The legacy reconciler reported "nothing to change" and was confidently wrong: its hasAny predicate never learned the two newest pools, so 122 curated rows — 8.9 million people — still carried heart_has_any=false for groups the pin index can now reach. A reconciler that cannot see a source is not reconciling, it is confirming. Corrected exactly the 122 predicted, and the derived columns moved with them: status 122, opportunity 93, lbc_carries_resource 69, aligned 59, gap 29. Gap moves least because it means "nothing in the heart language AND no in-country bridge either" — most of these have a bridge, so they were already opportunities rather than gaps, and that documented meaning is intact. This was the fifth occurrence of one bug, and the gate written for it had never looked at scripts — only .vue. Extending it to the build scripts immediately found a sixth, in the Deaf gap table, which is latent today because no sign language carries either field: GRN is deliberately skipped for them and Scripture Earth has none. Fixed while it is still cheap. The rule now differs by file because the truth does: a surface must READ the tier, while a build script COMPUTES it and cannot, so a script must instead name every pool. Both halves verified against the real pre-fix lines rather than synthetic ones. |
||
|---|---|---|
| .. | ||
| external-bundles | ||
| people-groups | ||
| posters | ||
| tables | ||
| vendor | ||
| README.md | ||
data/ — the bundler's source-of-truth data
The law: data lives here; public/ is generated. Every folder in data/ is copied into the
served web-root by the build (internal/generate-tree.mjs), exactly like the per-profile data in
plugin-designs/*/data/. You should be able to rm -rf public/ and get it all back with bun run build.
| Folder | Served at | What it is |
|---|---|---|
people-groups/ |
/assets/people-groups/ |
People-group datasets (CSV/JSON) the maps read at runtime |
vendor/ |
/assets/vendor/ |
Third-party runtime assets (e.g. table libraries) |
posters/ |
/assets/posters/ |
Rendered poster webp set (heavy pipeline output; poster walls fetch these) |
tables/ |
/assets/tables/ |
The MERGED served table set (its index.json is the merge; per-profile plugin-designs/*/data/tables are build-time sources) |
external-bundles/ |
not served | Prebuilt map IIFEs vendored from sibling projects (not built here); only the optional layouts/ shell mounted them, so the build no longer copies them into public/ |
Don't edit anything under public/ by hand — change it here (or in plugin-designs/*/data/,
layouts/*/assets/) and rebuild.