feat(herdr): add DAG sidebar and agent management entry - #58
Merged
Merged
Conversation
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.
Why
Herdr users need to keep the existing OMO DAG visible while switching between independently attached agent editor tabs, with one native entry for common attachment actions.
What Changed
The secondary sidebar discovers the existing parent-associated OMO plugin pane through verified same-host metadata and the official control bridge. A Herdr-only status-bar entry opens a native QuickPick for agent switching, attach, detach, refresh and Open DAG. Open DAG enables a disabled sidebar before revealing it. Agent tabs and shell mode remain separate; detach does not terminate remote agents. No dependency or alternate DAG renderer was added.
Adversarial corrections
Verification at bb351d1
npm test: 218 passed; 1 pre-existing opt-in SSH test skipped.npx tsc -p tsconfig.json --noEmit,npm run lint,npm run package: passed. Final source LSP checks clean.npm run test:e2e: 2 passing in actual VS Code with a clean QA profile.npm run test:e2e:herdr: 1 passing in actual VS Code (attach, first frame, input, resize, detach, dead target).npm run package:vsix: 83 files, 7.04 MB, node-pty inclusion verified without --no-dependencies.Remaining acceptance: NOT MERGE-READY
Native GUI acceptance at bb351d1 now passes. With explicit authorization to foreground only the isolated QA VS Code PID, the real DAG renders without a source change. Actual QA-owned OMO parents and installed plugin DAG panes exercised statusbar -> QuickPick -> agent editor -> Open DAG, switching, detach without agent termination, refresh, hide/reveal and a 1000x740 narrow window. Disabling Herdr produced one local shell and the visible marker PR58_NATIVE_SHELL_OK. All six QA-profile settings were originally absent, restored to absence, and the owned profile was removed; original frontmost Ghostty was restored. User settings and user agents were not reset or terminated. Final-build screenshots/action log and cleanup are recorded in the local native final report.
Fresh final validation: 218 unit tests pass (one existing SSH opt-in skip), tsc/lint pass, clean sequential standard E2E 2 passing and Herdr E2E 1 passing, VSIX 83 files/7.04MB with node-pty. Current-head CI has four successful checks. No source changes or new commits were needed for this native acceptance pass.
One fresh bounded delta reviewer found five additional transitions; these were independently reproduced and fixed in bb351d1. The final delta and evidence are returned to the coordinator for review, not represented as unconditional reviewer approval. This PR intentionally remains draft. No merge is authorized in this task.