--- id: PROMPT-SA-13 agent_id: SA-13 model: claude-sonnet-4.5 type: General background fase: FASE-3 scope: Create RNF docs para 4 módulos críticos (F3.8) mode: write created: 2026-02-06 --- # PROMPT-SA-13: Create RNF Docs para Módulos Críticos (P2) ## Contexto Eres un agente ejecutor de documentación de requisitos. Se ha identificado un gap P2: los **módulos críticos NO tienen documentación de Requisitos No Funcionales (RNF)**. **Proyecto:** trading-platform **Módulos críticos sin RNF (4 módulos):** 1. **Auth** (OQI-001) - Autenticación y autorización 2. **Trading** (OQI-002) - Operaciones de trading 3. **Payments** (OQI-005, Financial) - Procesamiento de pagos 4. **ML** (OQI-007) - Modelos de Machine Learning **Ubicación destino:** `docs/modulos-negocio/definitions/OQI-XXX/RNF-OQI-XXX.md` ## Instrucciones ### Plantilla de RNF Para cada uno de los 4 módulos, crear un archivo `RNF-OQI-XXX.md` con la siguiente estructura: ```markdown --- oqi: OQI-XXX module: [Nombre del Módulo] version: 1.0.0 date: 2026-02-06 status: draft --- # Requisitos No Funcionales - OQI-XXX: [Nombre Módulo] ## 1. Rendimiento (Performance) ### 1.1 Tiempo de Respuesta - **API Endpoints:** - GET requests: < 200ms (p95) - POST/PUT requests: < 500ms (p95) - Operaciones complejas: < 2s (p95) - **Métricas específicas del módulo:** - [ej: Para Trading: Ejecución de órdenes < 100ms] ### 1.2 Throughput - **Requests por segundo:** [XXX] RPS sostenidos - **Concurrencia:** Soportar [XXX] usuarios simultáneos - **Picos:** Tolerar hasta [XXX]% de carga adicional ### 1.3 Latencia - **Base de datos:** Queries < 50ms (p95) - **Cache (Redis):** < 10ms - **Servicios externos:** Timeout después de [XXX]s ## 2. Escalabilidad (Scalability) ### 2.1 Horizontal - **Stateless design:** Servicios sin estado de sesión - **Load balancing:** Distribución automática de carga - **Auto-scaling:** [Criterios para escalar: CPU > 70%, etc.] ### 2.2 Vertical - **Límites de recursos:** - CPU: [XXX] cores por instancia - RAM: [XXX] GB por instancia - Conexiones DB: [XXX] máximo ### 2.3 Datos - **Volumen esperado:** [XXX] registros por año - **Tasa de crecimiento:** [XXX]% anual - **Retención:** [XXX] años en storage hot, [XXX] en archive ## 3. Disponibilidad (Availability) ### 3.1 Uptime - **SLA Target:** 99.9% (8.76h downtime/año) - **Ventanas de mantenimiento:** [Definir si aplica] ### 3.2 Recuperación ante Fallos - **RTO (Recovery Time Objective):** < [XXX] minutos - **RPO (Recovery Point Objective):** < [XXX] minutos de pérdida de datos - **Estrategia:** [Active-passive, active-active, etc.] ### 3.3 Tolerancia a Fallos - **Degradación gradual:** [Qué funcionalidades se degradan primero] - **Circuit breakers:** Activación después de [XXX] fallos - **Retries:** Máximo [XXX] reintentos con backoff exponencial ## 4. Seguridad (Security) ### 4.1 Autenticación - **Mecanismo:** [JWT, OAuth 2.0, etc.] - **Expiración de tokens:** [XXX] minutos - **Refresh tokens:** [XXX] días ### 4.2 Autorización - **Modelo:** RBAC (Role-Based Access Control) - **Niveles de permisos:** [listar roles y permisos del módulo] ### 4.3 Datos Sensibles - **Encriptación en tránsito:** TLS 1.3 - **Encriptación en reposo:** AES-256 - **PII (Personal Identifiable Information):** [Qué datos, cómo se protegen] ### 4.4 Auditoría - **Logging de accesos:** Todos los accesos a datos sensibles - **Retención de logs:** [XXX] días - **Alertas:** [Eventos que disparan alertas de seguridad] ## 5. Mantenibilidad (Maintainability) ### 5.1 Código - **Cobertura de tests:** ≥ 80% - **Complejidad ciclomática:** < 10 por función - **Deuda técnica:** < [XXX] horas estimadas ### 5.2 Documentación - **API docs:** Swagger/OpenAPI actualizado automáticamente - **Code comments:** Funciones complejas documentadas - **README:** Actualizado con cada cambio mayor ### 5.3 Monitoreo - **Métricas:** [CPU, RAM, latencia, errores, etc.] - **Dashboards:** Grafana con métricas en tiempo real - **Alertas:** [Umbrales para notificaciones] ## 6. Usabilidad (Usability) - Frontend ### 6.1 Accesibilidad - **WCAG:** Nivel AA - **Soporte de navegadores:** Chrome, Firefox, Safari, Edge (últimas 2 versiones) - **Responsive:** Desktop, tablet, mobile ### 6.2 Experiencia de Usuario - **Feedback visual:** Loading states, error messages claros - **Validaciones:** Client-side + server-side - **Internacionalización:** [es-ES, en-US, etc.] ## 7. Conformidad y Regulación ### 7.1 Estándares - **ISO 27001:** Seguridad de la información - **OWASP Top 10:** Mitigación de vulnerabilidades web ### 7.2 Regulaciones - **[Para Payments: PCI DSS compliance]** - **[Para Financial: Regulaciones financieras locales]** ## 8. Métricas de Calidad | Métrica | Objetivo | Medición | |---------|----------|----------| | Disponibilidad | 99.9% | Uptime monitoring | | P95 latency API | < 500ms | APM tools | | Cobertura de tests | ≥ 80% | Jest/Pytest | | Errores en prod | < 0.1% | Error tracking | | [Añadir específicas del módulo] | | | ## 9. Dependencias Externas - **Servicios:** [listar APIs externas, ej: Payment gateways] - **SLA de terceros:** [documentar SLAs esperados] - **Fallback:** [plan B si servicio externo falla] ## 10. Ambiente y Configuración ### 10.1 Variables de Entorno - [Listar variables críticas del módulo] - Documentadas en `.env.example` ### 10.2 Recursos de Infraestructura - **PostgreSQL:** [schemas específicos, tamaño estimado] - **Redis:** [uso de cache, TTLs] - **Storage:** [si aplica: S3, file system, etc.] --- ## Historial de Cambios | Versión | Fecha | Autor | Cambios | |---------|-------|-------|---------| | 1.0.0 | 2026-02-06 | SA-13 | Creación inicial | ``` ### Personalización por Módulo **Para cada módulo, ajustar:** 1. **Auth (OQI-001):** - Performance: Login < 300ms, token refresh < 100ms - Seguridad: MFA, rate limiting (5 intentos/min) - Datos sensibles: passwords hasheados (bcrypt), tokens encriptados 2. **Trading (OQI-002):** - Performance: Ejecución órdenes < 100ms (crítico) - Throughput: 1000 RPS sostenidos - Datos: Retención indefinida (regulatorio) - Latencia: Market data < 50ms 3. **Payments (OQI-005):** - Seguridad: PCI DSS compliance - Disponibilidad: 99.95% (crítico para negocio) - Auditoría: Todas las transacciones loggeadas - Idempotencia: Requests duplicados deben ser detectados 4. **ML (OQI-007):** - Performance: Inferencia < 200ms - Escalabilidad: GPU-based scaling - Modelos: Versionado, rollback capability - Monitoreo: Model drift detection ## Restricciones - **MODO WRITE:** Crear 4 nuevos archivos RNF - NO copiar-pegar genéricos, personalizar por módulo - Usar valores realistas basados en el proyecto - Consultar `docker-compose.yml`, `package.json` para recursos reales ## Output Esperado ```markdown ## Archivos Creados: 4 ### 1. RNF-OQI-001.md (Auth) - **Ubicación:** `docs/modulos-negocio/definitions/OQI-001-AUTH/RNF-OQI-001.md` - **Tamaño:** ~450 líneas - **Secciones:** 10 (Performance, Scalability, Availability, Security, etc.) - **Highlights:** MFA, JWT expiration 15min, rate limiting 5/min ### 2. RNF-OQI-002.md (Trading) - **Ubicación:** `docs/modulos-negocio/definitions/OQI-002-TRADING/RNF-OQI-002.md` - **Tamaño:** ~480 líneas - **Highlights:** Order execution < 100ms, 99.95% uptime, market data latency < 50ms ### 3. RNF-OQI-005.md (Payments) - **Ubicación:** `docs/modulos-negocio/definitions/OQI-005-FINANCIAL/RNF-OQI-005.md` - **Tamaño:** ~500 líneas - **Highlights:** PCI DSS, idempotency, 100% audit trail, encryption at rest/transit ### 4. RNF-OQI-007.md (ML) - **Ubicación:** `docs/modulos-negocio/definitions/OQI-007-ML/RNF-OQI-007.md` - **Tamaño:** ~460 líneas - **Highlights:** Inference < 200ms, model versioning, GPU scaling, drift detection ## Validación ✅ 4 archivos creados ✅ Personalización específica por módulo ✅ Valores realistas basados en proyecto ✅ Formato markdown válido ✅ Plantilla completa (10 secciones) en cada archivo ``` **Compromiso:** Crear 4 archivos RNF personalizados y completos para módulos críticos.