Skip to content

Model traits: Fast tier toggle, "update your CLI to get model X", catalog updates between releases #1529

Closed

Description

@currentbits

The model catalog is hardcoded in electron/providers.js. Fast exists only as Cursor model-id variants (providers.js:893+). There is no service-tier toggle for Claude or Codex. catalogDivergence.js notes models the CLI knows that Solenta doesn't, but never the reverse.

Proposal (S–M):

  1. A Fast trait in the model picker for providers that support a priority/fast tier (Codex service_tier, Claude fast mode where the CLI exposes it). Show it only where the installed CLI supports it.
  2. When a catalog model needs a newer CLI than the one installed, show "Update to use " in the picker instead of failing the run.
  3. Optional: fetch a signed catalog JSON from the release channel between app releases, falling back to the bundled copy. Never block startup on it.

Related: #451, and the catalog-behind bug filed alongside this.

Activity

  1. added and removed on Oct 9, 2026
  2. currentbits commented on Oct 9, 2026

    @currentbits
    OwnerAuthor

    Progress on thread f6cd34b5 (uncommitted, in worktree):

    1. Fast trait: per-thread fast flag plus a threads.setFast IPC call. The picker shows a Speed → Fast chip only when the selected model lists fast. Claude gets --settings {"fastMode":true} on Opus 5 / 5.5. I checked this live on 2.1.283: init's fast_mode_disabled_reason changes from sdk_opt_in_required to extra_usage_disabled. Codex gets -c service_tier=priority, on both exec and app-server. Codex fast is re-derived from ~/.codex/models_cache.json service_tiers. When Claude reports fast_mode_state: off, the thread gets a one-time notice with the reason.
    2. Update hint: minCli on ModelInfo (gpt-6.1-sol = 0.159.0). Compared to the cache's client_version; a model the CLI is too old for shows a disabled "Update Codex to use GPT-6.1-Sol" row. Claude has no version probe yet.
    3. Signed catalog fetch: not done (marked optional).
  3. currentbits commented on Oct 9, 2026

    @currentbits
    OwnerAuthor

    All three items are implemented on thread f6cd34b5 (uncommitted).

    • Fast in workflows: workflow phases now pass the Fast setting too.
    • Claude update hint: when Claude replies model_not_found for a model in the catalog, the thread says "Update Claude Code to use ".
    • Item 3, signed catalog: electron/remoteCatalog.js loads a cached copy whose Ed25519 signature checks out, then refreshes in the background from the fixed catalog release. It applies only when the catalog's revision is above the bundled CATALOG_REV. scripts/catalog-publish.js plus .github/workflows/catalog.yml sign and upload the catalog on pushes to main. They refuse a mismatched key, and they refuse changed catalog data whose revision wasn't bumped.
    • Setup needed: add the repo secret CATALOG_SIGNING_KEY.
    • Tests: full electron suite 4121/4121.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions