[01]
Managed: platform applies, platform tracks.
For dev and early-stage apps, let the platform do the whole cycle. The schema agent writes DDL, the runner applies it, the ledger records it — all in one orchestrated run.
- Zero-config default for new apps
- Generated DDL is idempotent + reversible
- Every apply is atomic + captured in the audit log
generated DDL — idempotent by constructionsql
-- 144_customer_health_score.sql -- Generated by schema agent · iter_4f19 · 2026-04-18 BEGIN; CREATE TABLE IF NOT EXISTS customer_health_score ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), customer_id UUID NOT NULL REFERENCES customer(id) ON DELETE CASCADE, score SMALLINT NOT NULL CHECK (score BETWEEN 0 AND 100), recorded_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS ix_chs_customer_id ON customer_health_score(customer_id); COMMIT;