5.9 KiB
5.9 KiB
Структура проекта Dzentra
Статус: Current; Build 060.30.3
Документ показывает назначение верхних уровней текущего checkout. Это навигационная карта, а не полный перечень файлов.
Корень репозитория
dzentra_bot/
├── app/ Python-приложение, зависимости и тесты
├── docs/ архитектура, runbook, roadmap и история Builds
├── infra/ Dockerfile и Docker Compose
├── scripts/ общие quality-gate и вспомогательные scripts
├── pyrightconfig.json единая конфигурация статической проверки
├── README.md входная страница существующего checkout
└── bootstrap_project.py исторический генератор первоначального каркаса
bootstrap_project.py не является командой установки или запуска
текущего проекта.
Каталог app
| Путь | Назначение |
|---|---|
src/ |
Production-код модульного монолита |
tests/unit/ |
Unit-тесты default offline regression |
tests/static/ |
Обязательный Pyright gate внутри default pytest |
tests/integration/ |
Opt-in локальные network/PostgreSQL сценарии |
tests/stress/ |
Fixed stress и opt-in soak проверки |
tests/live/ |
Только явно разрешённые проверки внешних endpoints |
tests/support/ |
Общие test harness и безопасные opt-in helpers |
scripts/ |
Ручные диагностические scripts |
tools/ |
Исследовательские Dzengi probes и сохранённые samples |
.env.example |
Полный безопасный пример поддерживаемых настроек |
requirements.txt |
Прямые Production dependencies |
requirements.lock |
Полный hash-locked набор Production image |
requirements-dev.txt |
Production dependencies плюс pytest и Pyright |
Диагностические app/scripts и app/tools не запускаются автоматически
вместе с Production Runtime.
Пакеты app/src
src/
├── bootstrap/ Composition Root и общий lifecycle
├── core/ settings, logging и общие компоненты
├── integrations/ внешние API вне Market Data vertical slice
├── market_data/ acquisition, storage, access и replay
├── notifications/ доставка и маршрутизация уведомлений
├── runtime_events/ внутренняя Runtime Event система
├── shared/ общие вспомогательные компоненты
├── storage/ общий/исторический Storage foundation
├── telegram/ Telegram UI и handlers
├── trading/ торговая бизнес-логика и runtime-компоненты
└── main.py async entry point приложения
Пакет market_data
market_data/
├── acquisition/ Canonical models, protocols, validation, Recovery и Runtime
├── storage/ persistent repositories, checkpoint, partitions и Retention
├── access/ Historical Access read-side
└── replay/ Replay plan, deterministic clock и one-shot session
Фактические WebSocket Runtime, Consistency/Recovery и persistent writer consumer существуют только для Trades. REST-потоки Quotes/Candles продолжают использоваться Trading/UI; их persistence/read-side API реализованы отдельно.
Storage ownership
src/storage и src/market_data/storage не являются взаимозаменяемыми:
| Путь | Фактическая роль |
|---|---|
src/storage/session.py, schema.py, repositories/ |
Базовая PostgreSQL-схема журнала и balance snapshots |
src/storage/instrument_store.py, quote_store.py |
In-memory caches существующих consumers |
src/storage/postgres_pool.py, migrations.py |
Общая инфраструктура pool/migrations, используемая Market Data Storage |
src/market_data/storage/ |
Канонические persistent Market Data contracts и repositories |
src/market_data/access/ |
Отдельный read-side сохранённых данных |
src/market_data/replay/ |
Отдельная deterministic Replay-вертикаль |
Подробности приведены в README пакета Storage.
Документация
| Каталог | Назначение |
|---|---|
docs/architecture/ |
Current и target architecture |
docs/operations/ |
Актуальные эксплуатационные руководства |
docs/migrations/ |
Architecture/report документов отдельных Builds |
docs/roadmap/ |
План развития и исторические stage roadmaps |
docs/stages/, docs/decisions/ |
Исторические этапы и решения |
docs/market_intelligence/ |
Отдельная развиваемая Market Intelligence область |