You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[finding] pnpm sdui:manifest dies with ENOENT when packages/console/dist/ does not exist — the ratchet's only trigger cannot run before a successful console build #10138
Neither side creates TARGET. dump-public-manifest.mjs calls writeFileSync directly, so when the directory is absent the whole run dies after it has already paid for a vite dev server and a Playwright chromium launch:
Error: ENOENT: no such file or directory, open '.../packages/console/dist/sdui.manifest.json'
at writeFileSync (node:fs:2430:20)
at .../scripts/dump-public-manifest.mjs:39:3
✗ manifest generation failed (exit 1).
If Playwright reported a missing browser, install it and retry:
pnpm exec playwright install chromium-headless-shell
Two things make this worth a card rather than a shrug:
The diagnosis the script offers is wrong for this failure. Every failure branch here points at Playwright, so the printed remedy is playwright install — which is both useless and, in a dispatch container, forbidden (PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1, per docs/releases-maintenance.md). The browser had in fact launched and the dump had succeeded; only the write failed. A reader following the printed advice chases the wrong layer.
It fires exactly when the ratchet is most needed.packages/console/dist/ is gitignored and only exists after a successful scripts/build-console.sh. So a tree where the console build is broken — which is precisely when someone wants an independent read on the registry — cannot run the ADR-0082 D4 ratchet at all, even though the ratchet does not need the built dist: gen-sdui-manifest.sh drives a vite dev server over .cache/objectui-*, not the vendored dist/. That is the state Console Pin Gate cannot build any objectui pin at/after 6d5368ac8: the lazy-linter counter-probe is blind to the OBJECTSTACK_SPEC_DIST injection #10136 leaves the tree in today, and it is how this was found.
mkdir -p "$TARGET" before the dump makes it a non-event; the workaround while it stands is exactly that, by hand. The fix belongs on this side (the objectstack script owns TARGET), not in objectui's dumper.
Not a blocker for anything today — recording it so the next seat does not spend the round on the Playwright trail. Found while working #10129; unrelated to that card's own scope.
Measured while running the pin-bump procedure for #10129.
scripts/gen-sdui-manifest.shcomputes its output location and hands it straight to objectui's dumper:Neither side creates
TARGET.dump-public-manifest.mjscallswriteFileSyncdirectly, so when the directory is absent the whole run dies after it has already paid for a vite dev server and a Playwright chromium launch:Two things make this worth a card rather than a shrug:
playwright install— which is both useless and, in a dispatch container, forbidden (PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1, perdocs/releases-maintenance.md). The browser had in fact launched and the dump had succeeded; only the write failed. A reader following the printed advice chases the wrong layer.packages/console/dist/is gitignored and only exists after a successfulscripts/build-console.sh. So a tree where the console build is broken — which is precisely when someone wants an independent read on the registry — cannot run the ADR-0082 D4 ratchet at all, even though the ratchet does not need the built dist:gen-sdui-manifest.shdrives a vite dev server over.cache/objectui-*, not the vendoreddist/. That is the state Console Pin Gate cannot build any objectui pin at/after6d5368ac8: the lazy-linter counter-probe is blind to the OBJECTSTACK_SPEC_DIST injection #10136 leaves the tree in today, and it is how this was found.mkdir -p "$TARGET"before the dump makes it a non-event; the workaround while it stands is exactly that, by hand. The fix belongs on this side (the objectstack script ownsTARGET), not in objectui's dumper.Not a blocker for anything today — recording it so the next seat does not spend the round on the Playwright trail. Found while working #10129; unrelated to that card's own scope.