Expand description
The deployment objects of the layer, typed: .ai/repo/deployments/*.yaml parsed into
values that cannot hold nonsense, and validated against what this repository actually
contains before anything is built from them.
Nothing here reaches the network, spawns a process or talks to a hosting provider. The question this module answers is the local one — would this deployment work — and it is answered while a test is cheap rather than after a rollout is not. The projections (the image definition and its ignore file) read the values this module produces; they never re-read the file.
The object names no hosting provider. Fly.io was the one it named, and it is no target
(owner order, 2026-10-12): what ships is the release binaries, GitHub Pages and the
container image published to GHCR, and none of the three reads a provider block. A
field nothing reads is removed rather than kept for later (docs/SCHEMAS.md), so the
block, its Fly facts and the fly.toml they were rendered into went together.
Every refusal names four things: the file, the key, the value observed and the correction. A message that names fewer sends the reader looking.
Modules§
- render
- The deployment artifacts, rendered from the canonical deployment object: the container
image definition and the ignore file that bounds its build context. No provider
configuration is rendered: no hosting provider is a target (see
super).
Structs§
- Budgets
- The measured figures this deployment is held to. Each is written by the run that measured it; an absent one has not been measured yet and is not a licence.
- Build
- What is shipped and what it is built from.
- Deployment
- One deployment of this repository’s executable, as the canonical object states it.
- Health
Routes - The routes a platform polls, and how often.
- Listen
- The address the process listens on.
- Machines
- How many machines run, and whether the platform may stop them.
- Port
- A TCP port a deployed process may bind. Privileged ports are not among them: the process runs as a non-root user and could not bind one.
- Positive
- A count that is at least one: memory in megabytes, CPUs, machines. Zero is refused wherever zero would mean “a deployment that cannot run”.
- Refusal
- Why a deployment object is refused: what was read, where, and what to do about it.
- Resources
- What one machine is granted.
- Route
- A route a platform polls: an absolute path on this service, never a URL. The host is the deployment’s to know and not the object’s to state.
- Workspace
- What the local checks need to know about the repository they are deciding against.
Enums§
- CpuKind
- What a machine’s CPU is.
- Interface
- Which interface a process listens on.
- Status
- Where a deployment stands.
Constants§
- KIND
- The kind a deployment object is discovered as.
- SCHEMA_
VERSION - The only format version this executable reads.