architect/theory/ECOSYSTEM.md

ЭКОСИСТЕМА — Мета-архитектура

Версия: 2.0.0
Статус: approved
Дата: 2025-12-12


СУТЬ

Система для создания систем, которые создают системы, решающие задачи.

МЫ + CLAUDE
    ↓ создаём
ПЛАТФОРМА
    ↓ предоставляет
КОМПОНЕНТЫ
    ↓ собирают
РЕШЕНИЯ
    ↓ дают
РЕЗУЛЬТАТ (ценность для клиента)

Терминология: см. TERMINOLOGY.md


ИЗМЕРЕНИЯ ЭКОСИСТЕМЫ

Измерение 1: Уровни абстракции (ПЕРВИЧНОЕ)

Уровень Название Вопрос Артефакты
L0 Философия Зачем? Принципы, ценности
L1 Методология Как думать? Теория, концепции
L2 Стандарты Как делать? Правила, паттерны
L3 Платформа Чем делать? Движки, API, CLI
L4 Строительные блоки Из чего? Коннекторы, функции, модули
L5 Компоненты Как собрать? Готовые наборы
L6 Решения Что получается? Проекты клиентов

Измерение 2: Жизненный цикл

СОЗДАНИЕ → СБОРКА → ЗАПУСК → ЭКСПЛУАТАЦИЯ → РАЗВИТИЕ
   Dev      Build    Deploy    Operations     Evolution

Измерение 3: Целевая аудитория

Роль Описание Работает с уровнями
Создатели платформы Мы L0-L4
Разработчики решений Используют компоненты L4-L5
Операторы Запускают, настраивают L5-L6
Пользователи Получают результат L6

Измерение 4: Типы артефактов


СТРУКТУРА WORKSPACE

$WORKSPACE/

├── 🧠 architect/               L0-L2: РАЗУМ (методология)
   ├── theory/                 L1: Теория, концепции
   ├── standards/              L2: Правила, стандарты
   └── patterns/               L2: Паттерны решений

├── 🔧 system/                  L3-L4: ПЛАТФОРМА
   ├── core/                   L3: Движок (executor, scheduler)
   ├── agents/                 L3: AI-агенты Claude
   ├── scripts/                L3: Утилиты
   
   ├── connectors/             L4: КОННЕКТОРЫ ( внешний мир)
      ├── marketplaces/           OZON, WB, YM
      ├── delivery/               Почта РФ, СДЭК
      ├── erp/                    1C, МойСклад
      └── messaging/              Telegram, Email
   
   ├── functions/              L4: ФУНКЦИИ (внутренние)
      ├── validators/             phone, email, inn
      ├── formatters/             price, date
      └── parsers/                csv, excel
   
   └── modules/                L4: МОДУЛИ (бизнес-логика)
       ├── orders/                 export, sync
       ├── products/               price_sync, stock
       └── delivery/               labels, tracking

├── 📦 components/              L5: КОМПОНЕНТЫ (готовые наборы)
   ├── marketplace-seller/         Продавец на МП
   ├── delivery-manager/           Управление доставкой
   └── price-monitor/              Мониторинг цен

├── 🏭 infra/                   ИНФРАСТРУКТУРА
   ├── servers/                    Серверы
   └── storage/                    Хранилища

└── 💼 projects/                L6: РЕШЕНИЯ (конкретные проекты)
    ├── pirotehnika/                Пиротехника
    ├── lideravto/                  Лидер Авто
    └── {client}/                   Клиентские проекты

СТРОИТЕЛЬНЫЕ БЛОКИ (L4)

Коннекторы (→ внешний мир)

Адаптеры к внешним сервисам. Содержат QUIRKS (особенности API).

Категория Примеры Назначение
marketplaces/ ozon, wildberries, yandex_market Маркетплейсы
delivery/ pochta_russia, cdek, boxberry Службы доставки
erp/ 1c_odata, moysklad Учётные системы
messaging/ telegram, email, sms Каналы связи
storage/ s3, google_drive Хранилища
payment/ yookassa, tinkoff Платежи

Структура коннектора:

library/connectors/api/ozon/
├── client.py        Код
├── SPEC.md          Спецификация
├── QUIRKS.md        Особенности (!)
└── STATUS.md        Статус тестирования

Функции (внутренние)

Атомарные операции без внешних зависимостей.

Категория Примеры Назначение
validators/ phone, email, inn, address Валидация
formatters/ price, date, phone Форматирование
parsers/ csv, excel, xml Парсинг
calculators/ price, weight, delivery Расчёты
generators/ barcode, sku, tracking Генерация

Модули (бизнес-логика)

Комбинации функций + коннекторов.

Категория Примеры Назначение
orders/ exporter, sync, validator Работа с заказами
products/ price_sync, stock_sync, matcher Работа с товарами
delivery/ label_generator, tracking Доставка
notifications/ order_notifier, stock_alert Уведомления

КОМПОНЕНТЫ (L5)

Готовые наборы модулей для типовых задач.

Компонент Включает Назначение
marketplace-seller orders, products, delivery Продавец на маркетплейсе
delivery-manager delivery, notifications Управление доставкой
price-monitor products Мониторинг цен конкурентов
inventory-sync products, erp Синхронизация остатков

ПРИНЦИПЫ

1. Коннекторы изолируют внешний мир

Внешний API → Коннектор → Платформа
             (QUIRKS)

2. Функции не знают про внешний мир

# ✅ Правильно
def validate_phone(phone: str) -> bool:
    ...

# ❌ Неправильно
def validate_phone_ozon(phone: str) -> bool:  # Зависимость от OZON
    ...

3. Модули комбинируют, не дублируют

# ✅ Правильно — использует коннектор
from system.connectors.marketplaces.ozon import OzonConnector

# ❌ Неправильно — свой клиент с теми же ошибками
class MyOzonClient:
    ...

4. QUIRKS документируются сразу

При обнаружении особенности внешнего API:
1. Добавить в QUIRKS.md коннектора
2. Исправить код
3. Добавить тест
4. Все проекты автоматически получают исправление


СТАТУСЫ

Статус Маркер Описание
draft ⚠️ Написано, не тестировалось
tested Протестировано на реальных данных
broken Известные ошибки
deprecated 🚫 Устарело

СВЯЗИ


Версия: 2.0.0