From Prototype to Production: RIPP as an Intent Compiler

Prototype Repo → Production is the Hard Problem

Overview

Modern AI prototyping has fundamentally changed software delivery. Tools like GitHub Spark can transform ideas into working applications in minutes. This unprecedented speed has created a new software artifact: the Prototype Repo—a repository containing functional, demonstrable, but non-production-grade code.

The current state of the industry:

Spark → Repo is solved. AI prototyping tools excel at rapid generation and repository export.

Prototype Repo → Production is the hard problem. This is where teams consistently get stuck.

RIPP exists to solve this specific transition. It is the missing bridge between rapid prototyping and production-ready systems.


The Prototype Repo Dilemma: You Have a Working Prototype. Now What?

The scenario:

You’ve built a prototype using an AI tool or rapid development environment. It works. Users like it. Stakeholders are impressed. The demo went well. Leadership wants it in production next quarter.

The question: How do you get from here to a production-ready system?

The false assumption: “It’s already built. We just need to deploy it.”

The reality: Prototype code and production code have fundamentally different requirements. What works in a prototype often cannot—and should not—go directly to production.

Why This Is a Trap

Prototype Repos create a dangerous illusion of completeness:

Teams face pressure to “just ship it” because the feature appears finished. This pressure leads to one of several failed approaches.


Common Failed Approaches (And Why They Fail)

Failed Approach 1: Hardening Prototype Code

The plan: Take the existing prototype code and add production features (auth, logging, error handling, tests).

Why it fails:

Typical outcome: Production incidents, security vulnerabilities discovered post-launch, costly rewrites within 6-12 months.

Failed Approach 2: Copying Code Into Production Repos

The plan: Copy prototype code into the production repository and refactor it to meet standards.

Why it fails:

Typical outcome: Code that passes initial review but becomes a maintenance nightmare. High defect rates. Difficulty onboarding new engineers.

Failed Approach 3: Bolting Security On Later

The plan: Ship the prototype to production, then add security features incrementally as time allows.

Why it fails:

Typical outcome: Security incidents, compliance failures, expensive emergency remediation, loss of customer trust.

Failed Approach 4: “We’ll Rewrite It Later”

The plan: Ship the prototype code as-is, knowing it’s not ideal, with the intention to rewrite it “when we have time.”

Why it fails:

Typical outcome: Prototype code becomes legacy code. Performance degrades. Maintenance becomes increasingly expensive. Eventually requires a complete rewrite under time pressure.


Why These Approaches Fail Consistently

The root cause is the same across all failed approaches: treating code as the primary artifact.

Prototype code is evidence of feasibility. It is not a production implementation plan. Attempts to migrate, harden, or incrementally improve prototype code fail because they start from the wrong foundation.

The insight:

These are fundamentally different goals requiring different artifacts.


RIPP as the Intentional Handoff Mechanism

RIPP solves the Prototype Repo → Production problem by changing the artifact that transitions between environments.

Instead of: “Here’s the prototype code. Make it production-ready.”

RIPP enables: “Here’s the formal specification of what the prototype proves. Build production to this contract.”

RIPP as the Contract Between Prototyping and Production Teams

What RIPP captures from the Prototype Repo:

What RIPP adds for Production:

What RIPP explicitly does NOT carry over:

RIPP as the Artifact AI Agents and Engineers Can Safely Reason From

For production engineers:

RIPP provides a complete, reviewable specification that answers:

For AI coding agents:

RIPP provides structured, machine-readable context that enables:

For security and compliance reviewers:

RIPP provides explicit documentation of:

The RIPP Workflow: Prototype → Extract → Review → Rebuild

┌─────────────────────────────────────────────────────────────────────┐
│            RIPP: The Intentional Handoff Workflow                   │
└─────────────────────────────────────────────────────────────────────┘

  PHASE 1: RAPID PROTOTYPING (Spark / AI Tools)
  ┌──────────────────────────────┐
  │  Idea → Working Prototype    │
  │  (Functional, disposable)    │
  └──────────────┬───────────────┘
                 │
                 │ Export to Prototype Repo
                 ▼
  ┌──────────────────────────────┐
  │  Prototype Repo              │
  │  • Demonstrates feasibility  │
  │  • Early user validation     │
  │  • NOT production-ready      │
  └──────────────┬───────────────┘
                 │
                 │ Extract intent (not code)
                 ▼
  PHASE 2: RIPP EXTRACTION
  ┌──────────────────────────────┐
  │  RIPP Packet (Draft)         │
  │  • Extracted from prototype  │
  │  • Stated requirements added │
  │  • Gaps and conflicts flagged│
  └──────────────┬───────────────┘
                 │
                 │ Human review and approval
                 ▼
  PHASE 3: FORMALIZATION
  ┌──────────────────────────────┐
  │  RIPP Packet (Approved)      │
  │  • Complete specification    │
  │  • Production requirements   │
  │  • Reviewed and signed off   │
  └──────────────┬───────────────┘
                 │
                 │ Specification for production build
                 ▼
  PHASE 4: PRODUCTION IMPLEMENTATION
  ┌──────────────────────────────┐
  │  Production System           │
  │  ✓ Built to RIPP spec        │
  │  ✓ Secure, scalable          │
  │  ✓ Compliant, observable     │
  │  ✓ MAY share no code with    │
  │    prototype                 │
  └──────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────┐
