build 039: complete Quotes Feed migration foundation

This commit is contained in:
2026-07-14 09:58:16 +03:00
parent 26deb861bc
commit 7b62873832
443 changed files with 80452 additions and 1335 deletions

View File

@@ -0,0 +1,130 @@
# Architecture Decisions
Каталог **decisions/** содержит архитектурные решения (ADR — Architecture Decision Record), принятые во время разработки подсистемы **Market Intelligence**.
В отличие от технической документации, ADR отвечают не на вопрос:
> **Что реализовано?**
а на вопрос:
> **Почему архитектура построена именно так?**
Каждое решение принимается только после возникновения реальной инженерной необходимости.
Создание ADR "на будущее" не допускается.
---
# Иерархия архитектурных решений
Архитектурные решения разделены на три уровня.
```text
Философия разработки
Правила разработки
Архитектурные ограничения
```
Каждый следующий уровень основывается на предыдущем.
---
# Level 1 — Философия разработки
Данные решения определяют общий подход к развитию платформы.
| Decision | Назначение |
|----------|------------|
| 001 | Architecture First |
| 002 | Build Lifecycle |
---
## Основная идея
Сначала проектируется архитектура.
Затем архитектура развивается небольшими завершёнными Build.
---
# Level 2 — Правила разработки
Данные решения определяют инженерный процесс разработки.
| Decision | Назначение |
|----------|------------|
| 003 | Domain Review |
| 004 | No Existing Code Assumptions |
| 005 | Human Readable Comments |
| 007 | Documentation Is Code |
---
## Основная идея
Каждый Build проходит обязательные проверки качества.
Разработка ведётся только на основе существующего кода проекта.
Комментарии объясняют архитектурный смысл.
Документация развивается одновременно с кодом.
---
# Level 3 — Архитектурные ограничения
Данные решения определяют фундаментальные ограничения архитектуры платформы.
| Decision | Назначение |
|----------|------------|
| 006 | Immutable Engine Contract |
---
## Основная идея
Все аналитические движки используют единый неизменяемый контракт результатов.
---
# Правила создания новых Decision
Новый ADR создаётся только при выполнении следующих условий:
- возникла реальная инженерная проблема;
- принято архитектурное решение, влияющее на развитие платформы;
- решение невозможно корректно описать только комментариями в коде;
- решение будет полезно при дальнейшем сопровождении проекта.
Создание ADR "на всякий случай" запрещается.
---
# Жизненный цикл ADR
Каждый Architecture Decision проходит одинаковый цикл.
```text
Проблема
Анализ вариантов
Принятие решения
Документирование
Использование в проекте
```
---
# Главный принцип
Architecture Decision Record являются частью архитектуры Dzentra.
Они сохраняют инженерные знания проекта и позволяют развивать платформу последовательно даже спустя годы после принятия первоначальных решений.