Skip to content

test(update): re-pin launcher invariants to the transactional install contract - #2081

Merged
lidge-jun merged 2 commits into
devfrom
codex/fix-launcher-invariant-pins
Aug 19, 2026
Merged

lidge-jun merged 2 commits into
devfrom
codex/fix-launcher-invariant-pins

Conversation

@lidge-jun

Copy link
Copy Markdown
Owner

Summary

Fix-forward for the red dev-head CI (run 32204396229) introduced by #2079: three source-invariant tests anchored on the removed direct npm install -g spawn line. The invariants themselves still hold on the new transactional path — the proxy stop precedes the destructive step, the history-restore warning precedes it, and every npm spawn resolves through the hardened npmInvocation — so the pins now anchor on transactionalNpmUpdate({ and the runNpm callback's spawnSync(invocation.file, invocation.args.

Verification

  • bun test tests/update-stop-first.test.ts tests/ocx-launcher-source.test.ts tests/update-transactional.test.ts — 30 pass / 0 fail (was 3 fail on dev head)
  • bun test tests/update-job.test.ts tests/install-scripts.test.ts — 63 pass / 0 fail (adjacent pins unaffected)

Checklist

  • Test-only change
  • No behavior modification

… contract

#2079 replaced the direct global npm install spawn with the staged
transactionalNpmUpdate call, breaking three source-invariant pins that
anchored on the removed spawn line (dev-head CI run 32204396229). The
invariants themselves still hold — stop precedes the destructive step, the
history-restore warning precedes it, and every npm spawn goes through the
hardened npmInvocation resolver — so the pins now anchor on the transactional
call and the runNpm callback's invocation spawn.
@lidge-jun
lidge-jun merged commit 7535186 into dev Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the chore Maintenance, CI, tests, refactors, or build changes (not a user-facing bug or feature). label Aug 19, 2026
@lidge-jun
lidge-jun deleted the codex/fix-launcher-invariant-pins branch August 19, 2026 09:20
agentHits pushed a commit to agentHits/opencodex that referenced this pull request Sep 17, 2026
… contract (lidge-jun#2081)

* docs(devlog): 260819 triage-execution campaign records (010/020/030)

* test(update): re-pin launcher invariants to the transactional install contract

lidge-jun#2079 replaced the direct global npm install spawn with the staged
transactionalNpmUpdate call, breaking three source-invariant pins that
anchored on the removed spawn line (dev-head CI run 32204396229). The
invariants themselves still hold — stop precedes the destructive step, the
history-restore warning precedes it, and every npm spawn goes through the
hardened npmInvocation resolver — so the pins now anchor on the transactional
call and the runNpm callback's invocation spawn.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance, CI, tests, refactors, or build changes (not a user-facing bug or feature).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant