Skip to content

fix(amr): improve unavailable model gating - #5335

Merged
AmyShang-alt merged 21 commits into
mainfrom
fix/amr-model-list-all
Jul 9, 2026
Merged

fix(amr): improve unavailable model gating#5335
AmyShang-alt merged 21 commits into
mainfrom
fix/amr-model-list-all

Conversation

@mrcfps

@mrcfps mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Why

I was updating the AMR/Open Design Cloud model gating flow and hit two UX problems in the model pickers: unavailable models were hard to distinguish from available ones, and the upgrade path was disconnected from the disabled options themselves. This PR tightens that flow so users can immediately see which models require an upgrade and jump straight to the AMR upgrade page from the option row.

What users will see

Unavailable AMR models now stay visibly disabled in the model picker, sort after available models, show a lock beside the model name, and expose an upgrade hint on hover. Clicking the lock opens the AMR upgrade destination from the inline switcher, settings dialog, and avatar menu.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack / tools-pr flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Screenshots

Not attached.

Bug fix verification

  • Focused verification instead of a new red spec: pnpm exec vitest run tests/integrations/vela-errors.test.ts in apps/daemon passed for the entitlement classification change. For the picker affordance, apps/web/tests/components/modelOptions.test.tsx was updated and the designer lane reported it passing together with pnpm --filter @open-design/web typecheck and pnpm guard.

Validation

  • pnpm exec vitest run tests/integrations/vela-errors.test.ts (in apps/daemon)
  • pnpm --filter @open-design/web typecheck
  • pnpm guard
  • apps/web/tests/components/modelOptions.test.tsx

@mrcfps
mrcfps requested a review from nettee July 9, 2026 06:46
@lefarcen lefarcen added size/L PR changes 300-700 lines risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps type/bugfix Bug fix needs-validation Runtime change detected; needs human or /explore agent validation. labels Jul 9, 2026

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 82dd1ff43f

ℹ️ 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".

Comment thread apps/web/src/components/agentModelSelection.ts Outdated
@lefarcen

lefarcen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in once it's merge-ready (and design/product have signed off, where applicable).

@nettee nettee left a comment

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.

Two blocking regressions remain in the AMR gating path: stale saved model ids can still be sent even after the picker shows a fallback, and the new tier-upgrade failure code is not wired into the run-failure UX so users still land on a generic retry path instead of an upgrade affordance.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread apps/web/src/components/agentModelSelection.ts Outdated
Comment thread apps/daemon/src/integrations/vela-errors.ts
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Visual regression review

Head: 70575b7 · Base: 461e24d

1 changed · 52 unchanged · 0 new without baseline · 0 failed

Changed cases

Case Main PR Diff
visual-integrations-use-everywhere
1,060 px (0.08%)
main pr diff
Unchanged cases
Case Main PR Diff
visual-avatar-local-agent-list
0 px (0.00%)
main pr diff
visual-avatar-local-agent-list-panel
0 px (0.00%)
main pr diff
visual-avatar-menu
0 px (0.00%)
main pr diff
visual-avatar-menu-panel
0 px (0.00%)
main pr diff
visual-avatar-open-design-account
0 px (0.00%)
main pr diff
visual-critical-settings
0 px (0.00%)
main pr diff
visual-critical-workspace
0 px (0.00%)
main pr diff
visual-critical-workspace-preview
0 px (0.00%)
main pr diff
visual-design-system-detail
0 px (0.00%)
main pr diff
visual-design-systems
0 px (0.00%)
main pr diff
visual-home
0 px (0.00%)
main pr diff
visual-home-catalog
0 px (0.00%)
main pr diff
visual-home-context-picker
0 px (0.00%)
main pr diff
visual-home-context-picker-popover
0 px (0.00%)
main pr diff
visual-home-plugin-filter
0 px (0.00%)
main pr diff
visual-home-plugin-use-staged
0 px (0.00%)
main pr diff
visual-home-plugin-use-with-query
0 px (0.00%)
main pr diff
visual-home-staged-attachment
0 px (0.00%)
main pr diff
visual-integrations
0 px (0.00%)
main pr diff
visual-integrations-mcp
0 px (0.00%)
main pr diff

