v0.9.1 — every install path actually works
A correctness release. v0.9.0 shipped with three broken install paths, and none of them was reachable from a development checkout — which is the only way this package had ever been run.
Fixed
- 🔴 The editor never installed on a fresh machine.
install_depstappedcloudmanic/spice-edit— upstream, which shipsspice-edit.rbonly — while installingvonzelle-vzt/herdr-edit/herdr-editfrom a tap it never added. Skipped entirely whenever an editor is already present, so it failed only on machines that had never worked. - 🔴
brew installhad no formula to install. The README documentedbrew tap+brew installwhile there was noFormula/directory. The tap succeeded; the install failed with "No available formula or cask". - 🔴 Neither install path could find its own files.
REPOusedabspath(__file__), which does not follow symlinks — and both paths put a symlink onPATH(install.shdoesln -sf, the formula links out oflibexec). Every command needing a package file died withpackage file missing: <symlink dir>/plugin/herdr-plugin.toml.
version kept working throughout all three, because it needs no package files. That is precisely why running ./bin/herdr-extensions from a checkout never revealed any of it.
Added
doctorwarns when the editor onPATHis behind the tap. A source-built editor never updates itself, while every push to the fork'smainauto-tags a release — so the two drift silently, with the stale binary still first onPATHand still reporting success. The check reads the tapped formula on disk, so it stays offline; no tap means no check.
Verification
./tests/live-check.sh — 20 checks, 0 failures, delegating to six offline suites. New oracle 25 (tests/check-deps.sh, 5 checks) pins tap/install agreement and invocation through a symlink, mutation-verified by restoring both bugs.
Both install paths were then run end to end: brew audit --strict --online clean, brew fetch checksum verified, brew install + brew test passing with install --dry-run exit 0 from the keg, and the curl path cloning and linking with exit 0.