Управление документацией (documentation governance) — каноничный процесс работы с документным слоем платформы
Версия: 1.0 Дата: 27.04.2026 Статус: Готов к обсуждению
Назначение документа
Этот документ задаёт каноничный процесс управления документацией платформы Vitiana — от создания документа до его архивации. Документ является обязательным для всех участников документной работы (главный архитектор, команды разработки, команды операций, технические писатели, контракторы) и определяет:
- роли и зоны ответственности (ownership);
- жизненный цикл документа (create → review → publish → maintain → archive);
- правила оформления и языка;
- правила работы с DocMap MCP;
- правила архивации (no-destruction principle);
- правила связности (link graph integrity);
- правила тезисного обоснования архитектурных решений;
- процессы review, утверждения, обновления;
- метрики качества документного слоя.
Документ закрывает Stage 0 development roadmap (см. roadmap.md) и является сквозным workstream S1 «Documentation governance».
Тезисное обоснование
Тезис 1. Documentation governance — first-class дисциплина, не «писатели сделают потом».
Альтернативы: (а) документация на усмотрение каждой команды; (б) централизованная команда technical writers пишет документы; (в) каноничный процесс с распределённой ответственностью и едиными правилами.
Trade-off: вариант (а) приводит к фрагментации стиля, дублированию, противоречиям между документами разных команд; вариант (б) дорог и создаёт bottleneck — technical writers не успевают за продуктовыми циклами; вариант (в) — каноничная модель верхнеуровневых платформ (Stripe, Twilio): авторы документов — те же инженеры/архитекторы, кто принимает решения, но они работают в едином governance framework. Это масштабируется и гарантирует консистентность.
Тезис 2. Документация — ориентир, не источник истины.
Альтернативы: (а) документация — primary source (что в доке, то и работает); (б) код — primary source, документация постфактум; (в) код — single source of truth, документация — навигационный слой над ним.
Trade-off: вариант (а) приводит к ситуации «документ говорит одно, код делает другое» с длительной потерей доверия; вариант (б) — приемлем, но создаёт риск никогда не документировать; вариант (в) — каноничный подход, согласованный с реальностью платформенной разработки и явно зафиксированный в Своде законов ИИ-агента (раздел I «Код первичен»). Документация существует, чтобы помочь людям ориентироваться, не чтобы заменять собой реальность.
Тезис 3. No destruction — никогда не стираем историю.
Альтернативы: (а) удалять устаревшие документы; (б) перезаписывать документы новой версией без сохранения старой; (в) переименовывать в *-old-YYYY-MM-DD.md со статусом Черновик.
Trade-off: вариант (а) теряет аудитный след архитектурных решений, что недопустимо для compliance (SOC 2, ISO 27001 требуют document version history); вариант (б) — то же самое, но скрытое; вариант (в) — каноничный подход, согласованный с правилом feedback_no_destruction (зафиксировано в memory). Старые документы остаются доступны для исторической справки, но не конкурируют с актуальным source of truth.
Тезис 4. Каждое архитектурное решение тезисно обосновано.
Альтернативы: (а) решения фиксируются как fait accompli без обоснования; (б) обоснования в отдельной системе (ADR — Architecture Decision Records); (в) тезисное обоснование внутри документа решения.
Trade-off: вариант (а) приводит к ситуации «не помним, почему сделали так» через 6 месяцев; вариант (б) — стандартная практика (Atlassian, ThoughtWorks), но создаёт второй документ для каждого решения и приводит к рассинхронизации; вариант (в) — обоснование живёт рядом с решением, в одном документе, с альтернативами и trade-off, согласовано с правилом feedback_thesis_based_justification. Это масштабируется без отдельной ADR-системы.
Тезис 5. DocMap MCP — обязательный инструмент работы с документами.
Альтернативы: (а) прямое редактирование .md файлов через текстовые редакторы; (б) Git-based workflow без MCP; (в) DocMap MCP как обязательный инструмент с auto-индексацией.
Trade-off: вариант (а) ломает индекс search'а, не отслеживает связи, не валидирует MDX; вариант (б) — Git fine, но без MCP теряется reactive indexing и валидация; вариант (в) — каноничный подход с tools: docs_index, docs_search, docs_get_section, docs_links, docs_lint, docs_create_file, docs_patch_section, docs_create_section, docs_rename_file, docs_delete_file, docs_delete_section. Это масштабируемое решение для платформы с десятками документов и сложным link graph.
Главные принципы documentation governance
Принцип 1. Living documentation (живая документация)
Документация обновляется вместе с платформой, не постфактум. Особенно критично для:
- domain model (изменения в каноничных сущностях);
- contracts (OpenAPI / AsyncAPI / Surface contracts);
- migrations (schema changes);
- settlement (financial flows);
- observability (SLI metrics, dashboards);
- supplier onboarding (правила приёма новых поставщиков);
- operator playbooks (runbooks, on-call procedures).
Правило: изменение в коде/конфигурации, затрагивающее любой из этих 7 контуров, требует обновления соответствующего документа в той же PR / commit / задаче.
Принцип 2. Single source of truth per domain
Каждый домен имеет один canonical document в reference/. Документы в overview/ дают высокоуровневую карту, документы в operations/ описывают эксплуатацию, документы в development/ фиксируют процессы, но доменная истина живёт в одном месте.
Правило: при появлении противоречия между двумя документами — определить, какой из них canonical, исправить расхождение в неканоничном.
Принцип 3. Link graph integrity
Документы связаны через wiki-links и Markdown-ссылки. Граф связей должен быть целостным: каждая ссылка резолвится, каждый важный документ имеет backlinks, нет «висящих» документов.
Правило: после каждой материальной правки — docs_links(section_id) для проверки, docs_lint для поиска plain-text refs.
Принцип 4. Truth boundaries first-class
Каждый документ явно различает уровни истины:
- canonical (каноничная архитектурная модель);
- supplier (внешняя реальность поставщиков);
- operational (текущее состояние эксплуатации);
- transactional (финансовые и бронирующие транзакции);
- governance (управленческие решения);
- analytical (аналитические проекции).
Правило: утверждения в документе должны явно указывать, к какому уровню истины они относятся.
Принцип 5. No destruction (запрет уничтожения)
Старые документы переименовываются в *-old-YYYY-MM-DD.md со статусом Черновик (правило feedback_no_destruction зафиксировано в memory). Никогда:
- не удаляем содержимое документа;
- не перезаписываем без архивации старой версии;
- не правим текст архивного документа.
Правило: при материальном переписывании документа — docs_rename_file старого в *-old-YYYY-MM-DD.md, потом docs_patch_section шапки старого документа со статусом Черновик (архивный) и пояснением, какой документ заменил, потом docs_create_file нового.
Принцип 6. Тезисное обоснование
Каждое нетривиальное архитектурное решение в документе тезисно обосновано: альтернативы, trade-off, выбор. См. feedback_thesis_based_justification.
Правило: документ с архитектурным решением без секции «Тезисное обоснование» не считается готовым к utверждению.
Принцип 7. MDX-safe writing
DocMap рендерится через Docusaurus + MDX. Два класса MDX-ловушек ломают сборку:
- Класс 1: голый
<перед буквой/цифрой → JSX-тег; - Класс 2: фигурные скобки
{...}в plain-тексте → JSX-выражение.
Правило: перед каждым docs_create_file / docs_patch_section — проверка через grep -nE '<[0-9]' и grep -nE '\{'. Все совпадения в plain-тексте — переоформить (HTML-entity, fenced code block). Полная политика — reference_mdx_safe_writing в memory.
Принцип 8. Language rules — только русский
Все новые и обновляемые документы пишутся только на русском языке в человеко-читаемом формате. Не смешивать языки в одном предложении. Устоявшиеся англоязычные термины — обязательно с расшифровкой в скобках (например, «коммерческая фиксация (Quote)»). Имена сущностей в коде/JSON/YAML — на английском.
Полная политика — feedback_language_rules в memory.
Жизненный цикл документа
Документ проходит каноничный жизненный цикл из 5 фаз.
Фаза 1. Создание (creation)
Триггер: появление архитектурной развилки, нового домена, обнаружение пробела в документации, требование compliance.
Действия:
- Sprint context —
docs_search(тема)для понимания, что уже есть рядом; - Read neighbours —
docs_get_sectionдля каждого соседнего документа, чтение в активный контекст; - Verify implementation —
Read/Grepпо реальному коду (home-to-go-api, актуальная DDL, конфигурации) для проверки, что задумываемое не противоречит реальности; - Структура документа — определить разделы:
- шапка (Версия / Дата / Статус);
- Назначение документа;
- Тезисное обоснование (если архитектурное решение);
- Каноничная модель (сущности, связи);
- Процессы / процедуры;
- События / интеграции;
- Открытые вопросы;
- Связанная документация;
- Создание —
docs_create_file(file, content)с полной структурой; - MDX-safety — Python-скрипт проверки или
grepпо двум классам; - Build verify —
npm run build(DocMap проекта собирается без ошибок); - Backlinks — обновить «Связанная документация» в соседних документах при необходимости.
Шаблон шапки:
# {заголовок документа}
**Версия:** 1.0
**Дата:** ДД.ММ.ГГГГ
**Статус:** Черновик / Готов к обсуждению / Утверждён
Каноничные статусы:
Черновик— документ в работе, не готов к использованию;Готов к обсуждению— документ готов, ожидает review/feedback;Утверждён— документ принят как source of truth (только после явного подтверждения главным архитектором или владельцем домена).
Фаза 2. Review
Триггер: документ создан со статусом Готов к обсуждению.
Участники review:
- Domain owner — отвечает за корректность доменной модели;
- Главный архитектор — отвечает за соответствие правилу 00000 и архитектурной оси;
- Operations lead — отвечает за реалистичность операционных требований;
- Compliance officer (для documents с регуляторным impact) — отвечает за GDPR / PSD2 / TOMS / Package Travel Directive соответствие;
- Stakeholders соседних доменов — отвечают за непротиворечивость со смежными документами.
Процесс review:
- Reviewer читает документ через
docs_get_section; - Reviewer проверяет соседние документы через
docs_links; - Reviewer фиксирует комментарии (через систему трекинга задач или прямо в документе как inline TODO);
- Author обрабатывает комментарии, делает обновления через
docs_patch_section; - Cycle повторяется до выхода в утверждение или зафиксированных открытых развилок.
Каноничные критерии review (review checklist):
- ✅ Шапка с Версия / Дата / Статус;
- ✅ Тезисное обоснование (для документов с архитектурными решениями);
- ✅ Связь с правилом 00000 и архитектурной осью;
- ✅ Связь с реальной реализацией (
home-to-go-api); - ✅ MDX-safe (нет нарушений Класса 1 и Класса 2);
- ✅ Только русский язык, не смешано с английским в одном предложении;
- ✅ Английские термины с расшифровкой в скобках при первом упоминании;
- ✅ Связанная документация — секция в конце с ссылками на все релевантные документы;
- ✅ Открытые вопросы — фиксированы в отдельной секции, не размыты в тексте;
- ✅
docs_linksпоказывает целостный link graph; - ✅
npm run buildпроходит без ошибок.
Фаза 3. Утверждение (approval)
Триггер: review завершён, все материальные комментарии обработаны.
Действия:
- Главный архитектор (или domain owner для специализированного документа) явно утверждает документ;
- Author обновляет статус в шапке через
docs_patch_section:Готов к обсуждению→Утверждён; - Author поднимает версию (например,
1.0остаётся; следующее материальное обновление будет1.1или2.0); - Author обновляет дату на дату утверждения;
git commitсо ссылкой на review.
Правило: статус Утверждён ставится только после явного подтверждения. Author не может ставить Утверждён сам.
Фаза 4. Maintenance (поддержка)
Триггер: изменение в коде/конфигурации/процессах, затрагивающее документ, или появление нового связанного документа.
Семантическое версионирование документов:
- Patch (
1.0→1.0.1) — мелкая правка (опечатки, уточнения, дополнения ссылок); - Minor (
1.0→1.1) — добавление нового материала без изменения уже зафиксированных решений; - Major (
1.0→2.0) — материальное изменение зафиксированных решений (требует архивации старой версии).
Правило для major changes: архивация через *-old-YYYY-MM-DD.md (см. Принцип 5 No destruction). Для minor и patch — docs_patch_section с обновлением Версии и Даты в шапке.
Когда обновлять документ:
- изменение в коде/конфигурации, затрагивающее доменную модель;
- изменение API контракта;
- появление нового релевантного документа, требующее backlink;
- завершение архитектурной развилки, ранее зафиксированной как «открытый вопрос»;
- регуляторное изменение (новые требования GDPR, PSD2);
- post-mortem инцидента, требующий уточнения runbook или SLA.
Фаза 5. Архивация (archival)
Триггер: документ материально устарел и заменён новой версией, или зафиксированный домен расформирован.
Действия:
docs_rename_file(old, old-YYYY-MM-DD.md)— переименование старого файла с датой архивации;docs_patch_sectionшапки — обновить:**Версия:** N.N (архивная);**Дата архивации:** ДД.ММ.ГГГГ;**Статус:** Черновик (архивный, не source of truth);- блок-цитата с пояснением, какой документ заменил, и ссылкой на актуальный;
- Содержимое архивного документа НЕ правится (исторические формулировки сохраняются);
- Если есть актуальный документ-заменитель — обновить его «Связанная документация» с ссылкой на архивный;
docs_lintдля проверки, что нет broken links на старое имя;- Update backlinks в documents, которые ссылались на старый file.
Правило: не удаляем *-old-YYYY-MM-DD.md файлы из репозитория. Они часть аудитного следа.
Роли и зоны ответственности
Главный архитектор (chief architect)
Ответственность:
- зафиксировать каноничную архитектурную ось;
- утверждать документы, влияющие на core domain model;
- эскалация развилок, требующих стратегических решений;
- блокировать изменения, нарушающие правило 00000.
Документы под прямой ответственностью:
overview/index.md;overview/architectural-anchor-and-business-model.md;overview/operational-spine.md;reference/domain-model.md;development/roadmap.md;- архитектурные правила (
development/Закон 00000…,Современные лучшие практики…, и т.д.).
Domain owner
Ответственность:
- поддерживать canonical document своего домена;
- обновлять при изменениях в коде/процессах;
- координировать с владельцами смежных доменов;
- утверждать review changes для своего домена.
Каноничные domain owners (по доменам):
| Домен | Document(s) | Owner role |
|---|---|---|
| Платежи | payment-domain.md | Finance Lead / Payment Architect |
| Бронирование | booking-state-machine.md, post-booking-lifecycle.md | Booking Domain Lead |
| Tour Builder | tour-builder-domain.md, tour-builder-operational-model.md | Tour Builder Product Lead |
| Tenancy | tenancy-and-identity.md, multi-tenant-isolation-strength.md | Platform Lead |
| Поиск | search-and-discovery.md | Search Engineering Lead |
| Поставщики | suppliers.md, ingestion.md | Integration Lead |
| Платёжные взаиморасчёты | partner-finance-and-clearing.md, commercial-model.md | Finance Lead |
| Уведомления | notification-and-communication.md | Communications Lead |
| Медиа и контент | media-and-content.md | Content Lead |
| i18n | internationalization-and-localization.md | i18n Lead |
| Аналитика | analytics-and-bi.md | Analytics Lead |
| ML | ml-platform.md | ML Engineering Lead |
| A/B | ab-testing-platform.md | Experimentation Lead |
| Data Platform | data-platform-and-events-tracking.md | Data Engineering Lead |
| API as Product | api-as-product.md, api-metering-and-usage-governance.md | Platform Product Lead |
| Tour Builder Operations | tour-builder-operational-model.md | Tour Builder Engineering Lead |
Operations lead
Ответственность:
- поддерживать operations-документы;
- обновлять runbooks, SLA, DR процедуры;
- координировать with on-call team при изменениях operational processes.
Документы:
operations/runbooks-incident-playbooks.md;operations/sla-and-on-call-model.md;operations/disaster-recovery-and-capacity.md;operations/scaling-and-packaging-roadmap.md;operations/deployment.md;operations/observability-and-incident-response.md;operations/release-engineering-and-migrations.md;operations/settlement-and-reconciliation.md.
Technical writer (фаза 5+ development roadmap)
Ответственность (когда роль появится):
- редактирование документов на ясность и согласованность;
- проверка соответствия language rules;
- координация cross-domain документов;
- поддержка glossary и инфраструктуры документации;
- onboarding новых членов команды в документную работу.
На стадиях 0–4 эта роль не выделена. Авторы документов сами проверяют ясность.
Compliance officer (фаза 4+ development roadmap)
Ответственность:
- проверка документов на соответствие GDPR / PSD2 / TOMS / Package Travel Directive;
- audit trail для регуляторно-чувствительных решений;
- сопровождение SOC 2 / ISO 27001 audit с использованием документов как evidence.
DocMap MCP — каноничные процедуры
Перед каждой материальной правкой
Каноничный pre-flight протокол:
docs_index— общая карта проекта (если давно не делали);docs_search(тема)— найти соседей;docs_get_section(...)для каждого соседа — прочитать в активный контекст;Read/Grepреальный код — сверить с реализацией;- Проверить с уже зафиксированными стратегическими решениями (memory, CLAUDE.md);
- Только после полного контекста — правка через
docs_patch_sectionилиdocs_create_file.
При создании нового документа
mcp__docmap-mcp__docs_create_file(
project="vitiana-api-platform",
file="reference/новый-документ.md",
content="# Заголовок\n\n**Версия:** 1.0\n**Дата:** ..."
)
После создания:
- проверка MDX-safety;
npm run buildверификация;- update backlinks в соседних документах через
docs_patch_section; - запуск
tools/build_project_index.sh vitiana-api-platform(напоминание пользователю).
При обновлении секции
mcp__docmap-mcp__docs_patch_section(
section_id="vitiana-api-platform::file.md::heading-slug",
new_body="новый текст body, без heading line"
)
patch_section не трогает heading line — только тело секции.
При архивации файла
mcp__docmap-mcp__docs_rename_file(
old_file="reference/имя.md",
new_file="reference/имя-old-2026-04-27.md"
)
После переименования:
docs_patch_sectionшапки старого файла — обновить статус;docs_lintдля поиска broken links на старое имя;- update backlinks в documents, которые ссылались.
При проверке link graph
mcp__docmap-mcp__docs_links(
section_id="...",
direction="both" // forward + backlinks
)
mcp__docmap-mcp__docs_lint(project="vitiana-api-platform")
Структура документа — каноничные секции
Минимальная структура (для всех документов)
-
YAML frontmatter — обязательный блок в самом верху файла (раньше всего остального содержимого):
---title: "Название документа на русском"draft: false---Зачем. Каталогизация документов через CMS (Decap CMS) настроена на коллекцию с
format: frontmatterи обязательными полямиtitle(заголовок) иdraft(флаг черновика). Без этого блока CMS просто не видит документ — он не появляется в списке для редакторов. Docusaurus продолжает рендерить документ (использует первый# H1как fallback-title), поэтому проблема незаметна на сайте, но обнаруживается при попытке отредактировать документ через CMS.Когда
draft: true. Документ виден в CMS, но не публикуется на сайте. Используется для документов в активной разработке, которые нельзя ещё показывать читателям. Финальные документы —draft: false.Важно. Инструмент
docs_create_fileиз DocMap MCP не добавляет frontmatter автоматически. При создании любого нового документа автор обязан включить блок frontmatter вcontent. Это правило обязательно для всех документов проектов, индексируемых CMS. -
H1 заголовок (на русском, с пояснением английского термина в скобках при необходимости);
-
Шапка (Версия / Дата / Статус) сразу после H1;
-
Назначение документа — что фиксирует, для кого, какую развилку закрывает;
-
Тезисное обоснование (для документов с архитектурными решениями) — 3–7 тезисов с альтернативами и trade-off;
-
Тело документа — каноничные сущности, процессы, правила;
-
Открытые вопросы — развилки, требующие решения (не должны размываться в тексте);
-
Связанная документация — ссылки на все релевантные документы.
Расширенная структура (для domain documents)
Дополнительно:
- Каноничная модель — сущности, атрибуты, связи;
- Процессы / процедуры — пошаговые алгоритмы;
- Каноничные события — events, публикуемые в общую шину;
- Технологические выборы — таблица «по фазам» (если применимо);
- Связь с другими доменами — явное описание интеграционных границ.
Расширенная структура (для operations documents)
Дополнительно:
- Целевые показатели — SLI, RTO/RPO, capacity targets;
- Процедуры эскалации — кто что делает в каких случаях;
- Связь с runbooks / SLA / DR / capacity — четыре столпа.
Расширенная структура (для development documents)
Дополнительно:
- Главный принцип — общая логика (как
главный принцип развитияв roadmap); - Стадии / фазы — если документ описывает roadmap или maturity model;
- Сквозные workstreams — если применимо.
Структура каталога DocMap
docs/vitiana-api-platform/
├── _project_.json
├── index.md # auto-generated через build_project_index.sh
├── overview/
│ ├── _category_.json
│ ├── index.md
│ ├── architectural-anchor-and-business-model.md
│ ├── operational-spine.md
│ ├── relation-to-implementation-baseline.md
│ └── layers.md
├── reference/ # каноничная доменная и платформенная модель
│ ├── _category_.json
│ ├── domain-model.md
│ ├── tenancy-and-identity.md
│ └── ...
├── operations/ # эксплуатация
│ ├── _category_.json
│ ├── deployment.md
│ ├── runbooks-incident-playbooks.md
│ ├── sla-and-on-call-model.md
│ └── ...
├── development/ # процессы разработки и governance
│ ├── _category_.json
│ ├── roadmap.md
│ ├── documentation-governance.md
│ ├── team-and-staffing-plan.md
│ └── ...
└── assets/ # медиа-файлы
Правила структуры:
- новые документы — только в одной из 4 папок (
overview/,reference/,operations/,development/), не в корне; - архитектурные правила (
Закон 00000…,Современные лучшие практики…) — вdevelopment/; - архивные
*-old-YYYY-MM-DD.md— в той же папке, что и актуальный документ; assets/— только медиа (картинки, диаграммы), не markdown.
Обновление index.md
index.md каждого проекта — auto-generated, не редактируется вручную. Обновляется через:
tools/build_project_index.sh vitiana-api-platform
Триггер запуска: после создания/переименования/удаления любого .md файла в проекте.
Каноничные события documentation governance
События для отслеживания documentation health:
doc.created— новый документ создан;doc.published— статус →Утверждён;doc.updated.major— major version bump;doc.updated.minor— minor version bump;doc.archived— архивация;doc.review.requested— запрошен review;doc.review.completed— review завершён;doc.lint.broken_link_detected— broken link;doc.lint.mdx_violation_detected— MDX violation.
Эти события публикуются в общий event stream (см. data-platform-and-events-tracking.md) и используются для дашбордов documentation health.
Метрики качества документного слоя
Метрики покрытия (coverage)
- Каноничный domain coverage — процент доменов с актуальным canonical document (target: 100%);
- Operations coverage — процент operational процедур, описанных в runbook (target: 100%);
- Test coverage of architectural decisions — процент архитектурных решений с тезисным обоснованием (target: 100%).
Метрики свежести (freshness)
- Median document age — медиана возраста документов с момента последнего material update (target: ≤ 90 дней для активных доменов);
- Stale documents — количество документов без обновлений более 180 дней (target: 0 для production-critical документов).
Метрики целостности (integrity)
- Broken links — количество broken links по результату
docs_lint(target: 0); - MDX violations — количество MDX violations (target: 0);
- Backlink completeness — процент документов с обратными ссылками от соседних (target: ≥ 95%);
- Build success rate — процент
npm run buildуспешных запусков (target: 100%).
Метрики использования (engagement)
(применимы с фазы 4 development roadmap, когда DocMap опубликована публично):
- Page views на canonical documents;
- Time on page (медиана);
- Search queries без результатов — индикатор пробелов в документации;
- Partner support tickets, ссылающиеся на документацию — индикатор ясности.
Процесс архитектурного review
Каноничные триггеры review
- Новое решение — создан документ с архитектурным решением;
- Cross-domain change — изменение, влияющее на несколько доменов;
- Material schema change — изменение каноничной сущности или её атрибутов;
- API contract change — изменение OpenAPI / AsyncAPI;
- Compliance impact — изменение, влияющее на регуляторное соответствие;
- Operational impact — изменение, влияющее на SLI / SLA / runbook / DR.
Процесс review
- Request — author явно запрашивает review через issue tracker (ссылка на документ);
- Reviewer assignment — domain owner соседних доменов + главный архитектор + (опционально) operations lead, compliance officer;
- Review meeting — не обязательно, но рекомендуется для cross-domain changes (синхронный, 30–60 минут);
- Comments — reviewers фиксируют комментарии в issue tracker или прямо в документе;
- Iteration — author обрабатывает комментарии через
docs_patch_section, отвечает в issue tracker; - Approval — каждый reviewer явно даёт ✅ или ❌ с комментарием;
- Resolution — все ❌ обработаны (или зафиксированы как открытые развилки), все ✅ получены → status
Утверждён.
Эскалация при разногласиях
При неразрешимом разногласии между reviewers:
- Тезисное обоснование — author явно фиксирует альтернативы и trade-off в документе;
- Рекомендация главного архитектора — арбитраж от главного архитектора;
- Strategic decision — если развилка стратегическая (не тактическая), эскалация в product owner / CTO;
- Открытая развилка — если решение не может быть принято сейчас, фиксируется в секции «Открытые вопросы» документа с явным указанием, что блокирует.
Документы с особым регламентом
Несколько документов имеют усиленный governance из-за их центральной роли:
Канонические документы (требуют согласия главного архитектора + 2 domain owners)
overview/index.md— главная архитектурная карта;overview/architectural-anchor-and-business-model.md— бизнес-якорь;overview/operational-spine.md— операционная ось;reference/domain-model.md— каноничная доменная модель;reference/tenancy-and-identity.md— модель tenancy;reference/commercial-model.md— коммерческая модель;reference/api-contracts.md— surface contracts;- архитектурные правила в
development/(Закон 00000, Современные лучшие практики, Развитие без деградации, Тезисное обоснование, Эластичное масштабирование).
Регулируемые документы (требуют согласия compliance officer с фазы 4)
reference/payment-domain.md(PSD2 SCA);reference/multi-tenant-isolation-strength.md(data residency, GDPR);reference/internationalization-and-localization.md(regulatory text translations);reference/data-platform-and-events-tracking.md(GDPR data processing);reference/analytics-and-bi.md(k-anonymization для regulatory exports);reference/notification-and-communication.md(consent, GDPR);operations/disaster-recovery-and-capacity.md(SOC 2 audit evidence);operations/sla-and-on-call-model.md(commercial SLA, regulatory uptime requirements).
Operational-critical документы (требуют согласия operations lead)
- все документы в
operations/за исключением архивных.
Onboarding новых участников документной работы
Чтение в установленном порядке
CLAUDE.md(или эквивалент в development/) — общие правила работы;overview/index.md— архитектурная карта;overview/architectural-anchor-and-business-model.md— бизнес-якорь;development/roadmap.md— стадии развития;development/documentation-governance.md(этот документ) — процессы;- Архитектурные правила в
development/(особенно правило 00000).
Каноничный first contribution
Новый участник делает first contribution следуя протоколу:
- Выбирает документ для правки (минимальный — typo fix, средний — добавление backlinks, большой — новая секция);
- Запускает локально
npm run buildдля baseline; - Использует
docs_patch_section(не Edit/Write) для правки; - Проверяет MDX-safety;
npm run buildпосле правки → должен пройти;- Запрашивает review.
Связь с другими governance процессами
Connection to release engineering
Изменение API контракта обязательно сопровождается обновлением:
reference/api-contracts.md;- OpenAPI / AsyncAPI skeletons (
development/openapi-skeletons-and-resource-families.md,asyncapi-skeletons-and-event-envelopes.md); - compatibility checklist (
development/consumer-compatibility-checklist-by-release-unit.md); - version evolution policy (
development/version-evolution-policy-for-async-event-contracts.md).
См. release-engineering-and-migrations.md.
Connection to incident management
Post-mortem каждого major incident обязательно сопровождается:
- обновлением соответствующего runbook (
operations/runbooks-incident-playbooks.md); - если выявлен SLI/SLA gap — обновлением
operations/sla-and-on-call-model.md; - если выявлена DR gap — обновлением
operations/disaster-recovery-and-capacity.md.
Connection to compliance audit
Аудиты SOC 2 / ISO 27001 / GDPR требуют document version history. DocMap архивные документы (*-old-YYYY-MM-DD.md) — основной evidence для:
- архитектурных решений (тезисное обоснование как ADR-эквивалент);
- governance процессов (этот документ);
- operational maturity (runbooks, SLA reports, DR drills);
- security posture (multi-tenant-isolation-strength, payment-domain).
Открытые вопросы и развилки
- Документы на двух языках для регулируемых юрисдикций. Должны ли regulated документы (PSD2, GDPR) существовать также на английском для аудиторов? Решение — на стадии 4, при первом подготовительном аудите SOC 2.
- ADR (Architecture Decision Records) как отдельный формат. Текущая модель — тезисное обоснование внутри документа решения. Альтернатива — отдельные ADR-документы. Решение по результатам стадии 2 (при росте числа архитектурных решений может потребоваться отдельный формат).
- Public DocMap publication. Когда публиковать DocMap наружу как часть partner experience? Решение — на стадии 3 (controlled external beta).
- Документация для open source компонентов. Если платформа выделит компоненты в open source — они получают отдельный governance? Решение — после стадии 5.
- AI-assisted documentation review. Можно ли использовать LLM для предварительного review документов? Кто несёт ответственность за финальное одобрение? Решение — экспериментально на стадии 2, evaluation на стадии 3.
Каноничный итог
Documentation governance для платформы Vitiana — first-class дисциплина с:
- 8 главными принципами (living documentation, single source of truth, link integrity, truth boundaries, no destruction, тезисное обоснование, MDX-safety, language rules);
- 5-фазным жизненным циклом документа (creation → review → approval → maintenance → archival);
- явными ролями (главный архитектор, domain owners, operations lead, technical writer, compliance officer);
- каноничными процедурами DocMap MCP;
- структурными требованиями к каждому типу документа;
- метриками качества документного слоя.
Без этой дисциплины документный слой превращается либо в фрагментированный набор устаревших файлов, либо в bottleneck централизованной writer-команды. Вариант по этому документу — масштабируемая модель платформы верхнего уровня.
Связанная документация
Архитектурная основа
- Архитектурная основа платформы (overview/index.md);
- Архитектурный якорь и бизнес-модель (overview/architectural-anchor-and-business-model.md);
- Операционная ось (overview/operational-spine.md).
Документы развития
- Дорожная карта развития платформы (roadmap.md);
- Главные выводы и проблемные зоны (main-findings.md);
- Documentation Master Plan (documentation-master-plan.md);
- Implementation Ready Breakdown (implementation-ready-breakdown.md);
- Initial Contract Package (initial-contract-package.md);
- Version Evolution Policy For Async Event Contracts (version-evolution-policy-for-async-event-contracts.md);
- Team and staffing plan (team-and-staffing-plan.md) — следующий документ Фазы 9.
Архитектурные правила
- Закон 00000 — платформа главенствует над поставщиками;
- Современные лучшие практики верхнеуровневых платформ;
- Эластичное масштабирование и упаковка по фазам;
- Развитие без деградации;
- Тезисное обоснование архитектурных решений;
- Дополнительные правила в memory (не публикуются как development-документы):
project_data_infra_commitment(обязательство по платформе данных с нулевого дня),feedback_no_destruction(запрет уничтожения истории документов),reference_mdx_safe_writing(MDX-безопасное написание),feedback_language_rules(правила языка документации).
Операционные документы
- Релизы и совместимость (release-engineering-and-migrations.md);
- Runbook'и инцидент-плейбуки (runbooks-incident-playbooks.md);
- Модель SLA и дежурств (sla-and-on-call-model.md);
- Восстановление после аварий и планирование ёмкости (disaster-recovery-and-capacity.md).
Платформенные домены
- Платформа данных и трекинг событий (data-platform-and-events-tracking.md) — events для documentation health;
- Программный интерфейс как продукт (api-as-product.md) — public DocMap как часть partner experience.