[2/3] Torch installation flow, package validation, and progress - #6
Conversation
A real managed pip 26 worker emitted positive rates during a throttled 2 MiB transfer; the reported Torch install used cached wheels. Fix the legacy pip test fixture to create the API removed in pip 26.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 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 |
|
Coordination: B2 is the installation-flow review unit (9 original commits, #5/C1 → b68f3fc); B3 is retained #4. This is not UI-only and depends on #5. The temporary draft bases isolate displayed diffs; final merges are sequential into main after independent qualification, fresh checks, and separate authorization. Build PR CI filters to base main, so missing checks here are not acceptance. |
|
| const outcome: TorchRuntimePreviewOutcome = await api.preview_torch_runtime({ | ||
| tag, | ||
| build, | ||
| python: 'auto', | ||
| adapter: 'none', | ||
| }); |
There was a problem hiding this comment.
Supported Torch choices disappear When a user installs Torch through the desktop dialog, this request always selects the default or automatic build, automatic Python, and core-only dependencies. The dialog no longer lets Windows users request an explicit CUDA build or Linux users choose FLUX.2 dependencies or the qualified v2.9.1 bundled preset, although the backend still supports those choices. Restore a way to select supported configurations before requesting the install token.
There was a problem hiding this comment.
Fixed in 64d0095. The automatic/core default remains, with optional platform-supported build/profile controls and a separate fixed v2.9.1 preset submitting cu130 / python3.12 / bundled. Release/package resolution still occurs inside installation. Tests cover CUDA + FLUX.2 selection, exact preset identity, unavailable-platform choices and mismatched tokens: all 13 focused tests passed. #4 retains its prominent image-adapter radio choice together with these build/preset controls; its full frontend suite passes 750 tests. Repairs were merged forward normally, preserving published commits.
Keep the quick install UI, which already provides runtime-choice retries and removes alternative probing. Regenerate attribution from the merged source; retain foundation lifecycle, proxy, state-refresh, and evidence repairs.
|
Review repairs are in head 3cc249f: foundation fixes merged normally, optional supported build/profile choices and the fixed v2.9.1 preset restored in 64d0095, and Windows test normalization carried forward. This preserves install-time resolution and automatic/core defaults. Local evidence: 235 manager tests, 60 acceptance fixtures, 13 focused frontend tests, types/lint and attribution verification passed. Fresh CI: https://github.com/MrScripty/Pumas-Library/actions/runs/36610956667 . PR Build runs for this temporary base; full native RPC E2E remains dispatch/tag-only. The upstream license-evidence blocker from #5 remains open. Sequential integration remains #5 into main, then separately retarget/qualify #6 into main, then #4; temporary bases isolate review diffs. No merge into a prefix PR is an integration acceptance. All published commits remain preserved. |
|
Carried the two missed outside-diff findings from #5 review 5356723031 forward through normal merge f7a7150. The fixes provide an actual Windows activation executable fixture and an inconclusive response for an empty managed Python catalog. All 208 foundation and 235 install-flow manager tests pass; the affected manager source in #4 matches the tested install-flow tree. Native Windows CI now explicitly exercises restart/default activation. No PR integration merge or history rewrite occurred. |
|
Sequential integration: #5 was merged into main with normal merge commit 4a4f127. This PR now targets main. Candidate a1c0f0e incorporates that ancestry through a normal merge; its source tree is unchanged from f7a7150. Fresh PR Build run: https://github.com/MrScripty/Pumas-Library/actions/runs/36621598960. Integration is authorized by the repository owner; the previously recorded release/licensing and runtime qualification gates remain open. |
Outcome and scope
Install-time package resolution, RECORD validation, workspace/cache behavior, network activity, installation progress and copyable/download-speed feedback. This changes Rust producers, Torch resolver and tests, RPC contracts, generated Electron/frontend consumers and UI behavior; it is not UI-only. B1 owns the underlying persisted runtime identity and lifecycle; this range adds workspace/cache and activity behavior on top. Excludes B1 foundation and B3 image-adapter changes. It depends on #5 and must not be merged into the B1 branch.
Comparison:
prep/torch-managed-foundation(currentd778eeb0a41284fc1523e841b9a0d0fec02ba91b) →prep/torch-install-flow(current818a49c18b2d8100f83e08ef2d911db9109301a2), 19 exclusive commits. The original C1 → C2 boundary was7d82ec500edfcbb19bd49189ef56b3c20daeab41→b68f3fce1aa0be29e8a141e349ec6e4ae28356fd, 9 exclusive commits. Later commits repair CI and the install flow, and merge the B1 workflow repair forward. This is B2, base of #4.Verification and open gates
The original main-based B2 run 36289062901 failed Rust quality, headless RPC and Torch QA.
f650fff7repairs seven Clippy findings, the no-inference RPC schema compile error and Ruff formatting; local workspace Clippy, 231 app-manager tests, focused headless RPC test, Ruff and resolver tests passed. Later manual Build exposed two Linux-only assertions in macOS resolver tests (c302dda8) and an acceptance script that expected discovery to finish install resolution (524ed1c2). The latter now checks the persisted install resolution and managed interpreter identity. Attribution input hashes were regenerated inc083568d.Manual B2 run 36582862305 then exposed a macOS native RPC install failure.
84cf89d6retained a bounded launcher-owned install log; diagnostic run 36583870689 identified that pip served the plain-version macOS CPU Torch wheel fromfiles.pythonhosted.org, which the resolver had rejected.0f4c1c55permits that PyPI path only for matching macOS CPU Torch/torchvision wheel identity, version and interpreter tags; SHA-256 provenance and staged RECORD validation remain required. The new focused regression, all 59 resolver tests, Ruff and attribution checks pass locally. manual B2 run 36586069996 then showed Rust rejecting the same PyPI URL after Python accepted it;30ebc036aligns the Rust report check with the narrow macOS wheel rule. All 232 app-manager tests, workspace Clippy and Rust formatting pass locally. Manual run 36587509603 passed native RPC on Linux and Windows and completed macOS install/restart; its macOS evidence collection hit GitHub anonymous release API rate limiting.cc1487a9gives that bounded, same-origin evidence request the workflow read-only token, excludes it from the backend environment, and updates the attribution input hash. All 58 acceptance fixtures, Ruff and attribution checks pass locally. The full Build oncc1487a9then found an intermittent frontend test that clicked before options loaded;818a49c1waits for those options. Its focused 9 tests, TypeScript check and frontend lint pass locally. Earlier successful checks apply only to their exact tested heads.d778eeb0adds both temporary bases to the Buildpull_requesttrigger; its normal merge into B2 restores automatic PR checks. Current PR run 36589675747 passed on the exact current head. Full manual Build run 36588924111 tested predecessorcc1487a9: Linux, Windows and macOS native RPC jobs passed, and each retainedacceptance.jsonreports successful install/restart and safe cleanup. Its frontend job failed on the test race fixed by818a49c1; remaining obsolete jobs were cancelled after native evidence was retained. These are source-specific results, not a full passing run on the current head. Native RPC E2E remains manual/tag-gated; a PR Build pass alone does not qualify install/restart across platforms. The original speed-transfer record at C2 and foundation native run on21041697are historical evidence for their own sources. Missing or failed checks are not passing checks.Remain draft/blocked until B1 lands, B2 targets
main, and fresh applicable checks plus independent review accept the resulting tree. This setup and CI repair do not certify the intermediate tree.Stack and later integration
Temporary draft review bases isolate the original 25 / 9 / 6 commit ranges; later repair commits and normal merge commits increase current exclusive counts. This amends the earlier roadmap's main-based PR presentation; final integration remains sequential into
main. Stack: B1 #5 → B2 #6 → B3 #4. The temporary bases are review comparisons, not long-lived integration branches.mainwith a normal ancestry-preserving merge commit.mainafter B1 lands. Incorporate necessary upstream repairs through a separately authorized normal merge, inspect conflicts, and obtain checks for the resulting candidate. Merge B2 only after its own acceptance and authorization.mainafter B2 lands. Incorporate needed upstream repairs, inspect the remaining diff, and obtain fresh applicable checks and independent review before its separately authorized merge.Do not merge B2 into B1 or B3 into B2. Keep prefix branches while dependents use them as bases. Changing a PR base does not guarantee needed workflows will start; verify actual runs and arrange a supported check mechanism during later qualification. Branch retirement and worktree cleanup need separate authorization. If an intermediate unit needs an essential downstream repair, record the dependency and repair the earliest responsible unit, merging the repair forward, or reconsider adjacent boundaries; do not reconstruct published commits or waive correctness for the 25 / 9 / 6 presentation. This branch/PR setup does not certify any intermediate tree.