Registers one health check per object-storage connection. It reuses CapabilityProbe in a deadline-aware, read-only mode: no write or presign probes, and no capability rows are stored.
object_storage.connection.<id>: DEPENDENCY/STORAGE, 300s, 20s timeout. A connection problem (auth, TLS, DNS, clock) is DOWN with the problem kind as a detail. Clock skew over 900s is DEGRADED. A connection with no buckets is UNKNOWN.
Removed or changed: nothing. Both Test connection actions stay, including the on-demand write tests. A check is turned off in the central health_check table, so there is no new column on this qbit's tables.
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.
Stand-ins: RC.8 still lacks the core replacement (qqq#1165) for the two STAND-IN shims, so their removeBy moved from RC.8 to RC.9.
Tests
12 new health tests pass. Locally, the full run skips Docker-backed tests, and the G4 shim-expiry checks fail against the SNAPSHOT; both are environmental. CI runs them.
Local build: ./mvnw -o verify -Denforcer.skipRules=requireReleaseDeps against RC.8.
Codex implemented this from the spec. I reviewed it and removed a per-connection enabled column Codex had added (schema change, duplicates health_check.enabled).
## Summary
Registers one health check per object-storage connection. It reuses `CapabilityProbe` in a deadline-aware, read-only mode: no write or presign probes, and no capability rows are stored.
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**
- `object_storage.connection.<id>`: DEPENDENCY/STORAGE, 300s, 20s timeout. A connection problem (auth, TLS, DNS, clock) is DOWN with the problem kind as a detail. Clock skew over 900s is DEGRADED. A connection with no buckets is UNKNOWN.
**Removed or changed:** nothing. Both Test connection actions stay, including the on-demand write tests. A check is turned off in the central `health_check` table, so there is no new column on this qbit's tables.
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.
**Stand-ins:** RC.8 still lacks the core replacement (qqq#1165) for the two `STAND-IN` shims, so their `removeBy` moved from RC.8 to RC.9.
## Tests
12 new health tests pass. Locally, the full run skips Docker-backed tests, and the G4 shim-expiry checks fail against the SNAPSHOT; both are environmental. CI runs them.
Local build: `./mvnw -o verify -Denforcer.skipRules=requireReleaseDeps` against RC.8.
Codex implemented this from the spec. I reviewed it and removed a per-connection `enabled` column Codex had added (schema change, duplicates `health_check.enabled`).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Registers one health check per object-storage connection. It reuses
CapabilityProbein a deadline-aware, read-only mode: no write or presign probes, and no capability rows are stored.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
object_storage.connection.<id>: DEPENDENCY/STORAGE, 300s, 20s timeout. A connection problem (auth, TLS, DNS, clock) is DOWN with the problem kind as a detail. Clock skew over 900s is DEGRADED. A connection with no buckets is UNKNOWN.Removed or changed: nothing. Both Test connection actions stay, including the on-demand write tests. A check is turned off in the central
health_checktable, so there is no new column on this qbit's tables.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.
Stand-ins: RC.8 still lacks the core replacement (qqq#1165) for the two
STAND-INshims, so theirremoveBymoved from RC.8 to RC.9.Tests
12 new health tests pass. Locally, the full run skips Docker-backed tests, and the G4 shim-expiry checks fail against the SNAPSHOT; both are environmental. CI runs them.
Local build:
./mvnw -o verify -Denforcer.skipRules=requireReleaseDepsagainst RC.8.Codex implemented this from the spec. I reviewed it and removed a per-connection
enabledcolumn Codex had added (schema change, duplicateshealth_check.enabled).🤖 Generated with Claude Code