Builds

Pipeline: clone → detect → build → push image → deploy → healthcheck.

Statuses: queued, building, deploying, healthy, failed, cancelled.

Logs stream live over WebSocket and persist for download.