Skip to content

Latest commit

Β 

History

History
472 lines (362 loc) Β· 13.9 KB

File metadata and controls

472 lines (362 loc) Β· 13.9 KB

πŸ“¦ Procesador AutomΓ‘tico de Ideas - Resumen de ImplementaciΓ³n

βœ… Estado: ImplementaciΓ³n Completa

Este documento resume la implementaciΓ³n del sistema automatizado para procesar ideas desde IDEAS.md y generar historias de usuario en BACKLOG.md con detecciΓ³n de duplicados usando IA.


🎯 Objetivos Alcanzados

Requisitos del Problema

βœ… 1. Lectura de ideas desde IDEAS.md

  • Parser de Markdown implementado
  • Extrae todos los campos: ID, tΓ­tulo, contexto, problema, valor, fecha, estado, prioridad

βœ… 2. ValidaciΓ³n de duplicados con API de Copilot (OpenAI)

  • Uso de embeddings para similitud semΓ‘ntica
  • AnΓ‘lisis con GPT-4 para validaciΓ³n detallada
  • Score de similitud con razonamiento explicado

βœ… 3. Marcado de ideas duplicadas en IDEAS.md

  • ActualizaciΓ³n automΓ‘tica del estado
  • Referencia a la US o idea similar
  • Porcentaje de similitud incluido

βœ… 4. GeneraciΓ³n de historias de usuario

  • Sigue formato del template del proyecto
  • Incluye todos los campos requeridos
  • Criterios de aceptaciΓ³n generados por IA
  • EstimaciΓ³n automΓ‘tica de story points

βœ… 5. Almacenamiento en BACKLOG.md

  • Agrega US en la secciΓ³n de prioridad correcta
  • Mantiene formato y estructura existente
  • Actualiza IDEAS.md marcando ideas como convertidas

πŸ“ Estructura de Archivos

architecture-base/
β”œβ”€β”€ scripts/
β”‚   └── idea_processor/
β”‚       β”œβ”€β”€ __init__.py           # Package initialization
β”‚       β”œβ”€β”€ cli.py                # Command-line interface ⭐
β”‚       β”œβ”€β”€ config.py             # Configuration settings
β”‚       β”œβ”€β”€ models.py             # Data models (Idea, UserStory)
β”‚       β”œβ”€β”€ parser.py             # Markdown parser
β”‚       β”œβ”€β”€ similarity.py         # AI similarity checker ⭐
β”‚       β”œβ”€β”€ generator.py          # User story generator ⭐
β”‚       β”œβ”€β”€ processor.py          # Main orchestrator ⭐
β”‚       β”œβ”€β”€ validate.py           # Validation tests
β”‚       β”œβ”€β”€ requirements.txt      # Python dependencies
β”‚       └── README.md            # Complete documentation
β”‚
β”œβ”€β”€ docs/
β”‚   └── guides/
β”‚       β”œβ”€β”€ quick-start-idea-processor.md      # Quick start guide
β”‚       └── integration-idea-processor.md      # Integration guide
β”‚
β”œβ”€β”€ process-ideas.sh              # Bash wrapper script
β”œβ”€β”€ .env.example                  # Configuration template
β”œβ”€β”€ .gitignore                    # Ignore patterns
└── README.md                     # Updated with automation section

⭐ = Componentes principales


πŸ”§ Componentes Principales

1. CLI (cli.py)

PropΓ³sito: Interface de lΓ­nea de comandos

CaracterΓ­sticas:

  • Argumentos: --dry-run, --threshold, --verbose
  • ValidaciΓ³n de API key y archivos
  • Output con Rich (colores y tablas)
  • Manejo de errores robusto

Uso:

python -m scripts.idea_processor.cli --dry-run

2. Similarity Checker (similarity.py)

PropΓ³sito: Detectar ideas duplicadas usando IA

TΓ©cnicas:

  • Embeddings: OpenAI text-embedding-3-small
  • Cosine Similarity: ComparaciΓ³n vectorial
  • GPT-4 Analysis: ValidaciΓ³n semΓ‘ntica detallada

Flujo:

  1. Genera embedding de la idea nueva
  2. Compara con embeddings de US existentes
  3. Si similitud > threshold-0.1, usa GPT-4 para anΓ‘lisis
  4. Retorna score y razΓ³n

Threshold: 0.80 (80%) por defecto, configurable

3. User Story Generator (generator.py)

PropΓ³sito: Convertir ideas en historias de usuario formales

CaracterΓ­sticas:

  • Usa GPT-4 con prompt estructurado
  • Genera: tΓ­tulo, Como/Quiero/Para, criterios, estimaciΓ³n, epic
  • Sigue formato del template del proyecto
  • Fallback si AI falla

Prompt Engineering:

  • Contexto de Product Owner experto
  • EspecificaciΓ³n del formato requerido
  • GuΓ­a de story points
  • PriorizaciΓ³n automΓ‘tica

