> Esta traducción se ofrece por comodidad. El texto normativo es el original en inglés. # Grafo de procedencia **Especificación del Meta-Universo** **ID del documento:** MU-V2-ARCH-011 **Título:** El grafo de procedencia consultable **Clase de documento:** normativo **Versión:** 2.0 (borrador) **Estado:** borrador de trabajo **Referencias normativas:** [Traceability](../02-architecture/Traceability.md), [Event](../04-core-concepts/Event.md), [MMAS-Core](../02-architecture/MMAS-Core.md), RFC 2119 **Referencias informativas:** [MMAS-Interchange](../02-architecture/MMAS-Interchange.md), [Contract](../04-core-concepts/Contract.md), [Projection](../04-core-concepts/Projection.md) **Copyright:** © Orkestron.AI **Licencia:** Apache-2.0 --- # 1. Propósito [Traceability](../02-architecture/Traceability.md) introduce el **linaje semántico** como la historia del origen del significado y señala que puede promoverse a artefacto consultable de primer orden. Este documento lo materializa: convierte el linaje semántico en un **grafo de procedencia**, una estructura navegable y consultable en la que toda conclusión está conectada con la evidencia que la sostiene, y las consecuencias de cualquier cambio pueden rastrearse hacia delante y hacia atrás. El grafo de procedencia convierte *«¿por qué es cierto este hecho?»* y *«¿qué se rompe si esto cambia?»* de investigaciones manuales en consultas de grafo deterministas. --- # 2. Alcance Esta especificación se aplica a: - los tipos de nodo y arista que componen el grafo de procedencia; - su relación con la causalidad de los [Eventos](../04-core-concepts/Event.md); - los patrones de consulta estándar que una implementación conforme DEBERÁ admitir; - el comportamiento de la procedencia entre Universos bajo federación. No impone una tecnología de almacenamiento de grafos; conforma cualquier implementación que responda a las consultas de la Sección 6 sobre el modelo de las Secciones 4-5. --- # 3. Principios - **El linaje es un grafo, no un registro secuencial.** Una conclusión puede derivar de muchos hechos, y un hecho puede influir en muchas conclusiones. - **Las aristas son explícitas.** Las relaciones de procedencia DEBERÁN declararse, no inferirse a posteriori. - **El grafo es de solo adición.** Crece mediante [Eventos](../04-core-concepts/Event.md) inmutables; nunca se reescribe en silencio. - **El grafo es consultable.** El impacto, la dependencia y la justificación DEBERÁN poder responderse mediante recorrido. --- # 4. Tipos de nodo El grafo de procedencia DEBERÁ reconocer los siguientes tipos de nodo: | Nodo | Significado | |------|---------| | **Objeto** | Un punto semántico de verdad: *qué existe*. | | **Evento** | Un registro inmutable de *qué ocurrió* (véase [Event](../04-core-concepts/Event.md)). | | **Proyección** | Una vista específica de un contexto derivada de uno o más Objetos. | | **Contrato** | La regla bajo la cual se usó o divulgó el conocimiento. | | **Fuente** | Un origen externo (un sistema aguas arriba, un documento, una observación u otro Universo) que no es en sí un Objeto del Meta-Universo. | Todo nodo DEBERÁ llevar una identidad estable y los [metadatos mínimos de trazabilidad](../02-architecture/Traceability.md) que correspondan a su clase. --- # 5. Tipos de arista El grafo de procedencia DEBERÁ reconocer los siguientes tipos de arista dirigida: | Arista | De → A | Significado | |------|-----------|---------| | `derivedFrom` | Objeto/Proyección/Evento → Objeto/Evento/Fuente | El destino es una entrada a partir de la cual se produjo el origen de la arista. | | `influences` | Objeto/Evento → Objeto/Proyección | El origen contribuyó al destino, pero no lo determinó por sí solo. | | `assertedBy` | Objeto/Evento/Proyección → Fuente (actor) | El destino fue aseverado por el actor o la autoridad nombrados. | | `governedBy` | Proyección/Evento/Objeto → Contrato | El uso o la divulgación estuvieron gobernados por el Contrato referenciado. | `derivedFrom` e `influences` capturan la dependencia *semántica* (origen del significado); `assertedBy` captura la *autoría* (procedencia); `governedBy` captura la *autoridad* (las reglas en vigor). Una arista DEBERÁ crearse como parte de un Evento inmutable, o ser referenciada por él, de modo que el propio grafo siga siendo trazable e imposible de reescribir. --- # 6. Relación con la causalidad de los Eventos El grafo de procedencia y la **causalidad** de los Eventos son dos vistas de una misma historia: - La **causalidad** enlaza Eventos a lo largo del *tiempo*: *este Evento ocurrió porque ocurrió aquel Evento* (véase [Event §9](../04-core-concepts/Event.md)). - La **procedencia** enlaza hechos a lo largo del *significado*: *esta conclusión es cierta porque aquellos hechos son ciertos*. Una arista `derivedFrom` entre dos conclusiones DEBERÁ ser coherente con la causalidad entre los Eventos que las produjeron: si la conclusión B deriva de la conclusión A, el Evento que aseveró B DEBERÁ seguir causalmente al Evento que aseveró A. El linaje explica el origen del significado entre entidades; la causalidad explica el origen del cambio a lo largo del tiempo. Juntos hacen del grafo una explicación a la vez *semántica* y *temporal* de cualquier hecho. --- # 7. Patrones de consulta estándar Una implementación conforme DEBERÁ poder responder lo siguiente sobre el grafo de procedencia: ## 7.1 Impacto - «¿qué se rompe si X cambia?» Un recorrido **hacia delante** desde el nodo X por las aristas `derivedFrom` e `influences` (invertidas) devuelve todo Objeto, Proyección y conclusión cuyo significado depende de X, de forma transitiva. Esto identifica los hechos posteriores que quedan obsoletos si X cambia y que DEBERÁN reevaluarse. ## 7.2 Dependencia - «muestra todas las conclusiones que dependen del Evento Y». Un recorrido desde el Evento Y siguiendo los Eventos y hechos en los que `influences` o que son `derivedFrom` él devuelve el cono de dependencia de Y: toda conclusión que descansa, directa o transitivamente, sobre Y. ## 7.3 Justificación - «¿por qué es cierto este hecho?» Un recorrido **hacia atrás** desde un hecho por las aristas `derivedFrom`, `influences`, `assertedBy` y `governedBy` devuelve su justificación: las entradas de las que se derivó, el actor que lo aseveró y el Contrato que gobernó su uso, hasta llegar a las Fuentes de origen. Esta es la respuesta legible por máquina a *«¿por qué es esto cierto?»*. --- # 8. Ejemplo resuelto Considérese una *puntuación de competencias de un empleado* derivada en varios pasos, cada uno registrado como Evento y conectado por aristas de procedencia: ```text (Source: Sprint Retrospectives) ▲ derivedFrom (Object: Project Feedback) ──assertedBy──▶ (Source: Team Lead) ▲ derivedFrom (Object: Performance Review) ──governedBy──▶ (Contract: HR Disclosure) ▲ derivedFrom (Object: Employee Competency Score) │ influences ▼ (Projection: Promotion Recommendation) ``` - **Justificación** - *¿por qué la recomendación de ascenso es la que es?* El recorrido hacia atrás devuelve: `derivedFrom` la puntuación de competencias, que `derivedFrom` la evaluación de desempeño (`governedBy` el contrato de divulgación de RR. HH.), que `derivedFrom` la retroalimentación de proyecto (`assertedBy` el responsable de equipo), fundamentada en las retrospectivas de sprint. - **Impacto** - *¿qué se rompe si se corrige una retrospectiva de sprint?* El recorrido hacia delante devuelve: la retroalimentación de proyecto, la evaluación de desempeño, la puntuación de competencias y la recomendación de ascenso, todas marcadas para reevaluación. - **Dependencia** - *¿qué conclusiones dependen del Evento que registró la evaluación de desempeño?* La puntuación de competencias y la recomendación de ascenso. Cada respuesta se produce por recorrido, no por lectura de prosa, y eso es lo que hace la procedencia *operativa* en lugar de meramente documentada. --- # 9. Comportamiento en la federación En una federación, el grafo de procedencia DEBERÁ preservar la trazabilidad sin ceder soberanía. Una arista `derivedFrom` PUEDE apuntar a una Fuente de otro Universo; esa arista DEBERÁ divulgarse únicamente mediante una [Proyección](../04-core-concepts/Projection.md) gobernada por un [Contrato](../04-core-concepts/Contract.md), tal como registra `governedBy`. Un Universo expone así *que* una conclusión depende de una Fuente externa, y bajo qué Contrato, sin exponer necesariamente todo el linaje interno de esa Fuente. --- # 10. Validación Un grafo de procedencia se ajusta a esta especificación cuando: - toda arista es de uno de los tipos definidos y está respaldada por un Evento inmutable; - se cumple la coherencia de `derivedFrom` con la causalidad de los Eventos (Sección 6); - las consultas de impacto, dependencia y justificación (Sección 7) devuelven resultados correctos y transitivos; - las aristas entre Universos se divulgan solo bajo Contratos explícitos. Véase [Validation](../02-architecture/Validation.md) para los niveles aplicables. --- # 11. Invariantes arquitectónicos - El grafo de procedencia DEBERÁ ser de solo adición y estar respaldado por Eventos inmutables. - Las aristas de procedencia DEBERÁN ser explícitas, nunca inferidas en silencio. - `derivedFrom` DEBERÁ ser coherente con la causalidad de los Eventos. - El impacto, la dependencia y la justificación DEBERÁN poder responderse mediante recorrido. - La procedencia entre Universos NO DEBERÁ eludir Contratos ni Proyecciones. --- # Direcciones futuras Una revisión futura podría definir un **lenguaje de consulta de procedencia** estándar y un formato de intercambio de fragmentos de grafo, de modo que las consultas de impacto y justificación puedan ejecutarse entre Universos federados; integrar el grafo con la [huella semántica](../02-architecture/MMAS-Interchange.md) para que un cambio en una fuente se *detecte* automáticamente y su cono posterior se *invalide*; y asociar confianza y vectores de confianza a las aristas para que la justificación pueda ponderarse y no solo enumerarse. Estas extensiones convertirían la invalidación automática de conclusiones obsoletas en una capacidad de primer orden y de alcance federativo. --- # Declaración final > La procedencia deja de ser una historia que contamos a posteriori y pasa a ser una estructura a la que podemos preguntar. El grafo de procedencia permite a cualquier participante rastrear una conclusión hacia atrás hasta la evidencia que la sostiene, y hacia delante hasta todo lo que se rompería si esa evidencia cambiara: a lo largo del tiempo, del significado y de los Universos federados.