Files
upstream-mirror 93ecc1a6f8
Some checks failed
✅ Check / 🔬 ESLint (push) Failing after 21s
✅ Check / 🏷️ Typecheck (push) Failing after 11s
✅ Check / 🔎 Test (push) Failing after 11s
✅ Check / e2e-test (push) Failing after 11s
✅ Check / 🔨 Build (push) Failing after 11s
🚀 Deploy / 🚀 Deploy (doc) (push) Failing after 12s
🚀 Deploy / 🚀 Deploy (demo) (push) Failing after 12s
🚀 Deploy / 🚀 Deploy (supabase) (push) Failing after 18s
snapshot of https://github.com/marmelab/atomic-crm.git (main, 2026-09-18; blobs > 131072B omitted)
2026-09-18 01:48:50 +05:00

30 lines
1.5 KiB
Markdown

# Supabase deploy adapter
This adapter provides the harness's optional **deploy phase**: the deploy-time SQL
migration round (STATE PD-* in the orchestrator). It is a pluggable capability
under the optionality model:
- The phase exists **iff** `harness.config.json` has a `deploy` block whose
`adapter` is `supabase`. Remove that block and a schema-free feature runs end
to end with no PD state and no migration mention (the orchestrator terminates
at promotion; `pending-deploys.mjs` short-circuits to "nothing to deploy").
- What the adapter provides is declared in `manifest.json`: the detection script,
the generate skill, the apply script, the review mode, the write-guard hook, and
the e2e-smoke script.
## Deploy-relevance
`config.deploy.relevantGlobs` (`supabase/**`) is the single definition of a
deploy-relevant path, shared by `pending-deploys.mjs`, the orchestrator's
SIMPLE-review gate, and the planner's schema wording. A real migration always
requires a change under these globs (that is where the declarative DDL lives, and
`supabase db diff` only fires on it), so the globs are both necessary and
sufficient to decide whether to offer the migration round.
## File locations (Phase B)
The adapter's files still live at their discoverable locations
(`.claude/skills/writing-migrations`, `.claude/scripts/*`, `.claude/hooks/block-migration-writes.mjs`)
because Claude Code discovers skills only under `.claude/skills/`. `manifest.json`
declares the boundary by pointing at them.