Skip to content

feat: convert soft_limit to limit (cherry-pick/v2.28)#22208

Merged
f0ssel merged 3 commits intorelease/2.28from
jakehwll/2.28-patch-remove-workspace-build-limit
Feb 23, 2026
Merged

feat: convert soft_limit to limit (cherry-pick/v2.28)#22208
f0ssel merged 3 commits intorelease/2.28from
jakehwll/2.28-patch-remove-workspace-build-limit

Conversation

@jakehwll
Copy link
Contributor

@jakehwll jakehwll commented Feb 20, 2026

@jakehwll jakehwll changed the title Jakehwll/2.28 patch remove workspace build limit feat: convert soft_limit to limit (cherry-pick/v2.28) Feb 20, 2026
@jakehwll jakehwll added the cherry-pick/v2.28 Needs to be cherry-picked to the 2.28 release branch label Feb 20, 2026
@jakehwll jakehwll marked this pull request as ready for review February 20, 2026 05:45
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 77082adca5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

): Pick<React.ComponentProps<typeof Link>, "href" | "children" | "target"> => {
if (message === LicenseManagedAgentLimitExceededWarningText) {
return {
href: docs("/ai-coder/ai-governance"),

Choose a reason for hiding this comment

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

P2 Badge Point managed-agent warning CTA to a valid docs page

The new managed-agent warning link uses docs("/ai-coder/ai-governance"), but this route does not exist in the current docs tree (the AI Coder section in docs/manifest.json has no ai-governance entry). In production this sends users to a dead docs URL from the dashboard banner, so they can’t follow the intended remediation flow when this warning appears.

Useful? React with 👍 / 👎.

Copy link
Member

@deansheather deansheather left a comment

Choose a reason for hiding this comment

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

LGTM

In relation to
[`internal#1281`](coder/internal#1281)

Managed agent workspace build limits are now advisory only. Breaching
the limit no longer blocks workspace creation — it only surfaces a
warning.

- Removed hard-limit enforcement in `checkAIBuildUsage` so AI task
builds are always permitted regardless of managed agent count.
- Updated the license warning to remove "Further managed agent builds
will be blocked." verbiage.
- Updated tests to assert builds succeed beyond the limit instead of
failing.
- Removed the "Limit" display from the `ManagedAgentsConsumption`
progress bar — the bar is now relative to the included allowance (soft
limit) only, and turns orange when usage exceeds it.

Bonus:

- De-MUI'd `LicenseBannerView` — replaced Emotion CSS and MUI `Link`
with Tailwind classes.
- Added `highlight-orange` color token to the Tailwind theme.

(cherry picked from commit 2038997)
In relation to
[`internal#1281`](coder/internal#1281)

Remove the `soft_limit` field from the `Feature` type and simplify
license limit handling. This change:

- Removes the `soft_limit` field from the API and SDK
- Uses the soft limit value as the single `limit` value in the UI and
API
- Simplifies warning logic to only show warnings when the limit is
exceeded
- Updates tests to reflect the new behavior
- Updates the UI to use the single limit value for display

(cherry picked from commit 051ed34)
#21998 accidentally allowed `Managed Agents` usages whilst being on an
`Enterprise` license. This was incorrect, it should work as the
following (same as prior to #21998).

| Scenario | Before your PRs | After your PRs (bug) | After this fix |
|---|---|---|---|
| Unlicensed (AGPL) | Permitted | Permitted | Permitted |
| Licensed, no entitlement | **Blocked** | Permitted | **Blocked** |
| Licensed, explicitly disabled (limit=0) | **Blocked** | Permitted |
**Blocked** |
| Licensed, entitled, under limit | Permitted | Permitted | Permitted |
| Licensed, entitled, over limit | Blocked | Permitted (advisory) |
Permitted (advisory) |
| Any license, stop/delete | Permitted | Permitted | Permitted |
| Any license, non-AI build | Permitted | Permitted | Permitted |
@jdomeracki-coder jdomeracki-coder force-pushed the jakehwll/2.28-patch-remove-workspace-build-limit branch from 146b25b to 623a5e4 Compare February 23, 2026 19:14
@f0ssel f0ssel enabled auto-merge (squash) February 23, 2026 22:44
@f0ssel f0ssel disabled auto-merge February 23, 2026 22:56
@f0ssel f0ssel merged commit 62b5c49 into release/2.28 Feb 23, 2026
27 of 29 checks passed
@f0ssel f0ssel deleted the jakehwll/2.28-patch-remove-workspace-build-limit branch February 23, 2026 22:56
@github-actions github-actions bot locked and limited conversation to collaborators Feb 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cherry-pick/v2.28 Needs to be cherry-picked to the 2.28 release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants