Uh oh!
There was an error while loading. Please reload this page.
fix(doctor): per-OS compute remedies + resources-set-max drift nudge (#400) - #405
Conversation
…400) The 'raise the machine's allocation in Docker Desktop -> Resources' remedy was emitted unconditionally -- that slider does not exist on Windows's default WSL2 backend (field case: the user followed it into Docker Desktop and found nothing to raise), and bare Linux has no Docker Desktop at all. - computeRemedy(GOOS): windows names both levers (.wslconfig + wsl --shutdown / Hyper-V slider), darwin keeps the slider, linux drops the Docker Desktop reference; every variant ends with 'tracebloc resources set max' (the backend#1236 drift fix). Applied to both the node-capacity fail and the stuck-pending remedy. - checkNodeFit OK path gains the grow-side drift nudge: when the budget uses no more than half of what the largest node could give one run, the detail points at resources set max. - copy-catalog golden regenerated for the new strings. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
LukasWodka
commented
Jul 24, 2026
bugbot run |
Uh oh!
There was an error while loading. Please reload this page.
Verified against Docker's settings docs (review question by Lukas on the client twin, tracebloc/client#392): 'Memory limit ... Mac, Linux, Windows Hyper-V' sits under Resources > Advanced. Golden regenerated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
LukasWodka
commented
Jul 24, 2026
bugbot run |
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
1 issue from previous review remains unresolved.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 741bc3f. Configure here.
…gbot) The nudge tracked the largest node memory-first while resources. LargestReadyNode (what 'set max' applies) is CPU-major -- on heterogeneous clusters the advertised ceiling could name numbers set max would not apply. Same total order now; heterogeneous regression test added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
LukasWodka
commented
Jul 24, 2026
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b0f235e. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
LukasWodka
commented
Jul 25, 2026
Functional review \u2014 passed\n\nBasis: the behavioural suites that ran on this PR at merge against real environments, not mocks:\n\n- \u2014 the installer suite exercised for real, plus across all packages\n\nI could not reach the dev API (no dev credentials), so rather than rubber-stamp I used the strongest evidence available: these suites exercise the actual behaviour this change alters, on real infrastructure. Advancing \u2192 .\n\nIf the functional reviewer wants a manual pass on dev in addition, please move it back and say so. |

Fixes#400. Companion to tracebloc/client#393 (backend#1236 option A) — the doctor half of the drift story.
What
computeRemedy(goos)replaces the unconditional 'raise the machine's allocation in Docker Desktop → Resources' (wrong on Windows's default WSL2 backend — no Resources→Memory slider exists there, field-verified 2026-07-24 — and meaningless on bare Linux):[wsl2] memory=…in%UserProfile%\.wslconfig+wsl --shutdown, or the Hyper-V sliderresources_set.go)tracebloc resources set max— the shrink-side drift fix. Applied at both emit sites (node-capacity FAIL roll-up + stuck-Pending remedy).checkNodeFit's OK path: when the budget uses ≤ half of what the largest Ready node could give one run (node − platform overhead viaresources.MaxRunCores/GiB— largest, never summed, resources/home: "equipped with" sums allocatable across k3d nodes — reports 2× the machine (24 CPU · 13.4 GiB on a 12-core host) #399), the detail points atresources set max.Tests
computeRemedyper-GOOS invariants; the FAIL-case test now pins the GOOS-independentresources set maxinstead of "Docker Desktop";checkNodeFitbig-machine⇒nudge / snug⇒quiet (existing OK fixtures verified below the threshold).make cigreen.🤖 Generated with Claude Code
Note
Low Risk
User-facing CLI copy and an informational verbose detail on an existing health check; no auth, scheduling, or API behavior changes.
Overview
tracebloc doctornow gives OS-correct guidance when compute is tight, and nudges users when their run budget is far below what the machine can offer.A new
computeRemedy(goos)replaces the old one-size Docker Desktop → Resources text (misleading on Windows WSL2 and bare Linux). Windows mentions.wslconfigand Hyper-V; macOS keeps the Docker Desktop slider; Linux avoids Docker Desktop entirely. Every variant ends withtracebloc resources set max. That remedy is wired into the rolled-up “not enough compute” and stuck-pending pod readiness messages.On the Node capacity check’s success path, when configured CPU/memory requests use at most half of the largest Ready node’s effective ceiling (via
resources.MaxRunCores/MaxRunGiB, CPU-major tie-break to matchresources set max), the verbose detail appends a grow-side drift hint pointing atresources set max.Tests cover per-GOOS remedy strings, nudge on/off and heterogeneous nodes; the string golden file was regenerated.
Reviewed by Cursor Bugbot for commit b0f235e. Bugbot is set up for automated code reviews on this repo. Configure here.