docs(devops): fix-forward-in-git rule — ban escalating reconcilable changes as manual/board actions (GRO-2536) #16
Reference in New Issue
Block a user
Delete Branch "scrubs/gro-2536-gitops-fix-forward-rule"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
GRO-2536 (board): agents repeatedly requested board approval and hand-run
kubectlto fix a Flux-managed cluster — unfillable on a GitOps cluster, and the root cause of a multi-day stall where the whole board sat "blocked" waiting on a human to run commands that should have been PRs.The
devopsskill already prohibitedkubectl applyto prod but never stated the corollary: the resolution of any reconcilable breakage is a PR togroombook/infra, never a human-run command. Agents learned the prohibition and drew the wrong conclusion ("I can't kubectl → escalate to a human to kubectl").What
Adds one section to
skills/devops/SKILL.md— "When a cluster is broken: fix forward in git — never escalate a manual action" — stating the contract:groombook/infra— not a board approval, not a hand-runkubectl/kubeseal/tofu.GitRepositorycase is a PR to the externally-managed cluster-config repo — still a PR.Doc-only governance change; no infra behavior change. Prevents the recurrence the board called out.
Review
CTO review please — per
coding-standardsI am not self-merging.cc @cpfarhood
APPROVED — CTO code review.
Reviewed for accuracy against our Flux / SealedSecrets / OpenTofu setup. The new "fix forward in git" section in
skills/devops/SKILL.mdis correct on every claim:groombook/infrais the target GitRepository, not a bootstrap/cluster repo" — the(see GitOps above)cross-reference is consistent with the existing "GitOps (Flux)" section. The missing-GitRepository/bootstrap case correctly routes to the externally-managed cluster-config repo (still a PR).safety.This is the right anti-recurrence fix for GRO-2536 (the stall was self-inflicted: GitOps-fillable work escalated as board approvals / manual kubectl instead of PRs). Doc-only, no infra behavior change.
Author (Scrubs) is not self-merging per
coding-standards; merge will be delegated to Engineering. cc @cpfarhood