Skip to content

fix(frontend): say "workflows" in the billing and usage-limit copy merged after the rename - #15590

Merged
ntindle merged 1 commit into
devfrom
claude/secrt-2968-billing-copy-says-workflows
Oct 16, 2026
Merged

ntindle merged 1 commit into
devfrom
claude/secrt-2968-billing-copy-says-workflows

Conversation

@ntindle

@ntindle ntindle commented Oct 16, 2026

Copy link
Copy Markdown
Member

Fixes SECRT-2968. Follow-up to #15251 (SECRT-2853).

Why / What / How

Why: #15251 renamed user-facing "agent" and "graph" copy to "workflow", and #15502 wrote the rule into root AGENTS.md. The usage-limits and payment-due work that merged a day later (#15215 and its stack) brought "agents" back in 18 strings people see: the paywall, the billing page's plan offer, and the out-of-budget and payment-due messages.

What: each of those strings says "workflows" instead, and the tests that assert them follow.

How:

  • Found by scanning every string added to dev since fix(platform): say "workflow" instead of "agent" or "graph" in user-facing copy (SECRT-2853) #15251's merge commit (ce4f592926): string literals, plus JSX text on its own line, for agent/graph in any form. The backend added none.
  • Reworded by meaning, per the rule: four phrases ("chats, agents and results/files", "conversations and agents", "Agents that keep working in the background on a schedule"). A repo-wide search for each fragment found no code or SQL comparing them, only these strings and their tests.
  • Left alone, as the rule says: TourHero ("Build AI agents by just chatting") and the plans.ts pricing bullets, which await a product decision. The plan bullet changed here copies that wording on the paywall and billing page; the rule says new text beside those exceptions follows it, so the copies say "Workflows" while plans.ts stays as it is.
  • Out of scope: the same rule says the AI is "Otto", not "AutoPilot". The usage-limit copy says "AutoPilot budget" and "AutoPilot allowance" throughout; that's a product call, not a rename, so it's untouched here.

Changes 🏗️

  • services/usageExperience/presentation.ts (6), services/usageExperience/payment.ts, PaywallGate/PaywallModal.tsx, settings/billing/.../SubscriptionTab.tsx: "Your chats, workflows and results are saved."
  • PaywallGate/components/PaywallHeader.tsx: "Your chats, workflows and files are saved."
  • settings/billing/.../BillingOffer.tsx, organisms/UsageExperience/PlanOffer.tsx: "Your chats, workflows and files stay where they are", "Workflows that keep working in the background on a schedule"
  • PaywallGate/components/PaywallPlanChoices.tsx: "Your conversations and workflows stay saved. Cancel anytime." and the background bullet
  • BillingOffer.tsx, AutopilotUsageCard.tsx: "…your conversations and workflows."
  • Tests asserting the old copy: presentation.test.ts, payment-recovery.test.tsx, PaywallModal.payment.test.tsx, RateLimitResetDialog.test.tsx

Agents and large language models used

  • Claude Code with Claude Opus 5.5

Checklist 📋

For code changes:

  • I have clearly listed my changes in the PR description
  • I have made a test plan
  • I have tested my changes according to the test plan:

For configuration changes:

  • .env.default is updated or already compatible with my changes
  • docker-compose.yml is updated or already compatible with my changes
  • I have included a list of my configuration changes in the PR description (under Changes)

🤖 Generated with Claude Code

…rged after the rename

#15251 (SECRT-2853) renamed user-facing "agent" copy to "workflow"; the
usage-limits and payment-due work merged a day later brought "agents" back
in 18 strings on the paywall, the billing page's plan offer, and the
out-of-budget and payment-due messages. Each says "workflows" now, reworded
by meaning, and the tests that assert them follow. TourHero and the plans.ts
pricing bullets stay, as the rule says; they await a product decision.

Fixes SECRT-2968.

