Skip to content

fix(herdr): fall back from stale executable paths - #48

Merged
osolmaz merged 3 commits into
mainfrom
fix/herdr-bin-path-fallback
Sep 6, 2026
Merged

osolmaz merged 3 commits into
mainfrom
fix/herdr-bin-path-fallback

Conversation

@osolmaz

@osolmaz osolmaz commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Opened on behalf of Onur Solmaz (osolmaz).

Summary

Herdr link clicks could stop working when the plugin kept an executable path that no longer existed.
Ghzinga now tries that exact path first and falls back to herdr from PATH only when the configured command cannot start because it is not found.
This keeps link clicks working without changing or restarting Herdr, and it prevents mutating commands from running twice.

What Changed

The Herdr plugin now uses one command runner for pane checks, focus, and pane creation.
The fallback keeps the existing plugin environment and has a narrow retry rule.

  • Retry only after a NotFound process spawn error.
  • Do not retry after the command starts, returns a nonzero status, or has another spawn error.
  • Pass the configured path unchanged, including a literal (deleted) suffix.
  • Document the behavior and add focused unit and shell coverage.
  • Update the isolated live smoke check to use the current Overview, Commits, and Files tabs.

Testing

The full local gate passed, including tests, coverage, audit, mutation testing, install checks, Slophammer, SimpleDoc, and capture validation.
The Herdr integration also passed in a disposable named session.

  • scripts/ci-local.sh
  • plugins/herdr/test/test-open.sh
  • plugins/herdr/test/test-viewer.sh
  • HERDR_PLUGIN_LIVE_SESSION=gzg-fallback-0906-2 scripts/herdr-plugin-live-smoke.sh

Risks

The change is limited to process startup failures for Ghzinga-owned Herdr plugin commands.
A command that starts is never retried, so existing command failure behavior remains unchanged.

osolmaz and others added 3 commits September 6, 2026 18:04
Co-Authored-By: GPT-5.6 Sol <noreply@pi.dev>
Generated-By: pi 0.85.1 (https://pi.dev)
Co-Authored-By: GPT-5.6 Sol <noreply@pi.dev>
Generated-By: pi 0.85.1 (https://pi.dev)
Co-Authored-By: GPT-5.6 Sol <noreply@pi.dev>
Generated-By: pi 0.85.1 (https://pi.dev)
@osolmaz

osolmaz commented Sep 6, 2026

Copy link
Copy Markdown
Owner Author

Final verification report:

  • scripts/ci-local.sh passed, including 87.25% line coverage, cargo audit, 16 mutation tests (13 caught and 3 unviable), Slophammer, install checks, shell tests, SimpleDoc, and capture validation.
  • The isolated Herdr live smoke passed in named session gzg-fallback-0906-2; it opened and reused the Ghzinga plugin pane without touching the active default session.
  • Pi Reviewer found no issues and rated the change correct with 93% confidence.
  • GitHub Actions verify passed.

@osolmaz
osolmaz merged commit 611d9fe into main Sep 6, 2026
1 check passed
@osolmaz
osolmaz deleted the fix/herdr-bin-path-fallback branch September 6, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant