> Esta traducción se ofrece por comodidad. El texto normativo es el original en inglés. # Proyección virtual **Especificación del Meta-Universo** **ID del documento:** MU-V2-CORE-012 **Título:** Proyecciones virtuales y hechos descriptivos calientes y fríos **Clase de documento:** normativo **Versión:** 2.0 (borrador) **Estado:** borrador de trabajo **Referencias normativas:** MUC, [Proyección](../04-core-concepts/Projection.md), [Evento](../04-core-concepts/Event.md), [Sincronización](../03-federation/Synchronization.md), [Contrato](../04-core-concepts/Contract.md) **Referencias informativas:** [Trazabilidad](../02-architecture/Traceability.md), [Validación](../02-architecture/Validation.md) **Copyright:** © Orkestron.AI **Licencia:** Apache-2.0 --- # 1. Propósito No todos los hechos se mueven a la misma velocidad. La estructura de una API cambia rara vez; una métrica de latencia cambia cada segundo. Tratar a ambos igual obliga a una mala elección: consolidar hechos volátiles en el modelo y ahogarlo en ruido («amplificación de escritura»), o guardarlos fuera y romper el modelo como fuente de verdad. Este documento lo resuelve clasificando los hechos descriptivos como **fríos** o **calientes**, y definiendo la **Proyección virtual**: una vista viva, gobernada por contrato, que expone hechos calientes *sin materializarlos en el modelo*. --- # 2. Hechos descriptivos fríos y calientes Un **hecho descriptivo** registra algo que es cierto sobre la realidad (a diferencia de una regla normativa, que prescribe). Los hechos descriptivos se clasifican por su volatilidad: | Clase | Ejemplos | Tratamiento | |-------|----------|-----------| | **Fríos** | estructura del modelo de datos, esquemas de API, dependencias, propiedad | Materializados como [Objetos](../04-core-concepts/Object.md) y [Relaciones](../04-core-concepts/Relationship.md) ordinarios; versionados; con huella | | **Calientes** | métricas, registros, alertas, sesiones activas, estado actual de la infraestructura | **NO** se materializan; se exponen como **Proyección virtual** respaldada por una fuente viva | La frontera es una decisión de modelado registrada en el propio hecho; un hecho PUEDE promoverse de caliente a frío (por ejemplo, una configuración estabilizada) mediante un cambio explícito. --- # 3. Definición Una **Proyección virtual** es una [Proyección](../04-core-concepts/Projection.md) cuyo contenido se **calcula al leer desde una fuente viva** y no se almacena en el modelo. Una Proyección virtual DEBERÁ: - referenciar el Meta-Objeto o sistema que proyecta (`subject`); - declarar su **fuente** (un flujo, consulta o endpoint) y una característica de **frescura** (por ejemplo, tiempo real, muestreada, con ventana); - estar gobernada por un [Contrato semántico](../04-core-concepts/Contract.md) como cualquier otra Proyección; - llevar [procedencia](../02-architecture/Traceability.md) apuntando a la fuente viva, para que el consumidor conozca el origen y la antigüedad del hecho. Una Proyección virtual NO DEBERÁ mutar el estado canónico, y leerla NO DEBERÁ producir un cambio en el modelo. El modelo permanece estable; el valor está vivo. --- # 4. Por qué importa (sin amplificación de escritura) Como los hechos calientes se leen mediante Proyecciones virtuales en lugar de escribirse en el modelo: - el modelo canónico **no** se reescribe en cada tick de métrica; - no hay una tormenta permanente de conflictos de fusión por actualizaciones de alta frecuencia; - el modelo sigue siendo la fuente de verdad de la *estructura y el significado*, mientras que los sistemas vivos siguen siendo la fuente de verdad de los *valores actuales*; - un agente de IA puede leer al vuelo «¿cuál es la tasa de error ahora mismo?» sin que el modelo llegue nunca a afirmar que *almacena* ese número. --- # 5. Hechos calientes y Eventos Una Proyección virtual es el *valor actual*; cuando un hecho caliente cruza un umbral significativo PUEDE emitir además un [Evento](../04-core-concepts/Event.md) (por ejemplo, un evento `Lifecycle` o `Conflict` ante una infracción). Los Eventos son el registro duradero e inmutable; la Proyección virtual es la vista viva y efímera. Ambos se complementan: el flujo se lee en vivo, los momentos significativos se recuerdan. --- # 6. Federación de Proyecciones virtuales En la [federación](../03-federation/Synchronization.md), un hecho caliente se comparte como **flujo**, no como confirmaciones repetidas: un productor entrega actualizaciones `SyncEvent` a un consumidor bajo contrato (la vía de [sincronización MUFP](../03-federation/MUFP-Messages.md)), en lugar de obligar al consumidor a materializar y volver a almacenar cada cambio. Esta es la expresión federada del mismo principio: **sincroniza significado y cambio, no filas en bruto.** --- # 7. Validación Una Proyección virtual es conforme cuando: - está gobernada por un Contrato y declara un propósito (como toda Proyección); - declara su fuente y su frescura; - no se materializa en el estado canónico ni lo muta; - lleva procedencia hasta su fuente viva. Un modelo NO DEBERÁ registrar un hecho caliente como hecho frío materializado sin una promoción explícita (sección 2). --- # 8. Invariantes arquitectónicos - Leer una Proyección virtual NO DEBERÁ cambiar el modelo. - Los hechos calientes NO DEBERÁN consolidarse en el modelo canónico como si fueran fríos. - Una Proyección virtual DEBERÁ estar gobernada por contrato y llevar procedencia. - El modelo sigue siendo autoritativo para la estructura y el significado; los sistemas vivos siguen siendo autoritativos para los valores actuales. --- # Direcciones futuras - Un formato descriptor de **Vista de flujo virtual** (vinculación de fuente, ventanas, muestreo) en MUIF, para que las proyecciones virtuales sean a su vez descubribles. - Señales estándar de **deriva de resultados** derivadas de hechos calientes (véase [Validación](../02-architecture/Validation.md)). --- # Declaración final > Un modelo debería recordar qué *significan* las cosas y cómo están *construidas*, no intentar recordar cada valor que tuvieron hace un milisegundo. Las Proyecciones virtuales dejan que los números vivos sigan vivos, mientras el significado permanece quieto.