Welcome, Guest | Browse

Software Factory Archive

← Previous Work All Works Next Work →

Human in the Loop

Rating:
General Audiences
Fandom:
StrongDM Software Factory
Characters:
Navan Chauhan Jay Taylor Justin McCarthy
Tags:
Attractor Human in the Loop Interviewer Pattern Irony
Words:
455
Published:
2025-08-29

The irony was not lost on Navan. The factory's founding rule was that humans must not write or review code. And yet Attractor had a node type called interviewer whose entire purpose was to pause the pipeline, ask a human a question, and route the next step based on the answer.

"It's not ironic," Justin said when Navan raised this. "It's precise. Humans don't write code. Humans don't review code. But humans have intent. And sometimes the pipeline needs to clarify that intent before proceeding."

Navan built the test pipeline himself. Three nodes: a requirements-gathering codergen, an interviewer, and a second codergen. The first node would generate an initial design based on the NLSpec. The interviewer would pause and present the design to a human with a single question: Does this match your intent? If yes, advance. If no, route back to the first node with the human's feedback attached.

He ran it at 3 PM. The first codergen executed, generated an architecture for a REST API. Then the pipeline stopped. A notification appeared on Navan's screen: the pipeline was waiting for human input.

He read the proposed architecture. It was clean, reasonable, and wrong. The API used HTTP polling where the spec called for WebSocket streaming. A human would have to squint to catch it. But Navan had written the spec, and he knew.

He typed his response: The design uses HTTP polling. The spec requires WebSocket streaming for real-time event delivery. Please redesign the streaming layer.

He hit enter. The pipeline resumed. The feedback propagated to the first codergen node, which re-ran with the correction attached. This time, the generated design used WebSockets. The pipeline advanced past the interviewer—no second question needed, because the condition on the "yes" edge was met by the satisfaction score.

"Eight minutes," Navan said, checking the event log. "The pipeline paused for my input for exactly eight minutes. The rest was autonomous."

"That's the human budget," Jay said from his desk. "Eight minutes of human cognition embedded in forty minutes of machine execution."

"And the eight minutes were the most important eight minutes," Justin added. "The machine can write code all day. It can iterate, assess, converge. But it can't know if the design matches what the human actually wanted. That's the gap only a human can close."

Navan looked at the pipeline graph, at the interviewer node sitting between the two codergen nodes like a checkpoint at a border crossing. The pipeline was autonomous everywhere except at the single point where autonomy would have been dangerous.

"So the rule isn't 'no humans,'" Navan said. "The rule is 'humans where humans matter.'"

"The rule," Justin said, "is 'no humans doing machine work.' Humans doing human work is mandatory."

Navan opened his notebook and drew the interviewer node as a small circle between two rectangles. Inside the circle, he wrote a single word: intent.

Kudos: 108

leash_enthusiast 2025-08-31

"No humans doing machine work. Humans doing human work is mandatory." If someone ever asks me what the factory is about, I'm just going to quote this line and walk away.

semport_shipper 2025-09-01

The interviewer node drawn as a small circle with "intent" written inside it. Navan's notebook entries are becoming the real spec of the factory's philosophy.

← Previous Work All Works Next Work →