Co-authored-by: Claude Opus 5.5 (Claude Code) <noreply@anthropic.com>
@ntindle
ntindle requested a review from a team as a code owner October 16, 2026 09:15
@ntindle
ntindle requested review from Abhi1992002 and kcze and removed request for a team October 16, 2026 09:15
@github-project-automation github-project-automation Bot moved this to 🆕 Needs initial review in AutoGPT development kanban Oct 16, 2026
@github-actions github-actions Bot added platform/frontend AutoGPT Platform - Front end cla: pending CLA not yet signed by all contributors labels Oct 16, 2026
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0e29d41d-40c0-447e-a940-63a2f31cb58d
📥 Commits

Reviewing files that changed from the base of the PR and between 9849b32 and 34827b3.

📒 Files selected for processing: 13
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx
  • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx
  • autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx
  • autogpt_platform/frontend/src/services/usageExperience/__tests__/presentation.test.ts
  • autogpt_platform/frontend/src/services/usageExperience/payment.ts
  • autogpt_platform/frontend/src/services/usageExperience/presentation.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout: 15
  • GitHub Check: Seer Code Review
  • GitHub Check: conflicts
  • GitHub Check: Analyze (typescript)
  • GitHub Check: end-to-end tests (journeys)
  • GitHub Check: Analyze (python)
  • GitHub Check: check API types
  • GitHub Check: knip
  • GitHub Check: integration_test (shard 3/4)
  • GitHub Check: integration_test (shard 2/4)
  • GitHub Check: integration_test (shard 4/4)
  • GitHub Check: end-to-end tests (smoke)
  • GitHub Check: integration_test (shard 1/4)
  • GitHub Check: Check PR Status
  • GitHub Check: lint
  • GitHub Check: check-overlaps
🧰 Additional context used
📚 Code guidelines: 2
autogpt_platform/frontend/AGENTS.md — unknown
AGENTS.md — unknown
📓 Path-based instructions: 4
Source excerpt: After making **any** code changes in the frontend, you MUST run the following commands **in order** before reporting work as done, creating commits, or opening PRs: Source excerpt: After making **any** code changes in the fr...

📄 CodeRabbit inference engine (autogpt_platform/frontend/AGENTS.md)

Files:

  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx
  • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx
  • autogpt_platform/frontend/src/services/usageExperience/payment.ts
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx
  • autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx
  • autogpt_platform/frontend/src/services/usageExperience/presentation.ts
  • autogpt_platform/frontend/src/services/usageExperience/__tests__/presentation.test.ts
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx
Source excerpt: See `/frontend/CONTRIBUTING.md` for complete patterns.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx
  • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx
Source excerpt: Format frontend code using `pnpm format`.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx
  • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx
  • autogpt_platform/frontend/src/services/usageExperience/payment.ts
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx
  • autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx
  • autogpt_platform/frontend/src/services/usageExperience/presentation.ts
  • autogpt_platform/frontend/src/services/usageExperience/__tests__/presentation.test.ts
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx
Source excerpt: Format Python code with `poetry run format`.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx
  • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx
  • autogpt_platform/frontend/src/services/usageExperience/payment.ts
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx
  • autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx
  • autogpt_platform/frontend/src/services/usageExperience/presentation.ts
  • autogpt_platform/frontend/src/services/usageExperience/__tests__/presentation.test.ts
  • autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx
  • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx
🔇 Additional comments: 13
autogpt_platform/frontend/src/services/usageExperience/payment.ts: 1

17-17: LGTM!

autogpt_platform/frontend/src/services/usageExperience/presentation.ts: 1

33-33: LGTM!

Also applies to: 35-36, 63-63, 65-67

autogpt_platform/frontend/src/services/usageExperience/__tests__/presentation.test.ts: 1

89-89: LGTM!

Also applies to: 112-112, 122-122

autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx: 1

47-48: LGTM!

autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/BillingOffer.tsx: 1

42-42: LGTM!

Also applies to: 82-82, 93-93

autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/AutopilotUsageCard/AutopilotUsageCard.tsx: 1

55-55: LGTM!

autogpt_platform/frontend/src/app/(platform)/settings/billing/components/SubscriptionTab/SubscriptionTab.tsx: 1

38-38: LGTM!

autogpt_platform/frontend/src/app/(platform)/settings/billing/__tests__/payment-recovery.test.tsx: 1

56-56: LGTM!

Also applies to: 78-78

autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitResetDialog.test.tsx: 1

254-254: LGTM!

autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx: 1

71-71: LGTM!

autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallHeader.tsx: 1

16-16: LGTM!

autogpt_platform/frontend/src/app/(platform)/PaywallGate/components/PaywallPlanChoices.tsx: 1

92-92: LGTM!

Also applies to: 118-118

autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.payment.test.tsx: 1

131-131: LGTM!

Walkthrough

Billing, payment-recovery, and plan messages now refer to saved workflows instead of saved agents. Related test expectations use the updated wording.

Changes

Saved-work copy

Layer / File(s) Summary
Update saved-work and plan messages
autogpt_platform/frontend/src/services/usageExperience/*, autogpt_platform/frontend/src/services/usageExperience/__tests__/*, autogpt_platform/frontend/src/app/(platform)/PaywallGate/*, autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/*, autogpt_platform/frontend/src/app/(platform)/settings/billing/*, autogpt_platform/frontend/src/components/organisms/UsageExperience/PlanOffer.tsx
Usage, payment, billing, and plan copy replaces “agents” with “workflows.” Related test expectations use the new wording.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: torantulino

Merge Risk: ⚪ Minimal · up to 34827

Billing, payment-recovery, usage-limit, and paywall messages now use “workflows” for saved work. No in-scope terminology issue remains, so the change is ready to merge subject to normal checks.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 13 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description check Passed The description clearly explains the workflow terminology updates, affected areas, test changes, scope, and validation performed.
Title check Passed The title clearly and concisely summarizes the main change: replacing billing and usage-limit “agents” copy with “workflows” after the rename.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

🔍 PR Overlap Detection

This check compares your PR against all other open PRs targeting the same branch to detect potential merge conflicts early.

🔴 Merge Conflicts Detected

The following PRs have been tested and will have merge conflicts if merged after this PR. Consider coordinating with the authors.

Summary: 1 conflict(s), 0 medium risk, 0 low risk (out of 1 PRs with file overlap)


Auto-generated on push. Ignores: openapi.json, lock files.

@github-actions github-actions Bot added cla: signed CLA signed by all contributors and removed cla: pending CLA not yet signed by all contributors labels Oct 16, 2026

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Capy found no issues.

Open in Capy

@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.86%. Comparing base (9849b32) to head (34827b3).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev   #15590      +/-   ##
==========================================
- Coverage   86.87%   86.86%   -0.01%     
==========================================
  Files        4947     4947              
  Lines      378328   378324       -4     
  Branches    33657    33657              
==========================================
- Hits       328656   328640      -16     
- Misses      44196    44206      +10     
- Partials     5476     5478       +2     
Flag Coverage Δ
platform-frontend 71.59% <ø> (-0.01%) ⬇️
platform-frontend-e2e 29.41% <ø> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
Platform Backend 90.25% <ø> (ø)
Platform Frontend 72.90% <ø> (-0.03%) ⬇️
AutoGPT Libs ∅ <ø> (∅)
Classic AutoGPT 28.43% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ntindle

ntindle commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

/review

@autogpt-pr-reviewer

autogpt-pr-reviewer Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

🤖 Review of 34827b3 posted: #15590 (review)

@autogpt-pr-reviewer autogpt-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Verdict: Approved — No findings require changes before approval; this review counts as an approval.

Clean copy-only rename of 18 billing/paywall/usage-limit strings from 'agents' to 'workflows' with matching test updates. No identifiers, routes, or matchers affected; deferred exceptions correctly left untouched; no security, performance, or architectural impact.

Risk level: low | Human review: not required | Duration: 199s | Reviewed: 34827b3c

GitHub CI on reviewed head: success

Validation and specialist details

Specialist Reports

Specialist Status Summary
security ✅ PASS Pure user-facing copy change (agents→workflows) in billing/paywall/usage strings with tests updated; no security impact, no matchers or auth paths affected.
architect ✅ PASS Clean copy-only rename of 18 user-facing 'agent'→'workflow' strings in billing/paywall/usage-experience, with tests updated in lockstep, matchers intact, and all rule exceptions respected.
performance ✅ PASS Copy-only rename of 'agent(s)' to 'workflow(s)' in billing/usage strings and tests, with zero performance impact.
testing ✅ PASS Copy-only rename of billing/usage 'agents' strings to 'workflows'; test updates are consistent, assertions are exact, and no stale old-copy assertions remain anywhere in source or tests.
quality ✅ PASS Clean copy-only rename of user-facing "agents" to "workflows" across billing/usage-limit surfaces, with matching test updates and all identifiers and awaiting-decision exceptions correctly preserved.
product ✅ PASS Clean copy-only rename of 18 billing/usage/paywall strings from "agents" to "workflows" with matching test updates, fully compliant with the AGENTS.md copy rule and its deferred exceptions.
discussion ✅ PASS No failing required checks on the current head (4 of 35 still pending) and no open human-reviewer threads to report.
ui-reviewer (local) ✅ PASS Clean copy-only rename of 18 billing/usage-limit strings from 'agents' to 'workflows' with matching test updates, no broken matchers, and documented exceptions (plans.ts, TourHero, AutoPilot) correctly left untouched.
ui-reviewer (hosted) ✅ PASS Clean copy-only follow-up that reworks 18 billing/usage-limit 'agent' strings to 'workflow' per the AGENTS.md rule, with matching test updates and exceptions correctly preserved; no defects found.

@github-project-automation github-project-automation Bot moved this from 🆕 Needs initial review to 👍🏼 Mergeable in AutoGPT development kanban Oct 16, 2026
@ntindle
ntindle added this pull request to the merge queue Oct 16, 2026
Merged via the queue into dev with commit b512f81 Oct 16, 2026
40 checks passed
@ntindle
ntindle deleted the claude/secrt-2968-billing-copy-says-workflows branch October 16, 2026 10:00
@github-project-automation github-project-automation Bot moved this from 👍🏼 Mergeable to ✅ Done in AutoGPT development kanban Oct 16, 2026
@github-project-automation github-project-automation Bot moved this to Done in Frontend Oct 16, 2026
ntindle added a commit that referenced this pull request Oct 16, 2026
Dev brings #15403 (send at reset, the out-of-budget panel for Max and a
running-low hint), #15589 (a deleted skill stays deleted), #15545 (mobile
chat input polish), #15590 (billing copy), #15594 (HubSpot in the MCP
catalog) and the revert #15572 (PostHog flags read from each deployment's
own project again).

No conflicts. #15589 rewrites skill deletion and storage in tools/skills.py;
the index builders the first message uses (skills_context_block and its
helpers) are untouched.

Co-authored-by: Claude Opus 5.5 (Claude Code) <noreply@anthropic.com>
ntindle added a commit that referenced this pull request Oct 16, 2026
The mainline's dev merge (b3e3576): #15403, #15589, #15545, #15590,
#15594 and the revert #15572.

skills_test.py conflicts on its imports: dev adds behavior_fingerprint
beside the baseline engine's _prepend_skills_notice_to_current_message,
which this branch deleted with the engine. The fingerprint import stays;
nothing else in the file used the baseline helper.

Co-authored-by: Claude Opus 5.5 (Claude Code) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: signed CLA signed by all contributors platform/frontend AutoGPT Platform - Front end size/m

Projects

Status: ✅ Done
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant