{"repo":"NousResearch/hermes-agent","public_id":"108141","display_label":"TUI event replay mutation and byte budget fixes","summary":"These items address a bug where TUI event replay was retaining mutable event object graphs and not properly isolating replayed events from the caller's live parameters. The work involves detaching replay from caller state and freezing payloads within a defined byte budget.","subsystem":null,"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":131327,"merged_at":"2026-10-03T11:00:42+00:00"},"resolution":{"state":"resolved","by":"pr-131327"},"freshness":{"state":"verified","last_verified_at":"2026-10-03T11:00:42+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":108141,"pr_number":131327,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-03T11:00:42+00:00"}],"members":[{"kind":"issue","number":108141,"title":"[Bug]: TUI event replay retains mutable event object graphs outside its byte budget","url":null,"state":"closed"},{"kind":"pr","number":108143,"title":"fix(tui): freeze event replay payloads within byte budget","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#131327","number":131327}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":131327,"title":"fix(tui): keep event replay detached from the caller's live params","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tui_gateway/test_tui_gateway_event_replay.py","tui_gateway/event_replay.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}