{"repo":"NousResearch/hermes-agent","public_id":"130256","display_label":"Stale Copilot auth cache entries never evicted","summary":"A bug was identified where internal caches keyed by token fingerprint are never cleaned up when tokens rotate, causing unbounded retention of stale entries. The accompanying items address pruning these stale Copilot credential and token exchange caches.","subsystem":"hermes_cli","counts":{"members":3,"open_issues":1,"open_issues_distinct":1,"open_prs":1,"closed_issues":0,"merged_prs":0,"attempt_prs":2},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[],"members":[{"kind":"issue","number":130256,"title":"[Bug]: copilot_auth `_jwt_cache` / `_exchange_failure_cache` / `_exchange_locks` are keyed by a token fingerprint and only ever popped on a repeat success, so rotated-away tokens are retained forever","url":null,"state":"open"},{"kind":"pr","number":130268,"title":"fix(auth): evict stale Copilot credential caches","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"e26ac6687d29246678638aa99268041b264c11a8","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":130276,"title":"fix(auth): prune stale Copilot token exchange caches","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#130268","number":130268},{"kind":"pr","value":"#130256","number":130256}],"category":"superseded_by_pr","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}