Версия: 1.0.0
Дата: 2025-12-22
Уровень: L2 (Стандарт)
Четкое разделение сущностей по их физической природе, роли и месту в иерархии.
Реально существующие на диске/сервере.
Характеристика: Единица хранения данных на диске
Типы:
| Тип файла | Расширение | Содержание | Примеры |
|---|---|---|---|
| Markdown | .md |
Документация, описания | CLAUDE.md, PROJECT.md, README.md |
| YAML | .yaml, .yml |
Метаданные, конфигурация | index.yaml, config.yaml |
| Данные | .json, .csv, .xlsx |
Структурированные данные | products.json, orders.csv |
| Код | .php, .py, .js, .ts |
Исполняемый код | index.php, app.py |
| Конфигурация | .env, .conf, .ini |
Настройки | .env, nginx.conf |
| SQL | .sql |
Схемы БД, миграции | schema.sql, migration_001.sql |
Свойства:
path: "/absolute/path/to/file.md"
size_bytes: 12345
created_at: "2025-12-22T10:00:00Z"
modified_at: "2025-12-22T12:30:00Z"
owner: "user"
permissions: "rw-r--r--"
encoding: "UTF-8"
Метаданные в index.yaml:
files:
required:
- CLAUDE.md
- index.yaml
optional:
- README.md
- PROJECT.md
Характеристика: Контейнер для файлов и других директорий
Типы:
| Префикс | Назначение | Уровень | Пример |
|---|---|---|---|
| Нет | Логическая сущность (Бизнес, Направление) | L1, L2 | pirotehnika/, retail/ |
@ |
Технический модуль (код) | L3 | @site/, @pim.service/ |
_ |
Вспомогательные данные | L1, L2 | _shared/, _data/, _inbox/ |
| Стандартное имя | Функциональная роль | Любой | design/, management/, solution/ |
Свойства:
path: "/absolute/path/to/directory"
size_total_bytes: 1234567890
files_count: 543
subdirs_count: 12
owner: "user"
permissions: "rwxr-xr-x"
Характеристика: Версионированное хранилище кода
Типы:
- Монорепозиторий — весь workspace в одном repo
- Отдельный репозиторий — для каждого модуля свой repo
Свойства:
repository:
type: "git"
remote: "git@github.com:user/repo.git"
branch: "main"
commits: 1234
contributors: 3
last_commit: "2025-12-22T12:00:00Z"
Характеристика: Структурированное хранилище данных
Типы:
| Тип БД | Назначение | СУБД | Примеры |
|---|---|---|---|
| Реляционная | Структурированные данные | PostgreSQL, MySQL | Products, Orders, Customers |
| NoSQL | Документы, JSON | MongoDB, CouchDB | Logs, Sessions |
| Key-Value | Кеш, сессии | Redis, Memcached | Cache, Queue |
| Граф | Связи | Neo4j | Dependencies, Relations |
Свойства:
database:
type: "postgresql"
host: "localhost"
port: 5432
name: "pirotehnika_db"
schema: "pt7k98pv0fwi1el"
tables:
- pim_products
- pim_pirotehnika
size_mb: 1024
records_count: 5623
Абстракции, существующие как концепции.
Характеристика: Организационная единица работы
Типы по иерархии:
| Уровень | Тип | Физическое воплощение | Пример |
|---|---|---|---|
| L0 | WORKSPACE | Корневая директория | $WORKSPACE/ |
| L1 | БИЗНЕС | Поддиректория | pirotehnika/ |
| L2 | НАПРАВЛЕНИЕ | Поддиректория | retail/ |
| L3 | МОДУЛЬ | Директория с @ |
@site/ |
Свойства:
project:
name: "Pirotehnika"
type: "business"
level: "L1"
path: "projects/pirotehnika/"
status: "active"
owner: "owner"
Физически: Директория + набор файлов
Характеристика: Функциональная роль проекта
Типы по назначению:
| Тип системы | Вопросов | Назначение | Примеры |
|---|---|---|---|
| Целевая | 9 | Решает проблему клиента | Торговля, SaaS, Услуги |
| Обеспечивающая | 7 | Поддерживает другие системы | Инфраструктура, Платформа |
| Информационная | 5 | Хранит и передает знания | База знаний, Документация |
| Процесс | 8 | Описывает workflow | Логистика, Производство |
| Структура | 4 | Описывает устройство | Схема БД, Архитектура |
| Агент | 6 | Действует автономно | Бот, Worker |
Свойства:
system:
type: "target" # целевая
questions: 9
purpose: "Решение проблемы клиента"
Физически: Набор директорий + файлов, организованных по принципу системы
Характеристика: Атомарная единица работы
Типы:
- feature — новая функция
- bugfix — исправление
- refactor — улучшение
- docs — документация
- test — тестирование
- deploy — развёртывание
Свойства:
task:
id: "#001"
title: "Добавить фильтр по цене"
type: "feature"
status: "in_progress"
priority: "P0"
assignee: "owner"
deadline: "2025-12-25"
estimate_hours: 4
module: "@pirotehnika.spb.ru"
Физически: Запись в TODO.md или ticket файл
Действия, происходящие во времени.
Характеристика: Последовательность действий для достижения результата
Примеры:
- Обработка заказа
- Логистика
- Производство
- Разработка фичи
- Деплой
Свойства:
workflow:
name: "Order Processing"
steps:
- name: "Получение заказа"
actor: "Клиент"
output: "Заказ в системе"
- name: "Подтверждение"
actor: "Менеджер"
output: "Подтвержденный заказ"
- name: "Комплектация"
actor: "Склад"
output: "Собранный заказ"
- name: "Доставка"
actor: "Курьер"
output: "Доставленный товар"
metrics:
cycle_time_hours: 24
success_rate: 0.95
Физически: Документ WORKFLOW.md или SOP.md
Характеристика: Запущенные программы в памяти
Типы:
| Тип | Длительность | Запуск | Примеры |
|---|---|---|---|
| Daemon | Постоянно | При загрузке системы | nginx, postgresql, docker |
| Service | Постоянно | По требованию | FastAPI app, Node.js server |
| Worker | Фоновый | По расписанию/событию | Celery worker, Queue processor |
| Cron Job | Периодический | По расписанию | Бэкап, Парсинг, Синхронизация |
| One-off | Разовый | Вручную | Скрипт миграции, Import |
Свойства:
runtime:
process_id: 12345
name: "uvicorn app:app"
type: "service"
status: "running"
uptime_seconds: 86400
memory_mb: 256
cpu_percent: 5.2
port: 8000
user: "www-data"
Физически: PID в системе, процесс в ps aux
Характеристика: Разовое действие
Примеры:
- git commit
- deploy.sh
- backup.py
- scrape_products.py
- upload_to_hub.py
Свойства:
operation:
name: "scrape_producer_sites.py"
type: "one-off"
trigger: "manual"
duration_seconds: 120
result: "success"
output: "200 products scraped"
timestamp: "2025-12-22T12:00:00Z"
Физически: Скрипт (.py, .sh) или команда
Информация в структурированном виде.
Характеристика: Относительно статичные данные
Примеры:
- Каталог товаров
- Список категорий
- Справочник клиентов
- Прайс-листы
Свойства:
catalog:
name: "Products Catalog"
type: "reference"
source: "pim_products"
records: 5623
update_frequency: "daily"
last_updated: "2025-12-22T06:00:00Z"
fields:
- article
- name
- price
- category
Физически:
- Таблица в БД
- JSON/CSV файл
- Excel файл
Характеристика: Часто меняющиеся данные операций
Примеры:
- Заказы
- Платежи
- Логи действий
- История изменений
Свойства:
transactional:
name: "Orders"
type: "operational"
source: "orders_db"
records_total: 12345
records_daily: 150
retention_days: 365
archive_after_days: 730
Физически: Таблица в БД
Характеристика: Агрегированные данные для анализа
Примеры:
- Отчёты
- Метрики
- Дашборды
- Статистика
Свойства:
analytics:
name: "Sales Report"
type: "report"
period: "monthly"
source: "orders + products"
metrics:
- revenue
- orders_count
- avg_check
- conversion
format: "markdown"
location: "reports/2025-12-sales.md"
Физически:
- Markdown файл
- Excel/CSV
- BI дашборд
Характеристика: Настройки систем
Примеры:
- .env файлы
- config.yaml
- settings.php
- Credentials
Свойства:
configuration:
name: "Database Config"
type: "settings"
format: "yaml"
location: "config/database.yaml"
encrypted: false
version: "1.0"
Физически: Файл конфигурации
Знания, описания, документация.
Характеристика: Описание систем и процессов
Типы:
| Тип | Назначение | Примеры |
|---|---|---|
| Проектная | Описание проекта | PROJECT.md, CLAUDE.md |
| Техническая | Как работает код | ARCHITECTURE.md, API.md |
| Операционная | Как использовать | README.md, DEPLOYMENT.md |
| Процессная | Как делать | SOP.md, WORKFLOW.md |
Свойства:
documentation:
name: "ARCHITECTURE.md"
type: "technical"
audience: "developers"
status: "actual"
version: "1.0"
last_updated: "2025-12-22"
size_lines: 543
Физически: Markdown файл
Характеристика: Накопленный опыт и методология
Примеры:
- theory/
- concept/
- standards/
- patterns/
- knowledge/
Свойства:
knowledge:
domain: "Architecture"
type: "methodology"
documents: 150
pages: 5000
contributors: 3
locked: true # Некоторые разделы LOCKED
Физически: Набор директорий с .md файлами
Характеристика: Данные о данных
Примеры:
- index.yaml — метаданные проекта
- .git/config — метаданные репозитория
- database schema — метаданные БД
Свойства:
metadata:
target: "pirotehnika/"
type: "project_metadata"
format: "yaml"
schema_version: "1.0"
fields:
- name
- type
- status
- owner
Физически: YAML/JSON файл
Каждая физическая сущность может играть разные роли.
| Физическая природа | Целевая | Обеспечивающая | Информационная | Процесс | Агент |
|---|---|---|---|---|---|
| Директория | pirotehnika/ |
infra/ |
architect/ |
logistics/ |
— |
| Модуль (@) | @site/ |
@pim.service/ |
— | — | @bot/ |
| Файл .md | PROJECT.md (9 Q) | PROJECT.md (7 Q) | INDEX.md (5 Q) | WORKFLOW.md (8 Q) | — |
| Код (.py) | app.py (сайт) | service.py (API) | — | — | bot.py |
| База данных | orders_db | system_db | knowledge_db | — | — |
| Runtime | web-server | api-service | — | cron-job | worker |
L0: WORKSPACE (директория)
│
├── L1: БИЗНЕС (директория)
│ ├── CLAUDE.md (файл)
│ ├── index.yaml (файл метаданных)
│ ├── PROJECT.md (файл документации)
│ │
│ ├── design/ (директория)
│ │ └── STRATEGY.md (файл)
│ │
│ ├── management/ (директория)
│ │ └── STATUS.md (файл)
│ │
│ ├── _shared/ (директория данных)
│ │ └── data/ (директория)
│ │ └── products.json (файл данных)
│ │
│ └── L2: НАПРАВЛЕНИЕ (директория)
│ ├── CLAUDE.md (файл)
│ ├── index.yaml (файл)
│ │
│ ├── _data/ (директория данных)
│ │ └── orders.csv (файл данных)
│ │
│ └── L3: МОДУЛЬ @ (директория)
│ ├── CLAUDE.md (файл)
│ ├── index.yaml (файл)
│ │
│ ├── solution/ (директория кода)
│ │ ├── src/ (директория)
│ │ │ ├── app.py (файл кода)
│ │ │ └── models.py (файл кода)
│ │ ├── config/ (директория)
│ │ │ └── .env (файл конфигурации)
│ │ └── requirements.txt (файл метаданных)
│ │
│ └── management/ (директория)
│ └── TODO.md (файл)
│ └── L4: ЗАДАЧА (запись в файле)
Тип каждой сущности:
- Директории — контейнеры
- Файлы .md — документация/информация
- Файлы .yaml — метаданные
- Файлы .py/.php/.js — код
- Файлы .json/.csv — данные
- Записи в TODO.md — логические сущности (задачи)
| Связь | Природа | Направление | Пример |
|---|---|---|---|
| Содержит | Физическая вложенность | Контейнер → Элемент | pirotehnika/ ⊃ retail/ |
| Ссылается | Логическая ссылка | A → B | depends_on: ["@pim.service"] |
| Импортирует | Код | Модуль → Модуль | from utils import helper |
| Читает | Данные | Код → Файл/БД | pd.read_csv("data.csv") |
| Пишет | Данные | Код → Файл/БД | df.to_csv("output.csv") |
| Запускает | Процесс | Триггер → Процесс | cron → backup.sh |
| Вызывает | API | Клиент → Сервер | @site → @pim.service/api |
| Наследует | Настройки | Дочерний → Родитель | retail/index.yaml ← pirotehnika/index.yaml |
Физические:
pirotehnika/retail/@site/solution/src/catalog.php
├── [читает] pirotehnika/retail/_data/products.csv
├── [импортирует] pirotehnika/_shared/utils/helpers.php
└── [вызывает] pirotehnika/services/@pim.service/api/products
Логические:
pirotehnika (L1, Целевая)
├── [содержит] retail (L2, Целевая, role: main)
│ └── [содержит] @site (L3, Целевая)
│ └── [зависит от] @pim.service (L3, Обеспечивающая)
└── [содержит] services (L2, Обеспечивающая, role: service)
└── [содержит] @pim.service
└── [обслуживает] @site
| ID | Сущность | Природа | Роль | Уровень | Пример |
|---|---|---|---|---|---|
| 1.1 | Workspace Dir | Директория | Структура | L0 | $WORKSPACE/ |
| 1.2 | Business Dir | Директория | Целевая/Обесп./Инф. | L1 | pirotehnika/ |
| 1.3 | Direction Dir | Директория | Целевая/Обесп./Инф./Процесс | L2 | retail/ |
| 1.4 | Module Dir | Директория @ | Целевая/Обесп./Инф./Агент | L3 | @site/ |
| 1.5 | Data Dir | Директория _ | Вспомогательная | L1, L2 | _shared/, _data/ |
| 1.6 | Functional Dir | Директория | Служебная | Любой | design/, solution/ |
| ID | Сущность | Природа | Роль | Уровень | Пример |
|---|---|---|---|---|---|
| 2.1 | CLAUDE.md | Markdown | Метаданные для AI | L1, L2, L3 | Контекст |
| 2.2 | index.yaml | YAML | Метаданные | L1, L2, L3 | Свойства сущности |
| 2.3 | PROJECT.md | Markdown | Документация | L1 | 9/7/5 вопросов |
| 2.4 | INDEX.md | Markdown | Навигация | L1 (Инф.) | Оглавление |
| 2.5 | README.md | Markdown | Описание | Любой | Краткое введение |
| 2.6 | TODO.md | Markdown | Управление | L2, L3 | Задачи |
| 2.7 | .env | Config | Конфигурация | L3 | Переменные окружения |
| 2.8 | .py, .php, *.js | Code | Исполняемый код | L3 | Программы |
| 2.9 | .json, .csv | Data | Данные | Любой | Справочники, отчёты |
| 2.10 | *.sql | SQL | Схема БД | L3 | Миграции |
| ID | Сущность | Природа | Роль | Уровень | Физическое воплощение |
|---|---|---|---|---|---|
| 3.1 | Workspace | Проект | Структура | L0 | Директория |
| 3.2 | Business | Проект | Целевая/Обесп./Инф. | L1 | Директория + файлы |
| 3.3 | Direction | Проект | Целевая/Обесп./Инф./Процесс | L2 | Директория + файлы |
| 3.4 | Module | Проект | Целевая/Обесп./Инф./Агент | L3 | Директория @ + код |
| 3.5 | Task | Задача | Процесс | L4 | Запись в TODO.md |
| ID | Сущность | Природа | Роль | Длительность | Физическое воплощение |
|---|---|---|---|---|---|
| 4.1 | Web Server | Daemon | Целевая | Постоянно | nginx процесс |
| 4.2 | API Service | Service | Обеспечивающая | Постоянно | FastAPI app процесс |
| 4.3 | Bot | Agent | Агент | Постоянно | bot.py процесс |
| 4.4 | Worker | Worker | Агент | Фоновый | celery worker процесс |
| 4.5 | Cron Job | Scheduled | Процесс | Периодический | cron + скрипт |
| 4.6 | Script | One-off | Операция | Разовый | python script.py |
| ID | Сущность | Природа | Роль | Изменяемость | Физическое воплощение |
|---|---|---|---|---|---|
| 5.1 | Справочник | Catalog | Информационная | Низкая | Таблица БД / JSON |
| 5.2 | Транзакции | Operational | Целевая | Высокая | Таблица БД |
| 5.3 | Аналитика | Report | Информационная | Низкая | MD файл / Excel |
| 5.4 | Конфигурация | Settings | Обеспечивающая | Низкая | .env / YAML |
| 5.5 | Метаданные | Metadata | Структура | Низкая | index.yaml |
| ID | Сущность | Природа | Роль | Аудитория | Физическое воплощение |
|---|---|---|---|---|---|
| 6.1 | Документация проекта | Docs | Информационная | Команда | PROJECT.md, README.md |
| 6.2 | Техдокументация | Docs | Информационная | Разработчики | ARCHITECTURE.md, API.md |
| 6.3 | База знаний | Knowledge | Информационная | Все | architect/ |
| 6.4 | Процедуры | Process Docs | Процесс | Исполнители | SOP.md, WORKFLOW.md |
Что это физически?
- База данных PostgreSQL (NocoDB)
- Схема pt7k98pv0fwi1el
- Таблицы: pim_products, pim_pirotehnika
- Скрипты Python: scrape_*.py, upload_*.py
Роль в системе:
- Обеспечивающая система (7 вопросов)
- Предоставляет данные о товарах другим модулям
Место в иерархии:
- Вариант 1: pirotehnika/services/@pim.service/ (L3)
- Вариант 2: pirotehnika/data/ (L2, Информационная)
Связи:
- Обслуживает: @site, @ozon.api, @admin.app
- Источники: Producer сайты (внешние)
- Синхронизирует с: Hub (S3), 1C
Что это физически?
- Директория: pirotehnika/retail/@pirotehnika.spb.ru/
- Код: OpenCart (PHP)
- База данных: MySQL
- Runtime процесс: nginx + php-fpm
- Сервер: Beget (@beget-kondurov.server)
Роль в системе:
- Целевая система (9 вопросов)
- Интерфейс для клиентов
Место в иерархии:
- L3 (Модуль)
- Внутри L2 (retail)
- Внутри L1 (pirotehnika)
Связи:
- Зависит от: @pim.service (данные товаров)
- Использует: _shared/ (общие ресурсы)
- Размещён на: infra/@beget-kondurov.server
Что это физически?
- Запись в pirotehnika/retail/@site/management/TODO.md
- Строки 42-67 файла
Роль в системе:
- Процесс (упрощённый, без описания 8 вопросов)
- Атомарная единица работы
Место в иерархии:
- L4 (Задача)
- Внутри L3 (@site)
Связи:
- Изменит файлы: catalog.php, filter.js
- Зависит от: #123 (другая задача)
- Блокирует: #125
Что это физически?
- Файл: scrape_producer_sites.py
- Код: Python
- Расположение: pirotehnika/app/mp1/solution/scripts/
Роль в системе:
- Операция (разовое действие)
- Часть workflow обновления PIM
Место в иерархии:
- Внутри L3 (модуль mp1)
- Или может быть в @pim.service/scripts/
Связи:
- Читает: pim_pirotehnika (БД)
- Пишет: pim_products (БД)
- Вызывает: upload_images_to_hub.py
- Запускается: Вручную или cron
СУЩНОСТЬ = Физическая природа × Роль × Место × Связи
1. Физическая природа (ЧТО ЭТО):
- Файл (.md, .yaml, .py, .json, .csv)
- Директория (обычная, @, _)
- База данных (PostgreSQL, MySQL, Redis)
- Процесс (daemon, service, worker, cron, script)
- Запись (в TODO.md, в БД)
2. Роль в системе (ЗАЧЕМ ОНО):
- Целевая (9 вопросов) — решает проблему клиента
- Обеспечивающая (7) — поддерживает другие системы
- Информационная (5) — хранит знания
- Процесс (8) — workflow
- Структура (4) — устройство
- Агент (6) — автономное действие
3. Место в иерархии (ГДЕ ОНО):
- L0: WORKSPACE
- L1: БИЗНЕС
- L2: НАПРАВЛЕНИЕ
- L3: МОДУЛЬ (@)
- L4: ЗАДАЧА
4. Связи (КАК ВЗАИМОДЕЙСТВУЕТ):
- Содержит (⊃)
- Зависит от (→)
- Обслуживает (⇒)
- Использует (↔)
- Читает/Пишет (R/W)
- Импортирует (import)
- Вызывает (API call)
Версия: 1.0.0
Создано: 2025-12-22
Автор: Claude Sonnet 4.5