{"repo":"NousResearch/hermes-agent","public_id":"70543","display_label":"Normalize provider cache/usage token shapes","summary":"These items address inconsistencies in how cache and usage token fields are normalized across multiple providers, specifically covering OpenAI cache write tokens and Qwen flat cached token formats. The work consolidates normalization logic to handle varying wire shapes from different provider APIs.","subsystem":"agent","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":85769,"merged_at":"2026-08-14T05:09:38+00:00"},"resolution":{"state":"resolved","by":"pr-85769"},"freshness":{"state":"verified","last_verified_at":"2026-08-14T05:09:38+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":14686,"pr_number":85769,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-14T05:09:38+00:00"},{"issue_number":70543,"pr_number":85769,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-14T05:09:38+00:00"},{"issue_number":74314,"pr_number":85769,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-14T05:09:38+00:00"},{"issue_number":82831,"pr_number":85769,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-14T05:09:38+00:00"},{"issue_number":85706,"pr_number":85769,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-14T05:09:38+00:00"}],"members":[{"kind":"issue","number":70543,"title":"Usage accounting: OpenAI GPT-5.6+ cache writes and Qwen flat cache reads normalize to 0","url":null,"state":"closed"},{"kind":"pr","number":70522,"title":"fix(usage): normalize OpenAI cache_write_tokens and Qwen flat cached_tokens","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#85769","number":85769},{"kind":"pr","value":"#66105","number":66105},{"kind":"pr","value":"#70543","number":70543}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":85769,"title":"fix(usage): normalize every provider cache/usage wire shape in normalize_usage (5-PR consolidation)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/usage_pricing.py","contributors/emails/[redacted:email]","tests/agent/test_usage_pricing.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}