architect/standards/7-typology/typology-artifact-classes.md

type: standard
aspect: typology
title: "Классы артефактов платформы"
version: 1.0.0
date: 2026-02-19
status: active


Классы артефактов платформы

Версия: 2.0.0
Дата: 2025-12-23
Статус: КЛЮЧЕВОЙ ДОКУМЕНТ


ПРИНЦИП

LIBRARY/     = ГОТОВЫЙ КОД (stable, tested, reusable)
PROJECTS/    = ИСПОЛЬЗОВАНИЕ + РАЗРАБОТКА (настройки, экземпляры, эксперименты)
SYSTEM/      = ЯДРО ПЛАТФОРМЫ (runtime, agents, core)
INFRA/       = ИНФРАСТРУКТУРА (серверы, хранилища)
RUNTIME      = ВЫПОЛНЕНИЕ (сессия, инстанс, процесс)

Lifecycle кода

projects/my/new-connector/      library/connectors/api/xyz/
      (разработка)                    (готовый код)

Правило: В library/ попадает ТОЛЬКО готовый, протестированный код.


12 КЛАССОВ АРТЕФАКТОВ

# Класс library/ (код) projects/ (настройка) runtime
1 Инфра серверы
2 Данные файлы
3 Функция functions/ вызов
4 API-коннектор connectors/api/ connects/ сессия
5 Data-коннектор connectors/data/ connects/ сессия
5b Device-коннектор connectors/device/ connects/ сессия
6 Расширение extensions/ modules.yaml модуль
7 Интеграция integrations/ integrations/ джоб
8 Сервис services/ services/ инстанс
9 Приложение applications/
10 Конфигурация configurations/
11 Решение app/ приложение
12 Проект projects/ бизнес

Не в library/ (в system/)

Класс Где Что
Агенты system/agents/ AI-агенты (dispatcher, projector, specialists)
Ядро system/core/ Движок платформы
Конфиг system/config/ Системная конфигурация
Скрипты system/scripts/ Системные утилиты

ИЕРАРХИЯ

        АТОМЫ (низкий уровень)
        ┌─────────────────────────────┐
        │ 3. Функции                  │  parsers, validators, formatters
        └─────────────┬───────────────┘
                      │ используют
                      ▼
        ┌─────────────────────────────┐
        │ 4. API-коннекторы           │  ozon, telegram, 1c
        │ 5. Data-коннекторы          │  postgres, xlsx, s3
        │ 5b. Device-коннекторы       │  printers, scanners
        │ 6. Расширения               │  cs-cart модули, drupal модули
        └─────────────┬───────────────┘
                      │ комбинируют
                      ▼
        МОЛЕКУЛЫ (средний уровень)
        ┌─────────────────────────────┐
        │ 7. Интеграции               │  ozon-1c-sync, order-to-cdek
        │ 8. Сервисы                  │  pim-api, sync-worker
        │ 9. Приложения               │  shop-engine, admin-panel
        └─────────────┬───────────────┘
                      │ настраивают
                      ▼
        ПРОДУКТЫ (высокий уровень)
        ┌─────────────────────────────┐
        │ 10. Конфигурации            │  shop-fireworks, shop-auto
        └─────────────┬───────────────┘
                      │ применяют
                      ▼
        КЛИЕНТ (проектный уровень)
        ┌─────────────────────────────┐
        │ 11. Решения                 │  pirotehnika/shop
        │ 12. Проекты                 │  pirotehnika, lideravto
        └─────────────────────────────┘

        ОТДЕЛЬНО:
        ┌─────────────────────────────┐
        │ 1. Инфра                    │  infra/
        │ 2. Данные                   │  $DATASPACE/
        └─────────────────────────────┘

ЦЕПОЧКИ ИСПОЛЬЗОВАНИЯ

Коннектор → Коннект → Сессия

КОННЕКТОР              КОННЕКТ               СЕССИЯ
(код)                 (настройки)          (runtime)
library/connectors/    projects/connects/    в памяти
Уровень Что Где Пример
Коннектор Код, логика API library/connectors/api/ozon/ класс OzonConnector
Коннект Credentials projects/.../connects/ozon.yaml api_key, client_id
Сессия Активное соединение runtime авторизованный клиент

Интеграция → Интеграция → Джоб

ИНТЕГРАЦИЯ             ИНТЕГРАЦИЯ            ДЖОБ
(код)                 (настроенная)        (runtime)
library/integrations/  projects/integrations/ процесс
Уровень Что Где Пример
Интеграция Логика бизнес-процесса library/integrations/ozon-1c-sync/ код синхронизации
Интеграция Какие коннекты использовать projects/.../integrations/ozon-1c-sync.yaml ссылки на коннекты
Джоб Запущенный процесс cron, scheduler выполняющаяся синхронизация

