Repository navigation
Conversation
Preserve nested-child reuse and explicit overrides, but do not adopt the fixed shared temporary cache. Independent environments start cold. Linux/Bun 1.4.0: nine new regressions pass; cross-user access is denied. Broader run: 124 pass, 3 skips, 1 environment-dependent wrapper failure. Typecheck, privacy, structure and whitespace checks pass. Native cold-start coverage and independent review remain required; keep draft. Fork-only candidate; no merge, release or finding closure.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe isolated test environment now defaults Bun’s transpiler cache to a private directory under the test root. Explicit cache values remain unchanged. Added tests cover cache permissions, ownership, cleanup, overrides, pre-existing paths, and reuse. ChangesIsolated transpiler cache
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The private default cache and explicit overrides have no identified merge-blocking defect. Complete the planned platform and CI checks before accepting the draft. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)✅ Passed checks (4 passed)Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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 |
|
✅ Deterministic PR hygiene checks passed. |
Co-Authored-By: Epinephrine <luvs01@hanmail.net>
|
Fair point — the |
|
Review-triage summary (Devin session): Unresolved findings collected: 1 — Devin Review on Fixed: Dismissed: none. Checks (Windows, Bun 1.4.2): |
|
Done. One genuine finding on PR #710, fixed and pushed. What I found: Only one unresolved thread existed — Devin Review on The finding was real: the "Bun children with different homes reuse only the selected private cache" test asserted a Fix pushed as Checks (Windows, Bun 1.4.2): Summary comment posted: #710 |
|
Failure diagnosis for the exact-head Windows shard 2/9 run (job): Mechanism. Not a regression from this PR. The merge-base diff touches only Independent reproduction. On a Windows box (Bun 1.4.2) the same file exhibits the identical signature — Classification: transient flake on the Windows runner, not a deterministic regression. I re-ran the failed jobs at head |
A 500 from these routes was previously reported as a bare "Expected: 200 / Received: 500", leaving the underlying reason unclassified (the windows 2/9 failure on 11592cf needed a manual diagnosis to identify ca_unavailable). Status assertions now carry the response body via an expectStatus helper, so a hosted-runner flake classifies itself in CI output. Co-Authored-By: Epinephrine <luvs01@hanmail.net>
|
Follow-up to the diagnosis above: pushed This closes the diagnosability gap the shard failure exposed ("the response body was not logged, so the underlying 500 cause is unclassified"): every status assertion in Note this is observability, not a fix for the stall itself: the route correctly fails closed when the CA's ACL can't be verified (you can't ship an unverified private-key ACL), and mocking the ACL runner via |
The windows 1/9 rerun failed on EBUSY in claude-picker-startup's afterEach: a still-exiting spawned child held the test root while bare rmSync had no tolerance. Eleven fixtures that spawn real children but removed roots with raw rmSync now use the shared removeTreeWithRetry helper (EPERM/EBUSY/ENOTEMPTY retry, plus the protected-tree refusal every caller shares). File-level rmSync calls inside those files are unchanged. Co-Authored-By: Epinephrine <luvs01@hanmail.net>
|
The new run surfaced the sibling failure mode — windows 1/9, |
| try { child.kill("SIGKILL"); } catch { /* already gone */ } | ||
| } | ||
| for (const dir of dirs.splice(0)) rmSync(dir, { recursive: true, force: true }); | ||
| for (const dir of dirs.splice(0)) removeTreeWithRetry(dir); |
There was a problem hiding this comment.
🔍 Verification scope omits the cleanup changes
The PR description still says three files change, but twelve test files now replace cleanup calls. Its recorded validation predates those changes. Update the scope and report current-head Windows results.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Updated the description against unchanged published HEAD 2d948e1bfaa80e4f3b1f62b34980ddcd243fd48d.
The current scope is 24 files (+428/-164), including the cleanup changes, routing-history handle closure, subprocess diagnostics/bounds, warm-ups, serial-lane adjustment and helper extraction. The original three-file publication and 11592cf57 results are now explicitly historical.
Cross-platform CI 37737749299 completed 23 successful jobs / 9 skipped / 0 failed or cancelled, including all four Linux and all nine Windows shards. Its actual checkout was merge ref 835c450153146aa619ce783860960dca5261ebb4 (dev bf9ecf3d plus this head), using Bun 1.4.0. The description records that integration boundary and all skipped coverage rather than attributing it to the standalone published tree.
This is a description/evidence correction; no code or new local tests were run. Draft remains in place for independent security/native cold-start acceptance and the remaining readiness checks. Leaving this thread open for reviewer verification.
|
On it — collecting all unresolved review threads on PR #710 (Devin Review, CodeRabbit, Codex connector), then triaging and fixing the genuine ones on the head branch. |
The private per-sandbox transpiler cache means the first --eval child in a batch pays its cold module-graph load inside its own 3000ms spawnSync bound; windows 3/9 killed it with ETIMEDOUT. Register the file's union eval script with warmModuleGraph so the cold load happens in setup, and switch the file:// hrefs to absolute paths so the warm-up's import scan can see them. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
test 1/4 batch 4 pinned for the full 120s shard deadline in run 37730984813: the file's spawnSync children carry no timeout, so a wedged bun child froze the test inside a synchronous wait the per-test timeout cannot interrupt. The 60s test timeout killed one dangling process and the wait still never settled. Every spawnSync in the file now runs under INTERNAL_DEADLINE_MS, with SIGKILL for the bun children per the cli-connect-readiness shape, and cold-spawn-warmup records the unwarmed disposition the deadline oracle requires: the children run a script importing only node builtins, so an import scan has nothing to warm. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…h test home windows 8/9 run 37730984813 job 113160397742: the afterEach removal of ocx-management-auth-* lost the whole 15s retry budget to EPERM on the root rmdir. A routed request opens the process-wide request-history SQLite index under OPENCODEX_HOME and nothing in this file closes it, so the home's files leave delete-pending handles the same process cannot release while Bun.sleepSync blocks the loop. Same signature and same fix as 1c27b3f: call closeRequestHistoryIndex between the config-dir flight drain and the reaps barrier, matching settleServerAuthFixture's drain order. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
test 2/4 run 37734155690 job 113170258422: the file-size ratchet reported NEW_OVERSIZED on tests/server/server-management-auth.test.ts after a81c8bc's five lines took it from 1999 to 2004. Move remoteConfig, hubConfig, startEphemeralHubServer, and websocketHandshakeOpens unchanged into tests/helpers/management-auth-fixture.ts; none of them read the file-scoped fixture state, so behavior is identical and the file is back under the 2000-line threshold at 1931. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
… eval children test 1/4 batch 4 timed out three runs in a row inside the 12-file batch while every case passed alone (37730984813, 37732846946, 37735238354), the same multi-file process-state class as the other serial-lane entries; move ci-gui-typecheck-gate to SERIAL_FULL_SUITE_FILES. windows 3/9 killed both real-Bun-transport children at their 10s deadline on a cold catalog-remote graph load. Register the graph with warmModuleGraph so the cold load happens in setup, pass BUN_RUNTIME_TRANSPILER_CACHE_PATH into the child env so the warm transfers, and use an absolute path the import scan can see. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
CI flake classification across runs on this head (independent analysis; a concurrent session is pushing fixes and may supersede some entries): Class A — Windows ACL spawn stall: Class B — teardown-vs-child-exit race: bare Class C — shared 120s batch watchdog: Class D — runner-image behavior differences: Net: A and B are fixed or made self-describing; C is the PR's accepted cold-start trade-off hitting a marginal batch; D is orthogonal. |
test 1/4 batch 6 pinned for the full 120s shard deadline in run 37736425700: the file's spawnSync children carry no timeout, so a wedged bun child froze the test inside a synchronous wait the per-test timeout cannot interrupt. The 60s dangling-process sweep killed one child and the wait still never settled. Both spawnSync sites now run under INTERNAL_DEADLINE_MS, with SIGKILL for the bun child per the cli-connect-readiness shape, and cold-spawn-warmup records the unwarmed disposition the deadline oracle requires: the children run a script importing only node builtins, or a bash -c fragment, so an import scan has nothing to warm. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…hildren The private per-sandbox transpiler cache means the first spawned child in a batch pays its cold module-graph load inside its own bound; windows 9/9 run 37736425700 killed the ready --wait child at its 10s deadline before it ever reached /healthz (healthzHits 0 vs 1). Register src/cli/index.ts's entry graph with warmModuleGraph so the cold load happens in setup, matching the cli-models precedent. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Integrate dev e6c6e13 into the published PR head 2d948e1. Resolve the sole conflict with the exact upstream picker-startup file. It already contains removeTreeWithRetry and adds ACL draining, attempt-all cleanup, environment restoration, and three regressions. Preserve all other PR changes and the upstream pinned test runner. Local integration only; no remote publication or readiness claim. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: JUN <jun@lidgeai.com>
|
No description provided. |
|
No description provided. |
Summary
BUN_RUNTIME_TRANSPILER_CACHE_PATHvalue, including""and"0". Explicit paths remain the operator's protected-path responsibility; this patch does not validate arbitrary overrides or sandbox same-user code.ci-gui-typecheck-gate.tests/helpers/management-auth-fixture.tsto keep the test file within the existing file-size limit.scripts/test.ts,structure/ops/cross-platform-ci.md, and 21 test/helper files. Product runtime source, credentials, dependencies and release workflows are unchanged.Draft / operational hold: independent test environments and CI batches no longer automatically reuse one persistent cache. Current-head hosted Linux and Windows checks have passed. Independent security review and acceptance of the isolation/cold-start trade-off remain required. Passing CI does not withdraw those holds.
Verification
Current published checkpoint — 2026-10-08 (
4b9952e7)4b9952e72b8b3912f715c90bb835268b4b11e014; published tree:442793437e5f5276b7d05410580e58ba4b4b247c.e6c6e13a22e465812f509a423990e9f09e32b1d0: 23 files, 425 additions and 162 deletions.2d948e1b. The sole conflict intests/claude-integration/claude-picker-startup.test.tswas resolved by preserving the exact dev version, including retry cleanup, ACL draining, attempt-all cleanup, environment restoration and its three regression tests. That file is now identical to dev and is no longer part of the PR diff.ciaggregate.2e47636c22ee93819c9498725a99b5ab5ad8ef04, combining deve6c6e13a22e465812f509a423990e9f09e32b1d0with this PR HEAD. Its tree is442793437e5f5276b7d05410580e58ba4b4b247c, exactly matching the published HEAD's source tree. The log records repository-pinned Bun 1.4.0 (34cbb9a40). This establishes coverage for that source tree and integration, not a later dev state.11592cf57, not this expanded head.Historical checkpoint — 2026-10-08 (
2d948e1b)Before the dev integration, HEAD
2d948e1bfaa80e4f3b1f62b34980ddcd243fd48dhad tree8ce459db80c5eb30df1eda328db96bf10f8d03e6and a 24-file diff (+428/-164). Cross-platform CI 37737749299 passed 23 jobs with nine skipped, including four Linux and nine Windows shards. Its checkout was merge ref835c450153146aa619ce783860960dca5261ebb4, treeb14c4d04533db93782091e091ff440b56049f24b, combining devbf9ecf3d79c7b1b6436e2922f52d421ab550b744with that head. React Doctor 37737749306 also passed. Those results remain historical integration evidence, separate from the current checkpoint above.Historical publication
Original publication base:
9099e4bf99166677db0f5fa6df81fe30208dd795(rechecked at that historical publication).Original publication head (historical validation below):
66cd2855d9fc7a7a6c45c4e2139d4894388f5c93.Exact checked and read-back tree:
251fa37e3e6fd194ef93328c2e449f8b896891ec.The original publication changed three files, with 142 insertions and 12 deletions. Auxiliary source-transfer workflows and patch data are absent from this PR tree.
Historical checkpoint — 2026-10-07 (
11592cf57)Recorded head:
11592cf57f11b2618a9ca266b5224edf376e18bf; treefe026adea028c929e41b1015cd34af8605e2c3f2; parent66cd2855d9fc7a7a6c45c4e2139d4894388f5c93. That checkpoint changed three files, with 166 insertions and 12 deletions. The follow-up strengthens the existing cross-home cache-reuse regression with cache-entry set and sentinel-mtime checks.The author's Windows/Bun 1.4.2 report records 70/70 runner-file tests and typecheck/privacy/structure checks passing. That is useful additional evidence, not a repository-pinned Bun 1.4.0 full-suite pass. The original cache-reuse review thread is resolved.
Historical
11592cf57Cross-platform CI failed. Windows shard 2/9 reportsnative first-party ON pins the committed mode on a stale live configexpecting HTTP 200 but receiving 500, followed by an EPERM cleanup failure. The response body was not logged, so the underlying 500 cause is unclassified. The same case passed at the unchanged baseline and the preceding candidate, which does not establish either a deterministic regression or a transient flake. Keep the assertion failure and cleanup error separate. No additional retry is counted as validation.This historical checkpoint had failed CI and incomplete coverage. The later published-head integration result is recorded above. Independent security and operational acceptance remain pending. The Linux original-head results below remain historical and are not relabeled as final-head validation.
Linux / repository-pinned Bun 1.4.0 (original publication head)
bun test argv > the wrapper passes parallel execution through to bun without leaving TEMP rootssmoke. The nested wrapper first tries to install missing GUI dependencies and fails because the namedbunexecutable is absent from that subprocess PATH. A separate actual-wrapper control with the originalscripts/test.tsreproduced the same ENOENT. Supplying the exact Bun directory then reached the frozen GUI dependency install, which could not finish in this offline executor and was stopped at the control's ten-second limit. The runner was restored after baseline comparisons; no fixture, deadline or assertion was weakened. This is an environment diagnosis, not a passing full baseline/candidate suite comparison.Additional native Linux access-control probe used two distinct OS accounts with a shared mode-1777 temporary parent. A pre-existing legacy cache belonged to one account; the other invoked the actual patched environment creator. The selected cache belonged to the invoking account with mode 0700, and the other account's read and write attempts both returned EACCES. The legacy sentinel remained unchanged, and owner cleanup removed the new cache. This checks the repaired filesystem boundary; it does NOT rerun the supplied forged-cache substitution proof or access real credentials.
Commands executed in disposable homes with the repository Bun:
The focused resource exception was used because the executor has no external dependency-install access. The six-file run's failure is retained above, rather than silently excluded or counted as passing. Root dependencies/runtime were obtained from a prior isolated source artifact; relevant pinned versions were checked against this source. GUI dependencies were not fabricated or bypassed.
Publication run
37561725134applied the readable full-index patch only after verifying its SHA-256, original index preimages, exact three-file scope and complete resulting tree. Connector readback confirms the commit's parent and tree. No patched application code or dependency installation ran with the publication write token. This is transport verification, not another test suite.Remaining coverage
The published head's hosted integration run passed all selected Linux and Windows test shards using repository-pinned Bun 1.4.0. The earlier Windows/Bun 1.4.2 runner-file report and original Linux red/green results remain separate historical evidence.
Native macOS behavior, Windows ACL inheritance and the skipped platform/package lanes remain unverified by this run. Current-head full local and import-connected validation is not established by this description refresh. The supplied cross-user cache-substitution payload was not re-executed by these follow-ups.
Some subprocess regressions now warm their module graphs during setup before their timed assertions. Successful Windows jobs provide current integration evidence; independent acceptance of the private-cache cold-start trade-off remains required. The product-side Windows ACL inspection stall was made more diagnosable, not fixed by a runtime change in this PR.
Keep Draft pending independent security review, operational/native cold-start acceptance, current-dev readiness checks and disposition of the remaining review thread. Skipped and older-head results are not current executed coverage. This PR does not modify an installed environment or the old shared cache, and does not close the Security Cloud finding.
Checklist
Review readiness checklist
Summary by CodeRabbit