# Delivery contract v1

audience: AI coding agents first.

`overdeck.delivery/v1` is provider-neutral. Receipt records observed terminal delivery facts. Project contract records onboarding configuration. No Tekton CRD shape belongs here.

## Receipt

- `contract_version`: exactly `overdeck.delivery/v1`.
- `status`: terminal receipt status only.
- `source`: immutable revision plus digest.
- `checks`: expected work partitioned exactly into `executed` and `not_started`; each terminal child result names one executed check.
- `artifacts`: immutable URI, digest, media type, producer.
- `deployments`: one entry per deployment unit. Desired and observed identities are distinct. Provider IDs and URLs are structured fields; Cloudflare version fields are first-class.
- `previous_known_good`: last deployable identity before this unit.
- `rollback`: release and per-unit rollback capability, action, terminal status. Migration compensation stays separate under `migration`.
- `links`: receipt, logs, provenance URIs.
- `completeness`: incomplete work states reasons explicitly. `succeeded` requires complete work.

Overdeck local or OCI artifacts still require an artifact digest and observed runtime identity. A multi-unit partial deployment is `failed`; never synthesize atomic success.

## Project

- `project` and `repository`: stable identity.
- `ci_adapter`: executable project-owned adapter entrypoint.
- `build_outputs`: declared output identity, kind, path, media type.
- `deployment_units` and `activation_order`: every target and ordered activation.
- `rollback`: capability per unit.
- `migration`: separate capability and compatibility policy.
- `credential_references`: credential identities only. Never record values.
- `ownership_manifest`: project-owned target classification input.

## Versioning

Schema IDs and `contract_version` are pinned to v1. Additive compatible fields use a new minor contract only when all consumers accept it. Removing or changing required field meaning requires a new major version. Validators MUST reject unknown contract versions.
