add TUI orchestration permission and configuration card#13717
Open
harryalbert wants to merge 20 commits into
Open
add TUI orchestration permission and configuration card#13717harryalbert wants to merge 20 commits into
harryalbert wants to merge 20 commits into
Conversation
2 tasks
Contributor
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Jul 14, 2026
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 14, 2026 22:30
7d2212b to
41d0b00
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 14, 2026 22:30
14042e6 to
406061d
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
2 times, most recently
from
July 15, 2026 13:22
4c05fe7 to
a38b81e
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 15, 2026 13:22
ba49160 to
d079c43
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 13:35
a38b81e to
ed04147
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 15, 2026 13:35
d079c43 to
891ad83
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 16:33
ed04147 to
d581556
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 15, 2026 16:33
891ad83 to
8bb2a10
Compare
2 tasks
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 16:59
d581556 to
53c9d22
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 15, 2026 16:59
8bb2a10 to
046ec66
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 18:27
53c9d22 to
db49817
Compare
This was referenced Jul 15, 2026
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 18:55
db49817 to
07f43ac
Compare
harryalbert
changed the base branch from
harry/code-1822-tui-option-selector
to
graphite-base/13717
July 15, 2026 20:28
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 15, 2026 22:12
07f43ac to
0503bbd
Compare
harryalbert
changed the base branch from
graphite-base/13717
to
harry/code-1822-tui-option-selector
July 15, 2026 22:12
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 16, 2026 02:44
0503bbd to
6cf263f
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 16, 2026 02:44
199ce8a to
1e3458b
Compare
harryalbert
changed the base branch from
harry/code-1822-tui-option-selector
to
graphite-base/13717
July 16, 2026 03:23
4 tasks
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 16, 2026 11:57
6cf263f to
70fcf39
Compare
12 tasks
This was referenced Jul 16, 2026
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 16, 2026 22:12
194fd82 to
a37739b
Compare
harryalbert
force-pushed
the
graphite-base/13717
branch
from
July 16, 2026 22:12
af6c184 to
36b0f8c
Compare
harryalbert
changed the base branch from
graphite-base/13717
to
harry/code-1822-tui-option-selector
July 16, 2026 22:13
moirahuang
approved these changes
Jul 16, 2026
Contributor
There was a problem hiding this comment.
- we can see how erica feels about this but if we only have 1 menu item i think we can auto select it
- i had previously selected haiku. when i cancelled and spun up the orchestration cards again, the subagents were still called haiku. can we double check how we're saving the subagent names? i know there's some autogeneration involved so i'm not entirely sure if this is just the agent's choice
- we should sort by value of the number, not just per character so 10 is after 6
- nit: can we scroll if the input is too long instead of jumping to the start? and can we do this in a more general way, not just for the custom input
Screen Recording 2026-07-16 at 3.37.41 PM.mov (uploaded via Graphite)
- can we keep the icon on the same row as the subagent name?
- maybe it's just me but i didn't realize i should just type to search. i wonder if there's a visual indicator we can add here somehow (also maybe an erica question)
| pub execution_mode: RunAgentsExecutionMode, | ||
| /// Per-call value hidden from the orchestration editors. Kept outside | ||
| /// `execution_mode` so a temporary switch to Local does not discard it. | ||
| remote_computer_use_enabled: bool, |
Contributor
There was a problem hiding this comment.
why is remote_computer_use_enabled stored outside of execution_mode but other fields are not?
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Keep persistent tinted card chrome, add Tab/arrow page navigation, match spacing/copy/footer styling, and normalize Tab events in the TUI runtime. Co-Authored-By: Oz <oz-agent@warp.dev>
… identities Map the selector's LayoutChanged to BlockingStateChanged so the transcript remeasures the card when overflow markers appear, hide the warping/summary row while a blocker is active, add a footer margin, and keep agent glyphs and colors unique within a request until each set is exhausted. Co-Authored-By: Oz <oz-agent@warp.dev>
Fixes clippy::should_implement_trait on the now-pub method. Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
harryalbert
force-pushed
the
harry/code-1822-tui-orchestration-card
branch
from
July 16, 2026 23:09
a37739b to
d2f380b
Compare
harryalbert
force-pushed
the
harry/code-1822-tui-option-selector
branch
from
July 16, 2026 23:09
36b0f8c to
1660f1c
Compare
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.






