service tier picker - kkamegawa/vsextensionforcodex GitHub Wiki

Persistent Speed Picker

Date: 2026-07-20
Tracking: Issue #86; sub-issues #96, #97, #98
Status: Approved for implementation in PR #90

Corrected design

  • Build ordered, deduplicated service-tier options with canonical IDs and sanitized names and descriptions.
  • Persist the desired value in ServiceTierId; keep it separate from the currently displayed fallback selection.
  • Default inherits Codex configuration. Track effective service tier from thread start, resume, fork, and settings updates.
  • Contract v13 distinguishes omitted, explicit-null, and valued serviceTier overrides.
  • Because turn/start.serviceTier is sticky, /fast is thread-scoped, consumed only after a successful start, and restored on the next turn to the persistent or inherited value.
  • Normal prompts and direct /plan prompts use the same resolver.
  • /status separates desired, effective, and pending values.

Verification

  • Test catalog order, duplicate and invalid IDs, canonical casing, malicious descriptions, hidden defaults, persistence, unsupported models, thread isolation, failed starts, explicit restore, plan mode, contract round-trip, and Remote UI accessibility.
⚠️ **GitHub.com Fallback** ⚠️