blog.sshiling.com

Step 3 of 7 · conditional

Prototype

HITL/prototype
Entry
A decision stalls on words after a couple of grill rounds — either how something should behave, or how it should look.
Exit
The human has reacted to something concrete, the answer is captured durably, and the throwaway code is deleted or explicitly absorbed — never left as a lingering sandbox.
Artifact
The captured answer — not the code
Guards
  • It's a de-stalling tool, not a ritual — it runs only when a decision has genuinely stuck in words.
  • The code is deleted or explicitly absorbed at the end; a sandbox is never allowed to linger.
  • What's kept is the durable answer — a spec note or a decision record — not the throwaway build.

Prototype is the pipeline's second optional detour, and like Research it's a tool for a specific failure rather than a stage everything passes through. Its failure is convergence-in-words: the grill has circled the same question for a couple of rounds and the description keeps changing without getting any closer to an answer.

There are exactly two questions that do this. How should it behave — the logic, the state, the edge cases. And how should it look — the layout, the interaction, the feel. Both are notoriously resistant to adjectives. Past a certain point, more words don't sharpen the picture; they just accumulate. The unlock isn't another round of description — it's something concrete to react to.

How it runs

The agent builds the cheapest possible artifact that makes the question answerable, and the human reacts to it. This step is human-in-the-loop by nature: the entire value is a real person looking at a real thing and saying "yes, like that" or "no, not that." A prototype nobody reacts to has produced nothing.

The code is scaffolding. When the question is answered, the scaffolding comes down: the prototype is deleted, or — if some of it is genuinely worth keeping — explicitly absorbed into the real work as a decision made on purpose. What it must never become is a half-finished app that quietly takes up residence in the codebase.

What gets settled here

The stalled question, and only that. Prototype converts an argument that words couldn't finish into an answer, then captures that answer somewhere durable — a note on the spec, a decision record, the grill conversation itself.

The technology version of this is the same move aimed at tools. When a choice hinges on how an API feels to use, or how two pieces integrate, you prototype against the candidates rather than debating them in the abstract. A spike is just this step pointed at technology — no separate machinery required.

Built on

This step is built on Matt Pocock's prototype skill. The explicit teardown rule — delete or absorb, never leave a sandbox — is a local addition, learned from a codebase that had collected one too many lingering experiments.