│  The Prototype Proves It CAN Work                                   │
│  The RIPP Packet Defines How It SHOULD Work in Production           │
└─────────────────────────────────────────────────────────────────────┘

Key principles:

  1. Prototype code is disposable: Its value is in proving feasibility, not in being reused
  2. Intent is the asset: Decisions, constraints, and learnings are what carry forward
  3. Production is rebuilt, not migrated: Implementation may differ completely from prototype
  4. RIPP is the bridge: It preserves what matters (intent) without carrying over what doesn’t (code)

The Canonical RIPP Flow

┌─────────────────────────────────────────────────────────────────────┐
│                    Modern Software Delivery Flow                    │
└─────────────────────────────────────────────────────────────────────┘

  ┌───────────────────────────┐
  │  Spark / AI Prototyping   │
  │       Tool                │
  │                           │
  │  • Rapid ideation         │
  │  • Prove feasibility      │
  │  • Core functionality     │
  └─────────────┬─────────────┘
                │
                │ (working code exported)
                ▼
  ┌───────────────────────────┐
  │    Prototype Repo         │
  │  (disposable code)        │
  │                           │
  │  • Functional demo        │
  │  • Early validation       │
  │  • NOT production-ready   │
  │  • Missing: security,     │
  │    scale, compliance      │
  └─────────────┬─────────────┘
                │
                │ (extract intent, not code)
                ▼
  ┌───────────────────────────┐
  │    RIPP Packet            │
  │  (intent contract)        │
  │                           │
  │  • Purpose & value        │
  │  • Data contracts         │
  │  • UX flows               │
  │  • Permissions            │
  │  • Failure modes          │
  │  • Audit requirements     │
  │  • NFRs                   │
  └─────────────┬─────────────┘
                │
                │ (specification for production build)
                ▼
  ┌───────────────────────────┐
  │    Production System      │
  │                           │
  │  ✓ Secure                 │
  │  ✓ Scalable               │
  │  ✓ Compliant              │
  │  ✓ Observable             │
  │  ✓ Resilient              │
  │  ✓ Maintainable           │
  │                           │
  │  MAY share no code with   │
  │  prototype                │
  │  MAY use different        │
  │  architecture             │
  │  MAY use different        │
  │  language/platform        │
  └───────────────────────────┘

┌─────────────────────────────────────────────────────────────────────┐
│  Key Principle: Intent is preserved. Code is optional.              │
└─────────────────────────────────────────────────────────────────────┘

What RIPP Is NOT

To prevent misuse and misinterpretation, it’s critical to understand what RIPP does NOT do:

RIPP is not a code migration tool:

RIPP is not a code generator:

RIPP is not a refactoring assistant:

RIPP is not a production hardening helper:

RIPP does not guarantee identical implementations:

RIPP does not eliminate the need for engineering judgment:

What RIPP actually is:


RIPP Serves a Critical Role in Modern AI-Assisted Development

RIPP serves a critical role in modern AI-assisted development: transforming rapid prototypes into durable, production-grade specifications. This document explains how RIPP acts as an “intent compiler” that bridges the gap between fast prototyping and safe production deployment.


The Prototype Problem

Why Rapid Prototypes Are Incomplete

AI coding assistants have made prototyping nearly frictionless. Ideas become running code in minutes. A developer can describe a feature in natural language, and within moments, have a working demonstration.

But prototypes are not production systems.

A prototype proves feasibility. It demonstrates that an idea can work. What a prototype does NOT provide:

The gap: Prototypes answer “can we build this?” Production systems must answer “should we ship this, and how do we maintain it?”

AI Accelerates Risk When Intent Is Underspecified

Speed without structure creates technical debt:

The paradox: AI makes code cheap, but underspecified intent makes systems expensive to maintain.


RIPP as the Intent Compiler

What an Intent Compiler Does

