fix: codex review #3 + README polish — v0.3.1#10
Merged
Merged
Conversation
Pre-release sweep on the v0.3 end-state surfaced 5 codex findings (2
MED, 3 LOW) plus 2 README completeness gaps. All addressed.
MED — sort -V is GNU/modern-BSD only
lib/adapters/ruby/local.sh used `sort -V` for prerelease/highest-version
comparisons. Apple sort 2.x and current Linux coreutils support it,
but very old BSD does not. Probe once per shell, cache the result;
if `sort -V` isn't available, the gating bails to "can't determine"
and HTTP picks up the gem rather than emitting wrong notes.
MED — .postcut existing as a non-directory
`mkdir -p ".postcut"` errors with a raw mkdir message when something
did `touch .postcut`. Now postcut detects the case explicitly and
exits 2 with a clear remediation pointing at --output.
LOW — --output and --stdout silently fought each other
Both flags accepted; --stdout won, --output silently ignored. Reject
the combination with exit 2 right after flag parsing.
LOW — POSTCUT_BIN_DIR bypassed validation
Auto-detected bin dirs are checked for existence + writability; the
override skipped both, then `ln -sf` produced an unprefixed error.
Now the override is validated up front; clear error if it's missing
or read-only.
LOW — empty-config / all-comments-config message accuracy
Both shapes (zero-byte file, file with only comments) shared one
branch but the message claimed "all lines commented." Reworded to
"no active entries" — neutral about which shape.
README — --path was missing from the explicit flag list
Users reading the usage block had no signal that --path exists; the
default `cd` workflow assumes you've already cd'd in. Added it.
README — bundle-audit was buried in the modes table
Surfaced as an explicit "Optional" install step right under the
manual install block, since it's the gate for local CVE data.
Tests:
test_e2e.sh: 27 → 33 cases (+1 --output/--stdout, +1 .postcut-as-file,
+2 zero-byte config, +others)
test_install.sh: 18 → 22 cases (+2 missing override dir, +2 read-only)
test_advisory_freshness.sh: unchanged (7/7)
Suite total: 150 → 160 across 12 test files
VERSION bump 0.3.0 → 0.3.1; README status section follows.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Pre-release sweep on the v0.3 end-state. 5 codex findings (2 MED, 3 LOW) + 2 README completeness gaps from independent audit. All addressed.
sort -VGNU-only.postcutas a non-directory fileTests:
VERSION bump 0.3.0 → 0.3.1; README status follows.
🤖 Generated with Claude Code