fix(web): lower AMR low-balance warning threshold - #5349
Conversation
|
🧪 This PR changes user-visible run gating behavior, so it needs a manual QA pass before merge. Please hold off self-merging for now; we'll loop QA in once it's merge-ready. |
mrcfps
left a comment
There was a problem hiding this comment.
@app/open-design-crew I reviewed the changed AMR balance-gate threshold and its focused unit test updates. The runtime now warns at or below $2.00 and allows $2.01+, while the existing hard-block and opt-out paths remain covered by the surrounding tests. I could not rerun the focused Vitest file in this worktree because dependencies are not installed (vitest is missing from node_modules), but the diff itself is consistent and scoped. Thanks for tightening this warning behavior and keeping the boundary coverage clear.
mrcfps
left a comment
There was a problem hiding this comment.
@app/open-design-crew I reviewed the current head across the AMR low-balance threshold, free-plan CTA routing, dialog close controls, model capability tag rewrite, i18n key updates, and focused tests. The $2.00 soft-warning boundary is covered, the $0 hard block remains intact, free accounts route to the plans view while paid accounts keep the top-up path, and I did not find a changed-range correctness issue. I could not rerun the focused Vitest suites in this worktree because vitest is not installed in node_modules, but git diff --check is clean and the static pass found no stale model capability key references. Thanks for tightening the warning behavior and keeping the user-facing paths covered.
|
No description provided. |
|
Successfully created backport PR for |
* fix(web): lower AMR low-balance warning threshold * fix(web): tailor low-balance CTA for free AMR users * fix(web): tighten AMR low-balance dialog * fix(web): add close buttons to AMR balance dialogs * fix(web): simplify model quality tags * fix(web): adjust model cost labels * chore: trigger PR CI --------- (cherry picked from commit 28d8158) Co-authored-by: open-design-crew[bot] <299007234+open-design-crew[bot]@users.noreply.github.com> Co-authored-by: bone3deep1962-collab <bone3deep1962@gmail.com>
* fix(web): lower AMR low-balance warning threshold * fix(web): tailor low-balance CTA for free AMR users * fix(web): tighten AMR low-balance dialog * fix(web): add close buttons to AMR balance dialogs * fix(web): simplify model quality tags * fix(web): adjust model cost labels * chore: trigger PR CI --------- Co-authored-by: bone3deep1962-collab <bone3deep1962@gmail.com>





































































Why
While tuning the Open Design Cloud pre-run balance warning, the previous soft-warning threshold was too broad: users with a few dollars remaining were interrupted even though they could often still start a task. This PR narrows that reminder so it only appears when the wallet is closer to empty.
The pain addressed is unnecessary friction before launching an Open Design Cloud task. Hard blocks still protect accounts that cannot fund a run, while the dismissible warning now targets the lower-balance range. For free users, the soft warning should also point at the next best action: upgrading the plan rather than presenting top-up as the only primary path.
What users will see
Open Design Cloud users will only see the low-balance soft reminder when their balance is at or below $2.00. A balance of $2.01 or higher starts without that warning. The $0 hard-block behavior is unchanged.
When a free user hits the low-balance soft reminder, the primary CTA now reads "Upgrade plan" and opens the plans view. Paid users still see the existing top-up CTA.
Surface area
apps/weborapps/desktop(including Electron menu bar)odsubcommand or flag, newtools-dev/tools-pack/tools-prflag, or newOD_*env var/api/*endpoint, new SSE event, or changed shape inpackages/contractsskills/,design-systems/,design-templates, orcraft/, or change to the skills protocolTRANSLATIONS.mdfor the locale workflow)package.json(dependenciesordevDependencies); workspace-packagepackage.jsonfiles are out of scope. Include a paragraph on what we get vs. what bytes we ship (seeCONTRIBUTING.md→ Code style)Screenshots
Not applicable. This changes when the existing low-balance dialog appears and which primary CTA free users see; it does not add a new UI surface.
Bug fix verification
Validation
PATH="/Users/mason/.nvm/versions/node/v24.15.0/bin:$PATH" corepack pnpm exec vitest run -c vitest.config.ts tests/components/AmrLowBalanceDialog.test.tsx tests/runtime/amr-balance-gate.test.ts— passed, 15 testsPATH="/Users/mason/.nvm/versions/node/v24.15.0/bin:$PATH" corepack pnpm exec vitest run -c vitest.config.ts tests/components/ProjectView.run-isolation.test.tsx— passed, 41 testsPATH="/Users/mason/.nvm/versions/node/v24.15.0/bin:$PATH" corepack pnpm --filter @open-design/web typecheck— passedgit diff --check— passedPATH="/Users/mason/.nvm/versions/node/v24.15.0/bin:$PATH" corepack pnpm guard— failed on pre-existing unrelated guard violations:apps/landing-page/public/enhancers/cobe.js,apps/landing-page/public/enhancers/matter.min.js,tools/pr/, andtools/report/