5.6 KiB
5.6 KiB
Онтология — Правила ведения
Эти правила обязательны для всех агентов. Невыполнение = нарушение.
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. Жизненный цикл
Создание проекта
- Слава/агент предлагает → обсуждаем
- Слава соглашается → Стрим создаёт в онтологии
- Привязываем folder, создаём структуру
tasks/{project}/
Создание задачи
- Предложение → описание → assignee → приоритет
- Слава ОК → Стрим создаёт
- Task привязывается к Project
Обновление статуса
- Кто-то сообщает (Слава, агент, результат работы)
- Стрим проверяет → обновляет в онтологии
- Если задача done → проверяем есть ли зависимые
Закрытие проекта
- Все задачи done
- Слава подтверждает → status → done
- 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