All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
Part of #869 (Point-1 C5). Adds runLeaseEnforcementDoctorCheck(), which detects whether the Claude Code enforcement hooks (mutator-gate.py / receipt-observer-client.py) are wired in ~/.claude/settings.json and, if so, reuses C1's leaseEnforcementActivatable() and C3's checkBrokerSupervisorHealth() to determine whether activation could actually satisfy enforcement right now. Wired-but-not-activatable/unhealthy reports a LOUD [mosaic-doctor] [ERROR] (forces mosaic doctor to exit non-zero even if the underlying bash audit script is green); not-wired or wired-and-healthy both pass silently, matching this file's existing checkMosaicHome/checkFile conventions. Red-first unit tests inject every dependency (settings read, activation probe, broker-health check) — no real ~/.claude/settings.json or broker is ever touched.