Skip to content

Add app-server-backed model registry and service-tier resolver #37

@galligan

Description

@galligan

Context

Dispatch currently passes model, model_provider, effort, and service_tier through to the Codex App Server, but it does not maintain a local catalog of available models or service tiers. Recent live inspection showed Codex Fast Mode is exposed through two vocabularies:

  • user/Codex config language: fast
  • app-server/API service tier: priority, displayed as Fast in model/list.serviceTiers

Relying on raw thread metadata is not enough because existing Codex threads may not persist the effective service tier in rollout or thread/read metadata.

Scope

Build a small model registry/cache sourced from the live Codex App Server catalog, not from hard-coded model names.

Acceptance criteria

  • Dispatch can refresh and store the current app-server model catalog from model/list.
  • serviceTiers is canonical; deprecated additionalSpeedTiers is fallback-only.
  • fast resolves to the model catalog service tier whose display name is Fast when available, currently priority for GPT-5.5/GPT-5.4.
  • Unsupported model/tier combinations fail clearly and suggest available tiers/models.
  • The resolver is used before thread/start and initial turn/start when a service tier is explicitly configured.
  • Tests cover fast -> priority, canonical priority, unsupported fast tier, stale-cache refresh/retry, and no-explicit-tier behavior.
  • Docs explain the Codex Fast vs API/app-server priority vocabulary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions