v0.11.2
fix: stop silent passthrough when visible finds no known mark
Previously, visible --mark auto (or an explicit --mark with detection on) exited 0 without writing output when no registered mark was found. A wrapping service reads that as success and re-serves the unchanged image. Since ~74% of real uploads carry no registered visible mark, this was the dominant "it didn't work" failure.
Now the command:
- runs a cheap metadata-only
identify, - prints actionable guidance (route to
allfor an invisible/metadata watermark, orerase --regionfor an arbitrary logo), - writes no output file,
- exits
EXIT_NO_VISIBLE_MARK(2), distinct from success (0) and a hard error (1), so a caller can surface the message instead of treating the unchanged image as done.
Same handling for an explicit --mark <name> that is not detected. --no-detect still forces the gemini fallback and proceeds (exit 0).
🤖 Generated with Claude Code