Around 70% of the Rails code I ship is AI-written. The 30% I keep under my own hands is the part that names the system: what things are, who is allowed to do what with them, where value moves between them. Any AI agent will generate code faster than anyone can read it. The project vernacular has to stay in someone's head, and that someone is me.
One important takeaway from one year of intense agentic coding: The code was never the asset; the vocabulary was. Everything downstream of the labels we give concepts is a commodity. The implementation, the tests against them, the bug fixes when something breaks, those are all expendable. The naming is the part you cannot outsource without becoming a stranger in your own product.
If I cannot explain them in an elevator pitch, I cannot reason about the product. That is the part of the work I keep.
What I own: the spec
The 30% I keep is mainly the spec. Concretely: the end-to-end test that names what success looks like for the user, the test that names the rules of access, sometimes a focused test that names the contract for one piece of the system. Different idioms, same job. Each makes a name precise enough that the implementation can follow. The behavior is the product. Implementation is exchangeable.







