The Aristotle Moment
Prompt engineering was Pre-Socratic. The belief was that the right formulation would unlock the model. Get the words exactly right and the system responds correctly. The Pre-Socratics spent centuries arguing about what the fundamental stuff of the universe was. They were not wrong to ask. They were wrong to think the answer was in the formulation. It never is.
Vibe coding was Socratic. Socrates did not hand people correct formulations. He asked questions, got responses, pushed back, asked again. Understanding emerged through dialogue, not through getting it right on the first try. Wittgenstein formalized why this works two thousand years later: "the meaning of a word is its use in the language." But Socrates was already doing it in the agora. The practice came before the theory. It usually does.
Now we are in the agentic phase. The work is building the harness, the scaffolding that organizes the model's reasoning across steps, tools, loops, and failures. This is the Aristotelian moment. Aristotle's works on logic were not a theory of reasoning. They were infrastructure for doing reasoning reliably. The harness is ours.
Gödel and Wittgenstein Are the Same Insight
Gödel showed that any consistent formal system powerful enough to be interesting contains truths it cannot prove from within itself. If the system is consistent, it is incomplete. Wittgenstein arrived at the same place from language: no rule determines its own application. You can interpret a rule, then interpret the interpretation, and the chain never bottoms out. The rules of a language game cannot fully specify what correct play looks like. If the game is consistent, it is incomplete.
These are not separate problems. They are the same structural fact. A system powerful enough to be useful is too powerful to fully account for itself.
The harness is such a system. It generates consistent outputs within its own framework. That consistency is real. But the harness (Aristotle's "axioms" and "systems") cannot fully verify its own outputs. This is not a limitation to be engineered away. It is what the theorems require.
I've argued somewhere online that this incompleteness is not a defect. It is what makes expression possible at all. If the language game were complete, if every meaning were fully determined and every rule fully specified its own application, there would be no room for you in it. A complete system is a closed system. It has nothing to say that it has not already said. The incompleteness of language is what makes it free. Consistency for the individual is the liberating factor, at the cost of incompleteness in the overall game.
The harness cannot verify itself. But external evaluation is not just adding more interpretation on top of interpretation, which is the regress Wittgenstein warns of in §201: "no course of action could be determined by a rule, because every course of action can be made out to accord with the rule." The way out is grounding: not asking another model what it thinks of the output, but running the code, executing the test, checking the constraint, letting the output make contact with something that is not a language game.
What Agentic Engineering Actually Is
The discourse has already produced its trends. Best practices. Harness patterns. Evaluation frameworks. They are not wrong. You bear them, you learn them, you earn the right to use them. But bearing them is not the work. It is the preparation for the work.
What remains after that is not a skill. It is growth. You build a system, it fails in ways you did not predict, and you are changed by it. The engineer who has done this enough times does not have better judgment. They have become someone different. They see what the harness cannot see because they have been on the other side of its failures. It's meditating mid-descent, manifesting the way down, because you already have.
None of this is new. Gödel and Wittgenstein were pointing at the same boundary from different directions decades before the first transformer was trained. The harness is a formal language game. It is consistent. It is incomplete. External evaluation is not a feature request. It is what the theorems require. Knowing that does not make the decisions easier. But it makes them legible. And legibility is what gives you the possibility of doing something with it. Knowing is not enough, we must take agency.