4. Workflow Orchestrator (processor.py)

PropΓ³sito: Coordinar todo el flujo

Pasos:

  1. Cargar y parsear IDEAS.md y BACKLOG.md
  2. Filtrar ideas "Por refinar"
  3. Detectar duplicados con similarity checker
  4. Generar US para ideas ΓΊnicas con generator
  5. Actualizar archivos (o mostrar preview si --dry-run)
  6. Mostrar resumen con Rich tables

πŸš€ Flujo de EjecuciΓ³n

Diagrama de Flujo

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Cargar IDEAS.md y BACKLOG.md                        β”‚
β”‚     - Parse ideas con estado "πŸ’­ Por refinar"          β”‚
β”‚     - Parse user stories existentes                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
                 β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. Para cada idea:                                     β”‚
β”‚     - Generar embedding                                 β”‚
β”‚     - Comparar con todas las US (cosine similarity)     β”‚
β”‚     - Si similitud > 70%, usar GPT-4 para validar      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
          β–Ό             β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚Duplicateβ”‚   β”‚  Unique  β”‚
    β”‚  Found  β”‚   β”‚   Idea   β”‚
    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
         β”‚             β”‚
         β–Ό             β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Mark in IDEAS.md:                   β”‚
    β”‚ "⚠️ Repetida - Similar a US-XXX"   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
                       β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ Generate User Story      β”‚
            β”‚ - Use GPT-4             β”‚
            β”‚ - Follow template       β”‚
            β”‚ - Assign US-XXX ID      β”‚
            β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ Update Files             β”‚
            β”‚ - Append to BACKLOG.md   β”‚
            β”‚ - Mark as converted      β”‚
            β”‚   in IDEAS.md            β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Ejemplo de EjecuciΓ³n

Input: IDEAS.md

### [ID-007] Cache de Productos MΓ‘s Vendidos

- **Contexto**: El endpoint se consulta 1000+ veces/min
- **Problema**: Cada request golpea la DB, 800ms latencia
- **Valor**: Reducir latencia a <50ms y carga DB en 90%
- **Fecha**: 2025-11-14
- **Estado**: πŸ’­ Por refinar

Proceso:

  1. βœ… Detecta que es idea nueva (no similar a US existentes)
  2. βœ… Genera US-011 con GPT-4
  3. βœ… Agrega a BACKLOG.md en secciΓ³n de prioridad

Output: BACKLOG.md

#### US-011: Implementar Cache para Productos MΓ‘s Vendidos
**Como** administrador del sistema
**Quiero** cachear la lista de productos mΓ‘s vendidos
**Para** reducir latencia y carga en la base de datos

**Criterios de AceptaciΓ³n:**
- [ ] Cache se actualiza cada 5 minutos
- [ ] Endpoint responde en <50ms
- [ ] Reduce queries a DB en 90%+
- [ ] Cache se invalida al agregar nuevo producto
- [ ] MΓ©tricas de cache hits/misses disponibles

**EstimaciΓ³n**: 5 Story Points
**Epic**: Performance Optimization
**Prioridad**: Alta πŸ”΄
**Servicios Afectados**: Products API
**Estado**: To Do

Output: IDEAS.md actualizado

### [ID-007] Cache de Productos MΓ‘s Vendidos

- **Contexto**: El endpoint se consulta 1000+ veces/min
- **Problema**: Cada request golpea la DB, 800ms latencia
- **Valor**: Reducir latencia a <50ms y carga DB en 90%
- **Fecha**: 2025-11-14
- **Estado**: βœ… Convertida a US-011

πŸ“Š MΓ©tricas y Performance

Tiempos Estimados

OperaciΓ³n Tiempo Aprox.
Parse IDEAS.md (10 ideas) < 1 segundo
Generate embedding (1 idea) 0.5 segundos
Compare with 20 US 10 segundos
GPT-4 similarity check 2 segundos
Generate 1 user story 5 segundos
Total para 5 ideas ΓΊnicas ~2 minutos

Costos OpenAI (Estimados)

Para procesar 5 ideas ΓΊnicas:

OperaciΓ³n Costo Unitario Cantidad Total
Embeddings $0.001 5 $0.005
GPT-4 similarity checks $0.01 5 $0.05
GPT-4 US generation $0.02 5 $0.10
Total $0.155

ComparaciΓ³n:

  • Manual (Product Owner): 2 horas @ $50/hr = $100
  • AutomΓ‘tico: ~$0.16 + 2 minutos de tiempo

ROI: ~99.8% de ahorro en costo/tiempo


πŸ” Seguridad y ConfiguraciΓ³n

Variables de Entorno

# .env (NO commitear)
OPENAI_API_KEY=sk-your-api-key-here

# Opcional
OPENAI_MODEL=gpt-4o
EMBEDDING_MODEL=text-embedding-3-small
SIMILARITY_THRESHOLD=0.80

.gitignore

