feat(health): register quick search checks with core central health #57

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

Summary

Registers Quick Search's OpenSearch, backlog and per-index health checks with the core health registry. They reuse StatusDiagnostics and the status cache, with reads bounded by the check deadline.

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

  • quick_search.opensearch: DEPENDENCY, 60s. Red is DOWN, yellow DEGRADED, disabled UNKNOWN.
  • quick_search.backlog: DEPENDENCY, 60s. Any exhausted events, more than 100 pending, or indexing paused is DEGRADED.
  • quick_search.index.<name>: DEPENDENCY, 60s, one per index. A count mismatch or last error is DEGRADED.

Removed or changed: nothing. GET /qbit/quick-search/status, the diagnostics widget and the developer panel stay. Indexes outside the 100-row diagnostics snapshot report UNKNOWN.

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

35 new health tests; 522 tests in total pass. Integration tests that need Docker are skipped locally.
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 Quick Search's OpenSearch, backlog and per-index health checks with the core health registry. They reuse `StatusDiagnostics` and the status cache, with reads bounded by the check deadline. 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** - `quick_search.opensearch`: DEPENDENCY, 60s. Red is DOWN, yellow DEGRADED, disabled UNKNOWN. - `quick_search.backlog`: DEPENDENCY, 60s. Any exhausted events, more than 100 pending, or indexing paused is DEGRADED. - `quick_search.index.<name>`: DEPENDENCY, 60s, one per index. A count mismatch or last error is DEGRADED. **Removed or changed:** nothing. `GET /qbit/quick-search/status`, the diagnostics widget and the developer panel stay. Indexes outside the 100-row diagnostics snapshot report UNKNOWN. 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 35 new health tests; 522 tests in total pass. Integration tests that need Docker are skipped locally. 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.