> Перевод даётся для удобства чтения. Нормативным является английский оригинал. # Граф происхождения **Спецификация Мета-Вселенной** **Идентификатор документа:** MU-V2-ARCH-011 **Название:** Запрашиваемый граф происхождения **Класс документа:** нормативный **Версия:** 2.0 (черновик) **Статус:** рабочий черновик **Нормативные ссылки:** [Traceability](../02-architecture/Traceability.md), [Event](../04-core-concepts/Event.md), [MMAS-Core](../02-architecture/MMAS-Core.md), RFC 2119 **Информативные ссылки:** [MMAS-Interchange](../02-architecture/MMAS-Interchange.md), [Contract](../04-core-concepts/Contract.md), [Projection](../04-core-concepts/Projection.md) **Копирайт:** © Orkestron.AI **Лицензия:** Apache-2.0 --- # 1. Назначение [Traceability](../02-architecture/Traceability.md) вводит **смысловую родословную** как историю начала смысла и отмечает, что её можно вынести в полноправный запрашиваемый артефакт. Этот документ это осуществляет: он превращает смысловую родословную в **граф происхождения** - проходимую запрашиваемую структуру, где каждый вывод связан с обосновывающими его свидетельствами, а последствия любого изменения прослеживаются вперёд и назад. Граф происхождения превращает вопросы *«почему этот факт истинен?»* и *«что сломается, если это изменится?»* из ручных расследований в детерминированные запросы к графу. --- # 2. Область действия Эта спецификация применяется к: - типам узлов и рёбер, составляющих граф происхождения; - его отношению к причинности [Событий](../04-core-concepts/Event.md); - стандартным шаблонам запросов, которые соответствующая реализация ОБЯЗАНА поддерживать; - поведению происхождения между Вселенными при федерации. Она не предписывает технологии хранения графа; соответствует любая реализация, которая отвечает на запросы раздела 6 по модели разделов 4-5. --- # 3. Принципы - **Родословная - это граф, а не журнал.** Вывод может происходить из многих фактов, а факт может влиять на многие выводы. - **Рёбра явны.** Отношения происхождения ОБЯЗАНЫ объявляться, а не выводиться задним числом. - **Граф только дописывается.** Он растёт через неизменяемые [События](../04-core-concepts/Event.md); его никогда не переписывают молча. - **Граф запрашиваем.** Влияние, зависимость и обоснование ОБЯЗАНЫ получаться обходом. --- # 4. Типы узлов Граф происхождения ОБЯЗАН распознавать следующие типы узлов: | Узел | Значение | |------|---------| | **Объект** | Смысловая точка истины - *что существует*. | | **Событие** | Неизменяемая запись о том, *что произошло* (см. [Event](../04-core-concepts/Event.md)). | | **Проекция** | Зависящее от контекста представление, производное от одного или нескольких Объектов. | | **Контракт** | Правило, по которому знание использовалось или раскрывалось. | | **Источник** | Внешнее начало (вышестоящая система, документ, наблюдение или другая Вселенная), само не являющееся Объектом Мета-Вселенной. | Каждый узел ОБЯЗАН нести устойчивую идентичность и [минимальные метаданные прослеживаемости](../02-architecture/Traceability.md), уместные для его вида. --- # 5. Типы рёбер Граф происхождения ОБЯЗАН распознавать следующие направленные типы рёбер: | Ребро | Откуда → Куда | Значение | |------|-----------|---------| | `derivedFrom` | Объект/Проекция/Событие → Объект/Событие/Источник | Цель является входом, из которого получен источник ребра. | | `influences` | Объект/Событие → Объект/Проекция | Источник ребра внёс вклад в цель, но не определил её единолично. | | `assertedBy` | Объект/Событие/Проекция → Источник (действующее лицо) | Цель утверждена названным действующим лицом или органом. | | `governedBy` | Проекция/Событие/Объект → Контракт | Использование или раскрытие управлялось указанным Контрактом. | `derivedFrom` и `influences` фиксируют *смысловую* зависимость (начало смысла); `assertedBy` фиксирует *авторство* (происхождение); `governedBy` фиксирует *полномочие* (действующие правила). Ребро ОБЯЗАНО создаваться в составе неизменяемого События или упоминаться им, чтобы сам граф оставался прослеживаемым и неперезаписываемым. --- # 6. Отношение к причинности Событий Граф происхождения и **причинность** Событий - два взгляда на одну историю: - **Причинность** связывает События во *времени*: *это Событие произошло, потому что произошло то Событие* (см. [Event §9](../04-core-concepts/Event.md)). - **Происхождение** связывает факты по *смыслу*: *этот вывод истинен, потому что истинны те факты*. Ребро `derivedFrom` между двумя выводами ОБЯЗАНО быть согласованным с причинностью между породившими их Событиями: если вывод B выводится из вывода A, Событие, утвердившее B, ОБЯЗАНО причинно следовать за Событием, утвердившим A. Родословная объясняет начало смысла между сущностями; причинность объясняет начало изменения во времени. Вместе они делают граф одновременно *смысловым* и *временным* объяснением любого факта. --- # 7. Стандартные шаблоны запросов Соответствующая реализация ОБЯЗАНА уметь отвечать по графу происхождения на следующее: ## 7.1 Влияние - «что сломается, если X изменится?» **Прямой** обход от узла X по рёбрам `derivedFrom` и `influences` (в обратную сторону) даёт каждый Объект, Проекцию и вывод, чей смысл зависит от X, транзитивно. Это выявляет последующие факты, которые протухают при изменении X и ОБЯЗАНЫ быть переоценены. ## 7.2 Зависимость - «покажи все выводы, зависящие от События Y». Обход от События Y по Событиям и фактам, на которые оно `influences` и которые `derivedFrom` него, даёт конус зависимости Y - каждый вывод, который прямо или транзитивно на нём держится. ## 7.3 Обоснование - «почему этот факт истинен?» **Обратный** обход от факта по рёбрам `derivedFrom`, `influences`, `assertedBy` и `governedBy` даёт его обоснование: входы, из которых он выведен, действующее лицо, которое его утвердило, и Контракт, управлявший его использованием, - вплоть до порождающих Источников. Это машиночитаемый ответ на вопрос *«почему это истинно?»* --- # 8. Разобранный пример Рассмотрим *оценку компетенций сотрудника*, выведенную в несколько шагов, каждый из которых записан как Событие и связан рёбрами происхождения: ```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) ``` - **Обоснование** - *почему рекомендация о повышении именно такова?* Обратный обход возвращает: она `derivedFrom` оценки компетенций, которая `derivedFrom` обзора результативности (`governedBy` кадрового контракта раскрытия), который `derivedFrom` обратной связи по проекту (`assertedBy` руководителем команды), опирающейся на ретроспективы спринтов. - **Влияние** - *что сломается, если ретроспектива спринта будет исправлена?* Прямой обход возвращает: обратную связь по проекту, обзор результативности, оценку компетенций и рекомендацию о повышении - всё помечается к переоценке. - **Зависимость** - *какие выводы зависят от События, записавшего обзор результативности?* Оценка компетенций и рекомендация о повышении. Каждый ответ получается обходом, а не чтением прозы, - именно это делает происхождение *операционным*, а не просто задокументированным. --- # 9. Поведение при федерации В федерации граф происхождения ОБЯЗАН сохранять прослеживаемость, не поступаясь суверенитетом. Ребро `derivedFrom` МОЖЕТ указывать на Источник в другой Вселенной; такое ребро ОБЯЗАНО раскрываться только через [Проекцию](../04-core-concepts/Projection.md), управляемую [Контрактом](../04-core-concepts/Contract.md), как зафиксировано в `governedBy`. Тем самым Вселенная раскрывает *то, что* вывод зависит от внешнего Источника, и по какому Контракту, не раскрывая при этом всей внутренней родословной Источника. --- # 10. Валидация Граф происхождения соответствует этой спецификации, когда: - каждое ребро относится к одному из определённых типов и подкреплено неизменяемым Событием; - согласованность `derivedFrom` с причинностью Событий соблюдается (раздел 6); - запросы влияния, зависимости и обоснования (раздел 7) возвращают верные транзитивные результаты; - межвселенские рёбра раскрываются только по явным Контрактам. Применимые уровни см. в [Validation](../02-architecture/Validation.md). --- # 11. Архитектурные инварианты - Граф происхождения ОБЯЗАН быть только дописываемым и подкреплённым неизменяемыми Событиями. - Рёбра происхождения ОБЯЗАНЫ быть явными, никогда не выводимыми молча. - `derivedFrom` ОБЯЗАНО быть согласовано с причинностью Событий. - Влияние, зависимость и обоснование ОБЯЗАНЫ получаться обходом. - Межвселенское происхождение НЕ ДОЛЖНО обходить Контракты и Проекции. --- # Дальнейшие направления Будущая редакция могла бы определить стандартный **язык запросов происхождения** и формат обмена фрагментами графа, чтобы запросы влияния и обоснования выполнялись между федерированными Вселенными; интегрировать граф со [Смысловым отпечатком](../02-architecture/MMAS-Interchange.md), чтобы изменение источника *обнаруживалось* автоматически, а его конус последствий *аннулировался*; и присоединить к рёбрам уверенность и векторы доверия, чтобы обоснование можно было взвешивать, а не только перечислять. Эти расширения сделали бы автоматическое аннулирование устаревших выводов полноправной возможностью в масштабе федерации. --- # Заключение > Происхождение перестаёт быть историей, которую мы рассказываем задним числом, и становится структурой, у которой можно спросить. Граф происхождения позволяет любому участнику проследить вывод назад к обосновывающим его свидетельствам и вперёд ко всему, что сломается при изменении этих свидетельств, - во времени, по смыслу и между федерированными Вселенными.