feat(canopy-api): production hardening — liveness/readiness separation, HSTS, admin replay
External review (2026-05-09) found CRAIG has more robust API-server behavior canopy should adopt:
- Separate
/healthz(liveness — process alive) from/readyz(readiness — dependencies up). Today canopy collapses both into/healthz. K8s and similar orchestrators behave better with separation. - HSTS header on all responses.
- Admin replay hooks for failed event processing (paired with #DLQ-issue).
References: craig-api/src/lib.rs:91, :150, :311.
Refs
External review (2026-05-09).