doxa-maps/plugin-designs/research-map-plus-grid/scripts
Doxa Maps fbc517c94a A browser gate refuses to launch outside the browser slot; check:browser-gates-guarded keeps it that way
Only the browser seat runs browsers, and only inside internal/browser-slot.sh.
That rule was remembered, not enforced: an agent ran a gate it took for a
headless source check and it launched Chromium outside the slot.
internal/lib/playwright-guarded.mjs is now the one way a repo file reaches
playwright: its launch(), launchPersistentContext(), launchServer(), connect()
and connectOverCDP() exit 75 (NOT MEASURED) with a message naming
browser-slot.sh unless DOXA_BROWSER_SLOT is set, and browser-slot.sh exports it
for the command it runs, so a bash -c grandchild inherits it. All 72 files that
imported playwright switch to it (internal/lib/browser.mjs and 64 internal gates;
plugin-designs scripts: doxa-research-map 3, my-upg-100-list 2,
research-map-plus-grid 2, research-dashboard 1): a mechanical import swap.
check:browser-gates-guarded (gates:pre) fails a direct import;
bun run browser-gates lists the 97 scripts that launch a browser. isBrowserGate
moves to internal/lib/browser-gates.mjs so the runner and the check share it.
2026-09-28 08:20:21 +00:00
..
check-composite-locale-leaks.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-filter-multivalue.mjs Shared links keep partner param names, and a CSV export matches multi-value filters 2026-09-27 18:40:47 +00:00
check-hover-channel.mjs D3: the bus can point at a record without choosing it 2026-09-27 02:17:35 +00:00
check-i18n-keys-exist.mjs check:i18n-keys-exist was blind to a translator that arrives from a composable 2026-09-27 04:14:14 +00:00
check-linked-vocabulary.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-no-free-identifiers.mjs check:no-free-identifiers reads .js modules, which is how the NEUTRAL P1 got past it 2026-09-27 06:42:55 +00:00
check-ui-strings-have-keys.mjs A gate for English typed into a template, so the ground we have won stays won 2026-09-26 13:04:15 +00:00
ui-strings-baseline.json ui-strings baseline: gospel's resources-map types the pin note's first sentence, which now has a key 2026-09-26 13:04:16 +00:00