Finding
Fleet currently relies on a generic github_auth health-check string for GitHub App token mint failures, so the hub cannot distinguish app not installed, installation token 404 due to app/installation/host mismatch, invalid key, or other classes. Example from fleet triage: ains-validation/pocketmini reported github_auth=fail: token error: creating installation token: POST https://github.ibm.com/api/v3/app/installat… 404.
Expected
Extend the GitHub App health payload (githubAppState, GitHubAppHealth, githubAppPermIssue, spoke sender in cmd/hive / pkg/github) with structured state plus details: host, app id, installation id, HTTP status, and error class. saas.go and hiveHealthFor should render precise operator guidance like GitHub App 123 on github.ibm.com: installation 456 not found (404) — reinstall or fix app_id/installation_id. Fleet classification must remain accurate: user/config GitHub App issues should not mask or relabel unrelated LLM gateway errors.
Tests
Add coverage for each structured state, and a regression that LLM gateway auth errors remain classified as gateway problems rather than GitHub App broken.
Source: fleet triage 2026-09-04, recommended fix B6.
Finding
Fleet currently relies on a generic
github_authhealth-check string for GitHub App token mint failures, so the hub cannot distinguish app not installed, installation token 404 due to app/installation/host mismatch, invalid key, or other classes. Example from fleet triage:ains-validation/pocketminireportedgithub_auth=fail: token error: creating installation token: POST https://github.ibm.com/api/v3/app/installat… 404.Expected
Extend the GitHub App health payload (
githubAppState,GitHubAppHealth,githubAppPermIssue, spoke sender incmd/hive/pkg/github) with structured state plus details: host, app id, installation id, HTTP status, and error class.saas.goandhiveHealthForshould render precise operator guidance likeGitHub App 123 on github.ibm.com: installation 456 not found (404) — reinstall or fix app_id/installation_id. Fleet classification must remain accurate: user/config GitHub App issues should not mask or relabel unrelated LLM gateway errors.Tests
Add coverage for each structured state, and a regression that LLM gateway auth errors remain classified as gateway problems rather than
GitHub App broken.Source: fleet triage 2026-09-04, recommended fix B6.