{"repo":"NousResearch/hermes-agent","public_id":"101941","display_label":"Desktop launch crash from log buffer init order","summary":"These issues and fixes address a desktop app crash on launch caused by code attempting to push to a log buffer (rememberLog/hermesLog) before it was initialized, due to module evaluation order. Multiple fixes approach the same initialization sequencing problem.","subsystem":null,"counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":4},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":102001},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-03T08:14:38+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.3333333333333333},"fix_edges":[{"issue_number":101941,"pr_number":102001,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":101960,"pr_number":102001,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":101941,"title":"[Bug]: Desktop main process crash on launch — rememberLog push on undefined hermesLog (pool-limits init order)","url":null,"state":"closed"},{"kind":"pr","number":101945,"title":"fix(desktop): declare rememberLog state before the top-level pool-limits read","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"05f548f35dd3242bf2ff74743e9112acde251f77","number":0},{"kind":"pr","value":"#102001","number":102001}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":101964,"title":"fix(desktop): initialize hermesLog before pool limits","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"05f548f35dd3242bf2ff74743e9112acde251f77","number":0},{"kind":"pr","value":"#102001","number":102001},{"kind":"pr","value":"#101945","number":101945}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":101967,"title":"fix(desktop): read pool limits after the log buffer exists","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"05f548f35dd3242bf2ff74743e9112acde251f77","number":0},{"kind":"pr","value":"#102001","number":102001},{"kind":"pr","value":"#101945","number":101945}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":102001,"title":"fix(desktop): packaged app no longer crashes on launch with undefined.push in rememberLog (#101941, salvage #101945)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts"]},{"kind":"pr","number":102017,"title":"fix(desktop): declare rememberLog state before module-eval callers, with a regression guard","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"05f548f35dd3242bf2ff74743e9112acde251f77","number":0},{"kind":"pr","value":"#102001","number":102001},{"kind":"pr","value":"#101945","number":101945}],"category":"merged_via","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}