Fase 2 – Gemelo Operativo Prodisys

.. contents:: Tabla de contenido :depth: 2 :local:

Resumen ejecutivo

Prodisys requiere un gemelo operativo que apoye el diseño y desarrollo de equipos (hidrociclones, aeroenfriadores, eductores) sin quedar acoplado a una interfaz única. Esta fase prioriza desacoplar la lógica de cálculo en un núcleo de dominio reutilizable, automatizar un pipeline de simulación e informes, y habilitar capacidades de búsqueda técnica y trazabilidad para acelerar diseño, validación y presentación a cliente.

Resumen visual de hitos de la Fase 2

Mes

Hito principal

Entregable

Responsable

1

Desacople del núcleo de cálculo

Librerías prodisys.core y prodisys.calc

Ingeniería

2

Pipeline OpenFOAM y generación de informes

Pipeline YAML y plantillas .rst→PDF

Simulación / Ingeniería

3

Integración UI y exportación comercial

CLI funcional, paquete Aleph

Ingeniería / Comercial

4

Validación y trazabilidad

Tablero de auditoría y checklist de privacidad

Dirección Técnica

(El timeline facilita visualizar la progresión temporal y los entregables clave de la fase 2.)

Objetivos (90 días) — con entregables y métricas de éxito vinculadas

  1. Desacople arquitectónico: extraer el dominio de cálculo en librerías y servicios (CLI/API) reutilizables.

  2. Pipeline de diseño–simulación–informe: de parámetros → mallas → corrida (OpenFOAM) → posproceso → informe .rst/PDF reproducible.

  3. Catálogo de diseños: plantillas parametrizadas con versionado y comparadores de desempeño.

  4. Trazabilidad & auditoría: cada resultado enlazado a insumo, commit, settings y versión de modelo (auditoría JSONL).

  5. Búsqueda técnica: ingesta y extracción de fórmulas, rangos y criterios desde literatura técnica.

  6. Entrega comercial: generación de paquetes (KPIs, gráficas CFD, PDF) para Aleph y publicaciones.

Alcance

  • Familias iniciales: Hidrociclón y Aeroenfriador.

  • Integraciones: OpenFOAM, Git, Aleph.

  • Excluido: control en planta/IoT; futuro.

Arquitectura propuesta (hexagonal)

Capas

  • Dominio: fórmulas, validaciones, criterios. Sin dependencias UI.

  • Aplicación/Servicios: orquestación, pipelines, informes.

  • Adaptadores: UI, CLI, API REST, conectores OpenFOAM/Aleph.

  • Infra: telemetría, almacenamiento, caché.

Patrones clave

  • Ports & Adapters.

  • Pipelines declarativos (YAML).

  • Data Contracts (pydantic).

Mapa de capacidades

Capacidad

Entrada

Salida

Cálculo rápido

YAML/JSON (caudal, D, ρ)

KPIs rápidos (ΔP, eficiencia)

Simulación CFD/CAE

Caso OpenFOAM + geometría STL

Campos, KPIs, imágenes

Comparación multi-escenario

JSONs de resultados

Tablas, gráficos

Generación de evidencia

Parámetros y resultados previos

Informe .rst→PDF

Catálogo & reutilización

Metadatos YAML

Plantillas parametrizadas

Búsqueda técnica

Consulta texto

Resumen con criterios de diseño

Roadmap y entregables

Mes 1 – Extraer core de dominio (prodisys.core, prodisys.calc, prodisys.equipos). CLI mínima. Flujo de bosquejos con YAML.

Mes 2 – Pipeline OpenFOAM (casekit), informes .rst automáticos, catálogo con comparador de resultados.

Mes 3 – Adaptar UI como adaptador, exportación de paquetes comerciales, tablero de auditoría, diálogo de verificación.

Entregables: paquetes Python, CLI, plantillas .rst, catálogo (10–20 escenarios), guía de operación.

Métricas de éxito

  • T2E < 48 h hasta informe PDF.

  • ≥50% de casos nuevos por clon de plantilla.

  • ≥80% de pasos automatizados.

  • Checklist de calidad por caso.

Riesgos y mitigaciones

  • Acoplamiento residual → tests de contrato.

  • Variabilidad de solver → recetas y tolerancias.

  • Gestión de artefactos → convenciones y limpieza.

Repositorio: contenido, acceso y propósito

Contenido: código núcleo (core, calc, equipos, pipelines, adapters, telemetry), interfaces (cli, api, ui_streamlit), plantillas (templates, catalogo, docs), conocimiento (knowledge), automatización (tests, ci).

Acceso: Git privado on-prem (Gitea/GitLab), SSH+2FA, RBAC. Flujo main / develop / feature, MR, tags. Seguridad con Vault y CI sin egress.

Propósito: fuente única de verdad, reproducibilidad (tag+JSONL), desacople, automatización, privacidad, onboarding rápido.

Refactor del repositorio

Estructura objetivo:

