{"repo":"NousResearch/hermes-agent","public_id":"62063","display_label":"Codex cache key exceeds 64-char limit causing 400 errors","summary":"Multiple fixes and a bug report address an over-length prompt_cache_key being sent to the OpenAI Codex/ChatGPT backend, triggering HTTP 400 rejections. The cluster centers on capping or hashing the cache key to fit within the 64-character limit.","subsystem":null,"counts":{"members":9,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":6},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":66330},"resolution":{"state":"partially_resolved","by":"pr-66330"},"freshness":{"state":"verified","last_verified_at":"2026-07-17T20:48:42+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.20444444444444443},"fix_edges":[{"issue_number":66045,"pr_number":66330,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":62063,"title":"Codex/ChatGPT backend rejects requests when session_id > 64 chars (prompt_cache_key HTTP 400)","url":null,"state":"closed"},{"kind":"issue","number":66045,"title":"Codex transport emits an over-length `prompt_cache_key` (>64) → every openai-codex request 400s and silently falls back","url":null,"state":"closed"},{"kind":"pr","number":62266,"title":"fix(codex): clamp prompt_cache_key to 64 chars for Codex/ChatGPT backend","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24273","number":24273},{"kind":"pr","value":"#24273","number":24273},{"kind":"pr","value":"#62063","number":62063},{"kind":"pr","value":"#26468","number":26468},{"kind":"pr","value":"#28307","number":28307},{"kind":"pr","value":"#51037","number":51037}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":66050,"title":"fix: guard float infinity in stale timeout display and truncate codex cache key (#65746, #66045)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#66139","number":66139},{"kind":"pr","value":"#66272","number":66272}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":66053,"title":"fix: cap prompt_cache_key at 64 chars to avoid OpenAI Codex 400 error (#66045)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24273","number":24273}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":66245,"title":"fix(codex): hash over-length prompt_cache_key to fit 64-char limit","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"61bbc3933","number":0},{"kind":"pr","value":"#66330","number":66330}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":66272,"title":"fix: cap cache-scope headers at 64 chars to avoid Codex 400 error (#66045)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24273","number":24273}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":66302,"title":"fix(runtime): recover stale model and cache state","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#66330","number":66330},{"kind":"pr","value":"#66331","number":66331},{"kind":"pr","value":"#66332","number":66332}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":66330,"title":"fix(codex): bound cache keys at provider boundaries","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/transports/codex.py","scripts/release.py","tests/agent/transports/test_codex_transport.py","tests/run_agent/test_run_agent_codex_responses.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}