Visual diff is advisory only and does not block merging.

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

@nettee nettee left a comment

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.

One blocking regression is still visible on the current head: the new AMR tier-upgrade failure code is emitted by the daemon, but the chat failure UI still falls back to a generic retry path instead of surfacing the upgrade affordance this PR adds elsewhere.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread apps/daemon/src/integrations/vela-errors.ts
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)
@mrcfps

mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round completeb69afb3

  • ✅ Review comment on apps/web/src/components/agentModelSelection.ts (@chatgpt-codex-connector) — thread
    • The current branch now normalizes removed AMR saved model ids to defaultAgentModelId in apps/web/src/components/agentModelSelection.ts, and apps/web/tests/components/agentModelSelection.test.ts covers the stale saved-model path used by send flows.
  • ✅ Review comment on apps/web/src/components/agentModelSelection.ts (@nettee) — thread
    • The branch treats a missing AMR catalog match like an unavailable model and falls back through defaultAgentModelId; apps/web/tests/components/agentModelSelection.test.ts verifies a removed saved AMR model is normalized before submission.
  • ✅ Review comment on apps/daemon/src/integrations/vela-errors.ts:88 (@nettee) — thread
    • Added AMR_TIER_UPGRADE_REQUIRED handling in apps/web/src/runtime/amr-guidance.ts and ChatPane so failures open the profile-scoped plans URL, with focused resolver, ChatPane, and attribution tests.
  • • Review comment on apps/daemon/src/integrations/vela-errors.ts:88 (@nettee) — thread
    • Agent did not provide a decision for this thread
  • 🧪 Failing check Web workspace tests
  • 🧪 Failing check E2E Vitest
  • 🧪 Failing check UI P0 smoke
  • 🧪 Failing check UI P0 (entry-settings)
  • 🧪 Failing check UI P0 (project-workspace)
  • 🧪 Failing check UI P0 (workspace-restoration)
  • 🧪 Failing check Playwright visual (entry-navigation)
  • 🧪 Failing check Playwright visual (settings-workspace)

🔁 Powered by Looper · runner=fixer · agent=codex · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b69afb359f

ℹ️ 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".

Comment thread apps/daemon/src/runtimes/defs/amr.ts
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)
@mrcfps

mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round completef5b72c6

  • ✅ Review comment on apps/daemon/src/integrations/vela-errors.ts:88 (@nettee) — thread
    • The branch now resolves AMR_TIER_UPGRADE_REQUIRED to an upgrade action in apps/web/src/runtime/amr-guidance.ts, renders the ChatPane upgrade CTA, and includes the focused amr-guidance regression test; this round also fixed the daemon attribution map for that CTA.
  • • Review comment on apps/daemon/src/runtimes/defs/amr.ts:501 (@chatgpt-codex-connector) — thread
    • Agent did not provide a decision for this thread

🔁 Powered by Looper · runner=fixer · agent=codex · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@nettee nettee left a comment

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.

One blocking regression remains in the AMR default-model path; details inline.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread apps/daemon/src/runtimes/defs/amr.ts
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

@nettee nettee left a comment

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.

One blocking regression remains in the AMR default-selection path; details inline.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread apps/web/src/components/agentModelSelection.ts Outdated
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 85f3cc41cc

ℹ️ 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".

Comment thread apps/daemon/src/runtimes/models.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9acebe95c0

ℹ️ 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".

Comment thread apps/daemon/src/runtimes/defs/amr.ts

@nettee nettee left a comment

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.

One blocking regression remains in the AMR unavailable-model path, and a second blocking regression remains in the remembered-catalog fallback; details inline.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Comment thread apps/web/src/components/agentModelSelection.ts Outdated
Comment thread apps/daemon/src/runtimes/models.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b37e7ac905

ℹ️ 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".

Comment thread apps/daemon/src/server.ts Outdated
Comment thread apps/daemon/src/connectionTest.ts Outdated

@nettee nettee left a comment

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.

