{"repo":"NousResearch/hermes-agent","public_id":"126351","display_label":"Spillover file retention and stale pointer bug","summary":"These items address a bug where tool output spill files are deleted sooner than expected while the transcript continues to tell the model the full result is on disk, and related fixes to retention duration and expiration messaging.","subsystem":"agent","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":139894},"resolution":{"state":"resolved","by":"pr-139894"},"freshness":{"state":"verified","last_verified_at":"2026-10-16T22:03:57+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":126351,"pr_number":139894,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":126351,"title":"[Bug]: spilled tool results are deleted after 24h, but the transcript tells the model the full result \"is already on disk\" and not to re-request it","url":null,"state":"closed"},{"kind":"pr","number":126365,"title":"fix(tools): keep spillover archives for the session retention window","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"e1598b5eea","number":0},{"kind":"pr","value":"#126351","number":126351},{"kind":"pr","value":"#129863","number":129863},{"kind":"pr","value":"#129321","number":129321},{"kind":"pr","value":"#129863","number":129863}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":129321,"title":"Fix #126351: Extend spillover retention to 30 days and provide explicit expiration feedback","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#126365","number":126365},{"kind":"pr","value":"#129863","number":129863},{"kind":"pr","value":"#126351","number":126351},{"kind":"pr","value":"#126365","number":126365},{"kind":"pr","value":"#129863","number":129863}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":129863,"title":"fix(tools): stop the persisted-output pointer claiming spill files are durable","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"eb8d21f482142c236550762ebdb5df4004c39696","number":0},{"kind":"commit","value":"1cb25c3e335a1f9752d9008282f3f0e6ef825ec9","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"e1598b5eeaab424172088ae6958f11da759b9620","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"commit","value":"91791536731fcf1ccc1093df90bff8375312adbe","number":0},{"kind":"pr","value":"#126351","number":126351},{"kind":"pr","value":"#126351","number":126351},{"kind":"pr","value":"#172554","number":172554},{"kind":"pr","value":"#126365","number":126365}],"category":"volume_quota","implication":"active"},"merged":false},{"kind":"pr","number":139894,"title":"fix(tools): spilled tool results stay readable for the session's lifetime (#126351, salvage #126365)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/run_housekeeping_disk.py","hermes_state_media.py","hermes_state_mutation_retirement.py","tests/test_session_spillover_cleanup.py","tests/tools/test_tool_result_storage.py","tools/file_tools.py","tools/tool_result_storage.py","website/docs/user-guide/configuration.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}