Repository navigation
fix(services): isolate command health failures - #340
Merged
codeforester merged 4 commits intoOct 6, 2026
Merged
codeforester merged 4 commits into
codeforester merged 4 commits into
Conversation
codeforester
force-pushed
the
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con
branch
from
October 6, 2026 02:38
189715c to
3a91c63
Compare
codeforester
force-pushed
the
bug/332-20261006-keep-service-health-aggregation-intact-after-command-launch
branch
from
October 6, 2026 02:38
af8cc64 to
5e91f7d
Compare
codeforester
force-pushed
the
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con
branch
from
October 6, 2026 12:54
3a91c63 to
71f288f
Compare
codeforester
force-pushed
the
bug/332-20261006-keep-service-health-aggregation-intact-after-command-launch
branch
from
October 6, 2026 12:55
5e91f7d to
27996ba
Compare
codeforester
commented
Oct 6, 2026
codeforester
left a comment
Collaborator
Author
There was a problem hiding this comment.
Reviewed head 27996ba against #332 (stacked on #339). No findings. Two good hardening changes for command health checks: text=False means a check whose output isn't valid UTF-8 can no longer raise UnicodeDecodeError and abort the whole status aggregation, and catching OSError (not just FileNotFoundError/PermissionError) covers ENOEXEC, ENOTDIR, E2BIG and similar launch failures. Each now becomes a failed CheckResult, which is exactly #332's "keep aggregation intact". The output was never used, so bytes are fine. Ready in stack order once CI finishes (one job was still running).
codeforester
force-pushed
the
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con
branch
from
October 6, 2026 13:25
71f288f to
87f20fc
Compare
codeforester
force-pushed
the
bug/332-20261006-keep-service-health-aggregation-intact-after-command-launch
branch
from
October 6, 2026 13:25
27996ba to
c614c0b
Compare
Base automatically changed from
bug/331-20261006-reject-process-health-checks-without-a-process-lifecycle-con
to
main
October 6, 2026 14:27
codeforester
deleted the
bug/332-20261006-keep-service-health-aggregation-intact-after-command-launch
branch
October 6, 2026 14:28
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.
Summary
Keep service-health aggregation running when a command check cannot launch or emits non-UTF-8 output. Command probes now use byte-preserving capture and convert execution failures into per-service diagnostics so later services remain visible.
Fixes #332
Validation
bats tests/services_test.bats --filter 'health isolates'git diff --checkThe regression fixture covers an executable without a shebang, invalid UTF-8 output, a required failure, an optional failure, and a later service that must still be reported.