prodisys/
  core/
  equipos/
    hidrociclon/
    aeroenfriador/
  calc/
  pipelines/
  adapters/
    ui_streamlit/
    cli/
    api/
    openfoam/
    aleph_export/
  telemetry/
  reports/
  tests/

Mover lógica pura a core/calc, exponer puertos, unificar auditoría (JSONL).

Búsqueda técnica (mínimo viable)

knowledge/ con PDFs y metadatos YAML, indexado y extracción de rangos y criterios de diseño.

Entrenamiento de heurísticas

Feedback explícito (aprobaciones, prioridades) e implícito (uso, selecciones). Ajuste de pesos (λ), reglas go/no-go, ranking multi‑armed bandit, trazabilidad JSONL, modo sandbox y control humano.

Componente cognitivo y estilo de trabajo

Bosquejos: foto → inbox_sketches/, YAML con contexto, objetivos y supuestos. Enlace a ficha de diseño y catálogo.

Extracción: marcaje de cotas, valores con incertidumbre (min/nom/max), heurísticas por familia.

Razonamiento: perfil de decisión (YAML), reglas go/no‑go, diálogo de verificación, justificación.

Aprendizaje: registro de decisiones, evolución de plantillas.

Trazabilidad: auditoría enlaza bosquejo, parámetros, commits y resultados.

Reglas de operación (lenguaje claro y privacidad)

1) Lenguaje claro para no‑sistemas (glosario operativo)

  • Artefacto: cualquier archivo/resultado generado (código, CSV, PNG, informe PDF, malla, caso OpenFOAM, etc.).

  • Pipeline: receta automatizada que toma entradas y produce artefactos (parámetros → malla → simulación → KPIs → informe).

  • YAML: formato de texto legible (listas con guiones y “clave: valor”) para describir pipelines y metadatos.

  • Telemetry/Auditoría: registro cronológico de qué se ejecutó, con qué entradas y qué produjo (trazabilidad/repetibilidad).

  • params.json: archivo de parámetros de entrada en JSON (texto con llaves {}) que consume el pipeline.

  • Adaptador: pieza que conecta el núcleo de cálculo con algo externo (UI, OpenFOAM, Aleph) sin romper el núcleo.

  • Dominio: parte de ingeniería pura (fórmulas, criterios, validaciones) sin UI ni dependencias externas.

  • CLI: ejecutar desde consola con comandos (p. ej., prodisys run ...).

Apoyos en la UI

  • Tooltips/glosario en línea y botón “¿Qué significa esto?” junto a cada término técnico.

2) Sistema cerrado / privado (sin fuga de datos)

  • Sin terceros por defecto: no se envían documentos ni parámetros a servicios externos (incluidos servicios de IA).

  • Modelos locales: LLM/embeddings on‑prem o infraestructura controlada, sin telemetría saliente.

  • Control de acceso (RBAC): roles (Administrador, Ingeniería, Comercial) y herencia de permisos por artefacto.

  • Cifrado: en reposo y en tránsito; claves en Vault (no en .env plano).

  • Red: política deny‑all egress en contenedores; sólo repos internos y nodos de cómputo autorizados.

  • Auditoría: logs firmados (hash) en logs/agent.log.jsonl + checksum de artefactos; alertas ante salidas de red.

  • Clasificación: INTERNAL, CONFIDENTIAL, CLIENT_CONFIDENTIAL aplicada a todos los artefactos.

  • Backups/retención: snapshots cifrados; retención por clase de dato; derecho al olvido para clientes.

  • Contrato de uso: explícito que ningún gestor de IA externo puede usar datos para entrenamiento.

Pruebas/controles de privacidad

  • Test de circuito cerrado (falla si hay HTTP saliente no autorizado).

  • Escaneo de secretos en CI; bloqueo de commits con credenciales.

  • Revisión periódica de permisos por carpeta/repo.

Siguientes pasos inmediatos

  1. Crear repo prodisys-gemelo.

  2. Extraer paquete prodisys-core.

  3. Especificar pipeline YAML de hidrociclón.

  4. Implementar CLI y prueba e2e.

  5. Definir plantilla .rst y salida PDF.

  6. Activar flujo de bosquejos (inbox_sketches/).

Política de datos y checklist de privacidad

Política de datos (resumen ejecutivo)

  • Toda la información de proyectos y clientes se clasifica como CONFIDENCIAL o CLIENT_CONFIDENTIAL.

  • Ningún artefacto/dataset/documento podrá ser compartido con terceros sin autorización explícita del gerente de ingeniería.

  • Prohibido el entrenamiento, ajuste o inferencia por modelos de IA externos con datos de Prodisys o de clientes.

  • Los datos permanecen bajo control de Prodisys y se procesan únicamente en infraestructura local o controlada.

  • Copias de seguridad cifradas con retención definida (90 días datos temporales, 1 año resultados, indefinido informes finales archivados).

  • Garantizar el derecho al olvido: eliminación completa cuando el cliente lo solicite.

  • Auditorías de cumplimiento al menos cada seis meses.

