# Lifecycle configuration template - docs/lifecycle.yaml
kind: lifecycle
version: "1"
updated_at: "{{ today }}"

# Project Lifecycle Phases
current_stage: demo
stages:
  demo:
    name: "Prototype"
    code: "demo"
    description: "Rapidly validate core concepts and feasibility"
    focus:
      - "Rapid iteration"
      - "Proof of concept"
      - "Core features"
    principles:
      - "Fail fast, adjust fast"
      - "Prioritize core features, defer optimization"
      - "Technical debt is acceptable but must be documented"
      - "Detailed Git development iteration records"
      - "Record important decisions in DECISIONS.md"
      - "Establish CI/CD"
    entry_criteria:
      - "Project initialized"
      - "Basic architecture defined"
    exit_criteria:
      - "Core concept validated"
      - "MVP functional"
      - "Ready for production planning"

  production:
    name: "Production"
    code: "production"
    description: "Production-ready development, preparing for scale"
    focus:
      - "Stability"
      - "Performance optimization"
      - "Maintainability"
    principles:
      - "Code quality first"
      - "Prepare release and distribution"
      - "Full code review before launch"
      - "Complete QA product test coverage"
      - "Define performance standards"
      - "Unit test and code standard enforcement"
    entry_criteria:
      - "MVP validated in demo stage"
      - "Production architecture designed"
    exit_criteria:
      - "Production release ready"
      - "All critical tests passing"
      - "Documentation complete"

  commercial:
    name: "Commercial"
    code: "commercial"
    description: "Market-facing, pursuing growth"
    focus:
      - "User experience"
      - "Market adaptation"
      - "Extensibility"
      - "Plugin-based incremental development"
      - "Data hot-reload"
    principles:
      - "User feedback driven"
      - "Data-driven decisions"
      - "Fast market response"
    entry_criteria:
      - "Production release stable"
      - "User acquisition strategy defined"
    exit_criteria:
      - "Product-market fit achieved"
      - "Sustainable user base"
      - "Revenue model validated"

  stable:
    name: "Stable Operations"
    code: "stable"
    description: "Mature product, stable maintenance"
    focus:
      - "Stability"
      - "Maintenance cost"
      - "Long-term planning"
    principles:
      - "Changes require caution"
      - "Backward compatibility first"
      - "Complete documentation"
    entry_criteria:
      - "Mature user base"
      - "Stable revenue stream"
    exit_criteria:
      - "Continuous maintenance"
      - "Regular updates"

stage_order:
  - demo
  - production
  - commercial
  - stable

# Phase transition rules
transition_rules:
  require_decision: true
  require_acceptance: true
  require_documentation: true
