WHO OWNS THIS CODE?
AI made writing code dirt cheap. But owning the thing? That bill still costs an arm and a leg. And that's exactly where the interesting part of how Kubernetes is putting guardrails on AI contributions lives — required reading for any platform team, no excuses.
This week I went deep on three of their docs: the "maintainership in the age of AI" post, the AI contribution policy, and the governance doc for bringing AI review tools into the game. Same conversation, just in three layers.
A few things that stuck with me:
The gate is the conversation, not the code itself. The policy lets you use AI to write your PR, no problem — but when you reply to the reviewer, that's gotta be you, by hand, no AI. And if you can't explain why you made a change, the PR gets closed, end of story. You can't glance at a diff and know whether a real human understands it. But get them talking, and that's where you separate the grown-ups from the kids — that's where the truth comes out.
Govern by capability, not by "AI" in general. The policy covers PR review only, CI/CD and code generation were left out, on purpose. Different authority, different blast radius, different gate. Right tool, right job.
Enable at the center, tune at the edge, kill at the center: the tool is turned on org-wide with a default config, repos get their fine-tuning within limits, and any lead can request it be shut off whenever, no drama.
And here's the kicker, real talk: their "approved tools" list is still EMPTY. That's right. Even Kubernetes ships AI faster than its own governance can stamp it as approved. If it happens to them, imagine the rest of us.
And that's the lesson for anyone heading toward agents with real authority, apply permissions, auto-remediation, GitOps enforcement. The question isn't "should we use AI." It's "who takes the heat when the agent acts, and can they explain what happened." Design that gate BEFORE you hand over the car keys, trust me.
#ai #agent #code #aiagent #coding #kubernetes #kubectl #kube #k8s
I wired every AI surface I use, web, CLI, custom agents, onto one shared memory store so they stop re-explaining context to each other. Visibility solved half the problem. The other half was scoping what each agent could actually write, since a shared memory layer is also a shared blast radius if every agent has the same permissions. Governance dashboards rarely show that axis.