mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-09 05:24:49 +09:00
Plan 75 §A2. Four dishonest shapes across doctor/drift/fleet, all converting a failed probe into a determined-looking answer: - except: return []/None/False whose empty result is indistinguishable from a determined negative: a broken Domain query rendered green 'No public site domains to check'; a whole doctor section (setup, extensions) vanished silently on failure; an uninspectable app was dropped from the drift sweep, reading as 'in sync' by omission. - Resolver errors impersonating NXDOMAIN: any getaddrinfo failure reported 'does not resolve', offered repair, and paged admins about domains 'newly stopped resolving' during what was a panel-side DNS outage. Only EAI_NONAME/EAI_NODATA is an unresolved domain now. - Unknown -> False -> 'Not running': a missing systemctl (container, non-systemd init) read as a repairable fail; a failed docker probe read as a green 'Not installed — Minimal profile'; a fleet agent that returned no state for a unit persisted fail 'Not running.' - Fleet default-to-ok: missing status persisted and counted as ok (STATUS_ERROR existed and was never emitted); a failed/timed-out sweep left the server's last all-ok rows standing as current health — a synthetic error row now records that this run couldn't check. Two existing tests changed: one pinned the dishonest behavior itself (is_active False on missing systemctl), one faked NXDOMAIN with a single-arg gaierror (errno=None) — fixture corrected to the real two-arg form, expectation unchanged.