I started with a simple question: could a group of AI agents, each with a role, deliver software without a person coordinating every handoff?
The first version looked like an org chart. Architect, Developer, QA, Coordinator, each in its own box. It looked tidy, which should have been the first warning.
The agents turned out to be the easy part. The hard work lived between them: who's allowed to act, what evidence they owe, what happens after a rejection, how a run picks itself up after it dies, and where the whole thing has to stop and wait for me.
I didn't call it graph engineering then. I'd call it that now. It just means treating work as connected states and decisions instead of a chain of prompts.
Making it real was tedious. Every handoff needed an entry condition, an output, and a rule for what goes stale when something upstream changes. I spent more time on rejection routes than on the path where everything works, which nobody warns you about.
Models decide how to solve the task in front of them. Code decides whether anything is allowed to move.
The graph isn't a diagram. Fixed, testable code runs it: checks the state, activates the next role, records what happened, then advances or sends the work back or stops for a person.
That's the part I'd defend if you're accountable for AI work. You need to know who owns the outcome, what evidence sits behind it, and where you can stop it. It costs time and extra model calls, so I keep it for work that crosses roles, failures, or a human decision.
Before I trusted the workflow, a simulator walked 21,412 states it could reach under the gates, meaning distinct snapshots of the workflow, and 88,602 legal moves between them, checking thirteen safety rules. One of them is called “stale work never merges.”
Then the first live run found two rejection paths with no way out. Both had looked perfectly valid on paper.
The proof tested the graph I described. The live run tested whether I'd described anything real.
Conversation makes a terrible memory, so the written records are what survive. And when the system improves, it's because evidence changed the graph and I reviewed the change, not because an agent rewrote its own rules.
Still learning. That's most of the appeal.