{"repo":"NousResearch/hermes-agent","public_id":"102910","display_label":"Windows locale surrogate errors in strftime handling","summary":"These issues and fixes address UnicodeEncodeError crashes caused by undecodable locale or timezone names when calling strftime on Windows. The work involves adding protective wrappers or fallbacks to prevent surrogate characters from propagating and crashing the application.","subsystem":null,"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":120748},"resolution":{"state":"resolved","by":"pr-120748"},"freshness":{"state":"verified","last_verified_at":"2026-09-23T23:29:36+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":102910,"pr_number":120748,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":102910,"title":"[Bug] Windows fr-FR: strftime(\"%Z\") raises UnicodeEncodeError: surrogates not allowed and crashes the desktop gateway at every conversation start","url":null,"state":"closed"},{"kind":"pr","number":102918,"title":"fix(agent): keep Windows locale errors from crashing conversations","url":null,"state":"closed","close_reason":{"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":102936,"title":"strftime: add safe_strftime wrapper for Windows locale surrogate issues","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#102918","number":102918},{"kind":"pr","value":"#102910","number":102910},{"kind":"pr","value":"#102918","number":102918}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":103438,"title":"fix(i18n): survive undecodable locale names in strftime paths (fixes #102910)","url":null,"state":"closed","close_reason":{"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":120748,"title":"fix(time): stop Windows locale timezone names from crashing the gateway","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/account_usage.py","agent/auxiliary_unavailable.py","agent/billing_usage.py","agent/insights.py","agent/learning_graph_render.py","agent/system_prompt.py","cron/quota_hold.py","cron/scheduler.py","gateway/message_timestamps.py","hermes_cli/goals.py","hermes_cli/status_auth.py","hermes_time.py","tests/agent/test_system_prompt.py","tests/cron/test_timezone.py","tools/session_search_tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}