138 lines
5.6 KiB
Markdown
138 lines
5.6 KiB
Markdown
# Онтология — Правила ведения
|
||
|
||
> Эти правила **обязательны** для всех агентов. Невыполнение = нарушение.
|
||
|
||
---
|
||
|
||
## 1. Когда использовать онтологию
|
||
|
||
**Обязательно** при:
|
||
- Работе с проектами (создание, обновление, закрытие)
|
||
- Работе с задачами (создание, изменение статуса, удаление)
|
||
- Распределении работ между агентами
|
||
- Проверке зависимостей между задачами
|
||
- Планировании новых активностей
|
||
|
||
**Онтология — единственный источник истины** о проектах и задачах. Не держать информацию в голове, в daily notes или вMEMORY.md — только в онтологии.
|
||
|
||
---
|
||
|
||
## 2. Правила записи ( Stream — curator)
|
||
|
||
### 2.1 Стрим — единственный writer
|
||
- Все изменения в онтологию вносит **только Стрим**
|
||
- Другие агенты (Dev, Legal, Feda) **не пишут напрямую**
|
||
- Запросы на изменения → `sessions_send` → Стрим → проверка → внесение
|
||
|
||
### 2.2 Изменения — только с подтверждения Славы
|
||
- Любое изменение (создание, удаление, обновление сущности) → **только после ОК Славы**
|
||
- Исключение: мелкие правки по типу "обновить статус на done" если Слава сам сказал
|
||
- Спорные вопросы → Слава решает
|
||
|
||
### 2.3 Принцип одного источника
|
||
- Информация о проекте/задаче должна быть **только в онтологии**
|
||
- Не дублировать в MEMORY.md, daily notes, TZ файлах
|
||
- Исключение: MEMORY.md содержит только **ссылки** на онтологию
|
||
|
||
---
|
||
|
||
## 3. Атрибуты сущностей
|
||
|
||
### Project
|
||
| Поле | Тип | Обязательно | Описание |
|
||
|------|-----|-------------|----------|
|
||
| `name` | string | ✅ | Название проекта |
|
||
| `status` | enum | ✅ | active, paused, done, planned |
|
||
| `folder` | string | — | Путь к документации: `tasks/{project}/` |
|
||
| `description` | string | — | Краткое описание |
|
||
| `start_date` | date | — | Дата старта |
|
||
|
||
### Task
|
||
| Поле | Тип | Обязательно | Описание |
|
||
|------|-----|-------------|----------|
|
||
| `title` | string | ✅ | Название задачи |
|
||
| `project` | string | ✅ | ID проекта (proj_xxx) |
|
||
| `assignee` | string | ✅ | Кто выполняет: dev, p_slava, legal, feda |
|
||
| `status` | enum | ✅ | open, in_progress, done, blocked |
|
||
| `priority` | enum | — | high, medium, low |
|
||
| `description` | string | — | Детали задачи |
|
||
|
||
---
|
||
|
||
## 4. Жизненный цикл
|
||
|
||
### Создание проекта
|
||
1. Слава/агент предлагает → обсуждаем
|
||
2. Слава соглашается → Стрим создаёт в онтологии
|
||
3. Привязываем folder, создаём структуру `tasks/{project}/`
|
||
|
||
### Создание задачи
|
||
1. Предложение → описание → assignee → приоритет
|
||
2. Слава ОК → Стрим создаёт
|
||
3. Task привязывается к Project
|
||
|
||
### Обновление статуса
|
||
1. Кто-то сообщает (Слава, агент, результат работы)
|
||
2. Стрим проверяет → обновляет в онтологии
|
||
3. Если задача done → проверяем есть ли зависимые
|
||
|
||
### Закрытие проекта
|
||
1. Все задачи done
|
||
2. Слава подтверждает → status → done
|
||
3. Description обновить с датой закрытия
|
||
|
||
---
|
||
|
||
## 5. Проверки (автоматически)
|
||
|
||
При каждом запросе涉及 проектов/задач:
|
||
- [ ] Данные взяты из онтологии
|
||
- [ ] Статусы актуальны
|
||
- [ ] Нет конфликтующих задач
|
||
- [ ] Assignee соответствует
|
||
|
||
При планировании:
|
||
- [ ] Проверены зависимости
|
||
- [ ] Нет блокирующих задач
|
||
- [ ] Учтены приоритеты
|
||
|
||
---
|
||
|
||
## 6. Недопустимо
|
||
|
||
- ❌ Создавать задачи минуя онтологию
|
||
- ❌ Держать важные данные только в MEMORY.md
|
||
- ❌ Изменять онтологию без ведома Славы
|
||
- ❌ Другим агентам писать напрямую
|
||
- ❌ Удалять сущности без подтверждения
|
||
|
||
---
|
||
|
||
## 7. Файлы онтологии
|
||
|
||
```
|
||
memory/ontology/
|
||
├── schema.yaml — схема типов и полей (обязательна валидация)
|
||
├── graph.jsonl — сами сущности и связи
|
||
└── RULES.md — этот файл
|
||
```
|
||
|
||
ontology.py:
|
||
```
|
||
skills/ontology/scripts/ontology.py
|
||
```
|
||
|
||
---
|
||
|
||
## 8. Исключения
|
||
|
||
Всё что **не относится** к проектам/задачам — в MEMORY.md или daily notes:
|
||
- Личные заметки о Славе
|
||
- Пароли/ключи (только .env)
|
||
- Техническая документация (TZ, PROJECT.md)
|
||
- Архивные данные
|
||
|
||
---
|
||
|
||
_Обновлено: 2026-04-09_
|