Сервис → Сервис → Инстанс

СЕРВИС                 СЕРВИС                ИНСТАНС
(код)                 (настроенный)        (runtime)
library/services/      projects/services/    процесс
Уровень Что Где Пример
Сервис Код сервиса library/services/pim-api/ FastAPI приложение
Сервис Настройки для проекта projects/.../services/@pim.api/ extends + config
Инстанс Работающий процесс systemd, docker запущенный API

Приложение → Конфигурация → Решение

ПРИЛОЖЕНИЕ             КОНФИГУРАЦИЯ          РЕШЕНИЕ
(код)                 (отраслевая)         (для клиента)
library/applications/  library/configurations/ projects/.../app/
Уровень Что Где Пример
Приложение Готовая программа library/applications/shop-engine/ движок магазина
Конфигурация Отраслевая настройка library/configurations/shop-fireworks/ для пиротехники
Решение Для конкретного клиента projects/.../app/shop/ магазин pirotehnika

ДЕТАЛЬНО ПО КАЖДОМУ КЛАССУ

1. ИНФРА

Где:        infra/
Что:        Серверы, хранилища, сети
Примеры:    @dev-pro.server, @beget-s3.storage
В library:  НЕТ (инфра не переиспользуется как код)
В projects: НЕТ (инфра общая)

2. ДАННЫЕ