An intent compiler transforms an informal, incomplete prototype into a formal, complete specification that can guide production implementation.

Input: Prototype code + stated requirements + usage notes
Process: Extract, validate, reconcile, formalize
Output: Production-grade RIPP Feature Packet

RIPP performs this transformation by:

  1. Extracting observable behavior from prototype code
  2. Capturing stated intent from inputs, prompts, and documentation
  3. Identifying gaps and conflicts between what exists and what should exist
  4. Formalizing contracts for data, APIs, permissions, and failure modes
  5. Generating a reviewable specification that dev teams or AI can implement safely

Why This Matters

Traditional flow (high risk):

Idea → Prototype → "Looks good, ship it" → Production incidents

RIPP flow (controlled):

Idea → Prototype → RIPP Extraction → Review → Production Implementation
         ↓                                         ↑
    Proves feasibility                    Guided by spec

The prototype proves it CAN be done. The RIPP packet defines HOW it SHOULD be done.


The Two Distinct Stages of Modern Delivery

Stage 1: Spark → Prototype Repo (Solved Problem)

This stage is now frictionless thanks to modern AI prototyping tools:

Tools: GitHub Spark, Bolt, v0, Replit, Cursor, Windsurf, etc.

Process:

  1. Describe feature in natural language
  2. AI generates working prototype code
  3. Iterate rapidly based on visual feedback
  4. Export to GitHub repository

Duration: Minutes to hours

Output: Prototype Repo containing:

This stage is NOT the problem. AI prototyping tools have made rapid ideation and proof-of-concept development extremely efficient.

Stage 2: Prototype Repo → Production (The Hard Problem)

This stage is where teams consistently get stuck:

The challenge: Prototype code proves feasibility but lacks production requirements.

What’s missing:

Why traditional approaches fail:

Duration without RIPP: Weeks to months (often with production incidents)

Duration with RIPP: Days to weeks (with explicit contracts and reduced risk)

Where RIPP Fits

RIPP is the bridge between these two stages:

┌──────────────────────┐         ┌──────────────────────┐
│  Stage 1: SOLVED     │         │  Stage 2: HARD       │
│  Spark → Repo        │         │  Repo → Production   │
│                      │         │                      │
│  AI Prototyping      │         │  RIPP Extraction     │
│  (Minutes to Hours)  │         │  + Production Build  │
│                      │         │  (Days to Weeks)     │
└──────────┬───────────┘         └──────────┬───────────┘
           │                                │
           │ Working prototype code         │ Formal specification
           │ (disposable)                   │ (durable intent)
           ▼                                ▼
     Prototype Repo     ─────RIPP────▶  Production System

Key insight:

Production implementations may:

What remains constant across stages:


The Prototype → RIPP Extraction Workflow

Standard 4-Step Process

┌────────────────────────────────────────────────────────────────────┐
│                    RIPP Prototype → Production Flow                │
└────────────────────────────────────────────────────────────────────┘

  STEP 1: BUILD PROTOTYPE
  ┌──────────────────┐
  │  AI Prompt or    │──→ ┌─────────────┐
  │  Rapid Dev       │    │ Working     │
  │                  │    │ Prototype   │
  │ • Core features  │    │             │
  │ • Quick & dirty  │    │ + README    │
  │ • Prove concept  │    │ + Notes     │
  └──────────────────┘    └─────────────┘
                                 ↓
  STEP 2: EXTRACT RIPP
                          ┌──────────────┐
                          │ RIPP         │
                          │ Extractor    │
                          │ (Conceptual) │
                          └──────────────┘
                                 ↓
                          ┌──────────────────────────┐
                          │ Draft RIPP Packet        │
                          │ • Extracted sections     │
                          │ • Evidence map           │
                          │ • Confidence ratings     │
                          │ • Open questions         │
                          └──────────────────────────┘
                                 ↓
  STEP 3: REVIEW & REFINE
                          ┌──────────────────────────┐
                          │ Human Review             │
                          │ • Validate extracted     │
                          │ • Resolve conflicts      │
                          │ • Fill gaps (perms, etc) │
                          │ • Answer open questions  │
                          └──────────────────────────┘
                                 ↓
                          ┌──────────────────────────┐
                          │ Approved RIPP Packet     │
                          │ status: "approved"       │
                          └──────────────────────────┘
                                 ↓
  STEP 4: PRODUCTION BUILD
                          ┌──────────────────────────┐
                          │ Production Implement     │
                          │ • Guided by RIPP         │
                          │ • Dev team or AI agent   │
                          │ • Validated against spec │
                          └──────────────────────────┘
                                 ↓
                          ┌──────────────────────────┐
                          │ Production-Ready Feature │
                          │ ✓ Intent preserved       │
                          │ ✓ Security defined       │
                          │ ✓ Failure modes handled  │
                          └──────────────────────────┘

