---
name: premium
version: 1.0.0
description: "Handle Premium runtime and Premium/Essential V2 API semantics. Use for Premium readiness or diagnosis, or when selecting an operation, method, path, base-URL mode, sensitivity boundary, and cleanup expectation from the current Premium API surface."
metadata:
  requires:
    bins: ["cp9"]
  cliHelp: "cp9 cmd status; cp9 cmd logs"
---

# Premium

Read [`../get-started/SKILL.md`](../get-started/SKILL.md) for session routing and [`../get-started/references/safety-and-ownership.md`](../get-started/references/safety-and-ownership.md) before mutation.

Premium runs inside Remote Dev full. Start from the root [`cp9.dev-full.remote-ec2-k3d.example.yaml`](../../cp9.dev-full.remote-ec2-k3d.example.yaml); its comments own all config choices. Essential V2 shares this API family but requires its own `cp9 essential-v2 status` readiness result.

## API Reference

Use [`references/operation-map.md`](references/operation-map.md) to choose the swagger source, operation ID, method, path, and base-URL mode. The map is a lookup, not an executable workflow. Re-read the cited current swagger before a mutating request because request schemas and availability can change independently of this repository.

Before any request, resolve:

1. Exact environment, organization/project, base URL, operation ID, and target resource IDs.
2. Read-only, mutating, or destructive classification; expected response and terminal state.
3. Secret source, rollback or exact-delete plan, and pre/post read-back evidence.

Read-only calls stay within the requested account/project. A mutating or destructive call requires explicit task authority and exact targets. Keep API keys, passwords, connection profiles, object-store locations, certificates, Authorization headers, and raw traces out of commits and chat.

## Runtime And Diagnosis

- Require top-level `cp9 status=ready` before product calls. For Essential V2, also require `cp9 essential-v2 status=ready`.
- Start diagnosis with JSON `cp9 status`, the failing response/trace supplied by the task, and bounded `cp9 logs`; do not infer product success from infrastructure readiness.
- Public SQL is ready only when the API-returned customer hostname resolves, the client CIDR is allowed, a MySQL handshake succeeds, and `select 1` returns `1`. Do not replace the customer hostname with a backing load balancer.
- A restored cluster needs the same DNS/MySQL gate before marker verification.
- Console list queries use `orgId` and `projectId`; snake-case variants are not equivalent.
- Kernel image changes use [`../get-started/references/change-kernel-images.md`](../get-started/references/change-kernel-images.md), not API configuration updates.

## Completion

Report the exact operation and observed state, separate unverified dimensions, and close the Session through `cp9 destroy` when the task owns the environment lifecycle.

## References

- [`references/operation-map.md`](references/operation-map.md)
- [`../essential-v2/SKILL.md`](../essential-v2/SKILL.md)
- [`../get-started/references/dev-full-aws-runtime.md`](../get-started/references/dev-full-aws-runtime.md)
- [`../get-started/references/change-kernel-images.md`](../get-started/references/change-kernel-images.md)
