{"repo":"NousResearch/hermes-agent","public_id":"76138","display_label":"Guard against scalar writes to list-valued config keys","summary":"These members address a bug where setting a config key that holds a list value would incorrectly overwrite it with a scalar string. The fix adds a guard to refuse or handle such writes safely.","subsystem":"hermes_cli","counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":3,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":88163},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-22T06:31:03+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.3333333333333333},"fix_edges":[{"issue_number":40545,"pr_number":88163,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":51560,"pr_number":88163,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":51560,"pr_number":118843,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":58907,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":76138,"pr_number":88163,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":76138,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":76138,"pr_number":118843,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":83308,"pr_number":118843,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":83847,"pr_number":114809,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":88451,"pr_number":118843,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":105706,"pr_number":118843,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":114605,"pr_number":114809,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":118113,"pr_number":118843,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":76138,"title":"hermes config set corrupts list-valued keys (writes scalar string instead of YAML list)","url":null,"state":"closed"},{"kind":"pr","number":76139,"title":"fix(config): refuse scalar writes to list-valued keys in config set","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c3021aff0dc","number":0},{"kind":"pr","value":"#88163","number":88163},{"kind":"pr","value":"#118843","number":118843}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":76234,"title":"fix: guard against list-valued keys in hermes config set (#76138)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"6f2a4676a9b","number":0},{"kind":"commit","value":"acaac9a18c0","number":0},{"kind":"commit","value":"0972b4819a1","number":0},{"kind":"pr","value":"#88163","number":88163},{"kind":"pr","value":"#114809","number":114809},{"kind":"pr","value":"#76138","number":76138}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":88163,"title":"fix(config): parse structured list/dict values in hermes config set (consolidates 8-PR cluster)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/config.py","tests/hermes_cli/test_config_set_list_values.py","website/docs/user-guide/configuring-models.md"]},{"kind":"pr","number":114809,"title":"fix(config): malformed custom_providers no longer empties the providers view; config set refuses type mismatches; nested aliases keep key_env (#114605, #114471, salvage #45730, #109834)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","hermes_cli/config.py","hermes_cli/config_providers.py","hermes_cli/model_switch.py","tests/hermes_cli/test_config.py","tests/hermes_cli/test_config_set_list_values.py","tests/hermes_cli/test_model_alias_credentials.py","tests/hermes_cli/test_set_config_value.py","website/docs/reference/cli-commands.md"]},{"kind":"pr","number":118843,"title":"config.yaml quoted-string lists are flagged by doctor/startup and no longer written by config set; catalog stars probe re-mints its App token (#83308 #105706 #118113)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".github/workflows/skills-index.yml","hermes_cli/config.py","tests/hermes_cli/test_config_set_list_values.py","tests/hermes_cli/test_config_validation.py","tests/website/test_fetch_plugin_stars.py","website/docs/reference/cli-commands.md","website/scripts/fetch-plugin-stars.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}