Skip to content

Architecture Decision Records

ADR — короткие документы, фиксирующие контекст, решение и последствия каждого значимого архитектурного выбора. Хранятся вечно: даже устаревшее решение объясняет, почему система устроена именно так.

Навигация по доменам

🔧 Общее

НазваниеСтатус
0001Record architecture decisions — ведение ADR в docs/adrAccepted

🏭 Manufacture — Производство

НазваниеСтатус
0002Производственный календарь isdayoff APIAccepted
0003Оплата по календарю без переработок и выходныхAccepted
0004Адаптер производственного календаряAccepted
0005Интеграция расчёта смен type=4Accepted
0023Аудит: расчёт и начисление KPI на backendAccepted
0040Веса в KPIMetric и тип оплаты «Оклад + KPI»Proposed
KpiKPI — справочник метрик (0024–0039), критерии и формулыAccepted
НазваниеСтатус
0006Выделение юридического досье в отдельное приложениеAccepted
0007Структура моделей данныхAccepted
0008Workflow через Service LayerAccepted
0009Автоматический риск-скорингAccepted
0010Справочники через Django FixturesAccepted
0011REST API DesignAccepted
0012Модель прав доступаAccepted
0013Соответствие 115-ФЗ и налоговой осмотрительностиAccepted
0014Версионирование заключенийAccepted
0015SLA и сроки обработкиAccepted

📄 Document — Документооборот

НазваниеСтатус
0016Анализ плана закупок в ответе APIAccepted
0017Выполнение по позициям cap 100%Accepted
0018Экономия: формула supply vs we_buyAccepted
0019Сервисный слой ProcurementPlanAnalysisAccepted
0020Prefetch при фильтре procurement_planAccepted
0021Метрики и рекомендации для финансового директораAccepted

📬 Appeals — Обращения

НазваниеСтатус
0022Модуль обращений и корреспонденцииAccepted

🤝 Counterparty — Контрагенты

НазваниеСтатус
0041Статистика возвратов по контрагентам (рейтинг A/B/C)Accepted

Как читать ADR

Каждый файл содержит разделы:

  • Title / Date / Status — когда принято и действует ли
  • Context — проблема и условия, при которых принималось решение
  • Decision — что именно решили
  • Consequences — что даёт решение, какие появились ограничения
  • (опционально) Обоснование, Альтернативы, Ссылки на код

Как добавить новый ADR

Из корня репозитория narmak_v2 (где лежит .adr-dir):

bash
# Создать новый ADR — следующий свободный номер присваивается автоматически
adr new "Краткое название решения"

# Создать ADR, заменяющий предыдущий (укажите номер заменяемого)
adr new -s 22 "Новое решение вместо ADR-022"

# Список всех ADR
adr list

После создания нового ADR добавьте файл в wowx_user_documentation/adr/ и обновите сайдбар в .vitepress/config.mts.

Установка adr-tools

bash
# macOS
brew install adr-tools

# Проверка
adr help

Расположение исходников в бэкенде

Старые ADR хранились прямо в приложениях. Сейчас они перенесены сюда, в приложениях остались заглушки-ссылки:

  • backend/narmak_v2/app/manufacture/ADR.md
  • backend/narmak_v2/app/legal_dossier/ADR.md
  • backend/narmak_v2/app/document/ADR.md

см. также