Description
Adds the TUI permission and configuration card for a blocked
RunAgentsrequest. When the request reaches the front of the confirmation queue, the card becomes the active interaction: it replaces the normal input/footer and warping row without mutating the input draft, cursor, selection, mode, or scroll state. Accept dispatches the edited request through the existing shared orchestration executor; Reject follows the existing action-cancellation path.The acceptance card shows the proposed agents with deterministic theme-derived color/glyph identities and the resolved run-wide configuration.
Ctrl+Eopens a sequence of single-field configuration pages built on the reusableTuiOptionSelectorfrom the PR below. Cloud runs expose Location, Harness, optional API key, Host, Environment, and Model; Local runs force the Warp harness and collapse the flow to Location and Model. Enter, Tab, arrows, Escape, Ctrl+C, numeric shortcuts, search, and mouse input all follow the TUI-specific interaction model while selections/defaults/validation come from the shared orchestration state and option snapshots.The card re-resolves approved plan configuration and live harness/model/secret/worker catalogs, validates before launch, preserves the per-call computer-use setting, and falls back to the existing non-interactive tool-call presentation for streaming, spawning, restored, and terminal states.
This PR is intentionally mostly leaf-node TUI UI plus focus/layout event threading. It does not add a new orchestration executor or duplicate the orchestration domain model; it consumes the shared behavior and reusable editor/selector primitives established downstack.
Linked Issue
CODE-1822 — Orchestration
Visual verification
The end-to-end behavior and visual treatment are best reviewed in the walkthrough:
Watch the TUI orchestration card walkthrough on Loom
Because this change is mostly UI composition and event threading, please use the video as the primary verification artifact, then use the code paths below to review the state transitions behind it.
Review guide
Start here
crates/warp_tui/src/orchestration_block/render.rs— acceptance/configuration presentation, metadata, identities, validation copy, and terminal-state fallback.crates/warp_tui/src/orchestration_block.rs— card modes, keybindings, dynamic page navigation, catalog subscriptions, focus ownership, accept/reject lifecycle, and request re-syncing.crates/warp_tui/src/orchestration_block/configuration.rs— the small adapter from each page to shared option snapshots, edit-state transitions, validation, and dispatch.crates/warp_tui/src/orchestration_block_tests.rs— focused coverage for page sequencing, plan inheritance, request reconstruction, navigation/focus, and exactly-once dispatch.Integration threading
crates/warp_tui/src/agent_block.rs— materializes a card for streamedRunAgentsactions, routes Reject, and derives the front-of-queue blocking child.crates/warp_tui/src/terminal_session_view.rsandcrates/warp_tui/src/transcript_view.rs— thread blocker changes upward, transfer focus, and derive input/footer visibility without storing a suppression flag or modifying input state.crates/warp_tui/src/orchestrated_agent_identity_styling.rsandcrates/warp_tui/src/tui_builder.rs— deterministic agent identities and theme-derived orchestration styles.Skim / supporting plumbing
app/src/tui_export.rs,app/src/ai/blocklist/{mod.rs,action_model.rs}, andapp/src/settings/init.rsexpose existing shared models/executors or test seams to the TUI; they do not introduce new orchestration behavior.crates/warp_tui/src/{lib.rs,keybindings.rs,test_fixtures.rs}wires modules, bindings, and test construction.specs/CODE-1822/TECH.mdrecords the detailed implementation mapping and is useful as reference, but the runtime behavior is concentrated in the files above.Testing
./script/run-tuiScreenshots / Videos
https://www.loom.com/share/552c213960c54c5c84fad85a726dd08e
Agent Mode
CHANGELOG-NONE
Co-Authored-By: Oz oz-agent@warp.dev