Где:        $DATASPACE/
Что:        Бинарные файлы (xlsx, jpg, pdf, json >1MB)
Примеры:    prices/*.xlsx, images/*.jpg
В library:  НЕТ (это не код)
В projects: $DATASPACE/projects/{name}/

3. ФУНКЦИЯ

Где:        library/functions/
Что:        Атомарные операции без внешних зависимостей
Типы:
  - parsers/       чтение форматов (xlsx, csv, html)
  - formatters/    форматирование (price, phone, date)
  - validators/    проверка (email, inn, phone)
  - calculators/   вычисления (price, delivery)
  - generators/    генерация (barcode, sku, uuid)
В library:  library/functions/parsers/xlsx/
В projects: НЕТ (используется через import)
Runtime:    вызов функции

4. API-КОННЕКТОР

Где:        library/connectors/api/
Что:        Связь с внешним сервисом по API
Примеры:    ozon, telegram, 1c, cdek, wildberries
В library:  library/connectors/api/ozon/
В projects: projects/.../connects/ozon.yaml
Runtime:    сессия (авторизованное подключение)

5. DATA-КОННЕКТОР

Где:        library/connectors/data/
Что:        Связь с источником данных
Примеры:    postgres, mysql, redis, s3, xlsx, csv
В library:  library/connectors/data/postgres/
В projects: projects/.../connects/db.yaml
Runtime:    сессия (открытое соединение)

5b. DEVICE-КОННЕКТОР

Где:        library/connectors/device/
Что:        Связь с физическим устройством
Примеры:    printers (чеки, этикетки), scanners (штрих-коды)
В library:  library/connectors/device/printer/
В projects: projects/.../connects/printer.yaml
Runtime:    сессия (подключение к устройству)

6. РАСШИРЕНИЕ

Где:        library/extensions/{platform}/
Что:        Модуль для чужой платформы
Примеры:    cs-cart/smart_images, drupal/commerce_sync
В library:  library/extensions/cs-cart/smart_images/
В projects: projects/.../modules.yaml (список используемых)
Runtime:    установленный модуль на платформе

7. ИНТЕГРАЦИЯ

Где:        library/integrations/
Что:        Бизнес-процесс из нескольких коннекторов
Примеры:    ozon-1c-sync, order-to-cdek, low-stock-alert
В library:  library/integrations/ozon-1c-sync/
В projects: projects/.../integrations/ozon-1c-sync.yaml
Runtime:    джоб (запущенный процесс синхронизации)

8. СЕРВИС

Где:        library/services/
Что:        Работающий процесс (API, worker, daemon)
Примеры:    pim-api, sync-worker, notification-service
В library:  library/services/pim-api/
В projects: projects/.../services/@pim.api/
Runtime:    инстанс (запущенный сервис)

9. ПРИЛОЖЕНИЕ

Где:        library/applications/
Что:        Самостоятельная готовая программа
Примеры:    shop-engine, admin-panel, dashboard
В library:  library/applications/shop-engine/
В projects: НЕТ (используется через конфигурацию)
Runtime:    НЕТ (это шаблон)

10. КОНФИГУРАЦИЯ

Где:        library/configurations/
Что:        Отраслевая настройка приложения
Примеры:    shop-fireworks, shop-auto, shop-clothes
В library:  library/configurations/shop-fireworks/
В projects: НЕТ (используется через решение)
Runtime:    НЕТ (это настройки)

11. РЕШЕНИЕ

Где:        projects/.../app/
Что:        Применение конфигурации к конкретному клиенту
Примеры:    pirotehnika/app/shop, lideravto/app/shop
В library:  НЕТ
В projects: projects/org/pirotehnika/app/shop/
Runtime:    работающее приложение

12. ПРОЕКТ

Где:        projects/{owner}/{name}/
Что:        Бизнес или клиент целиком
Примеры:    org/pirotehnika, org/lideravto, my/experiments
В library:  НЕТ
В projects: projects/org/pirotehnika/
Runtime:    весь бизнес

СТРУКТУРА ПАПОК

$WORKSPACE/

├── architect/                         МЕТА (методология)

├── infra/                             1. ИНФРА
   ├── @dev-pro.server/
   └── @beget-s3.storage/

├── library/                           БИБЛИОТЕКА (классы 3-10)
   
   ├── functions/                     3. ФУНКЦИИ
      ├── parsers/
         ├── xlsx/
         ├── csv/
         └── html/
      ├── formatters/
         ├── price/
         └── phone/
      ├── validators/
         ├── email/
         └── inn/
      ├── calculators/
      └── generators/
   
   ├── connectors/                    4-5. КОННЕКТОРЫ
      ├── api/                       4. API-коннекторы
         ├── ozon/
         ├── telegram/
         ├── 1c/
         └── cdek/
      ├── data/                      5. Data-коннекторы
         ├── postgres/
         ├── xlsx/
         ├── s3/
         └── redis/
      └── device/                    5b. Device-коннекторы
          ├── printer/
          └── scanner/
   
   ├── extensions/                    6. РАСШИРЕНИЯ
      ├── cs-cart/
         ├── smart_images/
         └── lider_import/
      ├── drupal/
      └── opencart/
   
   ├── integrations/                  7. ИНТЕГРАЦИИ
      ├── ozon-1c-sync/
      ├── order-to-cdek/
      └── low-stock-alert/
   
   ├── services/                      8. СЕРВИСЫ
      ├── pim-api/
      └── sync-worker/
   
   ├── applications/                  9. ПРИЛОЖЕНИЯ
      ├── shop-engine/
      └── admin-panel/
   
   └── configurations/                10. КОНФИГУРАЦИИ
       ├── shop-fireworks/
       └── shop-auto/

├── system/                            ЯДРО ПЛАТФОРМЫ (не library!)
   ├── agents/                        AI-агенты
      ├── dispatcher.ai.md
      ├── projector.ai.md
      ├── specialists/
      └── workers/
   ├── core/                          Движок
   ├── config/                        Системная конфигурация
   ├── monitor/                       Мониторинг
   ├── scheduler/                     Планировщик
   └── scripts/                       Утилиты

└── projects/                          ПРОЕКТЫ (классы 11-12)
    ├── my/                            Личные
    └── org/                           Организации
        └── pirotehnika/               12. ПРОЕКТ
            ├── connects/              Коннекты (настройки подключений)
               ├── ozon.yaml
               ├── telegram.yaml
               └── db.yaml
            ├── modules.yaml           Какие расширения используем
            ├── integrations/          Интеграции (настроенные)
               └── ozon-1c-sync.yaml
            ├── services/              Сервисы (настроенные)
               └── @pim.api/
            └── app/                   11. РЕШЕНИЯ
                └── shop/
                    extends: library/configurations/shop-fireworks

$DATASPACE/
└── projects/                          2. ДАННЫЕ
    └── pirotehnika/
        ├── prices/
        ├── images/
        └── exports/

SYSTEM/ vs LIBRARY/

library/ — переиспользуемый код

library/
├── functions/         Атомарные функции (parsers, formatters)
├── connectors/        Подключения (api, data, device)
├── extensions/        Расширения платформ (cs-cart, drupal)
├── integrations/      Бизнес-процессы
├── services/          Сервисы (API, workers)
├── applications/      Приложения-шаблоны
└── configurations/    Отраслевые конфигурации

Правило: Только готовый, протестированный код.

system/ — ядро платформы

system/
├── agents/            AI-агенты (НЕ в library!)
├── core/              Движок платформы
├── config/            Системная конфигурация
├── monitor/           Мониторинг
├── scheduler/         Планировщик задач
└── scripts/           Системные утилиты

Правило: Runtime-компоненты, не переиспользуемые в проектах.

infra/ — только инфраструктура

infra/
├── @dev-pro.server        Серверы
├── @beget-s3.storage      Хранилища
└── @backup.service        Инфра-сервисы

Правило: Серверы, хранилища, сети. НЕ приложения, НЕ коннекторы.


СВЯЗИ


Версия: 2.0.0