{"repo":"NousResearch/hermes-agent","public_id":"84688","display_label":"Fix unsafe in-place overwrite in trajectory compressor","summary":"A bug where trajectory_compressor accepts identical input and output paths, causing the source JSONL to be truncated via non-atomic writes. Fixes enforce rejection of input==output and introduce atomic write behavior.","subsystem":"hermes_cli","counts":{"members":3,"open_issues":1,"open_issues_distinct":1,"open_prs":1,"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":84688,"title":"[Bug] trajectory_compressor accepts input == output and truncates the source JSONL (non-atomic write)","url":null,"state":"open"},{"kind":"pr","number":84713,"title":"fix(trajectory): refuse in-place output that truncates the source JSONL","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":84715,"title":"fix(compression): reject input==output and write atomically in trajectory_compressor","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}