Step 1: Build Rapid MVP / Micro App

Use AI assistants or rapid prototyping tools to create a working demonstration:

Output: Working prototype code + stated requirements

Step 2: Run RIPP Extraction Process

Analyze the prototype to generate a RIPP packet:

Output: Draft RIPP packet with evidence map and confidence annotations

Step 3: Review and Resolve Gaps

Human review and refinement:

Output: Approved RIPP packet

Step 4: Hand Off to Dev Teams or AI

Use the RIPP packet as the authoritative specification:

Output: Production-ready implementation


Optional Metadata for Prototype-Generated RIPP

When a RIPP packet is generated from a prototype, the following optional metadata fields may be included. These fields provide traceability and transparency but are NOT required for RIPP v1.0 conformance.

source_prototype

Links the RIPP packet back to its prototype origin.

source_prototype:
  repo_url: 'https://github.com/org/prototype-repo'
  commit_hash: 'a1b2c3d4e5f6'
  generation_date: '2025-12-14'
  tool_used: 'Spark'
  notes: 'Generated from rapid MVP built in 2 hours'

Fields:

evidence_map

Maps each RIPP section to specific files, routes, or functions in the prototype code.

evidence_map:
  purpose:
    source: 'stated'
    location: 'README.md, initial prompt'
  ux_flow:
    source: 'extracted'
    location: 'src/routes/profile.js, lines 45-89'
  api_contracts:
    source: 'extracted'
    location: 'src/api/users.js, src/api/auth.js'
  permissions:
    source: 'proposed'
    location: 'Not implemented in prototype'
    notes: 'Inferred from UX flow, needs validation'
  failure_modes:
    source: 'partial'
    location: 'Error handlers in src/middleware/errors.js'
    notes: 'Only covers database errors, missing validation errors'

Per-section fields:

confidence

Indicates how confident the extraction process is about each section.

confidence:
  purpose: 'high'
  ux_flow: 'high'
  data_contracts: 'high'
  api_contracts: 'medium'
  permissions: 'low'
  failure_modes: 'medium'
  audit_events: 'unknown'
  nfrs: 'unknown'

Levels:

open_questions

Captures unresolved decisions that must be addressed before production.

open_questions:
  - question: 'Should users be able to update other users profiles in the same org?'
    section: 'permissions'
    impact: 'Affects authorization logic'
  - question: 'What happens if email update fails after profile save succeeds?'
    section: 'failure_modes'
    impact: 'Data consistency concern'
  - question: 'Do we need to log profile changes for compliance?'
    section: 'audit_events'
    impact: 'May be required for SOC 2'

Per-question fields:


Evidence and Trust Rules

To ensure teams trust RIPP packets generated from prototypes, strict rules govern what can be extracted and how conflicts are handled.

Code Is Evidence of What EXISTS

Inputs and Notes Define What SHOULD Exist

Conflict Handling

When code behavior and stated intent disagree:

  1. Do NOT silently choose one over the other
  2. Flag the conflict explicitly in open_questions or evidence_map
  3. Require human review to resolve the discrepancy
  4. Document the decision once resolved

Example conflict:

Never Silently Infer

The following must NEVER be invented or assumed by extraction tools:

If these are missing from both code and inputs, they must be marked as unknown or proposed, never as verified.

Verification Labels

Each RIPP section should be labeled with its source of truth:

These labels appear in the evidence_map metadata.


The RIPP Extractor Concept

What It Is

A RIPP Extractor is a tool or process that generates draft RIPP packets from existing prototypes or code.

Not yet fully implemented, the RIPP Extractor is documented here as a conceptual component that future tooling may provide.

What It Consumes

Inputs:

  1. Prototype code: Source files, API definitions, database schemas
  2. Stated requirements: Prompts, README files, design notes
  3. Runtime observations: Logs, API calls, user interactions (optional)

What It Produces

Outputs:

  1. Draft RIPP packet: Generated RIPP file marked as status: "draft"
  2. Evidence map: Links each section to its source (code, inputs, or proposed)
  3. Confidence ratings: Indicates certainty about each section
  4. Open questions: Flags conflicts, gaps, and unresolved decisions
  5. Validation report: Lists required sections that need human input

How It Works (Conceptual)

  1. Code analysis: Parse source files to extract API contracts, data structures, flows
  2. Input parsing: Extract purpose and value from README, prompts, or docs
  3. Reconciliation: Compare code behavior with stated intent
  4. Gap identification: Detect missing permissions, failure modes, NFRs
  5. Draft generation: Output RIPP packet with metadata and confidence labels
  6. Human review required: Flag for approval before use in production

Integration with Existing Tooling

The RIPP Extractor would integrate with existing RIPP CLI commands:

# Generate draft RIPP from prototype (conceptual)
ripp extract --code ./src --input ./README.md --output feature.ripp.yaml

# Validate the generated draft
ripp validate feature.ripp.yaml

# Check for missing sections
ripp lint feature.ripp.yaml --strict

Design principles:


Integration with RIPP Lifecycle

Where Prototype Extraction Fits

Traditional RIPP workflow:
Concept → Draft RIPP → Review → Approve → Implement → Validate → Ship

Prototype-first workflow:
Concept → Prototype → Extract RIPP → Review → Approve → Rebuild for Production → Validate → Ship
            ↓                                                      ↑
       Proves feasibility                              Guided by formal spec

Using RIPP with AI-Generated Prototypes

  1. Rapid ideation: Prompt AI to build prototype
  2. Extract specification: Run RIPP Extractor on prototype
  3. Review and refine: Team reviews draft RIPP, fills gaps
  4. Approve RIPP: Mark as approved specification
  5. Production implementation: Use RIPP to guide production build (human or AI)
  6. Validation: Verify implementation matches RIPP contracts
  7. Ship with confidence: Intent is preserved, requirements are explicit

Benefits


RIPP as the Next-Generation User Story

The Evolution

User stories revolutionized software development by making requirements conversational. “As a [user], I want [feature] so that [value]” became the standard for capturing intent.

But user stories were designed for a human-paced world where requirements evolved through dialogue. In AI-assisted workflows, conversations happen in seconds, but the need for durable specifications remains.

RIPP is the evolution, not the replacement.

What User Stories Provide

What RIPP Adds

The Relationship

Dimension User Story RIPP Packet
Purpose Facilitate discussion Guide execution
Audience Product + Engineering Engineering + AI
Format Natural language Structured YAML/JSON
Scope What and why How, who can, what if
Validation Manual review Automated schema validation
Evolution Changes through conversation Versioned with code

When to Use Both

  1. Start with a user story to align on business value
  2. Translate to a RIPP packet to define implementation contract
  3. Review the RIPP packet before writing code
  4. Reference the user story in RIPP’s purpose.references field
  5. Keep user story in your backlog tool (Jira, Linear, etc.)
  6. Keep RIPP packet in version control with your code

Example:

purpose:
  problem: 'Users cannot update their profile information after registration'
  solution: 'Provide a profile editing form with server-side validation'
  value: 'Improves user experience and data accuracy'
  references:
    - title: 'User Story US-4521: Profile Management'
      url: 'https://example.com/jira/US-4521'

The AI-Assisted Shift

Before RIPP: AI generates code from prompts. Intent exists only in conversation history. Security and edge cases are discovered in production.

With RIPP: AI generates code from RIPP specifications. Intent is durable, reviewable, and versioned. Security and edge cases are defined before implementation.

User stories capture the problem space.
RIPP packets define the solution space.
Together, they enable AI-assisted delivery with human governance.


Summary

Key Takeaways

  1. Prototypes prove feasibility, RIPP enables production
    • Prototypes answer “can we build this?”
    • RIPP answers “should we ship this, and how?”
  2. RIPP acts as an intent compiler
    • Transforms informal prototypes into formal specifications
    • Extracts observable behavior, captures stated intent
    • Identifies gaps, flags conflicts, requires human review
  3. Extraction workflow is structured and repeatable
    • Build prototype → Extract RIPP → Review → Implement for production
    • Optional metadata provides traceability and transparency
  4. Evidence and trust rules ensure safety
    • Code is evidence of what exists
    • Inputs define what should exist
    • Conflicts must be flagged, never silently resolved
    • Permissions, tenancy, audit never silently inferred
  5. RIPP is the next-gen user story
    • User stories facilitate conversation
    • RIPP facilitates execution
    • Together, they provide alignment and rigor

RIPP’s Role in AI-Assisted Development

AI made code cheap. RIPP makes intent durable.

In an era where features can be prototyped in minutes, the bottleneck is not writing code—it’s preserving the “why,” defining boundaries, and ensuring production safety.

RIPP bridges the gap between rapid prototyping and production-ready systems. It is the specification layer that makes AI-assisted delivery safe, governable, and maintainable.


Build fast. Formalize completely. Ship safely.