Источник истины#
Этот документ фиксирует иерархию источников истины, чтобы green-robot, продуктовые репозитории и их README.md не расходились по смыслу.
1. Уровни истины#
1.1. Published canonical#
Published canonical живет в green-robot и используется для:
пользовательской документации;
регистрации и нормативного пакета;
каталога продуктов и приборов;
общей платформенной архитектуры;
описания отраслевых применений.
Эти документы считаются внешне согласованной версией и не должны зависеть от знания внутренней структуры кода отдельных репозиториев.
1.2. Engineering canonical#
Engineering canonical живет в инженерных репозиториях и используется для:
реализации продукта;
локальной архитектуры;
build/run/test/deploy деталей;
внутренних API/firmware/hardware нюансов;
developer и operator workflows конкретного продукта.
Такие документы могут быть глубже и быстрее меняться, чем published-слой.
1.3. Agent-facing canonical#
README.md в корне каждого репозитория — обязательный agent-facing source-of-truth.
Его задача:
быстро объяснить, за что отвечает репозиторий;
указать соответствующий продукт и published-карточку в
green-robot;указать локальные engineering source-of-truth разделы;
задать правила синхронизации документации.
README.md не входит в Jupyter Book, но обязателен для согласованной работы агентов и разработчиков.
2. Приоритет при конфликте#
Для пользовательского, регистрационного, продуктового и платформенного описания приоритет у
green-robot.Для локальной реализации и инженерных деталей приоритет у product/hardware repo.
Если конфликт затрагивает общие контракты или границы продуктов, сначала обновляется
green-robot, затем локальные repo.Если конфликт затрагивает только локальную реализацию без изменения published-смысла, обновляется инженерный repo;
green-robotменяется только при необходимости публикации нового смысла.Если меняется связка
iP-1220 -> green-robot-go -> iP-1510, включая published contractproject/monitoring/ws,auth/access, локальный интерфейсL1, верхний уровеньL2или update/deploy contour, published docsgreen-robotи инженерные docs должны синхронизироваться в том же push/PR.
Дополнение по инженерным семействам:
iC-4,iO-5,iU-6закреплены как engineering-семейства за../ioot-pro-hardware;iD-7рассматривается как отдельный контур механики и электрики и должен иметь собственный engineering repo.
3. Что нельзя делать локально#
В продуктовых репозиториях нельзя молча переопределять:
общую архитектурную модель платформы;
продуктовые идентификаторы и классификацию;
общие API/event/security conventions;
published-состав коробочного отраслевого решения.
Такие изменения должны проходить через green-robot.
4. Минимальный набор ссылок в каждом README#
Каждый корневой README.md должен содержать:
продукт или контур, за который отвечает repo;
published canonical карточку в
green-robot;локальный engineering source-of-truth;
правила синхронизации;
границы ответственности команды/repo.