Justin drew it on his office whiteboard one morning, the one whiteboard that survived the purge, and then he stepped back and looked at it the way a mechanic looks at an engine—not admiring it, but checking that all the parts connected.
Interview. Design. Sprint. Implement. Review. Assess. Next Sprint.
An arrow from each phase to the next. An arrow from Assess back to Sprint, forming the loop. And a single exit arrow from Assess leading to a box labeled Goal Met.
"It's a while loop," Jay said from the couch. He was eating an apple. He said everything more casually when he was eating.
"It's a while loop," Justin agreed. "The condition is: has the goal been met? If not, plan the next sprint, implement it, assess again. The loop continues until the system converges on the goal or a human intervenes."
"What if it never converges?" Navan asked. He was sitting on the floor, notebook balanced on one knee, because the couch only fit two people and Jay had gotten there first.
"Then you have a bug in your goal, not in your loop. If the goal is well-defined and the agents are capable, the system converges. The assessment phase is honest. It doesn't say 'close enough.' It says 'the tests pass and the output matches the specification' or 'the tests fail and here's why.' Binary honesty in the assessment is what makes the loop convergent."
Jay finished his apple and set the core on Justin's desk, a small act of provocation that Justin ignored with the practice of someone who had co-founded a company and therefore had experience ignoring things that didn't matter.
"The key insight," Justin continued, "is that each pass through the loop doesn't start from scratch. Sprint two builds on sprint one. The design evolves. The code accumulates. Mistakes from sprint one get corrected in sprint two. The system remembers what it's already done and what still needs doing."
"Compounding correctness," Navan said quietly, writing it down.
"Exactly. The opposite of what most people expect from AI-generated code. Most people expect compounding error—each iteration adding more bugs, more drift, more entropy. But the loop structure prevents that. The assessment catches errors. The next sprint fixes them. Over time, the code gets better, not worse."
Jay looked at the whiteboard diagram. It was simple. Almost stupidly simple. A loop with a condition and an exit. The kind of thing you'd teach in a first-year computer science course. And yet it was driving the production of real software, real tests, real documentation, from a markdown file and a set of interview answers.
"Every complex system I've ever admired," Jay said, "turned out to be a simple loop with good feedback."
Justin picked up the apple core from his desk and dropped it in the trash. "That's the whole talk," he said. "That's the KuppingerCole keynote right there. A simple loop with good feedback."
The whiteboard stayed up for weeks. Nobody erased it. It didn't need revision.
The apple core on Justin's desk and the casual way he just... ignores it. These character details are what make this archive feel real.