Skip to content

Unify model identity and catalog revalidation - #1728

Merged
luokerenx4 merged 6 commits into
TraderAlice:devfrom
ZenAlexa:contrib/model-identity-catalog
Oct 6, 2026
Merged

luokerenx4 merged 6 commits into
TraderAlice:devfrom
ZenAlexa:contrib/model-identity-catalog

Conversation

@ZenAlexa

@ZenAlexa ZenAlexa commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Why

Model choices currently mix raw identifiers, duplicate provider labels, reasoning summaries, and catalog metadata across launch menus, credentials, sessions, and issues. This PR gives those surfaces one model identity and keeps catalog discovery aligned with the active credential or runtime.

This is the model boundary extracted from #1704. The base is dev at 4813c1b89.

What changed

  • Added ModelIdentity and one display-name and manufacturer resolver. Known model families use a manufacturer logo and readable model name. Catalog labels remain the primary display source. Custom identifiers retain their exact value.
  • Applied the identity across model menus, credential configuration, Workspace preferences, session details, and issue assignment. Removed repeated model summaries and unused translations.
  • Preserved model IDs at the configuration and launch boundaries. The change affects presentation; provider requests continue to receive the configured ID.
  • Revalidated credential and native-runtime catalogs when the window regains focus or becomes visible. Requests are serialized within each discovery lifecycle. Cleanup aborts requests and removes listeners. Late results stay scoped to their original request key.
  • Kept direct API-key discovery debounced. Focus events do not repeat that credential submission.
  • Merged discovered metadata with registered metadata through an ID-indexed map. The work is linear in the two catalog sizes.

Review boundary

Navigation density, shared control replacement, themes, trading behavior, backend routing, and bundled model version policy are outside this PR. Catalog freshness uses the existing discovery API and its refresh status.

Default identity and compact summaries

Commit 20f5e20a6 gives the runtime-default row the same identity layout as named models. A resolved default keeps its manufacturer icon and name, with the Default annotation in the trailing column. Compact summaries truncate long names; selectable options retain their full wrapped label and exact configured ID.

Commit e8b56ce4f synchronizes this boundary with upstream 4813c1b89. The shared-control PR owns the parent columns and cascading gap.

Catalog-refresh boundary fix

Commit 108135522 tracks the active suggestion by its model ID and derives its position from the current catalog. Catalog shrinkage and replacement now clear invalid active descendants. Reordering preserves the same model. Enter resolves the current option, and Escape closes an empty result list.

Checked the actual credential catalog consumer through refresh, list shrinkage, reordering, clearing, restoration, keyboard wrapping, and custom identifier entry. The focused catalog refresh completed without an Enter exception. The patch changes one existing file, with 19 additions and 20 deletions.

The composed integration retains the shared Base UI Autocomplete from #1730. That component owns active-option lifecycle after the control migration.

Related PRs and integration

Each branch targets dev and includes upstream 4813c1b89. Each branch builds independently. Shared consumers overlap. Suggested merge order: #1730, #1728, #1729. Integrate each subsequent branch with the merged changes and preserve each component's presentation owner.

Composed integration reference eff62db08 contains all three updated PR heads and the shared-file resolutions. The existing galleries below were captured on 2026-10-02 from integration 5eae22a85, using supplied demo data. Desktop captures use 1280 × 720; narrow captures use 390 × 844. Each caption identifies the view and state.

Current model menu

Current composed model menu, October 2

The three current-value fields share the same left origin and line height. The child menu keeps an 8px gap from its parent after entry. The parent remains 130px high. Manufacturer icons and readable names keep the catalog compact.

Verification

The current update was checked on 2026-10-02 against upstream dev at 4813c1b89.

  • Full UI suite passed on this branch and the composed tree: 351 files and 2,022 existing behavior cases per run.
  • TypeScript and this branch's standard production build passed. The final composed production-demo build passed.
  • Existing scenarios cover credential changes, native catalogs, refresh, custom identifiers, reasoning defaults, launch tuples, session settings, and issue assignment.
  • Production keyboard checks covered provider, model, and effort menus, submenu entry, and Escape focus return.
  • Prior custom-identifier verification entered, saved, reopened, and restored a mixed English and Chinese value. Exact configured IDs remained intact.
  • git diff --check passed.

Review ID preservation and catalog request ownership first, then the display consumers. The integration reference includes the compact-workspace changes at those consumers.

Menu transitions and keyboard focus need the running build for review. Screenshots record their resting geometry.

GitHub clean-build passed on this update. Vercel preview deployment requires authorization from the repository’s Vercel team.

@vercel

vercel Bot commented Oct 1, 2026

Copy link
Copy Markdown

@ZenAlexa is attempting to deploy a commit to the luokerenx4's Team Team on Vercel.

A member of the Team first needs to authorize it.

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openalice-demo Ready Ready Preview Oct 6, 2026 2:06pm UTC

Request Review

@luokerenx4
luokerenx4 merged commit f033cd5 into TraderAlice:dev Oct 6, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — 10813552 Deployed Oct 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants