{"repo":"NousResearch/hermes-agent","public_id":"70328","display_label":"Image token counting inaccurate in compression logic","summary":"The compression system uses a flat constant to estimate image token costs, which underestimates actual usage and can cause errors in vision-heavy sessions. These items propose raising the constant and/or deriving the cost from actual provider usage data instead.","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":104575,"merged_at":"2026-09-06T21:19:43+00:00"},"resolution":{"state":"resolved","by":"pr-104575"},"freshness":{"state":"verified","last_verified_at":"2026-09-06T21:19:43+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":63871,"pr_number":104575,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-06T21:19:43+00:00"},{"issue_number":70328,"pr_number":104575,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-06T21:19:43+00:00"}],"members":[{"kind":"issue","number":70328,"title":"Compression trigger prices every image at a flat 1500 tokens — vision-heavy sessions on a 64K local model hit provider 400s before compaction can fire","url":null,"state":"closed"},{"kind":"pr","number":70463,"title":"fix: raise image token estimate from 1500/1600 to 4000 for multimodal models (#70328)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"be58c276ee","number":0},{"kind":"pr","value":"#104575","number":104575},{"kind":"pr","value":"#70328","number":70328}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":104575,"title":"feat(compression): image token cost learned from the provider's usage, not a flat constant (#70328, supersedes #70463)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/context_compressor.py","agent/image_token_cost.py","agent/model_metadata.py","agent/turn_context.py","agent/turn_usage.py","evals/token_accounting/ab_image_cost_calibration.py","gateway/run_turn.py","tests/agent/test_compressor_image_tokens.py","tests/agent/test_image_token_cost.py","website/docs/developer-guide/context-compression-and-caching.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}