#!/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 "=================================================="