Restore identity-checked Herdr handoff retirement - #2156
Draft
shatianming5 wants to merge 1 commit into
Draft
shatianming5 wants to merge 1 commit into
shatianming5 wants to merge 1 commit into
Conversation
Capture checkout-local Herdr identity and retire only after successful consumption. Keep mux behavior and document single-provider registration. References ThomasMichon#2155. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ThomasMichon
added a commit
that referenced
this pull request
Sep 10, 2026
… start, not full pickup (#2346) Follow-up to #2344. That fix correctly added the earlier spawn-in-flight signal, but also raised the wait ceiling to 120s under the assumption a longer wait was needed. It wasn't: the design intent was always to wait up to 30s for the CUTOVER to START (the status-monitor's handoff_cutover_spawn marker, observed at ~10-25s), never to block for the successor to fully finish cold-starting and consume the handoff -- that part legitimately takes 40-90s+ and isn't worth a predecessor blocking on. Reverted waitMs's default to 30000 and reworded the tool description / README / SKILL docs to say so explicitly. Also confirmed (grep audit) context-handoff itself remains fully free of any mux/tmux/psmux/Herdr checks -- the only remaining mentions are the guidance test's negative assertions and the docs' explicit 'we don't do this' statements, both intentional. The upstream Herdr-coupling PRs (#1585, #2156) remain open per the operator's call to discuss with their author directly rather than close them here. Full suite: node --test tests -> 66 tests, 64 passed/2 skipped/0 failed; tools/run-plugin-tests.py context-handoff -> 27 passed/4 skipped. Version bumped to 0.1.1-dev12. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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.
Problem
Herdr-produced handoffs can reach mux-only consumers, leaving valid predecessor panes alive. Duplicate direct/marketplace installations also race for the same tool names. Refs #2155; follows the transport request in #1584 with consume-driven retirement.
Method
Add a bounded Herdr adapter to the shared core for checkout-local storage, predecessor identity capture, explicit-permission seeded launch, and exact retirement after consumption. Reuse existing file locks and retirement checkpoints; preserve mux behavior. Document single-provider selection. This closes the hosting vision acknowledgement/retirement safety gap; generalized provider discovery remains outside this narrow recovery patch and needs maintainer architectural review before merge.
Progress
Evidence
Source regression was red before implementation. Core, CLI parity, locator and Herdr tests: 56 passed, 1 Windows-only skip. Tests cover stale foreground cwd, null agent name, terminal/session reuse, current-successor preservation, one-time consume, checkpoint retry, exact stop targeting and one seeded launch with explicit permission mode. No live panes were launched or stopped.
Blockers
Draft pending upstream review; no write/merge permission on upstream.