Аудит документации Qadam
Обновлён 1 апр. 2026 г., 12:41 · 0 комментариев
Аудит документации Qadam
Паспорт документа
- Статус документа: historical snapshot
- Актуально на: 28 марта 2026 года
- Владелец: backend/platform-команда
- Пересмотр: при следующем цикле аудита, security review или ревизии противоречий в документации и спеках
- Область применения: audit-слой проекта: снимки состояния, реестры расхождений и результаты ревизий
- Связанные документы:
Цель документа
Этот аудит фиксирует, что уже хорошо организовано в документационном слое Qadam и что ещё стоит улучшить, если смотреть на проект как на передаваемую инженерную систему, а не как на набор отдельных markdown-файлов.
Документ не заменяет README.md, current-state.md, roadmap.md или engineering-principles.md. Его задача — дать профессиональное заключение по качеству документации и сформировать следующий backlog именно по docs-layer.
Статус исполнения рекомендаций на 29 марта 2026 года
На сегодня базовые рекомендации из этого аудита уже закрыты в каноническом слое:
- введён стандарт документации;
- добавлены backup/restore runbook, incident response, environment matrix и post-deploy checklist;
- зафиксированы ownership model и change package standard;
- добавлены execution checkpoints и project change log;
- введён исполнимый
docs quality gateчерезpnpm check:docs.
Сам аудит остаётся историческим снимком проблем и рекомендаций на момент 28 марта 2026 года.
1. Общий вывод
Документация проекта уже находится в хорошем рабочем состоянии:
- есть канонический русскоязычный слой
docs/; - документы разложены по разделам
project,architecture,frontend,operations,governance,audits,product; - roadmap-портал читает живые markdown-файлы и поддерживает внутреннюю перелинковку;
- зафиксированы runbook, current state, roadmap, frontend handoff и инженерные правила;
- исторические планы уже отделены в архивный слой.
Главный следующий шаг уже не в “навести порядок в дереве файлов”, а в повышении зрелости документационного процесса:
- унифицировать lifecycle документов;
- закрыть пробелы по эксплуатации и handover;
- сократить избыточную когнитивную нагрузку в
docs/Agents; - убрать остаточные нарушения правила “канонический слой на русском языке”;
- ввести автоматический quality gate для документации.
2. Что уже сделано хорошо
2.1. Появился понятный источник истины
Сильная сторона текущего состояния — документация больше не размазана по случайным папкам. Роли основных документов читаются однозначно:
- README.md — индекс;
- current-state.md — фактическое состояние;
- requirements.md — требования;
- roadmap.md — план;
- deployment-runbook.md — эксплуатация;
- api-routes.md + OpenAPI — API-контракт;
- frontend-handoff.md и frontend-change-log.md — отдельный handoff для внешней frontend-команды.
2.2. Документация уже привязана к реальному runtime
Это важнее любой “красоты текста”. В документах явно отражены:
- split-репозитории
qadam-coreиqadam-web; - отдельный сервис
qadam-roadmap; - host-based production через
systemdиnginx; - OpenAPI runtime и contract workflow;
- отдельная операционная модель для frontend-команды.
То есть проект уже вышел из стадии “много красивых текстов, мало фактов”.
2.3. Архив и канонический слой отделены
Папка plans/ выведена в архивный контур, а processed plans больше не притворяются каноническими решениями. Это хорошая база для дальнейшей передачи проекта другой команде.
3. Главные проблемы, которые ещё стоит закрыть
P0 — high priority
P0-1. Нет единого стандарта metadata/lifecycle у документов
Сейчас часть документов имеет явную отметку актуальности, а часть нет. Например:
- есть дата в current-state.md, frontend-handoff.md, frontend-change-log.md, implementation.md;
- нет явной даты ревизии в README.md, requirements.md, deployment-runbook.md, api-routes.md, engineering-principles.md, security-review.md.
Проблема не в косметике, а в том, что другой команде сложно понять:
- когда документ последний раз проверялся;
- кто его должен поддерживать;
- является ли он живым operational source of truth или историческим снимком.
Что улучшить:
- ввести единый короткий header для всех канонических документов:
Статус документаАктуально наВладелецКогда пересматриватьСвязанные документы
- закрепить этот шаблон в отдельном
documentation-standard.md.
P0-2. Есть документационные пробелы по эксплуатации и handover
В deployment-runbook.md уже прямо зафиксировано, что ещё нужны:
- резервное копирование PostgreSQL;
- отдельный runbook по восстановлению;
- monitoring;
- автоматизированный post-deploy smoke.
Но самих канонических документов пока нет.
Это означает, что документация уже описывает текущий runtime, но ещё не закрывает полный transferability-контур production.
Что улучшить:
- добавить [operations/backup-restore-runbook.md];
- добавить [operations/incident-response.md];
- добавить [operations/environment-matrix.md] или аналогичный документ по env/secrets/access boundaries;
- добавить [operations/post-deploy-checklist.md].
P0-3. docs/Agents остаётся слишком тяжёлым и не до конца нормализованным
Сейчас docs/Agents полезен как внутренняя инженерная база, но с точки зрения передачи другой команде он перегружен:
- knowledge-base.md очень большой и смешивает продуктовую модель, старые доменные описания и нормализацию конфликтов;
- product-roadmap.md очень большой и фактически является второй плоскостью roadmap/backlog;
- часть
specsвdocs/Agents/specsимеет объём 500-1300 строк и остаётся тяжёлой для навигации и сопровождения.
Проблема здесь не в объёме как таковом, а в том, что чтение этих файлов становится “экспедицией”, а не рабочей инженерной навигацией.
Что улучшить:
- разделить
docs/Agentsна более ясные классы:guides/rules/active-specs/reference/archive/, если часть больших spec уже не активна;
- для каждой большой spec добавить сверху короткий
TL;DR:- цель;
- статус;
- что уже реализовано;
- что остаётся;
- какой документ сейчас source of truth по API.
P0-4. Канонический слой всё ещё не полностью выдержан на русском языке
Верхний слой docs/ уже в основном русифицирован, но внутри docs/Agents и части rule/reference-файлов остаются смешанные слои:
- английские заголовки и frontmatter;
- английские описания правил;
- большие англоязычные блоки в knowledge-base.md и product-roadmap.md;
- англоязычные title/impact-блоки в некоторых rule-документах, например reference-file-locations.md.
Это прямо конфликтует с принципом из engineering-principles.md, где канонический слой должен быть на русском языке.
Что улучшить:
- довести
docs/Agentsдо той же языковой дисциплины, что и верхнийdocs/; - оставить английский только там, где это действительно имя технологии, API или код.
P1 — medium priority
P1-1. Не хватает отдельного глоссария терминов и canonical vocabulary
Проблема терминологии уже видна в qadam-contradictions-registry.md: buyer/parent/student, active/published, pending/new/created, approved/active и т.д.
Сейчас терминологическая нормализация размазана по нескольким документам:
Лучше вынести это в отдельный документ:
project/glossary.md
Что в нём должно быть:
- доменные сущности;
- канонические названия ролей;
- канонические статусы;
- deprecated термины и чем их заменять.
P1-2. Нет отдельного документа по error catalog и API-поведенческим соглашениям
api-routes.md хорошо описывает маршруты, но не является полноценным guide по API behavior. Сейчас знания об ошибках и контрактах частично размазаны:
- в OpenAPI;
- в change-log для frontend;
- в handoff;
- в отдельных feature-docs.
Для внешней frontend-команды и будущих интеграторов полезно иметь отдельный документ:
architecture/api-conventions.md- или
architecture/error-catalog.md
Туда стоит вынести:
- коды ошибок;
- общий envelope/response shape;
- поведение cookies и auth;
- правила backward compatibility и deprecated endpoint aliases;
- правила pagination/filtering/search params;
- rate limits, если они становятся продуктово значимыми.
P1-3. Нет отдельного документа по ownership и зонам ответственности
frontend-handoff.md хорошо фиксирует границу qadam-core и qadam-web, но на уровне всей платформы нет короткой RACI/ownership-карты:
- кто владеет production runtime;
- кто владеет roadmap-порталом;
- кто владеет OpenAPI artifact;
- кто обновляет канонические docs;
- кто принимает решение по breaking changes.
Это не обязательно делать как “корпоративный bureaucracy-doc”, но короткий документ уровня governance/ownership-model.md сильно облегчит handover.
P1-4. Нет канонического документа по release/change-package process
Части процесса уже описаны в:
Но это всё ещё не один компактный документ “как выглядит change package от идеи до production”.
Что улучшить:
- добавить
governance/change-package-standard.md; - описать в нём:
- состав change package;
- обязательные docs updates;
- release note;
- frontend changelog update;
- smoke checks;
- rollback note.
P2 — lower priority, but valuable
P2-1. Нужен docs quality gate в CI
Сейчас link integrity уже можно проверять автоматически, и это особенно важно после того, как roadmap-портал стал зависеть от корректной перелинковки markdown.
Рекомендуемый минимум:
- проверка битых относительных markdown-ссылок;
- проверка, что все документы в
docs/имеют header metadata; - проверка, что в каноническом слое не осталось ссылок на legacy пути вроде
docs/*.mdстарой структуры, если они не являются частью исторических снимков; - проверка, что новые документы попали в README.md, если они канонические.
P2-2. Нужен более явный status-banner для historical snapshot документов
Часть audit/legacy документов всё ещё визуально похожа на “живые документы”, хотя по смыслу это снимки или ревью конкретного момента времени. Например:
Что улучшить:
- ввести явные баннеры статуса:
historical snapshotliving documentreference onlysuperseded
P2-3. Нужно сильнее разделить “что читать новой команде сначала” и “глубокий reference”
Сейчас это частично решено через README.md, но можно сделать ещё лучше:
- отдельный
project/start-here.mdдля новой команды; - отдельный короткий
architecture/system-overview.md; - отдельный
operations/start-here-prod.mdдля инженера, который впервые заходит на сервер.
Это особенно полезно, если проект реально будет передаваться другой команде в сжатые сроки.
4. Рекомендуемый backlog по документации
Фаза 1 — закрыть базовый процесс
- Ввести единый metadata/header standard для канонических документов.
- Добавить docs quality gate на проверку относительных ссылок и обязательных header-полей.
- Добавить
operations/backup-restore-runbook.md. - Добавить
operations/incident-response.md. - Добавить
operations/environment-matrix.md.
Фаза 2 — снизить когнитивную нагрузку
- Нормализовать и частично разрезать
docs/Agents. - Добавить
project/glossary.md. - Добавить
governance/change-package-standard.md. - Добавить
governance/ownership-model.md. - Для больших spec из
docs/Agents/specsдобавить краткие executive-summary блоки.
Фаза 3 — усилить интеграционный слой
- Добавить
architecture/api-conventions.mdилиarchitecture/error-catalog.md. - Зафиксировать правила deprecation/backward compatibility.
- Добавить machine-checkable docs QA в CI.
5. Практический вывод
Документация Qadam уже находится на уровне выше среднего для инженерного проекта в активной разработке. Основной хаос уже снят:
- есть канонический слой;
- есть roadmap;
- есть current state;
- есть runbook;
- есть frontend handoff;
- есть live roadmap-портал;
- есть архив historical plans.
Следующий уровень зрелости теперь не в создании ещё большего количества markdown-файлов, а в трёх вещах:
- lifecycle и ownership документов;
- эксплуатационные runbook-пробелы;
- сокращение перегруженности
docs/Agentsи добивание русскоязычного канонического слоя до конца.
Именно эти улучшения дадут проекту максимальный прирост передаваемости другой команде.