Mapping · 03 of 07 · The contract
Five blocks, each driving one part of the pipeline. Only build is required, and only its agent field inside it. The file is validated against a JSON Schema on every run.
Scaffolded, not hand-written
Airframe commits a minimal, build-only cicd.yaml when an app is onboarded, so the first push already runs a pipeline (ADR-0017).
What it cannot say
Identity (app name, gitops repo, owner) lives in an operator-reviewed identity file, never in cicd.yaml. The schema rejects it, so a developer's commit can never change where a release goes.
Honest toggles
governance.sast runs a real Semgrep scan; each gate says whether it is real or a stub, and a stub never reports as a pass.