workflow:
  id: story-development-cycle
  name: Story Development Cycle
  version: "1.0"
  description: >-
    Ciclo completo de desenvolvimento de stories. Automatiza o fluxo desde a criação
    até a entrega com quality gate: create → validate → implement → QA review.
    Aplicável a projetos greenfield e brownfield.
  type: generic
  project_types:
    - greenfield
    - brownfield
    - feature-development
    - bug-fix
    - enhancement

  metadata:
    elicit: true
    confirmation_required: true

  execution_modes:
    - mode: yolo
      description: Execução autônoma com mínima interação
      prompts: 0-1
    - mode: interactive
      description: Checkpoints de decisão e feedback educacional
      prompts: 5-10
      default: true
    - mode: preflight
      description: Planejamento completo antes da execução - análise upfront de requisitos e dependências
      prompts: "10-15"

  phases:
    - phase_1: Story Creation
    - phase_2: Story Validation
    - phase_3: Implementation
    - phase_4: QA Review

  sequence:
    - step: create_story
      id: create
      phase: 1
      agent: sm
      action: Criar próxima story
      notes: |
        Scrum Master cria a próxima story do backlog:
        - Usa task create-next-story para stories de PRD shardado
        - Usa task brownfield-create-story para projetos brownfield
        - Define acceptance criteria claros
        - Estabelece escopo e dependências
        - Story inicia com status "Draft"

        Entrada requerida:
        - PRD shardado OU documentação do projeto
        - Contexto do epic/feature

        Critérios de sucesso:
        - [ ] Story criada com título descritivo
        - [ ] Acceptance criteria definidos
        - [ ] Escopo claro e delimitado
        - [ ] Dependências identificadas
      outputs:
        - story_file
        - story_id
      next: validate

    - step: validate_story
      id: validate
      phase: 2
      agent: po
      action: Validar story (10 checks)
      requires: create
      notes: |
        Product Owner valida a story com checklist de 10 pontos:

        Checklist de validação:
        - [ ] 1. Título claro e objetivo
        - [ ] 2. Descrição completa do problema/necessidade
        - [ ] 3. Acceptance criteria testáveis (Given/When/Then)
        - [ ] 4. Escopo bem definido (o que está IN e OUT)
        - [ ] 5. Dependências mapeadas
        - [ ] 6. Estimativa de complexidade adequada
        - [ ] 7. Valor de negócio identificado
        - [ ] 8. Riscos documentados
        - [ ] 9. Critérios de Done claros
        - [ ] 10. Alinhamento com PRD/Epic

        Resultado:
        - Aprovada → Status muda para "Ready"
        - Rejeitada → Retorna para SM com feedback

        Critérios de sucesso:
        - [ ] Todos os 10 checks passaram
        - [ ] Story marcada como "Ready"
      outputs:
        - validation_report
        - story_status
      next: implement
      on_failure: create

    - step: implement_story
      id: implement
      phase: 3
      agent: dev
      action: Implementar story
      requires: validate
      notes: |
        Dev Agent implementa a story validada:
        - Analisa acceptance criteria
        - Planeja implementação técnica
        - Escreve código seguindo padrões do projeto
        - Cria/atualiza testes unitários
        - Atualiza File List na story
        - Marca story como "In Review" ao finalizar

        Boas práticas:
        - Commits atômicos e bem descritos
        - Código limpo e documentado
        - Testes cobrindo acceptance criteria
        - Sem débito técnico novo

        Critérios de sucesso:
        - [ ] Todos os acceptance criteria implementados
        - [ ] Testes passando
        - [ ] File List atualizada
        - [ ] Código commitado
        - [ ] Story status = "In Review"
      outputs:
        - implementation_files
        - test_results
        - commit_hash
      next: review

    - step: qa_review
      id: review
      phase: 4
      agent: qa
      action: Review final + quality gate
      requires: implement
      notes: |
        QA Agent executa review final com quality gate:

        Quality Gate Checks:
        - [ ] Code review (padrões, legibilidade, manutenibilidade)
        - [ ] Testes unitários adequados e passando
        - [ ] Acceptance criteria atendidos
        - [ ] Sem regressões introduzidas
        - [ ] Performance aceitável
        - [ ] Segurança verificada (OWASP basics)
        - [ ] Documentação atualizada se necessário

        Ações do QA:
        - Corrige issues menores diretamente
        - Documenta issues maiores para Dev resolver
        - Aprova ou rejeita com feedback

        Resultado:
        - Aprovada → Status muda para "Done"
        - Rejeitada → Retorna para Dev com checklist de fixes

        Critérios de sucesso:
        - [ ] Quality gate passou
        - [ ] Story marcada como "Done"
      outputs:
        - qa_report
        - quality_gate_status
        - story_final_status
      next: complete
      on_failure: implement

    - workflow_end:
      id: complete
      action: story_complete
      notes: |
        Story concluída com sucesso!

        Ciclo completado:
        ✅ Story criada (SM)
        ✅ Story validada (PO)
        ✅ Story implementada (Dev)
        ✅ Quality gate aprovado (QA)

        Próximos passos:
        - Executar novamente para próxima story
        - Ou iniciar novo ciclo: *workflow story-development-cycle

  flow_diagram: |
    ```mermaid
    graph TD
        A[Start: Story Development Cycle] --> B[sm: Criar próxima story]
        B --> C[po: Validar story - 10 checks]

        C --> D{Validação OK?}
        D -->|Não| E[Feedback para SM]
        E --> B
        D -->|Sim| F[dev: Implementar story]

        F --> G[qa: Review + Quality Gate]

        G --> H{Quality Gate OK?}
        H -->|Não| I[Feedback para Dev]
        I --> F
        H -->|Sim| J[Story Done!]

        J --> K{Mais stories?}
        K -->|Sim| B
        K -->|Não| L[Ciclo Completo]

        style L fill:#90EE90
        style J fill:#90EE90
        style B fill:#87CEEB
        style C fill:#FFE4B5
        style F fill:#98FB98
        style G fill:#DDA0DD
        style E fill:#FFB6C1
        style I fill:#FFB6C1
    ```

  decision_guidance:
    when_to_use:
      - Desenvolvimento de qualquer story (greenfield ou brownfield)
      - Ciclo completo com validação e quality gate
      - Quando precisa de rastreabilidade do processo
      - Equipes que seguem processo ágil estruturado

    when_not_to_use:
      - Hotfixes urgentes (use fluxo simplificado)
      - Spikes/POCs exploratórios
      - Tasks puramente técnicas sem story

  handoff_prompts:
    story_created: |
      Story criada com sucesso!
      ID: {{story_id}}
      Título: {{story_title}}
      Status: Draft

      Prosseguindo para validação com PO...

    story_validated: |
      Story validada pelo PO!
      Checks aprovados: {{passed_checks}}/10
      Status: Ready

      Story pronta para implementação...

    story_implemented: |
      Story implementada pelo Dev!
      Arquivos modificados: {{file_count}}
      Testes: {{test_status}}
      Commits: {{commit_count}}
      Status: In Review

      Iniciando QA review...

    story_approved: |
      Story aprovada no Quality Gate!
      Status: Done

      Ciclo completo para story {{story_id}}.
      Execute novamente para próxima story.

    story_rejected_validation: |
      Story rejeitada na validação.
      Issues encontradas: {{issue_list}}

      Retornando para SM ajustar...

    story_rejected_qa: |
      Story rejeitada no Quality Gate.
      Issues para resolver: {{issue_list}}

      Retornando para Dev corrigir...

metadata:
  author: Orion (AIOX Master)
  created_date: 2025-01-30
  version: 1.0.0
  tags:
    - story
    - development-cycle
    - quality-gate
    - agile
    - generic
