{"repo":"NousResearch/hermes-agent","public_id":"94558","display_label":"Auth provider 503 errors and OAuth gating issues","summary":"These items concern cases where cloud/dashboard auth layers return unexpected status codes or block peer messages, specifically around OAuth-gated agents and auth provider reachability. The group spans a bug report, a live incident, and a related fix across similar but not identical auth failure scenarios.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":100938,"merged_at":"2026-09-02T08:15:59+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-02T08:15:59+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":94558,"pr_number":100938,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-02T08:15:59+00:00"}],"members":[{"kind":"issue","number":94558,"title":"Hermes Cloud agents (sjc): API server returns 503 'Auth provider nous unreachable' — survives token refresh and instance restart","url":null,"state":"closed"},{"kind":"pr","number":94579,"title":"fix(cloud): accept peer messages on OAuth-gated agents","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"2f44998353","number":0},{"kind":"pr","value":"#94558","number":94558},{"kind":"pr","value":"#100938","number":100938}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":100938,"title":"Dashboard auth gate answers an opaque/non-JWT bearer with 401, not 503 'Auth provider unreachable' (refs #94558)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/dashboard_auth/__init__.py","hermes_cli/dashboard_auth/base.py","plugins/dashboard_auth/nous/__init__.py","plugins/dashboard_auth/self_hosted/__init__.py","tests/plugins/dashboard_auth/test_opaque_bearer_not_unreachable.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}