Development record
README promises abcd ahoy reports the local-bin-not-on-PATH state as a named gap after the copy one-liner install, but detectBinDirOnPath is suppressed for a copy install: no plugin root yields no PATH gap at all and a resolvable root yields symlink.foreign with resolve-manually
issueresolvedminoriss-350
README promises abcd ahoy reports the local-bin-not-on-PATH state as a named gap after the copy one-liner install, but detectBinDirOnPath is suppressed for a copy install: no plugin root yields no PATH gap at all and a resolvable root yields symlink.foreign with resolve-manually
Evidence
README.md:206-208sits inside the CLI copy-install paragraph and contrasts itself with the installer in its own clause, so it promises the bare read-only verb. Reproduced with scratch HOMEs: after the copy one-liner with~/.local/binoff PATH, no plugin root yields no PATH gap at all (detectPathSymlinkreturns nil atinternal/core/ahoy/detect.go:390-392); a resolvable root yieldssymlink.foreign("Resolve manually; ahoy refuses to clobber") becausedetectBinDirOnPathis suppressed unlessinstalled(detect.go:484-493). The promisedpath.bin_dir_not_on_pathgap fires only for an abcd-owned symlink install.abcd ahoy installdoes print the export line (noteReachability,apply.go:854-873) — but that is the verb README names separately, and it costs an adopting write.- Refuter verdict: CONFIRMED substantive (minor, documentation): false for 100% of readers who follow the CLI section and land off PATH. Doc-side qualification is the right minimal fix; the engine question (PATH state gated on plugin-root resolvability) is a separate design call.
Frontmatter
| id | iss-350 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-350-readme-promises-abcd-ahoy-reports-the.md
open on GitHub ↗ · commit history ↗