doxa-maps/internal
Doxa Maps 967457f65e Phone print: going away again cancels a pending drop; a 60 s grace; no early touch
A second read measured a hole in the phone print keep: a touch after print()
started the grace, and if the print UI then opened (the page hidden, or the
window blurred), nothing cancelled it, so the document could go while the
reader was still choosing Save as PDF. Now:

- going away again during the grace cancels the pending drop, and the next
  "back" counts;
- BACK_GRACE_MS is 60 s (was 5 s): a slow phone can still be writing an
  11-page packet after its dialog closes, and the kept document is invisible
  on screen and replaced by the next print;
- a touch in the first TOUCH_SETTLE_MS (2 s) after print() is not "back" (a
  double tap while the preview builds).

check:phone-print-keep gains arm H (a touch, then the print UI, by hiding and
by blur: still mounted past the grace, released after the next back) and arm I
(a touch in the settle window), with the poisons "no cancel when away again"
and "no touch settle window"; arm C now taps Print a few seconds after the
document is ready and stays in the dialog past the grace. The first cut fails
H and I; the pilot's file fails A to H. Desktop stays byte-identical.
2026-10-02 17:15:56 +00:00
..
acceptance internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
element-census Three more lines keep the reason and drop the speaker, in library and internal 2026-09-29 10:07:29 +00:00
fixtures check:poster-wall-host-seams: load any .vue PosterWall imports, and prove it with arm L 2026-10-02 06:39:49 +00:00
lib internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
plugin-gallery Phone pages: the app's height no longer changes as the address bar hides or shows 2026-09-30 09:31:46 +00:00
_composed-tiers.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
_published-base.mjs Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
_serve-reaped.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +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 A gated bundle builds outside public/, and a gate keeps it out of the tree 2026-09-29 02:35:35 +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
backend-dev-plugin.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
browser-slot.sh Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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 Packet fixtures build in their own directory, so the real Tibet zone packet survives check:packet-offline 2026-10-01 10:52:55 +00:00
check-a11y-button-names.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-approx-pin-note.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-aria-labels-localized.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-auto-engine.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-basemap-labels-localized.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-batch-selection-export.mjs UPG-100 batch HUD: the message line sits at the top, where nothing covers it 2026-10-01 13:01:11 +00:00
check-board-map-options.mjs Guard the map option a de-duplication can silently invert 2026-09-29 11:56:46 +00:00
check-browser-gates-guarded.mjs Close the browser guard's path-shaped bypass: check-experimental-shelf imported playwright by file path 2026-09-28 09:07:30 +00:00
check-capability-citations.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-capability-derived.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +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 A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-catalog-currency.mjs Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
check-catalog-identity.mjs Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
check-cdn-cache.mjs /cdn: a publish reaches browsers in minutes. Moving URLs revalidate after 5 min with an ETag and 304s; hashed names are immutable 2026-09-28 23:13:47 +00:00
check-cdn-pins.mjs Every runtime CDN script and stylesheet is an exact version with an integrity hash 2026-09-26 05:50:24 +00:00
check-composite-embed-knobs.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-composite-freshness.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-composite-interop.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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-composite-token-url.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-composites-mount.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-control-inset-measured.mjs A gate that the band the pan reserves is the band the controls occupy 2026-09-29 14:38:56 +00:00
check-country-map-refetch.mjs country-map: key the refetch by value, let only the newest response win, show the wait 2026-09-29 19:11:37 +00:00
check-country-names.mjs Gate the country-name join, and record that the wiring was already done 2026-09-29 01:38:07 +00:00
check-csv-export-shape.mjs CSV exports: a value starting with TAB or CR is neutralised too, and the gate asserts it 2026-09-30 21:09:29 +00:00
check-deck-click.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +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-describe-group.mjs Number({value:"1"}) is NaN, so the whole reachedness sentence vanished 2026-09-28 15:52:47 +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-element-bootstrap.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-element-census-vs-live.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-embed-base-resolution.mjs Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
check-embed-basemap-paints.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-embed-targets-exist.mjs EMBED_BASE_URL overrides the committed embedBaseUrl for a host's own tree build 2026-09-28 21:53:40 +00:00
check-embed-url-absolute.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-embedded-rtl.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-evangelical-share.mjs The knows-Christ totals come from the unrounded share 2026-09-29 20:20:02 +00:00
check-experimental-shelf.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-facet-cascade.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-facet-changes-map.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-facet-one-field.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-facet-shape.mjs Two readers of one private field, and nothing was holding them together 2026-09-28 15:52:46 +00:00
check-filter-width-stable.mjs The browser-side generator keeps the reason and drops the speaker 2026-09-29 05:26:27 +00:00
check-fits-the-screen.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-fixed-anchoring.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-frame-target.mjs The language tree becomes anyone's, and the numbers nobody wrote down get written down 2026-09-28 17:40:34 +00:00
check-frozen-labels.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gated-not-in-tree.mjs A gated bundle builds outside public/, and a gate keeps it out of the tree 2026-09-29 02:35:35 +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 A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-gospel-coverage-consistent.mjs 2,001 groups had readable Scripture and were told they did not 2026-09-27 18:53:52 +00:00
check-gospel-embed-contract.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gospel-engine-contract.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gospel-english-leaks.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gospel-leaves-mount.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-gospel-map-paints.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-gospel-rtl-shaping.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gospel-set-charts.mjs The seed guarantee was asserted against two files nothing renders 2026-09-28 23:43:44 +00:00
check-gospel-set-fit.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-gospel-tables-staged.mjs Gospel checks: the field-card shards are expected from the roster, not read as one file, and German 'Ring' is the same word on purpose 2026-10-01 08:37:17 +00:00
check-gospel-whiteboard.mjs Point the set charts at the promoted modules, and clear a committed conflict 2026-09-28 18:57:46 +00:00
check-grid-image-loading.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-grid-merge-defaults.mjs Separate the backdrop's layout floor from its styling, and assert the defaults 2026-09-28 18:17:55 +00:00
check-group-set-standard.mjs Any group set can generate packets from one folder 2026-09-28 23:01:20 +00:00
check-hardcoded-english.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-heartbeat-threshold.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-help-reachable.mjs check:help-reachable keeps a map whose own control explains it in scope, even with no entry in the help file 2026-09-29 03:22:40 +00:00
check-host-floor.mjs Host floor: re-probe only when the host may have changed kind, and never move a scrolled child 2026-10-02 10:06:37 +00:00
check-host-locale-contract.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-host-locale-fetch.mjs Fetch the catalogue for a host-supplied locale, and hold RTL text while it lands 2026-09-29 07:31:16 +00:00
check-i18n-never-translated.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-i18n-parity.mjs Move the catalogue note out of the catalogue 2026-09-29 05:26:27 +00:00
check-i18n-stopped-scope.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-i18n-treeshake.mjs Ship only the active locale, behind DX_SHIP_ONE_LOCALE 2026-09-29 07:31:16 +00:00
check-india-states.mjs WIP P0b: India's states and union territories table (derived from admin-membership, served as an asset, sha384-pinned in the same emitter run), its loader, the tree allowlist row, and check:india-states (not yet registered) 2026-09-30 21:17:28 +00:00
check-instance-config-keys.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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-label-key-coverage.mjs Speak the reader's language on the UPG-100 map, its wall and the print HUD 2026-09-29 08:33:43 +00:00
check-language-tree-layout.mjs The language tree's layout becomes library's; its gospel classification does not 2026-09-28 15:52:47 +00:00
check-language-tree-model.mjs The language tree becomes anyone's, and the numbers nobody wrote down get written down 2026-09-28 17:40:34 +00:00
check-leaf-engine-per-provider.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-leaf-english-leaks.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-leaf-hints.mjs A9 leaf hints: cover a composite whose engine is in a composed child bundle 2026-09-29 14:40:28 +00:00
check-legend-data-contract.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-legend-export-reachable.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-legend-info-localized.mjs smoke:legend-info measures again, and says so when it cannot 2026-09-29 08:33:44 +00:00
check-legend-logical-insets.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-legend-matches-source.mjs Legend-source gate: the baseline follows the live corpus again (2078 unengaged, 29 engaged) 2026-09-30 20:54:22 +00:00
check-legend-top-offset.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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-link-verification-coverage.mjs Every shipped link has evidence, and 1,412 of them did not 2026-09-27 01:26:50 +00:00
check-list-pattern-doc.mjs Write down how a project list becomes ~100 zones, and gate the numbers 2026-09-28 23:33:37 +00:00
check-list-prop-unit.mjs Four more gates:post reds, hidden until a failed gate printed why 2026-09-29 18:40:27 +00:00
check-list-selection.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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 internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-map-attribution.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-map-control-overlap.mjs Two gates the branch backlog turned red 2026-09-29 14:55:35 +00:00
check-map-data-painted.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-map-embed-cells.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-map-fly-reduced-motion.mjs Maps stop flying for readers who ask for reduced motion: useMapFly decides it for every camera move 2026-09-26 04:38:59 +00:00
check-map-labels.mjs Name the map's countries on page 1 in the packet's language 2026-09-29 02:16:33 +00:00
check-map-menu-anchor.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-map-props-unit.mjs Auto resolves to MapLibre; a token no longer picks the engine 2026-09-28 17:53:38 +00:00
check-map-unmount-guard.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-map-unmount-mid-init.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-mapbox-drew.mjs Comments name what measured a fact, not who: the tree generator, the Mapbox draw gate, the profile metadata and the admin proxy 2026-10-01 00:07:34 +00:00
check-maplibre-layer-drops.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-mercator-slice.mjs Paraphrase the Driver's words, keeping the attribution and the measurement 2026-09-28 18:09:41 +00:00
check-mfe-two-tab.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-mjs-parses.mjs check:mjs-parses parses with node even when the gates run under bun 2026-09-27 22:10:35 +00:00
check-mobile-gating.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-mst-clustering.mjs check:mst-clustering times its own CPU against a 1,500 ms budget, so a loaded box cannot fail it 2026-09-29 07:31:17 +00:00
check-nav-reachable-mobile.mjs Phones: one header on a website, and maps that hold their size while you scroll 2026-10-02 04:44:33 +00:00
check-nested-token-delivery.mjs Token gates follow the auto engine: no token ships, and an explicit engine beats an available token 2026-09-26 03:37:53 +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-credentials-omit.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-no-cross-plugin-imports.mjs check:no-cross-plugin-imports: a plugin may not reach into another plugin's private folder 2026-09-26 08:39:53 +00:00
check-no-dead-library.mjs Delete 7 unreachable library components, and gate the thing a census cannot see 2026-09-29 01:38:07 +00:00
check-no-eval.mjs No bundle needs CSP 'unsafe-eval': translations compile without eval, and the partner CSP is documented 2026-09-26 05:50:24 +00:00
check-no-fleet-names.mjs check:no-fleet-names: names in any case, the plugin agents' names, and the translation catalogues scanned too; the self-test plants each 2026-10-01 05:42:24 +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-internal-role-nouns.mjs P (repo): neutral wording in the gates and docs, and no private-process checks 2026-10-01 00:25:38 +00:00
check-no-orphan-gates.mjs check:no-orphan-gates sees gate FILES outside internal/: a plugin's own gate that nothing runs fails 2026-09-29 14:35:28 +00:00
check-no-public-binds.mjs P (repo): neutral wording in the gates and docs, and no private-process checks 2026-10-01 00:25:38 +00:00
check-no-repo-pb-hooks.mjs Put the cloud Dockerfile at the repo root, so a platform pointed at the repo finds it 2026-09-29 02:35:36 +00:00
check-no-silent-engine-substitution.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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 check:one-palette sees a bundle's private src/colors/ palettes; Rudder's offline hint states Go 1.22+ and the setup 2026-09-28 07:07:33 +00:00
check-one-scroll-container.mjs Phones: one header on a website, and maps that hold their size while you scroll 2026-10-02 04:44:33 +00:00
check-optional-t-equivalence.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-package-json-unique-keys.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-packet-a1-structure.mjs Packet: point 4's reference names what prints, Mark 5:18–20, in all 11 locales (the Gerasene reading keeps 5:12–20), re-pinned; the passage gets a 700-char ceiling beside its 250 floor, in the render gate and, headless, in the structure gate for every locale 2026-09-30 11:55:51 +00:00
check-packet-browser.mjs WIP packet: Mark 5:18-20 back on the points page (source) 2026-09-30 11:38:02 +00:00
check-packet-charts.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-packet-map-missing-loud.mjs Put the missing-map sentence in every packet language 2026-09-29 00:59:14 +00:00
check-packet-render.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-packet-strings-parity.mjs WIP Mark 5 page (source) 2026-09-30 09:32:33 +00:00
check-packet-variants.mjs Gates that read the poster wall's markup read the lifted PosterSection too: check:packet-variants (its card-deck and packet tapes) and check:poster-fetch-guard (no direct poster fetch) 2026-10-02 07:23:19 +00:00
check-packets-all.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-pane-config-reforward.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-panel-sheets.mjs Wall of People Groups: the Bless poster takes its sheets, glue bands and marks from PanelSheets, byte for byte 2026-09-30 22:03:40 +00:00
check-people-group-records.mjs Every country prints its prayer list, card deck and packet, from a records provider any map can use 2026-09-29 05:26:26 +00:00
check-pg-name-gate.mjs People-group names: the threshold pinned, no trust without Latin evidence, raw indexing flagged 2026-10-01 06:04:41 +00:00
check-phone-print-keep.mjs Phone print: going away again cancels a pending drop; a 60 s grace; no early touch 2026-10-02 17:15:56 +00:00
check-pin-hint-floor.mjs Pin hint: an inner scroller counts as a scrolling page, a map off the viewport is on one, and a stale lift is dropped 2026-10-01 07:11:18 +00:00
check-pin-selection.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-pinned-umd.mjs One pinned-UMD loader for PPLR and the Wall: library/utils/loadPinnedUmd.js 2026-09-26 07:24:25 +00:00
check-plural-forms.mjs Two gates the branch backlog turned red 2026-09-29 14:55:35 +00:00
check-popup-escaping.mjs Map popups show data as text: a people-group name or country field can no longer run script 2026-09-26 05:50:24 +00:00
check-popup-href-escaped.mjs Escape the two popup URLs and the packet photo URL 2026-09-29 05:26:27 +00:00
check-popup-pan-clears-controls.mjs Guard the pan's control clearance, which a cut-height check cannot see 2026-09-29 13:31:24 +00:00
check-ported-globals-identical.mjs check:ported-globals-identical compares only the ported rules, not the whole stylesheet 2026-09-29 15:03:05 +00:00
check-poster-action-print.mjs The poster-action gate's new arm keeps the rule and drops the speaker 2026-09-29 05:26:27 +00:00
check-poster-attribution.mjs The poster credited Mapbox for tiles OpenFreeMap had served 2026-09-29 00:06:52 +00:00
check-poster-browser-equiv.mjs Posters drawn at the click use the SPARSE layout, like their stored thumbnails 2026-09-30 02:53:15 +00:00
check-poster-card-fits.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-poster-degrades-honestly.mjs Both poster print gates measure the product again: the generator is forced missing too 2026-09-29 10:07:29 +00:00
check-poster-fetch-guard.mjs Gates that read the poster wall's markup read the lifted PosterSection too: check:packet-variants (its card-deck and packet tapes) and check:poster-fetch-guard (no direct poster fetch) 2026-10-02 07:23:19 +00:00
check-poster-layout-optin.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-poster-print-fallback.mjs check:poster-print-fallback asserts the outcome: the source loaded and a print frame opened 2026-09-29 12:44:25 +00:00
check-poster-prints.mjs WIP packet: Mark 5:18-20 back on the points page (source) 2026-09-30 11:38:02 +00:00
check-poster-raster.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-poster-render-pinned.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-poster-sizes.mjs Poster sizes: the ladder offers eight sizes (paper, 18x24, 36x36, 36x48, 36x60, 36x66, 66x66, 60x96) 2026-09-30 23:49:05 +00:00
check-poster-type-registry.mjs Poster sections: one type registry per page; the element takes a columns attribute 2026-10-02 08:29:16 +00:00
check-poster-wall-host-seams.mjs check:poster-wall-host-seams: load any .vue PosterWall imports, and prove it with arm L 2026-10-02 06:39:49 +00:00
check-poster-wall-localised.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-posters-exportable.mjs Ship every poster once, in its lightest printable form 2026-09-29 05:26:23 +00:00
check-prayer-walk-planner.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
check-preset-config-merge.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-preview-flag-dev-only.mjs check:preview-flag-dev-only: the built tree may not even NAME the preview flag 2026-10-02 09:26:40 +00:00
check-print-frame-reclaim.mjs A print frame is kept until it has printed: its 60 s clock starts at load, not at creation 2026-09-29 08:11:49 +00:00
check-print-geometry.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +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-profile-table.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-provide-shadowing.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-provider-for.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-provider-switch.mjs The engine rule reads as it is everywhere it is written: auto is MapLibre, token or not 2026-09-29 11:04:22 +00:00
check-published-matches-build.mjs Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
check-published-tree-weight.mjs P (repo): neutral wording in the gates and docs, and no private-process checks 2026-10-01 00:25:38 +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 A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-readme-web-folder-size.mjs check:readme-size runs in gates:post, and the README states the folder with its posters 2026-09-29 05:26:25 +00:00
check-reduced-motion.mjs Every animating library component now honours prefers-reduced-motion itself 2026-09-29 01:38:07 +00:00
check-region-fill-repaint.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-region-paint-single-source.mjs Gate: the regions idle paint must have one source, not a copy per map 2026-09-29 13:29:18 +00:00
check-research-gallery-embed.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-retry-fetch.mjs Two gates the branch backlog turned red 2026-09-29 14:55:35 +00:00
check-ring-bands.mjs bandFill mode: 'fill-all' draws every group and lets the zoom separate them 2026-09-29 01:38:08 +00:00
check-ring-vocabulary.mjs Say "provisional, pending a product decision" instead of naming a row 2026-09-28 17:53:38 +00:00
check-scrim-covers-viewport.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-script-flags-reachable.mjs Make advertised script flags actually reachable 2026-09-22 17:44:02 +00:00
check-script-registry.mjs One page loaded the same bundle twice and nothing said so 2026-09-29 00:06:51 +00:00
check-select-zone-race.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-selection-kinds.mjs check:selection-kinds: resolve REAL tapped features, not hand-made keys 2026-09-30 05:47:04 +00:00
check-selector-fields.mjs check:selector-fields in gates:pre: a packet fetch must carry every field its selectors read 2026-09-28 13:56:53 +00:00
check-sentence-slots.mjs Prove the sentence helper against a real t(), instead of claiming it 2026-09-29 05:26:25 +00:00
check-series-isolation.mjs P: merge 2c397d25e 2026-10-01 00:55:59 +00:00
check-setup-order.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +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-shadow-css-parses.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-shadow-reduced-motion.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-shadow-style-labels-unique.mjs Every shadow stylesheet gets its own label, and a gate keeps it that way 2026-09-29 17:42:44 +00:00
check-share-policy.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-shared-component-reached-bundles.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-shell-header.mjs Phones: one top bar on a website too; maps fill a sized host, so the legend is never cut off 2026-10-02 05:27:37 +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 internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +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-snippet-engine.mjs The two composites that draw a map get the map snippets: a MapLibre preload and a Mapbox variant 2026-09-29 12:44:25 +00:00
check-snippets-draw.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-spa-tab-order.mjs The gallery's published section order: Prayer Progress before the UPG-100 List 2026-09-29 20:00:36 +00:00
check-square-map-controls.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-studio-every-plugin.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-studio-rail.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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 Tab-radius gate: find Collapse's rule inside a selector list 2026-09-30 21:17:42 +00:00
check-tabs-localized.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-targets.mjs bun run desktop:build <plugin> packages a desktop plugin as an app; check:targets keeps non-web plugins out of the web build 2026-09-28 06:44:14 +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-tiered-points.mjs The whiteboard is a layer of tiered points; only the edges were ever a tree 2026-09-28 17:40:34 +00:00
check-translator-contacts.mjs Name the translator, and let a mobiliser write to them 2026-09-26 07:43:58 +00:00
check-tree-relative.mjs New gate check:tree-relative: the committed tree names no host of its own 2026-09-29 05:26:26 +00:00
check-universal-props.mjs Universal-props gate: the planted token sample is assembled at runtime, not committed as a literal 2026-09-30 22:22:09 +00:00
check-upg-count.mjs UPG-100: one digit system per sentence, and no raw error after a failed load 2026-10-01 01:06:44 +00:00
check-upg-map-data-painted.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-upg-zone-joins.mjs Fold the zone-tree assertions in, and stop the check dying before it reports 2026-09-28 16:47:05 +00:00
check-url-resolver.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
check-viewport-meta.mjs Guard the viewport meta, because without it a "390" run is a 980px run 2026-09-29 11:56:46 +00:00
check-vision-card-numbers.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
check-whiteboard-projection.mjs The whiteboard is a layer of tiered points; only the edges were ever a tree 2026-09-28 17:40:34 +00:00
check-window-globals-released.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
check-zone-census.mjs The map template draws a map-only vertical page for the prayer packet 2026-09-29 02:16:27 +00:00
check-zone-title-tier-a.mjs Name the Deaf packet in its reader's language, not by its internal label 2026-09-29 02:16:32 +00:00
check-zoning-declared.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
clean.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
desktop-build.mjs The carried commits keep the reason and drop the speaker 2026-09-29 05:26:26 +00:00
dev-server.mjs A laptop that follows the table says when it needs credentials, and the last main defaults say development 2026-09-29 00:59:14 +00:00
dev-sync-plugin.mjs A laptop that follows the table says when it needs credentials, and the last main defaults say development 2026-09-29 00:59:14 +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 A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
fix-sri.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +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 internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
generate-library-index.mjs Library index: a data file is described by its own _description or _meta, not its first line 2026-09-27 05:05:04 +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 Phones: one header on a website, and maps that hold their size while you scroll 2026-10-02 04:44:33 +00:00
generate-wagf-region-names.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
i18n-areas.mjs A bundle carries a translation area only where its code uses it, not wherever the area's name appears 2026-09-29 09:18:26 +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 Decouple the tooling: no host named in internal/ or the build config 2026-09-27 01:16:50 +00:00
landing-preconditions.mjs Landing precondition: a library change's freshness scope includes shipped bundles the manifest does not list (template-bundle) 2026-10-01 10:52:55 +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 internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
measure-map-load.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
mobile-sheet-probe.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +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
plugin-targets.mjs bun run desktop:build <plugin> packages a desktop plugin as an app; check:targets keeps non-web plugins out of the web build 2026-09-28 06:44:14 +00:00
profile-meta.mjs Poster Design lists every plugin's poster designs, declared in the plugin's own meta 2026-10-02 08:50:48 +00:00
public-hygiene-check.mjs The exclusion list and the hygiene detector no longer match the export's own content rule (bracket forms, a pattern built from parts) 2026-10-01 16:32:23 +00:00
readme-shots-fix.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +00:00
readme-shots.mjs Source comments state design history and measurements as facts, without quoting or naming anyone 2026-10-01 00:37:17 +00:00
run-parallel.mjs Gate hygiene: three gates:post reds on development, and two things that hid failures 2026-09-29 18:35:37 +00:00
serve-strict.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
set-app-start-page.mjs Mobile apps from plugins: a how-to, with Deep Research as the worked example 2026-09-30 10:04:34 +00:00
settled-tree-gate.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
share-roundtrip-smoke.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
smoke-studio.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
smoke.mjs A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way 2026-09-28 08:20:21 +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 P (repo), follow-up: three more lines without a quote or an agent name 2026-10-01 00:28:26 +00:00
sync-app-shells.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
sync-dropin.mjs sync-dropin: a build config that won't parse fails loudly, even under --if-present 2026-09-29 21:03:15 +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 internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
verify-5-capabilities.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
verify-browser-all.mjs Register the control-inset gate, now that it has been run and proven 2026-09-29 14:38:56 +00:00
verify-gospel-map.mjs A gate's tree server dies with its gate: serve-strict --exit-with-parent, passed by every spawning gate 2026-09-29 14:56:38 +00:00
verify-map-paint.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
verify-shell-scroll.mjs internal/ keeps the reason and drops the speaker: no gate quotes or cites the Driver 2026-09-29 05:26:25 +00:00
vite-plugin-strip-shadow-css-comments.mjs Strip CSS comments from every shadow-style literal shape, not only useShadowStyles(…) 2026-09-28 00:56:58 +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