doxa-maps/internal
Doxa Maps 0b54b0354e Gospel checks: one dev-assets gate, and cover the gap it leaves
The gospel-only dev-assets check is gone in favour of the shared one, which is
better at the job: it tests the /__leaf/<bundle>/<profile> prefix — the one that
actually broke — across all seven map bundles, and confirms each leaf hands its
element the base it claims. The gospel version never looked at that prefix, so
keeping both would have meant two implementations and the weaker one still green
while the map was broken.

What the shared gate samples is the POOL, the files every map shares. It cannot
know this leaf also fetches gospel tables by name, so a table that stopped being
staged would leave it green and this map fetching a 404. That is the only gap
left, and this covers exactly it.

The wanted list is parsed out of resources-map.vue rather than written down,
which immediately earned itself: the hand-written list it replaces was already
two short — pray-index and gospel-link-verification were being fetched and were
not in it. A list maintained by hand is the field-list-goes-stale bug, and this
bundle has produced that three times in one day.

Poison-tested by unstaging a real table: FAIL, exit 1, then restored.
2026-09-25 23:50:31 +00:00
..
acceptance Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
element-census Match the live page's wording where we differed only by case 2026-09-25 17:08:16 +00:00
fixtures Gate the scrim-covers-viewport rule, and say what was not verified 2026-09-22 21:54:39 +00:00
lib Add deepFindAll to the shared browser helper, so counting probes stop being hand-rolled 2026-09-22 06:19:13 +00:00
plugin-gallery Dev server: every plugin reaches the asset pool again (no polygons, previews, fonts or tables in dev) 2026-09-25 23:17:35 +00:00
_serve-reaped.mjs Make a gate's dev server die with the gate 2026-09-24 22:54:11 +00:00
_serves-this-tree.mjs The docs stop handing the next reader a 404 2026-09-25 22:49:37 +00:00
_tree-name.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
atomic-public-swap.sh public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
browser-slot.sh browser-slot: a disk floor, and an infrastructure crash is NOT MEASURED, not a red gate 2026-09-25 20:52:19 +00:00
build-lock.sh public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
build-packet-fixtures.mjs packets: fixtures at the PAGE BOUNDARY, which nothing had ever rendered 2026-09-24 23:53:07 +00:00
check-a11y-button-names.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-aria-labels-localized.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-backlog-refs.mjs poster cards: the print-options row stays inside its own card 2026-09-24 19:19:02 +00:00
check-backlog-status-enum.mjs The backlog-status enum was too narrow, not the nine cards wrong 2026-09-24 11:58:39 +00:00
check-basemap-labels-localized.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-capability-citations.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-capability-exemplars.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-card-deck.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-catalog-currency.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-catalog-identity.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-composite-embed-knobs.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-composite-freshness.mjs Freshness covers every bundle a landing can have staled; SRI repairs keep the gallery's manifest copy 2026-09-25 22:09:40 +00:00
check-composite-registration.mjs Compare every silently-failing side effect, not just strategy keys 2026-09-22 20:09:46 +00:00
check-composite-srcs.mjs The docs stop handing the next reader a 404 2026-09-25 22:49:37 +00:00
check-csv-export-shape.mjs Checkpoint the swarm's in-flight work 2026-09-22 21:42:18 +00:00
check-deck-click.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-dependency-names.mjs Gate: every declared dependency must be a real package name 2026-09-22 06:49:21 +00:00
check-dev-assets.mjs check:dev-assets: every leaf of the seven studio maps, with bytes that parse and a bogus-path control 2026-09-25 23:22:27 +00:00
check-doc-quotes-scripts.mjs Check that the CLI doc still quotes package.json correctly 2026-09-23 04:19:42 +00:00
check-done-evidence.mjs check:done-evidence knew one card schema and failed the best-evidenced cards on the board 2026-09-24 11:38:17 +00:00
check-dxlife-untouched.mjs add a VCS-independent witness for the read-only DX-life clone 2026-09-20 09:45:25 +00:00
check-element-census-vs-live.mjs check:element-census-vs-live: sanctioned PAIRS, so an allowed difference leaves no phantom omission 2026-09-25 20:57:39 +00:00
check-embed-base-resolution.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-embed-basemap-paints.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-embed-targets-exist.mjs Track the embed-target gate, which was registered but never committed 2026-09-22 14:57:36 +00:00
check-embedded-rtl.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-experimental-shelf.mjs check:experimental-shelf looks at the map: paint arm with its own poisons, and settled counts 2026-09-25 19:54:41 +00:00
check-facet-cascade.mjs Land the swarm's dashboard work: colour, rails, cascade, scroll 2026-09-22 18:57:39 +00:00
check-facet-changes-map.mjs The docs stop handing the next reader a 404 2026-09-25 22:49:37 +00:00
check-facet-one-field.mjs Gate the scrim-covers-viewport rule, and say what was not verified 2026-09-22 21:54:39 +00:00
check-filter-width-stable.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-fits-the-screen.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-fixed-anchoring.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-gospel-all.mjs Gospel checks: one dev-assets gate, and cover the gap it leaves 2026-09-25 23:50:31 +00:00
check-gospel-composed-filters.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-gospel-coverage-consistent.mjs Hold the gap table to the split it publishes 2026-09-25 00:24:29 +00:00
check-gospel-english-leaks.mjs Gospel charts: the titles and the counts inside them are translatable 2026-09-25 20:39:19 +00:00
check-gospel-leaves-mount.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-gospel-map-paints.mjs check-gospel-map-paints reads the tree's name from the build config too 2026-09-25 16:26:03 +00:00
check-gospel-rtl-shaping.mjs Merge branch 'main' of https://git.nuxtbase.app/doxa-life/doxa-maps into bundler-3/work 2026-09-25 22:55:49 +00:00
check-gospel-tables-staged.mjs Gospel checks: one dev-assets gate, and cover the gap it leaves 2026-09-25 23:50:31 +00:00
check-heartbeat-threshold.mjs Assert the shipped heartbeat ramp, not just the panel's fallback 2026-09-22 22:44:10 +00:00
check-host-locale-contract.mjs browser-slot: a long gate declares its own hold limit; check:host-locale-contract takes 2700 s 2026-09-25 16:25:22 +00:00
check-i18n-never-translated.mjs The never-translated gate goes green on what it has settled 2026-09-25 15:49:47 +00:00
check-i18n-parity.mjs All eleven locales complete — the last 162 keys of i18n debt, and the ratchet empties 2026-09-24 08:48:02 +00:00
check-kpi-unit-once.mjs Translate the chrome that was English in all eleven locales 2026-09-25 06:10:27 +00:00
check-label-joins.mjs add a label-join gate: fail on any new equality predicate comparing two independently-derived values 2026-09-20 09:05:18 +00:00
check-leaf-english-leaks.mjs Three gates read the tree's name instead of assuming it 2026-09-25 22:27:09 +00:00
check-legend-export-reachable.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-legend-info-localized.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-legend-matches-source.mjs gates: two unwired checks were red on main, and nothing could tell us 2026-09-24 15:53:58 +00:00
check-library-index.mjs library-index gate: ask whether the menu drifted, not whether a file is older 2026-09-24 13:29:58 +00:00
check-link-rot-sample.mjs Check 5fish links too, and say why YouVersion stays out 2026-09-25 02:44:37 +00:00
check-locale-reachable.mjs Rename the output folder to dx-maps 2026-09-25 19:26:14 +00:00
check-manifest-covers-discovery.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-map-embed-cells.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-map-unmount-guard.mjs useMapInstance: a map unmounted mid-initialise returns quietly instead of throwing 2026-09-25 05:01:13 +00:00
check-map-unmount-mid-init.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-maplibre-layer-drops.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-mfe-two-tab.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-mjs-parses.mjs Parse the build scripts before the build runs them 2026-09-22 21:33:32 +00:00
check-nav-reachable-mobile.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-nested-token-delivery.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-no-absolute-paths.mjs Keep the development-era internal code name out of shipped files 2026-09-22 22:18:18 +00:00
check-no-conflict-markers.mjs Correct the record: the dead bundle was my merge, not a duplicate import 2026-09-25 10:19:07 +00:00
check-no-internal-codename.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-no-orphan-gates.mjs Wire the seven gates that could run, and make wave membership visible 2026-09-24 11:24:01 +00:00
check-no-public-binds.mjs Bind local preview servers to loopback only 2026-09-22 17:32:33 +00:00
check-no-stale-sweep-claim.mjs Stop telling readers the audio sweep is unfinished — it finished 2026-09-25 02:57:50 +00:00
check-one-palette.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-packet-browser.mjs Queue the browser gates, and let them serve their own tree 2026-09-24 17:43:32 +00:00
check-packet-render.mjs Six more browser gates measure THIS build or nothing 2026-09-25 10:03:16 +00:00
check-packet-strings-parity.mjs Guard the packet catalog: the 12 prayer points and the wheel had no parity gate 2026-09-24 08:57:34 +00:00
check-packets-all.mjs packets: the all-packets gate says how many ZONES it covered 2026-09-24 22:49:23 +00:00
check-poster-card-fits.mjs Three gates read the tree's name instead of assuming it 2026-09-25 22:27:09 +00:00
check-poster-degrades-honestly.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-poster-print-fallback.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-poster-prints.mjs Six more browser gates measure THIS build or nothing 2026-09-25 10:03:16 +00:00
check-poster-raster.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-poster-wall-localised.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-prayer-walk-planner.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-print-geometry.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-profile-descriptions.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-provider-switch.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-published-matches-build.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-published-tree-weight.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
check-quoted-scripts.mjs consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
check-raw-map-rtl-shaping.mjs Raw maps shape Arabic, Persian and Hebrew place names: cities-internet and key-cities 2026-09-25 18:59:31 +00:00
check-research-gallery-embed.mjs Export gate reads the tree name from the build config 2026-09-25 21:32:35 +00:00
check-scrim-covers-viewport.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-script-flags-reachable.mjs Make advertised script flags actually reachable 2026-09-22 17:44:02 +00:00
check-sfc-script-parses.mjs Localize tab labels for it/ro/zh, and prove the catalog is actually read 2026-09-24 06:23:30 +00:00
check-share-policy.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-shared-component-reached-bundles.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-shot-distinctness.mjs README: three outputs, not five methods; a Languages section; screenshot gates see every shot again 2026-09-25 19:40:03 +00:00
check-shot-fidelity.mjs Shoot the README with the token the bundles ship, and make the fidelity gate ask 2026-09-23 06:26:39 +00:00
check-shot-fonts.mjs Make the flagship capability-5 screenshot show the studio doing something 2026-09-22 09:48:20 +00:00
check-shot-freshness.mjs README screenshots retaken after d1af039a; freshness-gate comments name the tree, not the old folder 2026-09-25 22:05:39 +00:00
check-snapshot-guard.mjs A half-finished catalogue fetch can no longer overwrite a good one 2026-09-24 11:59:48 +00:00
check-spa-tab-order.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-studio-every-plugin.mjs Browser gates: measure THIS build, or measure nothing 2026-09-25 08:20:11 +00:00
check-surfaces-read-the-tier.mjs Tell the curated tables that GRN and Scripture Earth exist 2026-09-24 22:15:53 +00:00
check-synced-css-copies.mjs Teach the synced-CSS gate what a selector is, and turn it on 2026-09-23 01:22:36 +00:00
check-tab-radius-token.mjs Gate the tab radius so a superseded rationale cannot quietly restore the pill 2026-09-23 01:08:10 +00:00
check-tabs-localized.mjs Six more browser gates measure THIS build or nothing 2026-09-25 10:03:16 +00:00
check-tauri-config.mjs Commit Cargo.lock: it was ignored by association with real build output 2026-09-22 06:53:27 +00:00
check-upg-map-data-painted.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
check-url-resolver.mjs Gate the URL-resolver rule the build could never have caught 2026-09-22 14:18:26 +00:00
check-verification-tags.mjs Record which kind of verification closed each card 2026-09-22 17:00:26 +00:00
check-vision-card-numbers.mjs Six more browser gates measure THIS build or nothing 2026-09-25 10:03:16 +00:00
check-zone-census.mjs zone-census: default to this repo, not one author's worktree 2026-09-24 04:18:24 +00:00
clean.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
drop-portability-check.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
embed-smoke.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
fix-sri.mjs Freshness covers every bundle a landing can have staled; SRI repairs keep the gallery's manifest copy 2026-09-25 22:09:40 +00:00
generate-capability-exemplars.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
generate-gallery.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
generate-library-index.mjs consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
generate-packet-fixture.mjs packets: give CI something to check, instead of a sweep that always SKIPs 2026-09-24 14:33:36 +00:00
generate-tree.mjs Freshness covers every bundle a landing can have staled; SRI repairs keep the gallery's manifest copy 2026-09-25 22:09:40 +00:00
inline-parse-check.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
install-shell.mjs Brand-neutral shared VerticalTabsLayout with lazy nested-element hosting; fix cap-5 prayer tab leaf path; neutralize library identifiers; add Forgejo CI build-gate workflow 2026-09-19 17:24:30 +00:00
landing-preconditions.mjs Freshness covers every bundle a landing can have staled; SRI repairs keep the gallery's manifest copy 2026-09-25 22:09:40 +00:00
legend-columns-probe.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
long-frames-probe.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
measure-map-load.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
mobile-sheet-probe.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
plugin-gallery-smoke.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
public-hygiene-check.mjs public/ is one folder again: drop the stale doxa-maps/ bundles a rebuild re-added, and make that a hard failure 2026-09-25 19:54:59 +00:00
readme-shots-fix.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
readme-shots.mjs README: three outputs, not five methods; a Languages section; screenshot gates see every shot again 2026-09-25 19:40:03 +00:00
run-parallel.mjs Browser gates: two slots with a memory floor, not one mutex 2026-09-25 07:37:26 +00:00
serve-strict.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
set-app-start-page.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
settled-tree-gate.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
share-roundtrip-smoke.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
smoke-studio.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
smoke.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
sri-consistency-check.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
staging-forge.css feat: map provider swap — mapbox|maplibre engine + hybrid geocoder + provider badge; staging title doxa-maps 2026-09-11 21:47:25 +00:00
staging-forge.js Host locale: gate the profile-config contract, forward ?lang= into staging embeds, stop losing gate stderr 2026-09-25 12:18:26 +00:00
staging-reference-v2.html Host locale: gate the profile-config contract, forward ?lang= into staging embeds, stop losing gate stderr 2026-09-25 12:18:26 +00:00
sync-app-shells.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
sync-dropin.mjs public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page 2026-09-25 17:41:56 +00:00
template-literal-check.mjs Scan all of library/ for backticks in shadow-CSS comments 2026-09-22 18:25:18 +00:00
theme-flash-probe.mjs The last browser scripts refuse to measure a tree or dev server that is not this checkout 2026-09-25 11:10:34 +00:00
verify-5-capabilities.mjs The docs stop handing the next reader a 404 2026-09-25 22:49:37 +00:00
verify-browser-all.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
verify-gospel-map.mjs Merge branch 'main' of https://git.nuxtbase.app/doxa-life/doxa-maps into bundler-3/work 2026-09-25 21:38:20 +00:00
verify-map-paint.mjs Merge branch 'main' of https://git.nuxtbase.app/doxa-life/doxa-maps into bundler-3/work 2026-09-25 16:39:46 +00:00
verify-shell-scroll.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
vite-plugin-strip-shadow-css-comments.mjs Complete app-profiles->plugin-designs sweep across comments/docs; build green; layouts kept at root (load-bearing) 2026-09-17 18:18:19 +00:00
write-token.mjs write the extensionless token path the client actually requests; ignore it too 2026-09-20 09:55:39 +00:00