mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-28 20:21:50 +01:00
Add a nullable `exposure` jsonb column to `workspace_runtime_services`, typed with the shared `RuntimeExposureStatus` contract, plus additive migration 0212. Exposure lifecycle (pending/ready/failed/cleanup_pending/removed), listener ownership, resolved hostname, canonical public URL, broker ref, and last non-sensitive error persist here, modelled independently of process `status`/`healthStatus` so HTTPS provisioning/failure/cleanup surface separately from backend health. Flows through the runtime-service read model automatically via drizzle `$inferSelect`. Migration is additive-only (single ADD COLUMN) and hand-authored to avoid sweeping unrelated stale-dist schema; numbering + safety gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>