Spaces:
Sleeping
Sleeping
Commit History
-
fix: model list not updating at startup β fast-retry on auth race (#149)β
icebear +1: icebear0828Unverified signatureRoot cause: token refresh and model fetch race at startup. Initial fetch fires 1s after boot, but accounts may still be refreshing OAuth tokens. isAuthenticated() returns false β fetch silently skips β next retry is ~1 hour later. - model-fetcher: fast-retry (10s Γ 12 attempts) until accounts are ready - config/models.yaml: add gpt-5.4/5.4-mini/5.3-codex (restored 2026-03-18) - Export hasFetchedModels() for observability - 4 new tests covering retry/fallback/immediate-success scenarios Co-authored-by: icebear0828 <icebear0828@users.noreply.github.com>56be298 -
fix: write runtime cache to data/ instead of git-tracked config/ (#138)β
icebear +1: icebear0828Unverified signaturemodel-store synced merged catalog back to config/models.yaml on every backend fetch (~1h), and update-checker mutated config/default.yaml on version detection. Both made the repo dirty after normal runtime. - syncStaticModels() β data/models-cache.yaml (gitignored) - applyVersionUpdate() β data/version-state.json (gitignored) - loadStaticModels() overlays cache on cold start for fallback - loadCurrentConfig() checks version override before YAML baseline - config/ is now read-only for runtime operations Co-authored-by: icebear0828 <icebear0828@users.noreply.github.com>50720ce
-
fix: remove isCodexCompatibleId whitelist β trust backend model list (#129)β
icebear +1: icebear0828Unverified signatureThe regex whitelist filtered out models like gpt-5.4-mini whose ID didn't match hardcoded patterns. Remove the filter entirely and trust the /codex/models endpoint which only returns Codex-compatible models. Co-authored-by: icebear0828 <icebear0828@users.noreply.github.com>1e54caa
-
test: add plan-based model routing tests (14 cases)β
icebear0828- model-store: plan map build, reverse index, plan updates, non-Codex slug filtering, gpt-oss admission, store debug output - account-pool: plan-matched acquire, team-only rejection, fallback on empty plans, plan map update re-routing, preference ordering Covers the exact code path where free accounts get blocked from models that the backend has since opened to free tier (gpt-5.4 case).9c1c54e