Skip to content

fix: stop probe from swallowing local exec errors#391

Merged
josegonzalez merged 1 commit into
mainfrom
328-bug-probe-swallows-local-exec-errors-and-reports-resources-as-absent
Jul 18, 2026
Merged

fix: stop probe from swallowing local exec errors#391
josegonzalez merged 1 commit into
mainfrom
328-bug-probe-swallows-local-exec-errors-and-reports-resources-as-absent

Conversation

@josegonzalez

Copy link
Copy Markdown
Member

Probe converted every non-SSHError failure into (false, nil), so on a machine without dokku on PATH and no configured host every exit-code probe was reported as absent. docket plan then printed a confident [+] create for every resource and exited 0 (or 2 with --detailed-exitcode) instead of rendering [!] and exiting 1, so it never predicted the failure that apply hits at the first task that cannot run.

Probe now treats only a command that actually ran and exited non-zero as state absent, and propagates any failure that means the probe never produced an answer - a missing binary, a permission error, a cancellation, or a transport failure - so plan renders [!] and exits 1 as the command reference already promises.

Closes #328.

`Probe` converted every non-`SSHError` failure into `(false, nil)`, so a missing `dokku` binary or a cancelled probe was reported as absent and `plan` printed a confident `[+] create` for every resource and exited 0 instead of rendering `[!]` and exiting 1. It now treats only a command that actually ran and exited non-zero as absent, propagating any failure that means the probe never produced an answer.
@josegonzalez
josegonzalez merged commit c1df0ce into main Jul 18, 2026
14 checks passed
@josegonzalez
josegonzalez deleted the 328-bug-probe-swallows-local-exec-errors-and-reports-resources-as-absent branch July 18, 2026 01:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: probe swallows local exec errors and reports resources as absent

1 participant