{"repo":"NousResearch/hermes-agent","public_id":"105841","display_label":"Fix missing session header on one-shot requests","summary":"These issues and PRs address a bug where sessionless one-shot calls (such as commit message generation) were producing 400 `MissingSessionID` errors due to a missing `x-opencode-session` header. The fixes synthesize or preserve an ephemeral session header for these stateless requests across multiple layers.","subsystem":"agent","counts":{"members":7,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":5},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":115830},"resolution":{"state":"resolved","by":"pr-115830"},"freshness":{"state":"verified","last_verified_at":"2026-09-19T17:06:02+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.2857142857142857},"fix_edges":[{"issue_number":105841,"pr_number":115830,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":105841,"title":"[Bug]: OpenCode commit message generator missing x-opencode-session header","url":null,"state":"closed"},{"kind":"pr","number":105849,"title":"fix(opencode): synthesize session header for stateless one-shot calls","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#105023","number":105023}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":105860,"title":"fix(gateway): preserve x-opencode-session on llm.oneshot commit-message generation (#105841)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#105023","number":105023}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":105867,"title":"fix(agent): keep x-opencode-session on stateless one-shots","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#105860","number":105860},{"kind":"pr","value":"#105841","number":105841}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":107021,"title":"fix(opencode): send ephemeral x-opencode-session header on one-shot requests","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"bb787f45f3ff","number":0},{"kind":"pr","value":"#115830","number":115830},{"kind":"pr","value":"#105841","number":105841},{"kind":"pr","value":"#107021","number":107021}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":115830,"title":"fix(opencode): session-less one-shots such as Desktop commit messages no longer fail with 400 MissingSessionID (#105841, salvage #107021)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/opencode_affinity.py","tests/agent/test_opencode_session_affinity.py","website/docs/integrations/providers.md"]},{"kind":"pr","number":136416,"title":"fix(agent): keep x-opencode-session on stateless one-shots","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#105841","number":105841},{"kind":"pr","value":"#115830","number":115830},{"kind":"pr","value":"#105867","number":105867}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}