@mrcfps I re-ran the current head through the remaining AMR gating and default-model paths and the fixes now line up across the daemon and web surfaces. I verified the AMR-focused daemon coverage around model resolution, vela error classification, session resume, status/model cache behavior, and targeted connection-test cases, plus the focused web suites for disabled-model picker behavior, upgrade affordances, and run-failure guidance; those checks passed on this head. Nice work closing out the earlier regressions and keeping the picker/runtime behavior aligned.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)
@mrcfps

mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete9d22bbe

  • ✅ Review comment on apps/daemon/src/server.ts (@chatgpt-codex-connector) — thread
    • Updated apps/daemon/src/server.ts so an explicit AMR default becomes unresolved when the live catalog has no enabled default, causing the existing AMR model gate to fail before ACP attach. Added locked-catalog coverage in apps/daemon/tests/amr-session-resume.test.ts.
  • ✅ Review comment on apps/daemon/src/connectionTest.ts:1984 (@chatgpt-codex-connector) — thread
    • Updated apps/daemon/src/connectionTest.ts to include readVelaCredentialRevision in the AMR connection-test cache key. Added a file-backed credential-change regression in apps/daemon/tests/connection-test.test.ts.

🔁 Powered by Looper · runner=fixer · agent=codex · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@nettee nettee left a comment

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.

@mrcfps I re-ran the current head through the AMR gating paths in the changed ranges and the daemon/web behavior is lining up now: unavailable models stay disabled with upgrade affordances, the refreshed AMR status/model polling path updates the picker after sign-in or refocus, and the new entitlement failure classification is wired through to the chat recovery UI. I also checked the surrounding daemon model-resolution, vela status refresh, and picker normalization changes against the updated targeted tests in this PR; aside from this worktree not having package installs available to rerun Vitest locally, I didn’t find a concrete regression on 9d22bbe8fc3074d977084a9e8c37e0747f3de39d. Nice job closing the loop between the backend classification work and the picker/runtime UX.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@mrcfps

mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@lefarcen

lefarcen commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Current head already has @nettee's approval and green CI, so I don't have anything additive on top of that pass.

I did queue @AmyShang-alt for the manual validation gate.

@lefarcen
lefarcen requested a review from AmyShang-alt July 9, 2026 10:13

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9d22bbe8fc

ℹ️ 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".

Comment thread apps/daemon/src/connectionTest.ts Outdated
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)
@mrcfps

mrcfps commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Looper fixer round complete70575b7

  • ✅ Review comment on apps/daemon/src/connectionTest.ts (@chatgpt-codex-connector) — thread
    • Connection tests now use the shared AMR model cache key builder in apps/daemon/src/connectionTest.ts, matching the route invalidation key. Added a regression in apps/daemon/tests/connection-test.test.ts for normal cache invalidation refreshing connection-test default resolution.

🔁 Powered by Looper · runner=fixer · agent=codex · An autonomous AI dev team for your GitHub repos.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@nettee nettee left a comment

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.

@mrcfps I reviewed the current changed ranges on 70575b7, with extra attention to the AMR default-model resolution, cache invalidation after status/wallet refresh, the new entitlement-upgrade failure path, and the picker/runtime alignment in the updated web flows. The follow-up fixes and targeted regression coverage line up on this head; aside from this worktree not having node_modules available for a fresh local Vitest rerun, I did not find a concrete correctness or maintainability regression in scope. Nice work closing the loop between the daemon-side gating changes and the upgrade UX across the picker and run-failure surfaces.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@AmyShang-alt AmyShang-alt added validated Runtime change validated (via /explore Pass or manual QA). and removed needs-validation Runtime change detected; needs human or /explore agent validation. labels Jul 9, 2026
@AmyShang-alt
AmyShang-alt added this pull request to the merge queue Jul 9, 2026

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 70575b7355

ℹ️ 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".

new Set(ids),
);
liveModelOrder.set(key, ids);
liveModelOrder.set(key, remembered);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Invalidate remembered AMR metadata on account changes

