Skip to content

fix(release): bootstrap the PTY session and outlive npm processing - #124

Merged
GeekCmore merged 1 commit into
mainfrom
fix/release-hardening
Oct 22, 2026
Merged

GeekCmore merged 1 commit into
mainfrom
fix/release-hardening

Conversation

@GeekCmore

Copy link
Copy Markdown
Collaborator

Why

Release runs fail repeatedly for two systemic reasons:

  1. smoke-platform-pty.mjs typed @ on the sessionless launch surface. File completion needs a live Agent, so all Node 24 runners timed out. The waive_platform_pty input only exists for workflow_dispatch, so normal tag releases always failed after publishing.
  2. npm's ~141 MB CLI tarball can stay invisible for well over the 10-minute window. A rerun then gets E409 previously staged version even when the earlier publish is still processing; npm stage list can be empty.

Fix

  • Create a session with a throwaway prompt after boot, interrupt it, then run the editor/file-completion/plugin scenarios with a session attached.
  • Drop the provider form editing/cancel block from the PTY smoke; provider-add.spec.ts owns that behavior. The platform smoke now stays on launcher/terminal behavior.
  • Extend registry visibility to 40 minutes and poll an E409 package for the same window before reporting approval guidance.

Verification

  • node script/smoke-platform-pty.mjs with the mayfly-hardening profile: PASS (linux-x64), scenarios boot, session, paste, edit, resize, file-completion, plugin-install, plugin-uninstall, exit-restore.
  • pnpm run test:repo-workflow: 116 pass, 1 skip (includes the new staged-processing test).
  • pnpm run typecheck, pnpm run lint pass.
  • pnpm run build + check:pack: all three 0.1.4-rc.2 tarball SHA-512 values match npm, so a workflow_dispatch rerun will verify the already-published packages instead of republishing.

The platform smoke typed @ on the sessionless launch surface, where file completion cannot open, so every Node 24 runner timed out before the launcher scenarios and the RC tag had to waive PTY. Create a session with a throwaway prompt first, then interrupt it; move provider/form editing to its unit suite so the PTY smoke stays on launcher-level behavior.

npm's 141 MB CLI can remain invisible for well over ten minutes. Extend the visibility window to 40 minutes, and when npm answers E409 'previously staged', keep polling: the earlier publish may still be processing rather than waiting for a human 2FA approval. Only report approval guidance after that window closes.
@GeekCmore
GeekCmore merged commit aab28a2 into main Oct 22, 2026
7 checks passed
@GeekCmore
GeekCmore deleted the fix/release-hardening branch October 22, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants