Skip to main content
Infra — one of eleven Studios

Change, applied, audited.

Railway, Vercel, Supabase, and Cloudflare deployments treated like productions — plan diff, gates, rollback snapshot, receipt. A staging-to-production airlock requires 10 minutes of clean staging plus a second approver. Every apply pins a 72-hour snapshot; reverts run from the pin as a deterministic operation with its own receipt.

What you can do

Infra verbs, shipped today.

Every item below is a real Copilot verb wired into the Studio surface. No roadmap, no asterisks.

PLAN_CHANGE
Plan Change
Compute a Terraform-style diff for a described change. No side effects, returns a plan id.
APPLY_PLAN
Apply Plan
Execute a planned change. The apply log streams live events into the surface.
ROLLBACK
Rollback
Revert to a pinned snapshot. Deterministic, no manual steps, its own receipt.
PROMOTE_TO_PRODUCTION
Promote to Production
Airlock-gated staging→prod copy. Requires staging clean and a second approver.
SWITCH_ENV
Switch Environment
Hop between staging, production, and preview-pr-N environments.
ADD_PREVIEW_ENV
Add Preview Env
Spin up an ephemeral environment scoped to a branch.
INSPECT_SERVICE
Inspect Service
Open the detail drawer — env vars, logs link, metrics, connector health.
VIEW_COSTS
View Costs
Live spend, projected monthly, per-service attribution, budget alerts.
LIST_MIGRATIONS
List Migrations
Enumerate schema migrations by status (pending / applied / failed / rolled_back).
APPLY_MIGRATION
Apply Migration
Run a planned SQL migration. Destructive SQL requires explicit confirmation in the UI.
ROLLBACK_MIGRATION
Rollback Migration
Re-run the rollback SQL. Data lost to DROP/TRUNCATE cannot be recovered.
EXPORT_IAC
Export IaC
Emit Terraform HCL or Pulumi TypeScript for the declared state of an environment.
EMIT_KUBERNETES
Emit Kubernetes
Render Deployment / Service / HPA / Ingress / ConfigMap / Secret manifests.
SCAN_DRIFT
Scan Drift
Compare declared vs actual state per service. Returns a field-level drift report.
ROTATE_SECRET
Rotate Secret
Metadata only — Infra never sees the secret value; rotation is handed off to vault.
CONFIGURE_PROVIDER
Configure Provider
Open credentials modal for AWS / GCP / Azure / DigitalOcean / Vercel / Cloudflare / K8s / Railway.
RECONCILE_SERVICE
Reconcile Service
declared_wins pushes IaC to provider; actual_wins imports provider state into IaC.
Gate profile

Delivery is measured, not asserted.

Every gate result is written to the production's chain of custody.

Plan valid
Terraform / provider plan parses and references real resources.
plan_valid
No secrets exposed
The plan diff is scrubbed for credentials before it renders.
no_secrets_exposed
Cost delta within budget
cost_delta
Rollback captured
Every apply pins a snapshot for 72 hours; no one-way destructive operations.
rollback_captured
RLS preserved
Supabase row-level security is checked before and after apply. Unintended changes are flagged.
rls_preserved
Services healthy post-apply
services_healthy
Audit event logged
audit_logged
Change reversibility (on every apply)PATCH GATE
Every applied change must have a captured rollback. Patch gate blocks apply when the snapshot cannot be pinned.
change_reversibility
Patch gate for this Studio: infra_change_reversibility
Cost footprint

Tokens, published before you click run.

One bucket for every Studio. The range below is for a typical request; the exact number prints on the receipt the moment the generation settles.

2,0005,000tokens · plan + apply (rollback is free)
Rates come from shared/tenant_tiers.py. Free tier ships with 500,000 tokens; overage billed at $0.025/1K on Pro, $0.020/1K on Team, or covered by the Enterprise quote.
Continuation

Every output ships with a purple chip.

You stop managing the handoff.

DELIVERED · INFRA · CONTINUES TO →
Every apply emits an audit event; the 72-hour snapshot and the plan diff are attached to the receipt so a regulator, an on-call, or next week's you can replay the exact decision. Every production is visible from Flow, the project-wide board.

Try Infra — free.

Describe the outcome — the loop runs until the work is done, receipted, and ready for whatever comes next.