Step 3 of 6 in the KYAML adoption order fixed by 3-practice/YAML-POLICY.adoc §5.
Blocked by #1021.
Work
A KYAML formatter/linter for arbitrary YAML, or an adopted third-party one.
Gate (§5)
Formats and checks a file without kubectl; passes step 2's proof.
Why this blocks a mandate
§3.3 precondition 2: there is no such tool today outside kubectl -o kyaml,
which emits Kubernetes resources, not arbitrary YAML. A style rule with no
tool behind it cannot be gated — only asserted — and an unenforceable rule in
this estate has a known outcome.
Acceptance criteria
🤖 Generated with Claude Code
https://claude.ai/code/session_01WRvDivYwLSeVCJUrfjic3f
Step 3 of 6 in the KYAML adoption order fixed by
3-practice/YAML-POLICY.adoc§5.Blocked by #1021.
Work
A KYAML formatter/linter for arbitrary YAML, or an adopted third-party one.
Gate (§5)
Why this blocks a mandate
§3.3 precondition 2: there is no such tool today outside
kubectl -o kyaml,which emits Kubernetes resources, not arbitrary YAML. A style rule with no
tool behind it cannot be gated — only asserted — and an unenforceable rule in
this estate has a known outcome.
Acceptance criteria
kubectl.--checkmode that exits non-zero ondrift, so it can be a gate and not merely a suggestion.
yq, nevergrep(Y-1, in force).a third-party action under a 0-pattern allow-list dies at startup with
jobs=0.only accept good ones.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WRvDivYwLSeVCJUrfjic3f