{
  "id": "product-loop",
  "title": "AIIdiots — Run the Product Loop",
  "asOf": "2026-06-18",
  "humanRoute": "/product-loop",
  "posture": "local",
  "purpose": "The build lane's third region (B3): make shipping a repeatable motion, not a one-off. A cycle, not a line — the end of one lap is the start of the next.",
  "steps": [
    { "n": 1, "id": "riff", "name": "Riff", "what": "Start from the raw idea, fast and out of order; capture it before it evaporates.", "output": "captured intent", "failure": "demanding a clean ticket before anyone starts." },
    { "n": 2, "id": "deploy", "name": "Deploy", "what": "Ship the smallest real version, live. A URL beats a mockup.", "output": "something live, at an address", "failure": "polishing in private and never shipping." },
    { "n": 3, "id": "user-test", "name": "User-test", "what": "Put it in front of a real person; watch them use it.", "output": "a real reaction, not a guess", "failure": "imagining the user instead of watching one." },
    { "n": 4, "id": "refine", "name": "Refine", "what": "Fix exactly what the test exposed, no more.", "output": "a sharper version", "failure": "refining things the test never flagged." },
    { "n": 5, "id": "new-surface", "name": "New surface", "what": "The refined thing reveals the next surface to build.", "output": "the next riff", "failure": "treating the artifact as done." },
    { "n": 6, "id": "reskin", "name": "Reskin", "what": "Re-present what works for a new audience without rebuilding the spine.", "output": "more reach from the same core", "failure": "rebuilding from scratch when a reskin would do." }
  ],
  "closing": "Then back to the riff. The loop is the product, not any single lap of it.",
  "relatedRoutes": ["/path", "/ecosystem", "/tools"]
}
