{"repo":"NousResearch/hermes-agent","public_id":"123658","display_label":"Gateway restart transcript replay order and fidelity","summary":"A bug report and related fix attempts address gateway restarts replaying the transcript spool in random order while also dropping tool-call and reasoning fields. The work involves restoring correct drop order and full field fidelity, with handling for `failed` sessions.","subsystem":"gateway","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":133932},"resolution":{"state":"resolved","by":"pr-133932"},"freshness":{"state":"verified","last_verified_at":"2026-10-06T20:24:06+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":123658,"pr_number":133932,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":123658,"title":"[Bug]: gateway restart replays the transcript spool in random order and drops tool-call/reasoning fields","url":null,"state":"closed"},{"kind":"pr","number":84785,"title":"fix(gateway): replay the transcript spool in drop order with full fidelity on restart (supersedes #78323)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#123658","number":123658},{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#122718","number":122718},{"kind":"pr","value":"#78323","number":78323},{"kind":"pr","value":"#133932","number":133932}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":122718,"title":"fix(gateway): replay the transcript spool in drop order with full fidelity on restart (salvage #84785)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#123658","number":123658},{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#133932","number":133932}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":132680,"title":"fix(gateway): replay transcript spool in drop order with full fidelity, hold back failed sessions (fixes #123658)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#123658","number":123658},{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#84785","number":84785},{"kind":"pr","value":"#122718","number":122718},{"kind":"pr","value":"#133932","number":133932},{"kind":"pr","value":"#133932","number":133932}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":133932,"title":"fix(gateway): replay the transcript spool in drop order with full fidelity on restart (salvage #122718)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/run.py","gateway/run_startup.py","gateway/session_transcript.py","gateway/shutdown_flush.py","tests/gateway/test_profile_spool_recovery.py","tests/gateway/test_shutdown_flush_recovery.py","tests/gateway/test_shutdown_spool_limits.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}