Repository navigation
fix(doctor): print warnings as warnings, and open a sandbox's banner last (#462) - #466
Merged
Merged
Conversation
edgehero
force-pushed
the
fix/462-doctor-warnings-sandbox-banner
branch
2 times, most recently
from
September 28, 2026 08:03
16833de to
746ec5d
Compare
…last (#462) doctor's render prints ⚠ and a fix only for { ok: false, warn: true }; twelve checks returned { ok: true, warn: true } and printed a green ✓ with no fix. Each is now decided: a warning (⚠ with its fix, never failing doctor's exit) when something the operator configured is broken or does nothing and they can change it; a fact line (✓, advice in the label) when it is a trade they chose. Every one is pinned through render(). pi-dispatch sandbox printed its opening banner before refusals such as "network already exists"; beforeLaunch now runs right before the launch, after the network is created and inside the try that removes it, so a refused open never claims it is opening. Also, from the #453 and #446 rounds: Podman's `stopped` and `restarting` proxy states read ✗ in doctor (a crash loop fails every job); up shows only runnable consent lines (the network create line only when the network is missing); a proxy stale on its image, entrypoint or command is offered its replace even while a mount cannot be compared; and a pinned sandbox tombstone held by a manifest-less directory is restored in the same sweep pass. Review round 1: the context-bound line is a fact line; a broken GitHub App id or private key under GITHUB_AUTH_SOURCE=app is a failure (the worker refuses to boot on it); Podman's proxy label prints its raw state; up re-checks the egress network at run time; the sandbox sweep asks the runtime before deleting any directory, manifest or not; the --fix re-check counts passes, warnings and failures apart. Specs: DES-CONTAINER-BACKEND-REGISTRY, DES-PODMAN-STACK-AS-QUADLET-UNITS, INT-SANDBOX-CONTRACT, INT-EGRESS-POLICY-CONTRACT, REQ-DEPLOYMENT-BOOTSTRAP. Signed-off-by: Rob Boerman <robboerman@live.nl>
edgehero
force-pushed
the
fix/462-doctor-warnings-sandbox-banner
branch
from
September 28, 2026 08:24
746ec5d to
6f7ba7f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #462.
doctor: warnings that printed as passes
renderprints ⚠ with a fix only for{ ok: false, warn: true }, which never fails doctor's exit code. Twelve checks returned{ ok: true, warn: true }and printed a green ✓ with no fix. That is more than the eight the issue listed: four computeokorwarn. Each is now decided on one rule:ai-trigger: allowis never readPI_SESSION_MAX_CONTEXT_PCTPI_TRIGGERS_FILEunsetapiscopePI_SECRET_RESOLVER_ROOTSrun.replicasEvery one is pinned through
render()with its exact text.sandbox: the banner after the last refusal
pi-dispatch sandbox <id>printed "opening pi-sandbox-... exit the shell to dispose of it." before refusing with "network already exists".beforeLaunchnow runs right before the launch: after the network is created, and inside thetrywhosefinallyremoves it. A refused open never prints the banner, and the admin panel gets the same order.Found while verifying #453 and #446 (round ledger)
stoppedandrestartingproxy states read ✗ in doctor, since a crash loop fails every job. A transientstoppingstays ⚠. The worker's retry mapping is unchanged.upshows only runnable consent lines: a read-onlynetwork inspectfirst, and the create line only when the network is missing.Specs
DES-CONTAINER-BACKEND-REGISTRY,DES-PODMAN-STACK-AS-QUADLET-UNITS,INT-SANDBOX-CONTRACT,INT-EGRESS-POLICY-CONTRACT,REQ-DEPLOYMENT-BOOTSTRAP.