Applying
Show the whole prompt
Read https://intentius.io/chant/lexicons/cpln/applying/.
Run `npx chant build` and `npx chant lint src` until both pass, and check that `dist/cpln.yaml` holds only authoring fields, GVCs first.
Open a pull request with the source and the built file, and print the `cpln apply --file dist/cpln.yaml --ready` command for me to run; do not run `cpln apply` yourself.
Never deploy to a real cloud account or shared environment (with `chant run`, `chant components` or a platform's own CLI), approve (a pull request review, `chant approve` or `chant run approve`), override a policy denial (`chant approve policy-override`), or merge; never cut or publish a release (`chant release cut --yes` or `chant release publish`), push or delete a `ci/*` tag (`chant ci tick` pushes them), or change the value of an existing flag; never touch `.chant/allowed_signers` or `chant/lifecycle`.Optional: hand this page to your coding agent
Read https://intentius.io/chant/lexicons/cpln/applying/.Run `npx chant build` and `npx chant lint src` until both pass, and check that `dist/cpln.yaml` holds only authoring fields, GVCs first.Open a pull request with the source and the built file, and print the `cpln apply --file dist/cpln.yaml --ready` command for me to run; do not run `cpln apply` yourself.Never deploy to a real cloud account or shared environment (with `chant run`, `chant components` or a platform's own CLI), approve (a pull request review, `chant approve` or `chant run approve`), override a policy denial (`chant approve policy-override`), or merge; never cut or publish a release (`chant release cut --yes` or `chant release publish`), push or delete a `ci/*` tag (`chant ci tick` pushes them), or change the value of an existing flag; never touch `.chant/allowed_signers` or `chant/lifecycle`.chant build emits one multi-document YAML file for cpln apply.
kind: gvcname: prodtags: chant.intentius.io/managed-by: chantspec: staticPlacement: locationLinks: - /org/acme/location/aws-us-east-1
---kind: workloadname: webgvc: prodtags: chant.intentius.io/managed-by: chantspec: type: serverless containers: - name: main image: nginx:1.27Apply it:
cpln apply --file dist/cpln.yaml --readyNotes on the output
Section titled “Notes on the output”Only authoring surface is emitted. Control Plane’s guidance is to export with -o yaml-slim rather than -o yaml before re-applying, because the server-side fields (status, id, created, lastModified, links) break cpln apply. This lexicon models them as attributes, not properties, so they never reach a document. What you declare is already the slim shape.
Ordering is resolved by cpln apply for a multi-document file, so apply the whole file in one call. Documents are still emitted GVC-first and sorted within a kind, so the file diffs cleanly between builds.
--ready does not fail fast on terminal container errors: a non-zero exit
===, an image pull failure, a crashloop. On a misconfigured first deploy it sits through its full timeout while the container is dead. For first deploys and workload type migrations, Control Plane documents a patience-windowed pattern instead.