Archivos protegidos:

  • .env - Secretos
  • __pycache__/ - Python cache
  • *.pyc - Compiled Python
  • .vscode/ - IDE settings

Buenas PrΓ‘cticas

  1. API Key Management:

    • Usar variables de entorno
    • Rotar keys periΓ³dicamente
    • Limitar permisos en OpenAI dashboard
  2. Threshold Tuning:

    • Default 0.80 funciona bien
    • Ajustar basado en falsos positivos/negativos
    • Documentar cambios
  3. Dry Run First:

    • Siempre usar --dry-run primero
    • Validar output antes de aplicar
    • Revisar cambios con git diff

πŸ“š DocumentaciΓ³n

GuΓ­as Disponibles

  1. Quick Start

    • Setup en 5 minutos
    • Ejemplos bΓ‘sicos
    • Troubleshooting comΓΊn
  2. README Completo

    • Arquitectura detallada
    • API de mΓ³dulos
    • Casos de uso avanzados
    • ConfiguraciΓ³n exhaustiva
  3. GuΓ­a de IntegraciΓ³n

    • Workflows hΓ­bridos
    • IntegraciΓ³n con Copilot
    • Mejores prΓ‘cticas por tipo de equipo
    • CI/CD automation

βœ… Testing y ValidaciΓ³n

Script de ValidaciΓ³n

# Ejecutar tests bΓ‘sicos
python scripts/idea_processor/validate.py

Tests incluidos:

  • βœ… Estructura de archivos
  • βœ… Imports de mΓ³dulos
  • βœ… Modelos de datos
  • βœ… Parser de Markdown

ValidaciΓ³n Manual

# 1. Dry run para preview
./process-ideas.sh --dry-run

# 2. Verificar output en terminal
# 3. Si todo se ve bien, ejecutar
./process-ideas.sh

# 4. Revisar cambios
git diff IDEAS.md BACKLOG.md

# 5. Confirmar cambios si estΓ‘n correctos
git add IDEAS.md BACKLOG.md
git commit -m "feat: process ideas ID-007, ID-008"

πŸš€ PrΓ³ximos Pasos (Opcional)

Mejoras Futuras Sugeridas

  1. GitHub Actions Integration

    • Validar ideas en PRs automΓ‘ticamente
    • Notificar duplicados en comentarios
  2. Web UI

    • Interface web para no-tΓ©cnicos
    • Preview visual de US generadas
  3. Analytics Dashboard

    • MΓ©tricas de procesamiento
    • Tracking de ROI
    • Tendencias de ideas
  4. Bulk Operations

    • Procesar mΓΊltiples archivos
    • Batch processing por epic
  5. Enhanced AI

    • Fine-tuning para mejor calidad
    • Context-aware generation
    • Learning from feedback

πŸ“ž Soporte y Mantenimiento

Contacto

DocumentaciΓ³n:

Issues:

  • GitHub Issues para bugs
  • Discussions para preguntas

Contribuciones:

  • PRs bienvenidos
  • Seguir guΓ­a de contribuciΓ³n del proyecto

πŸ“ Changelog

v1.0.0 (2025-11-14) - Initial Release

Features:

  • βœ… Automated idea parsing from IDEAS.md
  • βœ… Semantic similarity detection with OpenAI embeddings
  • βœ… Duplicate detection with AI reasoning
  • βœ… User story generation following project template
  • βœ… Automatic file updates (IDEAS.md and BACKLOG.md)
  • βœ… Rich CLI with colored output
  • βœ… Dry-run mode
  • βœ… Comprehensive documentation

Components:

  • CLI interface (cli.py)
  • Similarity checker (similarity.py)
  • US generator (generator.py)
  • Workflow orchestrator (processor.py)
  • Markdown parser (parser.py)
  • Data models (models.py)
  • Configuration (config.py)

Documentation:

  • Complete README with examples
  • Quick start guide (5 minutes)
  • Integration guide with workflows
  • Validation script

πŸŽ‰ ConclusiΓ³n

El procesador automΓ‘tico de ideas estΓ‘ completamente implementado y listo para usar.

Para comenzar:

  1. Instalar dependencias: pip install -r scripts/idea_processor/requirements.txt
  2. Configurar API key: export OPENAI_API_KEY='sk-...'
  3. Ejecutar: ./process-ideas.sh --dry-run

Beneficios:

  • ⚑ Ahorra ~99% del tiempo de procesamiento
  • 🎯 Detecta duplicados automΓ‘ticamente
  • πŸ“ Genera US de calidad siguiendo templates
  • πŸ”„ Integra perfectamente con workflow existente

DocumentaciΓ³n completa en:

  • scripts/idea_processor/README.md
  • docs/guides/quick-start-idea-processor.md
  • docs/guides/integration-idea-processor.md

Implementado por: GitHub Copilot Agent
Fecha: 2025-11-14
VersiΓ³n: 1.0.0