feat(health): register CDN provider checks with core central health #22

Merged
KofTwentyTwo merged 4 commits from feature/health-checks into develop 2026-10-15 02:27:01 +00:00
KofTwentyTwo commented 2026-10-14 20:01:04 +00:00 (Migrated from github.com)

Summary

Registers one health check per enabled CDN provider with the core health registry, using CdnOperations.connectionTest.

This is the qbit side of QQQ central health monitoring (spec docs/specs/HEALTH.md, QRun-IO/qqq#1199; kernel QRun-IO/qqq#1207).

Checks registered

  • cdn.provider.<id>: DEPENDENCY/CDN, 900s, 20s timeout. A failed connection test is DOWN. A missing origin header is DEGRADED. Details are the provider type, status and originHeaderConfigured (a boolean only).

Removed or changed: the cdnHealthCard HTML widget, its renderer, summary logic, tests and docs (it was a guardrail G5 violation and a duplicate), and the connection test inside ScheduledDriftStep. Daily drift, cdnTestConnection and the lastHealth* fields are kept.

Secrets, credentials, recipients, prompts and PHI never go into details. A sentinel test covers every check's failure paths.

QQQ 4.1.0-RC.8

This PR pins QQQ 4.1.0-RC.8, which ships the central health kernel (QRun-IO/qqq#1207), and merges in develop (help bundles, foreign keys). The merge conflicts are resolved so that both sides are kept.

Tests

7 new health tests; 100 tests in total pass. Checkstyle is clean. Coverage is 95.9% of instructions and 100% of classes.
Local build: ./mvnw -o verify -Denforcer.skipRules=requireReleaseDeps against RC.8.

Codex implemented this from the spec. I reviewed it.

🤖 Generated with Claude Code

## Summary Registers one health check per enabled CDN provider with the core health registry, using `CdnOperations.connectionTest`. This is the qbit side of QQQ central health monitoring (spec `docs/specs/HEALTH.md`, QRun-IO/qqq#1199; kernel QRun-IO/qqq#1207). **Checks registered** - `cdn.provider.<id>`: DEPENDENCY/CDN, 900s, 20s timeout. A failed connection test is DOWN. A missing origin header is DEGRADED. Details are the provider type, status and `originHeaderConfigured` (a boolean only). **Removed or changed:** the `cdnHealthCard` HTML widget, its renderer, summary logic, tests and docs (it was a guardrail G5 violation and a duplicate), and the connection test inside `ScheduledDriftStep`. Daily drift, `cdnTestConnection` and the `lastHealth*` fields are kept. Secrets, credentials, recipients, prompts and PHI never go into details. A sentinel test covers every check's failure paths. ## QQQ 4.1.0-RC.8 This PR pins QQQ 4.1.0-RC.8, which ships the central health kernel (QRun-IO/qqq#1207), and merges in develop (help bundles, foreign keys). The merge conflicts are resolved so that both sides are kept. ## Tests 7 new health tests; 100 tests in total pass. Checkstyle is clean. Coverage is 95.9% of instructions and 100% of classes. Local build: `./mvnw -o verify -Denforcer.skipRules=requireReleaseDeps` against RC.8. Codex implemented this from the spec. I reviewed it. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.