fix(application): preserve non-success dispatcher return codes
Metadata
Current evaluation
Merged as commit 58e0440f: _run_inner() now falls back to os.EX_OK only when dispatcher.run() returns None, preserving explicit return codes instead of relying on truthiness. Approved with all CI checks green.
Resolution: closed resolved
Reason: PR #1068 was merged into main as commit 58e0440f, replacing 'dispatcher.run() or os.EX_OK' with an explicit None check at craft_application/application.py:561, plus unit tests asserting the None/0/non-zero cases. Maintainer mr-cal noted it is a semantic cleanup that does not behaviourally change exit codes, since the only falsy exit code is 0.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged as commit 58e0440f: _run_inner() now falls back to os.EX_OK only when dispatcher.run() returns None, preserving explicit return codes instead of relying on truthiness. Approved with all CI checks green. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as canonical/craft-application#1068 (58e0440f), making the success fallback apply only when dispatcher.run() returns None. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix replacing truthiness checks with explicit None comparisons to preserve explicit dispatcher return codes. Prevents incorrect normalization of falsy exit codes while maintaining success fallbacks. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a semantic correction to explicitly check for None instead of relying on truthiness for dispatcher return codes. Since zero is the only falsy exit code and indicates success, behavior remains unchanged and the linked issue is not resolved. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a semantic fix to preserve dispatcher return codes by checking for None instead of truthiness. Zero and non-zero codes are preserved, falling back to os.EX_OK only on None. No behavioral change occurs, and the linked issue remains unresolved. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#6119
(confidence 45%)
Snapcraft exit code 0 on unsuccessful uploads; the PR author cited it, but mr-cal stated #1068 does not resolve it — the snapcraft issue was later closed pointing at this commit.
Related issues
No related issues found above the similarity threshold.