doxa-maps/plugin-designs/research-dashboard/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-dashboard-filter-a11y.mjs Kit landing 4c-2: the chip bar moves into the library, and its unconfigured default gets a voice 2026-09-27 04:14:14 +00:00
check-dashboard-geocoder-provider.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-kit-options-reachable.mjs Dashboard kit, landing 3: the camera and the CSV exporter 2026-09-27 01:16:52 +00:00
check-layout-key-namespaced.mjs RTL drag: the direction probe reads the handle, and two handle margins become logical 2026-09-27 06:42:54 +00:00
check-legend-mirrors.mjs Kit landing 4c-4: the breadcrumb completes the facet-cascade group, and three dead shims go 2026-09-27 06:04:08 +00:00