Skip to content

spec: tab configs specify agent profile (#10171)#10229

Open
lonexreb wants to merge 1 commit intowarpdotdev:masterfrom
lonexreb:spec/10171-tab-config-agent-profile
Open

spec: tab configs specify agent profile (#10171)#10229
lonexreb wants to merge 1 commit intowarpdotdev:masterfrom
lonexreb:spec/10171-tab-config-agent-profile

Conversation

@lonexreb
Copy link
Copy Markdown
Contributor

@lonexreb lonexreb commented May 6, 2026

Spec for #10171. New profile field on agent-typed panes in tab configs. When the tab opens, the named profile is applied before any agent input is dispatched. Missing profile = default + one-time toast.

Closes (spec-only) #10171.

@cla-bot cla-bot Bot added the cla-signed label May 6, 2026
@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 6, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 6, 2026

@lonexreb

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

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

@dhruvac29
Copy link
Copy Markdown

Thanks for writing this up. A few details seem worth aligning with the issue thread before this spec lands:

  1. The issue thread now has maintainer guidance that tab configs should reference profiles by display name, and if multiple profiles share the same display name Warp should error instead of choosing one. Could we add that to the behavior contract, acceptance criteria, and test plan?

  2. B3 says omitting profile preserves today’s behavior, but the parenthetical says “default profile.” The original issue says today’s behavior is whichever profile was last used. It would be good to clarify whether omitted profile truly preserves the current last-used behavior or intentionally switches to default.

  3. Since this is spec-only, I’d avoid a closing keyword for Feature request: Allow tab configs to specify an agent profile for agent-mode panes #10171 unless maintainers want the implementation issue closed by the spec PR. Refs #10171 may be safer than Closes ... #10171.

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 spec adds a profile field for agent-typed tab-config panes and covers core parsing, defaulting, UI picker, round-trip, and missing-profile behavior.

Concerns

  • The spec needs to define the trust/consent model before a tab config can switch an Agent Mode pane to a named profile and dispatch input under that profile.
  • The missing-profile "one-time toast" behavior is underspecified.
  • The test plan should explicitly cover the ordering guarantee that profile application completes before any initial agent input is dispatched.

Security

  • A shared or imported tab config can select a high-autonomy profile by display name before agent input runs; the spec should state the user-visible disclosure or confirmation behavior for this privilege-affecting binding.

Verdict

Found: 0 critical, 2 important, 1 suggestions

Request changes

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

Powered by Oz

Comment thread specs/GH10171/SPEC.md
type = "agent"
profile = "Coder devbox"
```
- B2. When the tab config opens, the named profile is applied to
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.

⚠️ [IMPORTANT] [SECURITY] Applying a profile from a tab config before dispatching agent input lets a shared or imported config select a higher-autonomy profile and immediately run under it. Specify the trust/consent behavior, such as user-visible disclosure or confirmation before input runs.

Comment thread specs/GH10171/SPEC.md
- B2. When the tab config opens, the named profile is applied to
the pane before any agent input is dispatched. The profile
lookup is by display name; if no matching profile exists, the
pane opens with the default profile and a one-time toast warns
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.

⚠️ [IMPORTANT] Define the scope of "one-time toast": per pane open, per tab config, per missing profile name, or per app session, including behavior when multiple panes reference missing profiles.

Comment thread specs/GH10171/SPEC.md
## Test plan

- T1. Schema round-trip with the new field.
- T2. Open path applies the named profile when present.
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] Add a test where the agent pane has initial input and assert the selected profile is applied before that input is dispatched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants