Repository navigation
fix(cli): enforce the Bun patch floor in automatic PATH fallback - #7734
Conversation
Require automatic PATH Bun candidates to meet the full stable version pin within the same major. Preserve explicit overrides and durable artifact policy; add floor regression coverage and align installation documentation.
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
| Layer / File(s) | Summary |
|---|---|
PATH candidate version floor src/lib/bun-path-runtime.mjs:128-129, tests/cli/ocx-launcher-runtime.test.ts:406-774, docs-site/src/content/docs/getting-started/installation.md:41-42, docs-site/src/content/docs/ko/getting-started/installation.md:29-30, structure/ops/docs-and-release.md:348, structure/runtime.md:107 |
findPathBun requires a candidate version on the pinned major to meet the full pinned version. Tests cover below-floor rejection, eligible candidates, and candidate fallback. The documentation describes the updated minimum version policy. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Possibly related issues
- lidge-jun/opencodex#7612: Updates the Korean installation guide’s Bun version floor and PATH fallback policy.
- lidge-jun/opencodex#7578: Changes PATH fallback tests, but does not change the reported test timeout.
Possibly related PRs
- lidge-jun/opencodex#7606: Updates the Bun dependency pin to 1.4.4, which this PR uses as the PATH fallback threshold.
- lidge-jun/opencodex#7616: Updates the Korean installation guide for the 1.4.4 pin; this PR updates its documented fallback minimum.
Merge Risk: 
Minimal · up to 6da01
-
The Bun PATH version-floor change is ready to merge based on the verified implementation and coverage.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passedFull details: Docstring Coverage
-
Explanation
Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (4 skipped: 4 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
|
✅ Deterministic PR hygiene checks passed. |
|
Maintainer integration decision (v2.93.0 release lane L-A, admin decision authority granted by the repository owner): MERGE into dev.
|
Summary
The bundled Bun dependency is pinned to 1.4.4, but automatic PATH fallback still accepts older patches from the same minor release. If bundled-runtime preparation is unavailable, it can therefore select Bun 1.4.2 despite the security update.
Require an automatic PATH candidate to be at least the complete package pin, while retaining the same-major restriction. Below-floor entries are skipped so a later suitable entry can still be selected. Update the existing regression tests and English/Korean installation and architecture documentation.
This addresses the remaining PATH fallback finding on #7606. Explicit runtime overrides, bundle selection, installer recovery, probe deadlines and identity/trust checks retain their existing behavior.
Verification
Current public head:
f84a72e43ef83eed5ca31df9c476023ef4d8db74, after the maintainer's integration of devc2f3d8b4. Current-head automatic CI is running and full cross-platform CI is queued. The earlier validation below remains attributed to its named candidate and does not establish current-head success.6da019275eabf4f696196a58653bb325b01e09e6, CI 40243590429 passed, including Typecheck, all four Ubuntu test shards, structure validation, and a fresh dependency installation and build of the documentation site.bun-runtime.test.tspassed 20 tests. The real repository preload and home guard were active. TypeScript--noEmit, structure, privacy and file-size checks passed. All nine validation commands exited 0 with both streams complete, no remaining direct child, unchanged source hashes and verified temporary-environment cleanup.The full local suite and unfiltered
test:changedwere not repeated because concurrent Windows worktrees share the validation host; unfiltered selection would also repeat broader launcher activation fixtures. Focused checks cover the changed version boundary, and the exact-head Ubuntu job ran the changed launcher and runtime files, including the new floor cases. The earlier candidate validation did not include a full hosted Windows/macOS run; the current integrated head's full run is pending. The isolated substitute does not validate real TLS or old Bun binaries, and no deployed installation was exercised. No live service, account or certificate configuration was changed.Checklist
Summary by CodeRabbit
Bug Fixes
Documentation