{"repo":"NousResearch/hermes-agent","public_id":"107511","display_label":"Preserve YAML formatting and comments on config writes","summary":"These items address a shared problem: writing to config files can silently reformat list indentation or strip comments unrelated to the changed value. The work involves a comment-preserving writer and CI guards to prevent regressions.","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":118918,"merged_at":"2026-09-22T08:08:00+00:00"},"resolution":{"state":"resolved","by":"pr-118918"},"freshness":{"state":"verified","last_verified_at":"2026-09-22T08:08:00+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":50698,"pr_number":118918,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T08:08:00+00:00"},{"issue_number":63039,"pr_number":118918,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T08:08:00+00:00"},{"issue_number":92554,"pr_number":118918,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T08:08:00+00:00"},{"issue_number":107511,"pr_number":118918,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-22T08:08:00+00:00"},{"issue_number":109611,"pr_number":118918,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-22T08:08:00+00:00"}],"members":[{"kind":"issue","number":107511,"title":"hermes config set can silently reformat/reindent unrelated YAML list sections in the same file","url":null,"state":"closed"},{"kind":"pr","number":107537,"title":"fix(config): preserve unrelated YAML list indent on config set","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"43504da0e5993750e1e5816f47365c43c29f79af","number":0},{"kind":"pr","value":"#118918","number":118918},{"kind":"pr","value":"#92554","number":92554},{"kind":"pr","value":"#63039","number":63039},{"kind":"pr","value":"#50698","number":50698}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":118918,"title":"config.yaml comments survive every writer: one comment-preserving writer + CI guard (#92554, #63039, #50698, #107511)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".github/workflows/lint.yml","hermes_cli/AGENTS.md","hermes_cli/auth.py","hermes_cli/backup.py","hermes_cli/config.py","hermes_cli/credential_lifecycle.py","hermes_cli/profile_channels.py","hermes_cli/profiles.py","plugins/platforms/telegram/adapter.py","scripts/check_config_yaml_writers.py","tests/gateway/test_dm_topics.py","tests/hermes_cli/test_config.py","tests/hermes_cli/test_config_yaml_comment_preservation.py","tests/hermes_cli/test_model_provider_persistence.py","tui_gateway/server.py","utils.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}