mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-12-06 14:55:07 +01:00
1190 lines
35 KiB
Bash
Executable file
1190 lines
35 KiB
Bash
Executable file
#!/bin/bash
|
|
# Script completo para crear TODOS los issues de GitHub para mejoras del AI Scanner
|
|
# Proyecto: dawnsystem/IntelliDocs-ngx
|
|
# Total: 35 issues organizados en 10 épicas
|
|
|
|
set -e
|
|
|
|
REPO="dawnsystem/IntelliDocs-ngx"
|
|
|
|
echo "🚀 Creando TODOS los issues para mejoras del AI Scanner..."
|
|
echo "Repositorio: $REPO"
|
|
echo "Total de issues: 35"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 1: Testing y Calidad de Código (4 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 1: Testing y Calidad de Código (4 issues)"
|
|
echo ""
|
|
|
|
# Issue 1.1
|
|
echo "Creando Issue 1.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Tests Unitarios para AI Scanner" \
|
|
--label "testing,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Crear suite completa de tests unitarios para \`ai_scanner.py\`
|
|
|
|
## Tareas
|
|
- [ ] Tests para \`AIDocumentScanner.__init__()\` y lazy loading
|
|
- [ ] Tests para \`_extract_entities()\` con mocks de NER
|
|
- [ ] Tests para \`_suggest_tags()\` con diferentes niveles de confianza
|
|
- [ ] Tests para \`_detect_correspondent()\` con y sin entidades
|
|
- [ ] Tests para \`_classify_document_type()\` con ML classifier mock
|
|
- [ ] Tests para \`_suggest_storage_path()\` con diferentes características
|
|
- [ ] Tests para \`_extract_custom_fields()\` con todos los tipos de campo
|
|
- [ ] Tests para \`_suggest_workflows()\` con varias condiciones
|
|
- [ ] Tests para \`_suggest_title()\` con diferentes combinaciones de entidades
|
|
- [ ] Tests para \`apply_scan_results()\` con transacciones atómicas
|
|
- [ ] Tests para manejo de errores y excepciones
|
|
- [ ] Alcanzar cobertura >90%
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/tests/test_ai_scanner.py\`
|
|
- \`src/documents/tests/test_ai_scanner_integration.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Cobertura de código >90% para ai_scanner.py
|
|
- [ ] Todos los tests pasan en CI/CD
|
|
- [ ] Tests incluyen casos edge y errores
|
|
|
|
**Estimación**: 3-5 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Épica**: Testing y Calidad de Código"
|
|
|
|
echo "✅ Issue 1.1 creado"
|
|
|
|
# Issue 1.2
|
|
echo "Creando Issue 1.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Tests Unitarios para AI Deletion Manager" \
|
|
--label "testing,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Crear tests para \`ai_deletion_manager.py\` y modelo \`DeletionRequest\`
|
|
|
|
## Tareas
|
|
- [ ] Tests para \`create_deletion_request()\` con análisis de impacto
|
|
- [ ] Tests para \`_analyze_impact()\` con diferentes documentos
|
|
- [ ] Tests para \`format_deletion_request_for_user()\` con varios escenarios
|
|
- [ ] Tests para \`get_pending_requests()\` con filtros
|
|
- [ ] Tests para modelo \`DeletionRequest\` (approve, reject)
|
|
- [ ] Tests para workflow completo de aprobación/rechazo
|
|
- [ ] Tests para auditoría y tracking
|
|
- [ ] Tests que verifiquen que AI nunca puede eliminar sin aprobación
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/tests/test_ai_deletion_manager.py\`
|
|
- \`src/documents/tests/test_deletion_request_model.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Cobertura >95% para componentes críticos de seguridad
|
|
- [ ] Tests verifican constraints de seguridad
|
|
- [ ] Tests pasan en CI/CD
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Épica**: Testing y Calidad de Código"
|
|
|
|
echo "✅ Issue 1.2 creado"
|
|
|
|
# Issue 1.3
|
|
echo "Creando Issue 1.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Tests de Integración para Consumer" \
|
|
--label "testing,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Tests de integración para \`_run_ai_scanner()\` en pipeline de consumo
|
|
|
|
## Tareas
|
|
- [ ] Test de integración end-to-end: upload → consumo → AI scan → metadata
|
|
- [ ] Test con ML components deshabilitados
|
|
- [ ] Test con fallos de AI scanner (graceful degradation)
|
|
- [ ] Test con diferentes tipos de documentos (PDF, imagen, texto)
|
|
- [ ] Test de performance con documentos grandes
|
|
- [ ] Test con transacciones y rollbacks
|
|
- [ ] Test con múltiples documentos simultáneos
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/tests/test_consumer.py\` (añadir tests AI)
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Pipeline completo testeado end-to-end
|
|
- [ ] Graceful degradation verificado
|
|
- [ ] Performance aceptable (<2s adicionales por documento)
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issue 1.1
|
|
**Épica**: Testing y Calidad de Código"
|
|
|
|
echo "✅ Issue 1.3 creado"
|
|
|
|
# Issue 1.4
|
|
echo "Creando Issue 1.4..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Pre-commit Hooks y Linting" \
|
|
--label "code-quality,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Ejecutar y corregir linters en código nuevo del AI Scanner
|
|
|
|
## Tareas
|
|
- [ ] Ejecutar \`ruff\` en archivos nuevos
|
|
- [ ] Corregir warnings de import ordering
|
|
- [ ] Corregir warnings de type hints
|
|
- [ ] Ejecutar \`black\` para formateo consistente
|
|
- [ ] Ejecutar \`mypy\` para verificación de tipos
|
|
- [ ] Actualizar pre-commit hooks si necesario
|
|
|
|
## Archivos a Revisar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ai_deletion_manager.py\`
|
|
- \`src/documents/consumer.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Cero warnings de linters
|
|
- [ ] Código pasa pre-commit hooks
|
|
- [ ] Type hints completos
|
|
|
|
**Estimación**: 1 día
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Testing y Calidad de Código"
|
|
|
|
echo "✅ Issue 1.4 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 2: Migraciones de Base de Datos (2 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 2: Migraciones de Base de Datos (2 issues)"
|
|
echo ""
|
|
|
|
# Issue 2.1
|
|
echo "Creando Issue 2.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Migración Django para DeletionRequest" \
|
|
--label "database,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Crear migración Django para modelo \`DeletionRequest\`
|
|
|
|
## Tareas
|
|
- [ ] Ejecutar \`python manage.py makemigrations\`
|
|
- [ ] Revisar migración generada
|
|
- [ ] Añadir índices custom si necesario
|
|
- [ ] Crear migración de datos si hay datos existentes
|
|
- [ ] Testear migración en entorno dev
|
|
- [ ] Documentar pasos de migración
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/migrations/XXXX_add_deletion_request.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Migración se ejecuta sin errores
|
|
- [ ] Índices creados correctamente
|
|
- [ ] Backward compatible si posible
|
|
|
|
**Estimación**: 1 día
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issue 1.2
|
|
**Épica**: Migraciones de Base de Datos"
|
|
|
|
echo "✅ Issue 2.1 creado"
|
|
|
|
# Issue 2.2
|
|
echo "Creando Issue 2.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Índices de Performance para DeletionRequest" \
|
|
--label "database,performance,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Optimizar índices de base de datos para queries frecuentes
|
|
|
|
## Tareas
|
|
- [ ] Analizar queries frecuentes
|
|
- [ ] Añadir índice compuesto (user, status, created_at)
|
|
- [ ] Añadir índice para reviewed_at
|
|
- [ ] Añadir índice para completed_at
|
|
- [ ] Testear performance de queries
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/models.py\` (añadir índices)
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Queries de listado <100ms
|
|
- [ ] Queries de filtrado <50ms
|
|
|
|
**Estimación**: 0.5 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 2.1
|
|
**Épica**: Migraciones de Base de Datos"
|
|
|
|
echo "✅ Issue 2.2 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 3: API REST Endpoints (4 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 3: API REST Endpoints (4 issues)"
|
|
echo ""
|
|
|
|
# Issue 3.1
|
|
echo "Creando Issue 3.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] API Endpoints para Deletion Requests - Listado y Detalle" \
|
|
--label "api,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Crear endpoints REST para gestión de deletion requests (listado y detalle)
|
|
|
|
## Tareas
|
|
- [ ] Crear serializer \`DeletionRequestSerializer\`
|
|
- [ ] Endpoint GET \`/api/deletion-requests/\` (listado paginado)
|
|
- [ ] Endpoint GET \`/api/deletion-requests/{id}/\` (detalle)
|
|
- [ ] Filtros: status, user, date_range
|
|
- [ ] Ordenamiento: created_at, reviewed_at
|
|
- [ ] Paginación (page size: 20)
|
|
- [ ] Documentación OpenAPI/Swagger
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/serializers/deletion_request.py\`
|
|
- \`src/documents/views/deletion_request.py\`
|
|
- Actualizar \`src/documents/urls.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Endpoints documentados en Swagger
|
|
- [ ] Tests de API incluidos
|
|
- [ ] Permisos verificados (solo requests propios o admin)
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issue 2.1
|
|
**Épica**: API REST Endpoints"
|
|
|
|
echo "✅ Issue 3.1 creado"
|
|
|
|
# Issue 3.2
|
|
echo "Creando Issue 3.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] API Endpoints para Deletion Requests - Acciones" \
|
|
--label "api,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Endpoints para aprobar/rechazar deletion requests
|
|
|
|
## Tareas
|
|
- [ ] Endpoint POST \`/api/deletion-requests/{id}/approve/\`
|
|
- [ ] Endpoint POST \`/api/deletion-requests/{id}/reject/\`
|
|
- [ ] Endpoint POST \`/api/deletion-requests/{id}/cancel/\`
|
|
- [ ] Validación de permisos (solo owner o admin)
|
|
- [ ] Validación de estado (solo pending puede ser aprobado/rechazado)
|
|
- [ ] Respuesta con resultado de ejecución si aprobado
|
|
- [ ] Notificaciones async si configurado
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/views/deletion_request.py\`
|
|
- Actualizar \`src/documents/urls.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Workflow completo funcional via API
|
|
- [ ] Validaciones de estado y permisos
|
|
- [ ] Tests de API incluidos
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issue 3.1
|
|
**Épica**: API REST Endpoints"
|
|
|
|
echo "✅ Issue 3.2 creado"
|
|
|
|
# Issue 3.3
|
|
echo "Creando Issue 3.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] API Endpoints para AI Suggestions" \
|
|
--label "api,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Exponer sugerencias de AI via API para frontend
|
|
|
|
## Tareas
|
|
- [ ] Endpoint GET \`/api/documents/{id}/ai-suggestions/\`
|
|
- [ ] Serializer para \`AIScanResult\`
|
|
- [ ] Endpoint POST \`/api/documents/{id}/apply-suggestion/\`
|
|
- [ ] Endpoint POST \`/api/documents/{id}/reject-suggestion/\`
|
|
- [ ] Tracking de sugerencias aplicadas/rechazadas
|
|
- [ ] Estadísticas de accuracy de sugerencias
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/serializers/ai_suggestions.py\`
|
|
- Actualizar \`src/documents/views/document.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Frontend puede obtener y aplicar sugerencias
|
|
- [ ] Tracking de user feedback
|
|
- [ ] API documentada
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: API REST Endpoints"
|
|
|
|
echo "✅ Issue 3.3 creado"
|
|
|
|
# Issue 3.4
|
|
echo "Creando Issue 3.4..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Webhooks para Eventos de AI" \
|
|
--label "api,webhooks,priority-low,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Sistema de webhooks para notificar eventos de AI
|
|
|
|
## Tareas
|
|
- [ ] Webhook cuando AI crea deletion request
|
|
- [ ] Webhook cuando AI aplica sugerencia automáticamente
|
|
- [ ] Webhook cuando scan AI completa
|
|
- [ ] Configuración de webhooks via settings
|
|
- [ ] Retry logic con exponential backoff
|
|
- [ ] Logging de webhooks enviados
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/webhooks.py\`
|
|
- Actualizar \`src/paperless/settings.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Webhooks configurables
|
|
- [ ] Retry logic robusto
|
|
- [ ] Eventos documentados
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟢 BAJA
|
|
**Dependencias**: Issues 3.1, 3.3
|
|
**Épica**: API REST Endpoints"
|
|
|
|
echo "✅ Issue 3.4 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 4: Integración Frontend (4 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 4: Integración Frontend (4 issues)"
|
|
echo ""
|
|
|
|
# Issue 4.1
|
|
echo "Creando Issue 4.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] UI para AI Suggestions en Document Detail" \
|
|
--label "frontend,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Mostrar sugerencias de AI en página de detalle de documento
|
|
|
|
## Tareas
|
|
- [ ] Componente \`AISuggestionsPanel\` en Angular/React
|
|
- [ ] Mostrar sugerencias por tipo (tags, correspondent, etc.)
|
|
- [ ] Indicadores de confianza visual (colores, iconos)
|
|
- [ ] Botones \"Aplicar\" y \"Rechazar\" por sugerencia
|
|
- [ ] Animaciones de aplicación
|
|
- [ ] Feedback visual cuando se aplica
|
|
- [ ] Responsive design
|
|
|
|
## Archivos a Crear
|
|
- \`src-ui/src/app/components/ai-suggestions-panel/\`
|
|
- Actualizar componente de document detail
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] UI intuitiva y atractiva
|
|
- [ ] Mobile responsive
|
|
- [ ] Tests de componente incluidos
|
|
|
|
**Estimación**: 3-4 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issue 3.3
|
|
**Épica**: Integración Frontend"
|
|
|
|
echo "✅ Issue 4.1 creado"
|
|
|
|
# Issue 4.2
|
|
echo "Creando Issue 4.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] UI para Deletion Requests Management" \
|
|
--label "frontend,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Dashboard para gestionar deletion requests
|
|
|
|
## Tareas
|
|
- [ ] Página \`/deletion-requests\` con listado
|
|
- [ ] Filtros por estado (pending, approved, rejected)
|
|
- [ ] Vista detalle de deletion request con impacto completo
|
|
- [ ] Modal de confirmación para aprobar/rechazar
|
|
- [ ] Mostrar análisis de impacto de forma clara
|
|
- [ ] Badge de notificación para pending requests
|
|
- [ ] Historial de requests completados
|
|
|
|
## Archivos a Crear
|
|
- \`src-ui/src/app/components/deletion-requests/\`
|
|
- \`src-ui/src/app/services/deletion-request.service.ts\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Usuario puede revisar y aprobar/rechazar requests
|
|
- [ ] Análisis de impacto claro y comprensible
|
|
- [ ] Notificaciones visuales
|
|
|
|
**Estimación**: 3-4 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issues 3.1, 3.2
|
|
**Épica**: Integración Frontend"
|
|
|
|
echo "✅ Issue 4.2 creado"
|
|
|
|
# Issue 4.3
|
|
echo "Creando Issue 4.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] AI Status Indicator" \
|
|
--label "frontend,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Indicador global de estado de AI en UI
|
|
|
|
## Tareas
|
|
- [ ] Icono en navbar mostrando estado de AI (activo/inactivo)
|
|
- [ ] Tooltip con estadísticas (documentos escaneados hoy, sugerencias aplicadas)
|
|
- [ ] Link a configuración de AI
|
|
- [ ] Mostrar si hay pending deletion requests
|
|
- [ ] Animación cuando AI está procesando
|
|
|
|
## Archivos a Modificar
|
|
- Navbar component
|
|
- Crear servicio de AI status
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Estado de AI siempre visible
|
|
- [ ] Notificaciones no intrusivas
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Integración Frontend"
|
|
|
|
echo "✅ Issue 4.3 creado"
|
|
|
|
# Issue 4.4
|
|
echo "Creando Issue 4.4..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Settings Page para AI Configuration" \
|
|
--label "frontend,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Página de configuración para features de AI
|
|
|
|
## Tareas
|
|
- [ ] Toggle para enable/disable AI scanner
|
|
- [ ] Toggle para enable/disable ML features
|
|
- [ ] Toggle para enable/disable advanced OCR
|
|
- [ ] Sliders para thresholds (auto-apply, suggest)
|
|
- [ ] Selector de modelo ML
|
|
- [ ] Test button para probar AI con documento sample
|
|
- [ ] Estadísticas de performance de AI
|
|
|
|
## Archivos a Crear
|
|
- \`src-ui/src/app/components/settings/ai-settings/\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Configuración intuitiva y clara
|
|
- [ ] Cambios se reflejan inmediatamente
|
|
- [ ] Validación de valores
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Integración Frontend"
|
|
|
|
echo "✅ Issue 4.4 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 5: Optimización de Performance (4 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 5: Optimización de Performance (4 issues)"
|
|
echo ""
|
|
|
|
# Issue 5.1
|
|
echo "Creando Issue 5.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Caching de Modelos ML" \
|
|
--label "performance,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Implementar caché eficiente para modelos ML
|
|
|
|
## Tareas
|
|
- [ ] Implementar singleton pattern para modelos ML
|
|
- [ ] Caché en memoria con LRU eviction
|
|
- [ ] Caché en disco para embeddings
|
|
- [ ] Lazy loading mejorado con preloading opcional
|
|
- [ ] Warm-up de modelos en startup si configurado
|
|
- [ ] Métricas de cache hits/misses
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ml/*.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Primera carga lenta, subsecuentes rápidas
|
|
- [ ] Uso de memoria controlado (<2GB)
|
|
- [ ] Cache hits >90% después de warm-up
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Épica**: Optimización de Performance"
|
|
|
|
echo "✅ Issue 5.1 creado"
|
|
|
|
# Issue 5.2
|
|
echo "Creando Issue 5.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Procesamiento Asíncrono con Celery" \
|
|
--label "performance,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Mover AI scanning a tareas Celery asíncronas
|
|
|
|
## Tareas
|
|
- [ ] Crear tarea Celery \`scan_document_ai\`
|
|
- [ ] Queue separada para AI tasks (priority: low)
|
|
- [ ] Rate limiting para AI tasks
|
|
- [ ] Progress tracking para scans largos
|
|
- [ ] Retry logic para fallos temporales
|
|
- [ ] Configurar workers dedicados para AI
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/tasks/ai_scanner_tasks.py\`
|
|
- Actualizar \`src/documents/consumer.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Consumo de documentos no bloqueado por AI
|
|
- [ ] AI procesa en background
|
|
- [ ] Progress visible en UI
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 5.1
|
|
**Épica**: Optimización de Performance"
|
|
|
|
echo "✅ Issue 5.2 creado"
|
|
|
|
# Issue 5.3
|
|
echo "Creando Issue 5.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Batch Processing para Documentos Existentes" \
|
|
--label "performance,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Command para aplicar AI scanner a documentos existentes
|
|
|
|
## Tareas
|
|
- [ ] Management command \`scan_documents_ai\`
|
|
- [ ] Opciones: --all, --filter-by-type, --date-range
|
|
- [ ] Progress bar con ETA
|
|
- [ ] Dry-run mode
|
|
- [ ] Resumen de sugerencias al final
|
|
- [ ] Opción para auto-apply high confidence
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/management/commands/scan_documents_ai.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Puede procesar miles de documentos
|
|
- [ ] No afecta performance del sistema
|
|
- [ ] Resultados reportados claramente
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 5.2
|
|
**Épica**: Optimización de Performance"
|
|
|
|
echo "✅ Issue 5.3 creado"
|
|
|
|
# Issue 5.4
|
|
echo "Creando Issue 5.4..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Query Optimization" \
|
|
--label "performance,database,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Optimizar queries de base de datos en AI scanner
|
|
|
|
## Tareas
|
|
- [ ] Usar select_related() para foreign keys
|
|
- [ ] Usar prefetch_related() para M2M
|
|
- [ ] Cachear queries frecuentes (tags, correspondents)
|
|
- [ ] Analizar slow queries con Django Debug Toolbar
|
|
- [ ] Optimizar N+1 queries si existen
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ai_deletion_manager.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Número de queries reducido >50%
|
|
- [ ] Tiempo de scan reducido >30%
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Optimización de Performance"
|
|
|
|
echo "✅ Issue 5.4 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 6: Mejoras de ML/AI (4 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 6: Mejoras de ML/AI (4 issues)"
|
|
echo ""
|
|
|
|
# Issue 6.1
|
|
echo "Creando Issue 6.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Training Pipeline para Custom Models" \
|
|
--label "ml-ai,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Pipeline para entrenar modelos custom con datos del usuario
|
|
|
|
## Tareas
|
|
- [ ] Recolectar datos de training (documentos + metadata confirmada)
|
|
- [ ] Script de preparación de datos
|
|
- [ ] Training script con hyperparameter tuning
|
|
- [ ] Evaluación de modelo (accuracy, precision, recall)
|
|
- [ ] Versionado de modelos
|
|
- [ ] A/B testing de modelos
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/ml/training/\`
|
|
- \`scripts/train_classifier.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Pipeline reproducible
|
|
- [ ] Métricas de evaluación claras
|
|
- [ ] Modelos mejorados vs baseline
|
|
|
|
**Estimación**: 3-4 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 1.1
|
|
**Épica**: Mejoras de ML/AI"
|
|
|
|
echo "✅ Issue 6.1 creado"
|
|
|
|
# Issue 6.2
|
|
echo "Creando Issue 6.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Active Learning Loop" \
|
|
--label "ml-ai,priority-low,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Sistema de aprendizaje continuo basado en feedback de usuario
|
|
|
|
## Tareas
|
|
- [ ] Tracking de sugerencias aceptadas/rechazadas
|
|
- [ ] Identificar casos difíciles (low confidence)
|
|
- [ ] Re-training periódico con nuevos datos
|
|
- [ ] Métricas de mejora de accuracy over time
|
|
- [ ] Dashboard de ML performance
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/ml/active_learning.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Accuracy mejora con uso
|
|
- [ ] Re-training automático configurable
|
|
|
|
**Estimación**: 3-5 días
|
|
**Prioridad**: 🟢 BAJA
|
|
**Dependencias**: Issues 6.1, 3.3
|
|
**Épica**: Mejoras de ML/AI"
|
|
|
|
echo "✅ Issue 6.2 creado"
|
|
|
|
# Issue 6.3
|
|
echo "Creando Issue 6.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Multi-language Support para NER" \
|
|
--label "ml-ai,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Soporte para múltiples idiomas en extracción de entidades
|
|
|
|
## Tareas
|
|
- [ ] Detección automática de idioma
|
|
- [ ] Modelos NER multilingües
|
|
- [ ] Fallback a inglés si idioma no soportado
|
|
- [ ] Tests con documentos en español, francés, alemán
|
|
- [ ] Configuración de idiomas soportados
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ml/ner.py\`
|
|
- \`src/paperless/settings.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Funciona con español, inglés, francés, alemán
|
|
- [ ] Accuracy >80% en cada idioma
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Mejoras de ML/AI"
|
|
|
|
echo "✅ Issue 6.3 creado"
|
|
|
|
# Issue 6.4
|
|
echo "Creando Issue 6.4..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Confidence Calibration" \
|
|
--label "ml-ai,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Calibrar confianza basada en feedback histórico
|
|
|
|
## Tareas
|
|
- [ ] Analizar correlación entre confianza y accuracy real
|
|
- [ ] Ajustar thresholds automáticamente
|
|
- [ ] Calibración por tipo de sugerencia
|
|
- [ ] Calibración por usuario (si user acepta todas, subir threshold)
|
|
- [ ] Tests de calibración
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Confianza correlaciona con accuracy
|
|
- [ ] Auto-apply solo cuando realmente correcto >95%
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 3.3
|
|
**Épica**: Mejoras de ML/AI"
|
|
|
|
echo "✅ Issue 6.4 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 7: Monitoreo y Observabilidad (3 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 7: Monitoreo y Observabilidad (3 issues)"
|
|
echo ""
|
|
|
|
# Issue 7.1
|
|
echo "Creando Issue 7.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Metrics y Logging Estructurado" \
|
|
--label "monitoring,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Implementar logging estructurado y métricas
|
|
|
|
## Tareas
|
|
- [ ] Logging estructurado (JSON) con contexto
|
|
- [ ] Métricas Prometheus: ai_scans_total, ai_scan_duration_seconds
|
|
- [ ] Métricas de sugerencias: applied, rejected, ignored
|
|
- [ ] Métricas de confianza por tipo
|
|
- [ ] Alertas para errores de AI (>5% failure rate)
|
|
- [ ] Dashboard Grafana
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/metrics.py\`
|
|
- Configuración Prometheus
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Métricas exportadas a Prometheus
|
|
- [ ] Dashboard básico en Grafana
|
|
- [ ] Alertas configuradas
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Monitoreo y Observabilidad"
|
|
|
|
echo "✅ Issue 7.1 creado"
|
|
|
|
# Issue 7.2
|
|
echo "Creando Issue 7.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Health Checks para AI Components" \
|
|
--label "monitoring,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Health checks para componentes ML/AI
|
|
|
|
## Tareas
|
|
- [ ] Endpoint \`/health/ai/\` con status de componentes
|
|
- [ ] Check si modelos cargados correctamente
|
|
- [ ] Check si NER funcional
|
|
- [ ] Check uso de memoria
|
|
- [ ] Check GPU si habilitado
|
|
- [ ] Incluir en health check general
|
|
|
|
## Archivos a Crear
|
|
- \`src/documents/health_checks.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Health check responde rápido (<100ms)
|
|
- [ ] Indica qué componente falla
|
|
|
|
**Estimación**: 1 día
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 7.1
|
|
**Épica**: Monitoreo y Observabilidad"
|
|
|
|
echo "✅ Issue 7.2 creado"
|
|
|
|
# Issue 7.3
|
|
echo "Creando Issue 7.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Audit Log Detallado" \
|
|
--label "monitoring,security,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Audit log completo de acciones de AI
|
|
|
|
## Tareas
|
|
- [ ] Log de cada scan con resultados
|
|
- [ ] Log de sugerencias aplicadas automáticamente
|
|
- [ ] Log de deletion requests con reasoning
|
|
- [ ] Retention configurable (default: 90 días)
|
|
- [ ] API para consultar audit log
|
|
- [ ] Exportación de audit log
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ai_deletion_manager.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Audit trail completo y consultable
|
|
- [ ] Cumple con requisitos de auditoría
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Monitoreo y Observabilidad"
|
|
|
|
echo "✅ Issue 7.3 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 8: Documentación de Usuario (3 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 8: Documentación de Usuario (3 issues)"
|
|
echo ""
|
|
|
|
# Issue 8.1
|
|
echo "Creando Issue 8.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Guía de Usuario para AI Features" \
|
|
--label "documentation,priority-high,ai-scanner" \
|
|
--body "## Descripción
|
|
Documentación completa para usuarios finales
|
|
|
|
## Tareas
|
|
- [ ] Guía: \"Cómo funciona el AI Scanner\"
|
|
- [ ] Guía: \"Entendiendo las sugerencias de AI\"
|
|
- [ ] Guía: \"Gestión de Deletion Requests\"
|
|
- [ ] Guía: \"Configuración de AI\"
|
|
- [ ] FAQ sobre AI features
|
|
- [ ] Screenshots de UI
|
|
- [ ] Videos tutorial (opcional)
|
|
|
|
## Archivos a Crear
|
|
- \`docs/ai-scanner-user-guide.md\`
|
|
- \`docs/ai-deletion-requests.md\`
|
|
- \`docs/ai-configuration.md\`
|
|
- \`docs/ai-faq.md\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Documentación clara y con ejemplos
|
|
- [ ] Screenshots actualizados
|
|
- [ ] Traducida a español e inglés
|
|
|
|
**Estimación**: 2-3 días
|
|
**Prioridad**: 🔴 ALTA
|
|
**Dependencias**: Issues 4.1, 4.2
|
|
**Épica**: Documentación de Usuario"
|
|
|
|
echo "✅ Issue 8.1 creado"
|
|
|
|
# Issue 8.2
|
|
echo "Creando Issue 8.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] API Documentation" \
|
|
--label "documentation,api,priority-medium,ai-scanner" \
|
|
--body "## Descripción
|
|
Documentación de API REST completa
|
|
|
|
## Tareas
|
|
- [ ] Swagger/OpenAPI spec completo
|
|
- [ ] Ejemplos de requests/responses
|
|
- [ ] Guía de autenticación
|
|
- [ ] Rate limits documentados
|
|
- [ ] Error codes documentados
|
|
- [ ] Postman collection
|
|
|
|
## Archivos a Crear
|
|
- \`docs/api/ai-scanner-api.md\`
|
|
- \`postman/ai-scanner.json\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] API completamente documentada
|
|
- [ ] Ejemplos funcionan
|
|
- [ ] Postman collection testeada
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issues 3.1, 3.2, 3.3
|
|
**Épica**: Documentación de Usuario"
|
|
|
|
echo "✅ Issue 8.2 creado"
|
|
|
|
# Issue 8.3
|
|
echo "Creando Issue 8.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Guía de Administrador" \
|
|
--label "documentation,priority-medium,ai-scanner" \
|
|
--body "## Descripción
|
|
Documentación para administradores del sistema
|
|
|
|
## Tareas
|
|
- [ ] Guía de instalación y configuración
|
|
- [ ] Guía de troubleshooting
|
|
- [ ] Guía de optimización de performance
|
|
- [ ] Guía de training de modelos custom
|
|
- [ ] Guía de monitoreo y métricas
|
|
- [ ] Best practices
|
|
|
|
## Archivos a Crear
|
|
- \`docs/admin/ai-scanner-setup.md\`
|
|
- \`docs/admin/ai-scanner-troubleshooting.md\`
|
|
- \`docs/admin/ai-scanner-optimization.md\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Admin puede configurar sistema completamente
|
|
- [ ] Troubleshooting cubre casos comunes
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 8.1
|
|
**Épica**: Documentación de Usuario"
|
|
|
|
echo "✅ Issue 8.3 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 9: Seguridad Avanzada (3 issues)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 9: Seguridad Avanzada (3 issues)"
|
|
echo ""
|
|
|
|
# Issue 9.1
|
|
echo "Creando Issue 9.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Rate Limiting para AI Operations" \
|
|
--label "security,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Implementar rate limiting para prevenir abuso
|
|
|
|
## Tareas
|
|
- [ ] Rate limit por usuario: X scans/hora
|
|
- [ ] Rate limit global: Y scans/minuto
|
|
- [ ] Rate limit para deletion requests: Z requests/día
|
|
- [ ] Bypass para admin/superuser
|
|
- [ ] Mensajes de error claros cuando se excede
|
|
- [ ] Métricas de rate limiting
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/views/*.py\`
|
|
- Middleware de rate limiting
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] No se puede abusar del sistema
|
|
- [ ] Límites configurables
|
|
- [ ] Admin puede ver quién está rate limited
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Épica**: Seguridad Avanzada"
|
|
|
|
echo "✅ Issue 9.1 creado"
|
|
|
|
# Issue 9.2
|
|
echo "Creando Issue 9.2..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Validation de Inputs" \
|
|
--label "security,priority-high,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Validación exhaustiva de inputs para prevenir inyección
|
|
|
|
## Tareas
|
|
- [ ] Validar todas las entradas de usuario
|
|
- [ ] Sanitizar strings antes de procesamiento ML
|
|
- [ ] Validar confianza en rango [0.0, 1.0]
|
|
- [ ] Validar IDs de documentos
|
|
- [ ] Prevenir path traversal en file paths
|
|
- [ ] Tests de seguridad
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ai_deletion_manager.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Inputs validados exhaustivamente
|
|
- [ ] Tests de seguridad pasan
|
|
|
|
**Estimación**: 1 día
|
|
**Prioridad**: 🔴 ALTA
|
|
**Épica**: Seguridad Avanzada"
|
|
|
|
echo "✅ Issue 9.2 creado"
|
|
|
|
# Issue 9.3
|
|
echo "Creando Issue 9.3..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Permissions Granulares" \
|
|
--label "security,priority-medium,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Sistema de permisos granular para AI features
|
|
|
|
## Tareas
|
|
- [ ] Permiso: \`can_view_ai_suggestions\`
|
|
- [ ] Permiso: \`can_apply_ai_suggestions\`
|
|
- [ ] Permiso: \`can_approve_deletions\`
|
|
- [ ] Permiso: \`can_configure_ai\`
|
|
- [ ] Role-based access control
|
|
- [ ] Tests de permisos
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/permissions.py\`
|
|
- \`src/documents/views/*.py\`
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Permisos granulares funcionales
|
|
- [ ] Admin puede asignar permisos
|
|
- [ ] Tests verifican permisos
|
|
|
|
**Estimación**: 2 días
|
|
**Prioridad**: 🟡 MEDIA
|
|
**Dependencias**: Issue 3.1
|
|
**Épica**: Seguridad Avanzada"
|
|
|
|
echo "✅ Issue 9.3 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# ÉPICA 10: Internacionalización (1 issue)
|
|
# ============================================================================
|
|
|
|
echo "📊 ÉPICA 10: Internacionalización (1 issue)"
|
|
echo ""
|
|
|
|
# Issue 10.1
|
|
echo "Creando Issue 10.1..."
|
|
gh issue create \
|
|
--repo "$REPO" \
|
|
--title "[AI Scanner] Traducción de Mensajes de AI" \
|
|
--label "i18n,priority-low,ai-scanner,enhancement" \
|
|
--body "## Descripción
|
|
Internacionalizar todos los mensajes de AI
|
|
|
|
## Tareas
|
|
- [ ] Marcar strings para traducción con gettext
|
|
- [ ] Traducir a español
|
|
- [ ] Traducir a inglés
|
|
- [ ] Traducir mensajes de deletion requests
|
|
- [ ] Traducir labels de UI
|
|
- [ ] Tests con diferentes locales
|
|
|
|
## Archivos a Modificar
|
|
- \`src/documents/ai_scanner.py\`
|
|
- \`src/documents/ai_deletion_manager.py\`
|
|
- Archivos de traducción
|
|
|
|
## Criterios de Aceptación
|
|
- [ ] Todos los mensajes traducidos
|
|
- [ ] UI cambia según locale
|
|
- [ ] Tests pasan en ambos idiomas
|
|
|
|
**Estimación**: 1-2 días
|
|
**Prioridad**: 🟢 BAJA
|
|
**Épica**: Internacionalización"
|
|
|
|
echo "✅ Issue 10.1 creado"
|
|
echo ""
|
|
|
|
# ============================================================================
|
|
# RESUMEN FINAL
|
|
# ============================================================================
|
|
|
|
echo ""
|
|
echo "=================================================="
|
|
echo "✅ ¡TODOS LOS ISSUES CREADOS EXITOSAMENTE!"
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "📊 Resumen por Épica:"
|
|
echo ""
|
|
echo "ÉPICA 1 - Testing y Calidad: 4 issues ✅"
|
|
echo "ÉPICA 2 - Base de Datos: 2 issues ✅"
|
|
echo "ÉPICA 3 - API REST: 4 issues ✅"
|
|
echo "ÉPICA 4 - Frontend: 4 issues ✅"
|
|
echo "ÉPICA 5 - Performance: 4 issues ✅"
|
|
echo "ÉPICA 6 - ML/AI: 4 issues ✅"
|
|
echo "ÉPICA 7 - Monitoreo: 3 issues ✅"
|
|
echo "ÉPICA 8 - Documentación: 3 issues ✅"
|
|
echo "ÉPICA 9 - Seguridad: 3 issues ✅"
|
|
echo "ÉPICA 10 - i18n: 1 issue ✅"
|
|
echo ""
|
|
echo "=================================================="
|
|
echo "TOTAL: 35 ISSUES CREADOS"
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "📋 Distribución por Prioridad:"
|
|
echo ""
|
|
echo "🔴 ALTA: 8 issues (23%)"
|
|
echo "🟡 MEDIA: 18 issues (51%)"
|
|
echo "🟢 BAJA: 9 issues (26%)"
|
|
echo ""
|
|
echo "⏱️ Estimación Total:"
|
|
echo ""
|
|
echo "Tiempo mínimo: 60 días"
|
|
echo "Tiempo máximo: 80 días"
|
|
echo "Promedio: 70 días (3.5 meses)"
|
|
echo ""
|
|
echo "=================================================="
|
|
echo "📅 Roadmap Sugerido:"
|
|
echo ""
|
|
echo "Sprint 1-2 (4 sem): Fundamentos + API"
|
|
echo "Sprint 3-4 (4 sem): Frontend + Performance"
|
|
echo "Sprint 5-6 (4 sem): ML + Refinamiento"
|
|
echo ""
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "🎯 Próximos Pasos:"
|
|
echo ""
|
|
echo "1. Revisar issues creados en GitHub"
|
|
echo "2. Configurar GitHub Project"
|
|
echo "3. Asignar issues a desarrolladores"
|
|
echo "4. Comenzar Sprint 1"
|
|
echo ""
|
|
echo "Ver AI_SCANNER_IMPROVEMENT_PLAN.md para detalles"
|
|
echo ""
|
|
echo "=================================================="
|