fix(ci): green main — pnpm shim launch, replay head snapshots, workspace-free published manifest - #183
Conversation
…ots, workspace-free published manifest Three independent breakages kept hosted CI red on main: - scripts/run-examples-check.mjs launched npm_execpath through the current Node executable, but pnpm/setup on hosted runners exposes a native shim (bare command name), so `node pnpm` failed with MODULE_NOT_FOUND. The script now execs non-JavaScript entrypoints directly. - The sqlite migration (#149) made the example kernel return the durable prefix at the original commit revision on idempotent replays; the retired JSONL kernel returned the current head. Re-running a fixture after a reset therefore reported the pre-reset state version and failed the runtime playground e2e on every Node line. Replays now read the head again. - #151 added `"@agent-bundle/runtime": "workspace:*"` to the published agent-bundle devDependencies, tripping the release audit (npm refuses tarball manifests with workspace ranges). The optional peer is now satisfied through a pnpm-workspace override instead of a shipped range.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
Hosted CI on main has been red across three independent failure classes; this makes the post-merge safety net green again.
Examples check infra failure —
Cannot find module '.../pnpm':scripts/run-examples-check.mjslaunchednpm_execpaththrough the current Node executable, butpnpm/setupon hosted runners exposes pnpm as a native shim / bare command name rather than a JavaScript entrypoint, sonode pnpmfailed withMODULE_NOT_FOUNDbefore any example check ran. The script now execs non-JavaScript entrypoints directly (verified against absolute-shim and bare-name shapes; the corepack JS path is covered byexamples-check-script.test.ts).Runtime playground e2e failing on every Node line (not the flake: track remaining dev-watcher and MCP App gate failures #122 flake family — deterministic): the sqlite migration (feat(state): #98 v1 node:sqlite workspace-durable driver + example migration (PR-2) #149) changed the example kernel to return the durable prefix at the original commit revision on idempotent replays, where the retired JSONL kernel returned the current head. Re-running the seeded fixture after a reset replays the input-derived idempotency key and reported the pre-reset state version (1 instead of 2), failing
runtime-playground.e2e.test.ts > resets the selected Claude fixture…on Node 22/24/26. Replays now read the head snapshot again; fresh commits keep the exact commit revision.Release gates: feat(test): route-unit consumer test harness (#103 stage 1) #151 added
"@agent-bundle/runtime": "workspace:*"to the publishedagent-bundledevDependencies, tripping the release audit (release-audit.test.tsforbidsworkspace:in the shipped manifest because npm refuses such tarballs). The optional peer is now satisfied through apnpm-workspace.yamloverride instead of a shipped range, so auto-install-peers links the workspace package without touching the registry.Test plan
pnpm build,pnpm typecheck,pnpm lintcleanruntime-playground.e2e.test.ts -t 'resets the selected Claude fixture'passes (previously red)node scripts/run-packed-tests.mjs packages/agent-bundle/tests/release-audit.test.ts— all 4 pass (previously 2 red)examples-check-script.test.ts,test-harness-manifest.test.ts, examplestate-and-definition.test.tspassrun-examples-check.mjs