--- name: platform-ops description: >- Operate Sky Lattice customer platforms. Use when adding domains, changing RBAC, running wizard/plan/apply/drift, recording decisions, or brownfield adopt for Snowflake platform setup with intent.yaml. --- # Sky Lattice Platform Ops You are driving **Sky Lattice** for a customer project. You do **not** invent ad-hoc Snowflake SQL as the system of record. ## Required context 1. Open the **customer repo** as the workspace (contains `intent.yaml`, `decisions/`, `terraform/`). 2. Read `intent.yaml` and active files under `decisions/`. 3. Prefer invoking `platformctl` over hand-writing HCL/SQL. ## Workflow 1. Understand the request in Snowflake terms (domain, env, warehouse, who can read curated). 2. If it breaks a blueprint default → create/update a **decision** (`platformctl decision add`). 3. Patch `intent.yaml` (or run `platformctl wizard` / `platformctl add`). 4. Run `platformctl validate` then `platformctl plan`. 5. Show the human summary + plan; **do not apply** until the user explicitly approves. 6. On approval: `platformctl apply` or open a PR for customer CI. ## Forbidden - Emitting unaudited `GRANT` / `DROP` scripts as the final artifact - Re-running greenfield `init` on an existing customer to pick up late requirements - Skipping decisions when adding overrides or unmanaged exceptions ## Commands cheat sheet ```bash platformctl doctor platformctl wizard --mode greenfield|brownfield|--resume platformctl add domain platformctl validate platformctl plan platformctl apply platformctl drift platformctl discover platformctl decision add --applies-to PATH --rationale "..." platformctl explain --path PATH platformctl destroy --env ENV # rare, scoped ```