feat: improve GitHub status briefing and refresh control

Merged
ZE
12d ago
+2194-385

GitHub status is easier to scan with full borders around affected services and quieter healthy rows. The incident briefing now prioritizes impact and has a labeled Refresh control with busy/error feedback and accurate cache age.

Validation

  • make test vet check-format (18 UI tests); browser suite (14 tests).
  • make verify-package-host and specification catalog/lint pass with the pinned SDK.
  • Live-host smoke blocked: the installed bundle lacks agentctl.

Checklist

  • If I do not have repository write access and this is a large architectural change, I discussed the direction in a linked issue before opening this PR.
  • This PR contains one logical change; unrelated work is split into separate PRs.
  • I have performed a self-review of my code.
  • I have manually tested my changes and they work as expected.
  • My changes have tests that cover the new functionality and edge cases.
  • If my change touches UI files (apps/web/), I have added or updated Playwright e2e tests in apps/web/e2e/ and verified them with make test-e2e.
  • I checked whether this affects public docs in docs/public/** and updated them or noted why no docs change is needed.

Summary by cubic

Improves the GitHub status briefing modal to prioritize affected services and impact, quiet healthy rows, and adds a labeled Refresh control with busy/error feedback and accurate cache age.

  • Reorders the modal: impact summary, affected services first, then quieter healthy services and full incident updates.
  • Adds a Refresh control that shows loading/error states and reports when the provider data was last fetched.
  • Introduces a localization (i18n) catalog and a browser-based demo harness.
  • Adds a specification catalog, lint config, and plan docs for the incident briefing feature.

Validation consists of 18 Node UI tests, 14 Playwright browser tests, and a spec lint pass.

Screenshots

Actual plugin UI in the browser harness with sample provider data.

Desktop briefing

Phone briefing