Now that remembered AMR entries keep enabled/default, this profile-scoped cache can carry account-tier metadata across AMR account or plan changes: detection and run preflight both fall back through getRememberedLiveModels(def.id, resolveAmrProfile(...)), so if a user upgrades or switches accounts within the same profile and the next catalog probe falls back to remembered models, the new account can inherit the previous account's locked/default flags until a successful remote fetch. Clear this remembered AMR list when status/wallet refresh invalidates the model cache, or include an account/entitlement revision in the remembered key.

Useful? React with 👍 / 👎.

Merged via the queue into main with commit b335680 Jul 9, 2026
28 checks passed
@open-design-release-bot

Copy link
Copy Markdown
Contributor

Created backport PR for release/v0.14.1:

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin backport-5335-to-release/v0.14.1
git worktree add --checkout .worktree/backport-5335-to-release/v0.14.1 backport-5335-to-release/v0.14.1
cd .worktree/backport-5335-to-release/v0.14.1
git reset --hard HEAD^
git cherry-pick -x b3356807b62535f93e0bfe9bd8fe1f601f1e951c
git push --force-with-lease

mrcfps added a commit that referenced this pull request Jul 9, 2026
Generated-By: looper 0.10.1 (runner=fixer, agent=codex)
@mrcfps
mrcfps requested a review from nettee July 9, 2026 10:50
mrcfps added a commit that referenced this pull request Jul 9, 2026
* fix(amr): honor full model list metadata

* fix(amr): classify tier entitlement failures

* fix(amr): refine unavailable model upgrade affordance

* fix(web): restore stale AMR model fallback

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(web): surface AMR tier upgrade failures

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): mirror chat upgrade attribution

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): skip disabled default models

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): honor catalog default model

* chore(pack): bump vela cli to 0.0.20

* fix(amr): align locked catalog fallback state

* chore(nix): refresh pnpm deps hash

* fix(amr): refresh entitlement-aware model state

* fix(amr): refresh models after upgrade return

* fix(amr): preserve default model analytics

* fix(amr): tighten model gating follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default and refresh follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): resolve explicit default before spawn

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): concretize default model in smoke paths

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default model gating

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): share connection-test model cache

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

---------

Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
(cherry picked from commit b335680)
mrcfps added a commit that referenced this pull request Jul 9, 2026
* fix(amr): honor full model list metadata

* fix(amr): classify tier entitlement failures

* fix(amr): refine unavailable model upgrade affordance

* fix(web): restore stale AMR model fallback

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(web): surface AMR tier upgrade failures

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): mirror chat upgrade attribution

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): skip disabled default models

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): honor catalog default model

* chore(pack): bump vela cli to 0.0.20

* fix(amr): align locked catalog fallback state

* chore(nix): refresh pnpm deps hash

* fix(amr): refresh entitlement-aware model state

* fix(amr): refresh models after upgrade return

* fix(amr): preserve default model analytics

* fix(amr): tighten model gating follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default and refresh follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): resolve explicit default before spawn

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): concretize default model in smoke paths

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default model gating

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): share connection-test model cache

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

---------


(cherry picked from commit b335680)

Co-authored-by: Marc Chan <mrc@powerformer.com>
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
xxiaoxiong pushed a commit to xxiaoxiong/open-design that referenced this pull request Jul 13, 2026
* fix(amr): honor full model list metadata

* fix(amr): classify tier entitlement failures

* fix(amr): refine unavailable model upgrade affordance

* fix(web): restore stale AMR model fallback

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(web): surface AMR tier upgrade failures

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): mirror chat upgrade attribution

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): skip disabled default models

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): honor catalog default model

* chore(pack): bump vela cli to 0.0.20

* fix(amr): align locked catalog fallback state

* chore(nix): refresh pnpm deps hash

* fix(amr): refresh entitlement-aware model state

* fix(amr): refresh models after upgrade return

* fix(amr): preserve default model analytics

* fix(amr): tighten model gating follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default and refresh follow-ups

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): resolve explicit default before spawn

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): concretize default model in smoke paths

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): repair default model gating

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

* fix(amr): share connection-test model cache

Generated-By: looper 0.10.1 (runner=fixer, agent=codex)

---------

Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps size/XL PR changes 700-1500 lines type/bugfix Bug fix validated Runtime change validated (via /explore Pass or manual QA).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants