Дата: 2025-12-23
Тип: Томография + Рефакторинг
Статус: completed
Создана новая архитектура библиотеки с 5 уровнями:
L2 Primitives → L3 Functions → L4 Components → L5 Services → L6 Integrations
Созданные базовые классы:
- library/primitives/ — types, enums, constants, exceptions
- library/functions/ — format, validate, normalize, calc, generate
- library/connectors/base.py — BaseConnector, BaseApiConnector
- library/parsers/base.py — BaseParser, BaseTabularParser
- library/adapters/base.py — BaseAdapter, ConfigurableAdapter
- library/storages/base.py — BaseRepository, BaseCache
- library/services/base.py — BaseService, BaseSyncService, BaseWorkerService
- library/integrations/base.py — BaseSyncIntegration, BaseWebhookIntegration
| Дубликат | Действие |
|---|---|
library/functions/formatters/ |
Удалён (контент перенесён в format/) |
system/connectors/marketplaces/ |
Удалён (перемещён в library/connectors/api/) |
system/connectors/delivery/ |
Удалён |
system/connectors/erp/ |
Удалён |
system/connectors/messaging/ |
Удалён |
system/connectors/nocodb/ |
Удалён |
system/adapters/ |
Удалён (deprecated) |
system/stores/ |
Удалён (deprecated) |
system/drivers/ |
Удалён (deprecated) |
Объединены format/ и formatters/ в единый путь:
library/functions/format/
├── money.py # babel-based
├── phone.py # phonenumbers
├── date.py # dateutil
├── number.py # числа
├── status.py # статусы OZON/Почта (из formatters/)
└── text.py # текст (из formatters/)
| Показатель | До | После | Изменение |
|---|---|---|---|
| Папки в system/ | 24 | 20 | -4 deprecated |
| Python файлы в system/connectors/ | 6 | 0 | -6 (перемещены) |
| Дубликаты format функций | 2 папки | 1 папка | -1 |
| Base классы в library/ | 0 | 8 | +8 новых |
| Проблема | Файлы | Рекомендация |
|---|---|---|
| OzonClient в projects/ | 3 файла | Постепенная миграция на library/ |
Импорты from system.lib |
15 файлов | Обратная совместимость |
| Пустые placeholder-ы в library/ | ~20 папок | Заполнять по мере разработки |
projects/org/pirotehnika/app/mp1/solution/app/services/ozon_client.py
projects/org/pirotehnika/app/ozon/solution/app/services/ozon_client.py
projects/org/pro1/@pro.service/solution/app/modules/ozon/client.py
Рекомендация: Не ломать работающий код. Постепенно мигрировать при следующих изменениях в этих проектах.
system/
├── agents/ ← AI-агенты (active)
├── apps/ ← Приложения (mcrm)
├── config/ ← Конфигурация
├── connectors/ ← Только MOVED.md
├── elements/ ← OpenRouter LLM
├── monitor/ ← Мониторинг
├── scheduler/ ← Планировщик
├── scripts/ ← CLI утилиты
├── services/ ← Микросервисы
└── @platform-ui.app/ ← Веб-интерфейс
library/
├── primitives/ ← L2: types, enums, exceptions
├── functions/ ← L3: format, validate, normalize
├── connectors/ ← L4: api/, data/, device/
├── parsers/ ← L4: xlsx, csv, pdf
├── adapters/ ← L4: маппинг данных
├── storages/ ← L4: repository pattern
├── services/ ← L5: бизнес-логика
└── integrations/ ← L6: связь систем
Обновлённые документы:
- library/CLAUDE.md — v4.0.0
- architect/standards/LIBRARY_ARCHITECTURE.md — v1.0.0
- library/requirements.txt — зависимости
- library/paths.py — централизованные пути
Версия: 1.0.0