{"repo":"NousResearch/hermes-agent","public_id":"107628","display_label":"Fix crashes from non-scalar content-part types in compressor","summary":"A bug where non-scalar (dict) values in content-part 'type' fields cause TypeError crashes in the compressor, making sessions permanently uncompressible. Multiple fix attempts address different affected code sites.","subsystem":"agent","counts":{"members":3,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"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":107628,"title":"[Bug]: compression crashes with TypeError: unhashable type: 'dict' on non-scalar content-part `type` â€” session becomes permanently uncompressible (#104840 covered 1 of 3 sites)","url":null,"state":"open"},{"kind":"pr","number":107589,"title":"fix(compression): guard non-scalar content-part `type` in the two compressor siblings #104840 missed","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#107628","number":107628},{"kind":"pr","value":"#104840","number":104840}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":110103,"title":"compressor: guard non-scalar content-part types in the two unfixed image checks (fixes #107628)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#107589","number":107589},{"kind":"pr","value":"#107628","number":107628}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}