{"repo":"NousResearch/hermes-agent","public_id":"23097","display_label":"Codex model picker compatibility and slug fixes","summary":"These issues and PRs center on problems with model name validity, filtering, and selection in the Codex/OpenAI-Codex provider, particularly around which model slugs are accepted or rejected by ChatGPT accounts versus Codex backends. Several entries address adding, removing, or correcting specific model identifiers like gpt-5.3-codex-spark and pro-tier slugs that return HTTP 400 errors.","subsystem":"agent/secret_sources","counts":{"members":7,"open_issues":0,"open_issues_distinct":0,"open_prs":1,"closed_issues":2,"merged_prs":1,"attempt_prs":4},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":115760,"merged_at":"2026-09-19T16:37:24+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-19T16:37:24+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.2552380952380952},"fix_edges":[{"issue_number":61660,"pr_number":115760,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-19T16:37:24+00:00"},{"issue_number":71970,"pr_number":115760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-19T16:37:24+00:00"}],"members":[{"kind":"issue","number":23097,"title":"[Bug]: OpenAI Codex picker allows ChatGPT-account unsupported models","url":null,"state":"closed"},{"kind":"issue","number":61660,"title":"codex_models.py: `*-pro` slugs in DEFAULT_CODEX_MODELS return HTTP 400 for ChatGPT accounts","url":null,"state":"closed"},{"kind":"pr","number":23175,"title":"fix(cli): drop ChatGPT-account-rejected models from openai-codex picker","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#23189","number":23189}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":23189,"title":"fix(codex): trust live ChatGPT picker catalog","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"e8955f222","number":0}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":61665,"title":"fix(codex): drop unsupported pro defaults","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#89194","number":89194}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":71973,"title":"fix(agent): rotate Codex credentials on model entitlement rejection","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f07afac38bc8","number":0},{"kind":"pr","value":"#115760","number":115760},{"kind":"pr","value":"#71970","number":71970},{"kind":"pr","value":"#71973","number":71973}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":115760,"title":"fix(agent): Codex pool rotates to the next account on a ChatGPT-account model entitlement 400 (#71970, salvage #71973)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_runtime_helpers.py","agent/credential_pool.py","agent/credential_pool_model_cooldowns.py","agent/error_classifier.py","agent/fallback_cooldown.py","contributors/emails/[redacted:email]","tests/agent/test_codex_model_entitlement_rotation.py","tests/agent/test_entitlement_fail_closed.py","tests/agent/test_error_classifier.py","website/docs/user-guide/features/credential-pools.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}