Argo Workflows API types — a hand-owned, curated subset.
We only emit a narrow, stable slice of Argo (WorkflowTemplate/Workflow;
templates with container/dag/steps; artifacts/volumes/params/
nodeSelector/SA). These are plain serde structs (no protobuf/prost):
the IDL bought us nothing here, and conformance is guarded empirically
by the kind e2e (scripts/e2e-test.sh) running against a real Argo.
Serialization rules (so the emitted YAML is Argo-correct):
every struct is rename_all = "camelCase", every field is
skip_serializing_if = "ser::skip" (omit empties) + default (for
round-trip deserialization).