{"repo":"NousResearch/hermes-agent","public_id":"119859","display_label":"Kanban comment author identity under multiplexed profiles","summary":"These items address a bug where kanban comment authors default to 'worker' instead of the correct profile identity when HERMES_PROFILE is unset during multiplexed per-profile cron ticks. The fixes involve persisting and resolving the active profile identity via ContextVar across background execution paths including cron, kanban, ledger, and adapters.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":120103,"merged_at":"2026-09-23T15:09:48+00:00"},"resolution":{"state":"resolved","by":"pr-120103"},"freshness":{"state":"verified","last_verified_at":"2026-09-23T15:09:48+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":84253,"pr_number":120103,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":119242,"pr_number":120103,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":119858,"pr_number":120103,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":119859,"pr_number":120103,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":119973,"pr_number":120103,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":120018,"pr_number":120103,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-23T15:09:48+00:00"},{"issue_number":120044,"pr_number":120103,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-23T15:09:48+00:00"}],"members":[{"kind":"issue","number":119859,"title":"[Bug]: Kanban comment author defaults to \"worker\" under a multiplexed per-profile cron tick (HERMES_PROFILE unset)","url":null,"state":"closed"},{"kind":"pr","number":112888,"title":"fix(kanban): persist active-profile identity in comment author / created_by when HERMES_PROFILE unpinned","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"bd970b0588","number":0},{"kind":"pr","value":"#120103","number":120103}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":120086,"title":"fix(kanban): resolve comment author from ContextVar tick identity","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#112888","number":112888},{"kind":"pr","value":"#119859","number":119859}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":120103,"title":"Cron, kanban, ledger and adapter background paths follow the owning profile under multiplex (#119858, #119859, #119973, #119242; salvage #119974 #120045 #120019 #120009 #112888)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/redact.py","agent/secret_scope.py","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","cron/lifecycle_guard.py","gateway/AGENTS.md","gateway/delivery_ledger.py","gateway/platforms/api_server.py","gateway/platforms/api_server_openai_routes.py","gateway/platforms/api_server_runs.py","gateway/run_adapters.py","hermes_cli/env_loader.py","hermes_cli/kanban.py","hermes_cli/kanban_specify.py","hermes_cli/profiles.py","hermes_constants.py","hermes_logging.py","tests/agent/test_i18n.py","tests/agent/test_secret_scope_pinned_launch_home.py","tests/agent/test_serves_routed_profile_pin.py","tests/conftest.py","tests/cron/test_bot_chat_own_profile_multiplex_home.py","tests/gateway/test_api_server_response_store_profile_scope.py","tests/gateway/test_delivery_ledger_process_home.py","tests/gateway/test_planned_restart_notice_multiplex.py","tests/gateway/test_restart_resume_pending.py","tests/hermes_cli/test_profile_delete_service_name.py","tests/test_hermes_logging.py","tests/tools/test_kanban_comment_injection.py","tests/tools/test_kanban_persisted_identity.py","tools/environments/local.py","tools/kanban_tools.py","website/docs/user-guide/messaging/index.md","website/docs/user-guide/multi-profile-gateways.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}