feat(control): extend external operator lifecycle, batches and feature controls - #812
Conversation
Reuse provider replacement, native transcript and placement owners with explicit targets and observable results. Incorporate the external trial’s visible identity, effective focus, attachment and draft-knowledge findings. OS activation and native draft end-to-end confirmation remain external evidence. Refs #795 Refs #796 Refs #797 Refs #798 Refs #799 Refs #800 Refs #801
Reuse feature-owned settings, templates, surfaces and read services. Isolate external workflow ownership behind one adapter and admit main-host tasks before source approval, without inventing an internal agent or granting its workers the operator toolkit. Update the live crash course, operator skill and staged coverage with concrete trial feedback and remaining provider and OS evidence gaps. Refs #795, #793, #796, #797, #798, #799, #800, #801, #807
Independent orchestration review reproduced a closed source leaving an orphan successor and a frame-boundary focus change being acknowledged as successful navigation. Check the live ownership commit, retire uncommittable successors, and acknowledge canonical focus. Regressions fail on the reviewed revision and pass here. Refs #795, #798, #815
|
Two independent Agent Code orchestration reviews completed for the full feature at
Both findings are resolved in Both original reviewers are rechecking this final revision. CI must pass on it before the user-authorized merge; no merge has occurred. |
|
Both independent Agent Code orchestration reviewers completed the final re-review at
Full-PR whitespace check and worktree cleanliness confirmed. Full local typecheck, test contract and 121 renderer files / 514 tests passed. Required CI for this exact SHA is still running: https://github.com/Juliusolsson05/agent-code/actions/runs/33990704501 . No merge yet. Physical multi-monitor and occupied/busy native-provider trials remain the explicitly documented limits; these reviews do not claim them verified. |
|
Merged #812 as Both independent Agent Code orchestration reviewers cleared the final revision after the two valid P2 findings were resolved. Both CI gates passed on that exact head: https://github.com/Juliusolsson05/agent-code/actions/runs/33990704501 . The feature worktree remains clean and retained; the original worktree’s unrelated changes remain intact. No app restart or pane-layout changes were performed. The agreed extension is delivered. Remaining external evidence/limits remain explicit: #797 actual two-monitor activation and #800 occupied/busy native committed-text trials; no complete native composer text or universal provider queue API; bounded best-effort Claude/Codex user-prompt search rather than exhaustive archive/assistant/OpenCode search (#96/#739/#773); bounded status waits rather than durable subscriptions; documented UI routes for dangerous/uncommon operations. A5/A6 and Remote fixes remain independently owned PRs. Merging does not update the currently running app; it needs a rebuild/restart to load the new tools/skill. |
…signatures origin/main advanced past the review base (external operator toolkit #812, MCP tool policy #818) while pane-runtime-isolation was in review, and those PRs added control tests that call the pre-isolation hook signatures. The merged-tree quality-gate caught two TS errors that the stale worktree base could not surface: - control.renderer.test.tsx passed a Dispatch<SetStateAction<number>> as the draft-version signal, which now types as a plain () => void bump; the test reads drafts imperatively via inspectAgentDraft, so a stable no-op bump is behaviorally faithful. - preferences.renderer.test.tsx passed the render-time runtimes snapshot that useWorkspaceHelpers no longer takes; the helper reads runtimes through refs and toggles via the setRuntimes updater, so only (setRuntimes, refs) remain. No production code changed. Merged-tree verification: forced typecheck clean, full renderer suite 123 files / 523 tests green on Node 24 with two workers.
Merged as
dd6a8f9cd021ee4804859e692134140955429b4aafter both independent orchestration reviews, correction verification and passing final-revision CI. Running app was not restarted.Agent Code’s external operator could discover and prompt agents, but lifecycle changes, lane placement and broader controls still required fragile UI sequences. This feature completes the agreed #795 extension with typed, exact-target operations while retaining computer use for visual and uncommon workflows. The original plan-first feature history is preserved; this is an implementation PR.
Delivered behavior
selectCreated:false; default creation selects the captured focused lane without closing its previous agent. Visible labels/titles, effective focus, index lane help and actual app PID/executable identity address operator feedback.Plan:
docs/decomposition/external-operator-toolkit.md.Verification and review
Final correction revision:
2b0058d7. Full typecheck and test contract passed. Renderer after review corrections: 121 files / 514 tests. Targeted unit checks passed for real recorded native transcript search/addresses, durable batch restart/error evidence, wait deadlines/cancellation/cursor identity and import isolation. Actual isolated Electron + HTTP MCP trial passed with two windows, right-only Tail All, settings/stale-revision checks, bounded wait, identity and renderer reload. Real workflow-worker and HTTP codec checks passed. No user workspace or live provider was mutated by these trials.Two independent Agent Code orchestration reviewers reviewed the complete feature at
961d542e:8f6e2b0a-a700-44c6-804f-e76f4d13c038and96b42118-6a39-4e98-8faf-1b4501bcde0f. Reviewer 2 found no actionable defects. Reviewer 1 reproduced two P2 races: replacement after source close (#815), and wrong-focus workspace acknowledgment. Both are fixed in2b0058d7; three regression cases fail on the prior revision and pass corrected. Both reviewers completed final re-review at2b0058d759a5cb447861d5f0f6d68db7066ed32fwith no actionable findings (36 and 18 focused renderer tests passed independently); both clear the feature to merge subject to required CI. Final-revision CI passed: minimum-node-fixture-gate (50s) and quality-gate (6m53s), including core/system/renderer tests, coverage and distributable verification. Run 33990704501. The user explicitly authorized merge only after completed implementation, both reviews, valid-finding resolution and passing final-revision checks. Earlier no-merge instructions are superseded by that explicit authorization; no plan-only merge is permitted.Honest limits and dependencies
Fixes #795, fixes #796, fixes #798, fixes #799, fixes #801, fixes #807, fixes #815.
Refs #793, #797, #800, #96, #739, #773, #802, #803, #804, #805, #806.