doxa-maps/internal
doxa-maps-88655c70 2a2ea36e98
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
A leak check that can be pointed at any leaf, and two false positives it taught me
Cell E verification for Big Picture and Simple Research needed the
gospel leak gate's method on two other bundles. That gate hardcodes its
four leaves, its element tag and its single catalogue file, so pointed
elsewhere it finds no shadow root and silently compares nothing. This
one takes the leaf, the tag and the locales as arguments and compares
against EVERY catalogue area — a COMPOSITE has no t() calls of its own,
so its chrome comes from the children it nests.

SIMPLE RESEARCH CELL E IS CLEAN, independently measured:
research-map-plus-grid in ar/zh/ru/hi, tree identity checked first, no
leaks, 0 page errors, and 86/34/27/43 comparable keys — so the
comparison was non-vacuous in every locale rather than "0 leaks over
nothing". A second instrument agreeing with the owner's reading is what
the verifier role is for.

★ TWO FALSE POSITIVES, BOTH OF WHICH LOOKED LIKE TEXTBOOK DEFECTS. The
first run reported 3 leaks x 4 locales on Big Picture, and all three
keys ARE translated in every catalogue, so the pages really were showing
English where a translation existed.

  DATA CELLS. "Unengaged" rendered in .rd-td inside .rd-grid — table
  data. people-groups-grid.vue:150 records the field as
  {value:'unengaged', label:'Unengaged'}, 100% populated, and
  dashboard.config.js:132 counts 2,081 Unengaged / 27 Engaged. It is an
  API VALUE that happens to equal a catalogue string, which is the
  population rega's method excludes by name. Whole-label matching stops
  a substring impersonating a label; it cannot stop a data cell
  rendering the same text.

  FACET VALUES. "Other" rendered in span.fr-lbl in the facet rail, which
  LOOKS like chrome. The template is
  `<span class="fr-lbl">{{ r.label }}</span>` with `{{ r.count }}`
  beside it, and the component's own comment calls it "the 'Other'
  bucket". The string comes from row data, not from t('regions.Other').

Both are excluded BY ROLE rather than by class. The facet exclusion keys
on the row carrying a COUNT, so the rail's own section headings stay in
scope and a real leak there is still caught — excluding .fr-lbl
wholesale would have blinded it.

⚠ NEITHER IS GOSPEL-SPECIFIC. Any bundle with a data grid or a facet
rail produces these, and whether "Unengaged" and "Other" as DATA should
be localised is a genuine product question — but a different one from
cell E, and filing it as a leak would send someone to fix correct code.

⚠ BIG PICTURE CELL E IS NOT CLAIMED CLEAN. The confirming run after the
facet exclusion came back RC=75 (no browser slot within 900s), and the
run before it still reported regions.Other. Whether the exclusion takes
effect is unverified, so the cell stays open rather than being marked
on an unconfirmed reading.
2026-09-25 17:26:29 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
browser-slot.sh 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
build-lock.sh Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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-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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Merge main into bundler-2/work 2026-09-24 17:00:25 +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 A gate that looks at the map, because every other one passed over a blank rectangle 2026-09-25 15:54:03 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Gospel map: shape Arabic, Hebrew and Persian place names 2026-09-25 17:10:04 +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 A leak check that can be pointed at any leaf, and two false positives it taught me 2026-09-25 17:26:29 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 gate: the tree we publish has a weight, and nothing was watching it 2026-09-25 00:20:02 +00:00
check-quoted-scripts.mjs consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
check-research-gallery-embed.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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-staging-forwards-lang.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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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
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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +00:00
set-app-start-page.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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-dropin.mjs Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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 Tooling reads the tree's name from the build config, in one place 2026-09-25 16:25:22 +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