Checklist de privacidad antes de cada entrega

  1. Clasificación verificada de cada artefacto (INTERNAL/CONFIDENTIAL/CLIENT_CONFIDENTIAL).

  2. Confirmación de cero llamadas externas en pipelines (test de circuito cerrado).

  3. Revisión de hashes/firmas en logs/agent.log.jsonl.

  4. Verificación de que .env no contenga claves expuestas.

  5. Cifrado de backups y permisos por rol vigentes.

  6. Nombres de archivo sin datos personales o nombres de cliente.

  7. Registro de aprobación final de privacidad en auditoría.

Guía de uso paso a paso

Descripción visual paso a paso

Inicio: pantalla de bienvenida con opciones de rol (Administrador, Ingeniería, Comercial).

Caso nuevo: formulario sencillo con campos para nombre, tipo de equipo y carga del bosquejo.

Ficha de diseño: vista de formulario con pestañas para contexto, variables y prioridades.

Preguntas inteligentes: cuadro de diálogo guiado con opciones y respuestas rápidas.

Resultados preliminares: tablero con KPIs y visualizaciones.

Pipeline en ejecución: barra de progreso y estado de cada etapa (malla, simulación, posproceso, informe).

Informe: previsualización en PDF con opción de exportar a paquete comercial.

Catálogo: vista de tarjetas con miniaturas de casos anteriores y filtros por equipo o cliente. — tiempos estimados e intervención — tiempos estimados e intervención

  1. Entrar y crear un caso1–2 min · Intervención: baja

    • Inicia sesión y elige tu rol (Administrador / Ingeniería / Comercial).

    • Crea un Caso (expediente de diseño): nombre, objetivo, familia de equipo.

    • Sube el bosquejo (foto) que irá a inbox_sketches/.

  2. Ficha de diseño (traducción sencilla)3–6 min · Intervención: media

    • Completa contexto, supuestos y criterios de éxito.

    • El sistema guarda metadatos en YAML (texto “clave: valor”).

    • Ajusta tu Perfil de decisión (seguridad, eficiencia, costo, mantenibilidad, plazos).

  3. Preguntas inteligentes del gemelo2–4 min · Intervención: baja

    • 5–7 preguntas cortas para aclarar ambigüedades (p. ej., “¿L/D objetivo?”, “¿ΔP máxima?”).

    • Marca cotas sobre la imagen (escala de referencia) y define rangos (min/nom/max).

  4. Propuesta inicial≈1 min · Intervención: nula

    • Cálculos analíticos rápidos generan KPIs (ΔP, eficiencia, tamaño, potencia).

    • Reglas go/no‑go avisan si violas límites críticos.

    • Todo queda en Auditoría/Telemetry (JSONL firmado).

  5. Simulación automatizada5–30 min · Intervención: nula/monitor

    • Al pulsar Simular, corre un Pipeline (YAML): malla → OpenFOAM → posproceso → informe.

    • Se generan artefactos: mallas, CSV, imágenes, informe .rst→PDF.

  6. Revisión y decisión3–8 min · Intervención: alta

    • Tablero con tablas/gráficos, explicación de trade‑offs y supuestos.

    • Ajustas prioridades/entradas, recalculas, y apruebas o pides cambios.

  7. Informe y paquete comercial≈1 min · Intervención: nula

    • Genera el Informe reproducible .rst→PDF con figuras y anexos.

    • Crea paquete comercial (ZIP con PDF + PNG + CSV) para Aleph o envío.

  8. Reutilización y catálogo≈1 min · Intervención: baja

    • Guarda como Plantilla; inicia futuros casos desde allí.

  9. Búsqueda técnica2–5 min · Intervención: baja

    • Consulta en knowledge/ y obtén resúmenes y referencias (todo local).

  10. Seguridad y privacidad≈1 min · Intervención: nula

  • Circuito cerrado (sin conexiones externas), RBAC y checklist previo a entrega.

Mini‑glosario práctico

  • Caso: carpeta viva del proyecto con todo lo asociado.

  • YAML: archivo legible de configuración (clave: valor) para pipelines y metadatos.

  • Pipeline: receta automatizada (parámetros → malla → simulación → informe).

  • Artefacto: archivo generado (CSV, PDF, imagen, malla).

  • KPIs: métricas clave (ΔP, eficiencia…).

  • Auditoría/Telemetry: bitácora firmada (JSONL) de entradas/salidas/versión.

  • Perfil de decisión: prioridades ponderadas del ingeniero.

  • Go/No‑Go: reglas que aprueban o frenan un diseño por límites críticos.

  • Catálogo/Plantilla: biblioteca de casos exitosos reutilizables.

Diagramas de flujo (auto-generados)

.. figure:: flujo_interaccion_gemelo.png :align: center :width: 80%

.. figure:: flujo_pipeline.png :align: center :width: 80%

Anexos

  • Glosario de KPIs.

  • Checklist de validación.

  • Convenciones de nombres y rutas.