Skip to content

[QUALITY-733] Clean up orchestration rollout flags#11908

Merged
cephalonaut merged 10 commits into
masterfrom
matthew/cleanup-orch-flags-client-impl
Jun 4, 2026
Merged

[QUALITY-733] Clean up orchestration rollout flags#11908
cephalonaut merged 10 commits into
masterfrom
matthew/cleanup-orch-flags-client-impl

Conversation

@cephalonaut
Copy link
Copy Markdown
Contributor

Description

What:

  • Removes the retired client rollout flags for orchestration v2 and run-agents tool exposure, including their Cargo feature gates.
  • Makes orchestration-enabled requests advertise v2 support plus run_agents and send_message_to_agent without advertising legacy start_agent or start_agent_v2 for new runtime negotiation.
  • Keeps historical parsing/rendering compatibility for old start-agent messages and keeps the v2 orchestration event queue/drain/requeue paths intact.

Why:

  • The server-side orchestration cleanup expects current clients to negotiate v2 orchestration capabilities directly from request settings and explicit supported-tool declarations, not retired rollout flags.

Testing

  • cargo fmt --all
  • Exact grep checks for removed flags/features: FeatureFlag::OrchestrationV2, FeatureFlag::RunAgentsTool, feature = "orchestration_v2", feature = "run_agents_tool", orchestration_v2 =, run_agents_tool =
  • cargo test -p warp supports_orchestration_v2_matches_request_orchestration_setting
  • cargo test -p warp supported_tools_
  • cargo test -p warp send_message
  • cargo test -p warp start_agent
  • cargo test -p warp orchestration_event
  • cargo test -p warp orchestration_is_enabled_when_ai_is_enabled
  • cargo clippy --workspace --all-targets --all-features --tests -- -D warnings using a temporary /tmp yarn shim that delegates to corepack yarn so command-signatures-v2 can use the repo-declared Yarn 4.0.1.

Skipped:

  • Full ./script/presubmit was not run because it is broader than practical for this scoped client implementation pass; formatting, full workspace clippy, and focused tests above were run instead.
  • Manual ./script/run testing was not run because this is an internal capability-negotiation cleanup with focused automated coverage.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Co-Authored-By: Oz oz-agent@warp.dev

Conversation: https://staging.warp.dev/conversation/0fe9bb6d-4d70-4121-88e3-24a3a1774184
Run: https://oz.staging.warp.dev/runs/019e7576-05d0-70b9-b994-4292c73709e9
This PR was generated with Oz.

@cla-bot cla-bot Bot added the cla-signed label May 29, 2026
@cephalonaut cephalonaut marked this pull request as ready for review June 1, 2026 14:04
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented Jun 1, 2026

@cephalonaut

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR removes the retired orchestration v2 and run-agents rollout flags, makes orchestration capability negotiation depend on request settings/tool declarations, and keeps legacy start-agent parsing/rendering paths for historical compatibility.

Concerns

  • One updated spec code block now contains invalid pseudo-Rust while replacing the removed flag reference.
  • No security findings.

Verdict

Found: 0 critical, 0 important, 1 suggestions

Approve with nits

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

```rust
fn child_run_ids_from_task_messages(conversation: &AIConversation) -> Vec<String> {
if !FeatureFlag::OrchestrationV2.is_enabled() {
if !the removed orchestration-v2 rollout flag.is_enabled() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 [SUGGESTION] This Rust code block now contains invalid pseudo-Rust; rewrite it as prose or update the snippet to the current no-flag behavior instead of leaving an unparseable placeholder.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed this change

@cephalonaut cephalonaut requested a review from kjankov June 1, 2026 18:45
cephalonaut and others added 8 commits June 4, 2026 10:52
Remove the retired client-side orchestration rollout flags while keeping v2 runtime negotiation explicit. Current orchestration-enabled requests now advertise run_agents and send_message_to_agent without falling back to legacy start_agent tools.

Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Revert historical spec edits from the orchestration flag cleanup branch and refresh comments that still described OrchestrationV2 as a runtime gate.

Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Three follow-ups uncovered by CI after merging origin/master into the
cleanup branch:

1. Gate the FeatureFlag import in terminal_pane.rs behind
   #[cfg(not(target_family = "wasm"))] so wasm clippy doesn't flag it
   as unused; the only consumer (inherit_share_for_local_child) is
   already cfg'd out on wasm.
2. Register OrchestrationEventService and OrchestrationEventStreamer
   as singletons in terminal::input_tests::initialize_app. The
   BlocklistAIController constructor used to gate these subscriptions
   on FeatureFlag::OrchestrationV2; after removing the flag they are
   unconditional, so any terminal-bootstrap test now panics without
   them. test_util/terminal.rs already registers both for the broader
   terminal tests.
3. Update start_new_child_conversation_persists_harness_metadata to
   seed the parent run_id with a valid non-nil UUID instead of using
   set_server_conversation_token_for_conversation. orchestration_agent_id
   no longer falls back to the server conversation token in the
   non-v2 branch (that branch was removed alongside the rollout flag),
   so propagating parent_agent_id now requires a real run_id.

Co-Authored-By: Oz <oz-agent@warp.dev>
workspace::view::tests bootstrap a terminal through the workspace view,\nwhich constructs a BlocklistAIController. After the cleanup, that\ncontroller subscribes to OrchestrationEventService and\nOrchestrationEventStreamer unconditionally (the OrchestrationV2 flag\ngate is gone). Add both singletons to workspace/view_tests.rs's\ninitialize_app helper so the workspace::view::tests pass under the\nsame invariant as the test_util/terminal and input_tests helpers.\n\nCo-Authored-By: Oz <oz-agent@warp.dev>
@cephalonaut cephalonaut force-pushed the matthew/cleanup-orch-flags-client-impl branch from 50f12c5 to e418ba4 Compare June 4, 2026 14:55
cephalonaut and others added 2 commits June 4, 2026 12:03
Master added five new tests that guard themselves with\nFeatureFlag::OrchestrationV2.override_enabled(true). The cleanup\ncommit removes that flag (v2 is now baked in), so after the rebase\nthose overrides fail to compile (\"no variant or associated item named\nOrchestrationV2\") and one file is missing the FeatureFlag import. Drop\nthe overrides (they're always-true no-ops now) and remove the\nfunction-scope imports that only existed for them; the FeatureFlag\nimport in pane_group/mod_tests.rs stays because FeatureFlag::AgentView\nis still used.\n\nCo-Authored-By: Oz <oz-agent@warp.dev>
warp_cli::tests::run_help_hides_message_when_orchestration_v2_disabled
asserted that "warp run message" is hidden when OrchestrationV2 is
disabled. The cleanup commit removed the corresponding
"!FeatureFlag::OrchestrationV2.is_enabled()" hide branch in
Args::clap_command (v2 is baked in and can no longer be disabled), so
the test's premise is unreachable and the assertion is now wrong (the
message subcommand stays visible). The companion test
raw_command_keeps_message_visible_before_runtime_help_customization
still covers the visible-by-default expectation.

Co-Authored-By: Oz <oz-agent@warp.dev>
@cephalonaut cephalonaut merged commit 69bb477 into master Jun 4, 2026
25 checks passed
@cephalonaut cephalonaut deleted the matthew/cleanup-orch-flags-client-impl branch June 4, 2026 17:40
@cephalonaut cephalonaut changed the title Clean up orchestration rollout flags [QUALITY-733] Clean up orchestration rollout flags Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants