Correct the exit-code and Docker claims in OPERATIONS.md - #46
Merged
Conversation
Two statements were written true and were left behind by the verify command. The exit-code section said a per-file failure does not change the exit code and listed only 0 and 1. ExitCode.Failed is 2 and every command returns it, so the note asserted the opposite of the behavior and the list was missing a code. It now points at the README table rather than restating it, and keeps only the operational reading: 0 and 2 both mean the command ran to completion. The tool section said the application needs no Docker daemon at runtime. verify runs the Immich decoder inside the immich-server image and its preflight throws when docker is missing, so Docker is a runtime dependency of that one command. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #46 +/- ##
========================================
Coverage 43.37% 43.37%
========================================
Files 28 28
Lines 3896 3896
Branches 306 306
========================================
Hits 1690 1690
Misses 2154 2154
Partials 52 52 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Updates OPERATIONS.md so its operational guidance matches the current runtime behavior of PhotoCleaner after the shared ExitCode contract and the verify command’s Docker-based preflight.
Changes:
- Replaces the stale exit-code explanation with a pointer to the canonical exit-code contract in
README.md#exit-codes, and clarifies the operational meaning of0vs2vs1. - Corrects the Docker runtime claim by documenting Docker as a runtime dependency for
verifyonly, while keeping the “packaging/tooling only” framing for other commands.
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.
Answers both Copilot findings raised on the
developtomainpromotion PR #45. Both are correct.They only surfaced there because the promotion diffs against
main, soOPERATIONS.mdis read as a whole file alongside theverifycommand from #35. Reviewed againstdevelop, the file is unchanged and neither claim is in the diff. Two statements were written true and were left behind whenverifylanded.1. Exit codes
Correct.
PhotoCleaner/ExitCode.csdefinesFailed = 2, and seven call sites return it:TrashCommand.cs:163,IndexCommand.cs:42,ImportCommand.cs:88,ProcessCommand.cs:86,UndoCommand.cs:28andVerifyCommand.cs:47. The file asserted the opposite ("a per-file failure does not currently change the exit code"), and its list carried only0and1.Rather than restate the table, the section now points at Exit Codes, which already carries the full contract, and keeps only what is operational:
0and2both mean the command ran to completion, so a pipeline reading any non-zero code as "nothing happened" is wrong.2. Docker at runtime
Correct.
VerifyTask.cs:354throwsVerification requires the docker command and the Immich image, andREADME.mdstatesDocker is requiredforverify. The file said the application "needs no Docker daemon at runtime" and called Docker "a packaging and tooling concern only".Docker now appears in the tool list as a runtime dependency of
verifyalone, noting that the preflight exits1rather than condemning files when the daemon is unreachable. The packaging-and-tooling framing is kept for every other command, where it is still accurate.Scope
OPERATIONS.mdis the only stale surface. A sweep of every markdown file for exit-code and Docker-runtime prose foundREADME.mdalready correct on both points, andHISTORY.mdalready recording the exit-code change as breaking under Version 1.1.Verification
CSharpier Format,.NET Build,dotnet format style --verify-no-changes: clean, 0 of 57 files, 0 warnings.dotnet husky run: pass.dotnet test: 372 passed, 0 failed, 0 skipped.**/*.md: 0 issues in 11 files. editorconfig-checker clean. Hubprose_lint.py --diff origin/develop: clean.#exit-codesanchor resolves:README.mdcarries### Exit Codesand its own table of contents links the same anchor.