Коллекции
Сгенерировано из
docs/matrices/fm/collections.yaml.
| FM | Элемент | Действие | Поведение | Роли (доступ) | Статус |
|---|---|---|---|---|---|
| FM-098 | Кнопка «Коллекции» в навигации | Клик | Переход на view=collections. Список карточек коллекций организации: name, description (truncated), счётчики блоков/специальностей/слоёв | org_admin | done |
| FM-099 | Создать коллекцию через LLM-генерацию | Заполнить имя + описание домена → «Сгенерировать» | POST /api/collections/generate (SSE). 3-stage LLM pipeline: layers+specialties → blocks → edges. После завершения → graph editor | org_admin, site_admin | done |
| FM-101 | Открыть редактор коллекции | Клик на карточку коллекции | Загрузка коллекции → graph editor (3-панельный layout: левая=специальности/слои, центр=SVG граф, правая=детали) | org_admin, site_admin | done |
| FM-121 | Кнопка «Коллекции» в навигации | Клик | Переход на view=collections. Список карточек коллекций | org_admin | done |
| FM-122 | Карточка коллекции | Клик | Загрузка коллекции → graph editor (3-панельный layout: левая=специальности/слои, центр=SVG граф, правая=детали) | org_admin, site_admin | done |
| FM-123 | Форма генерации коллекции | Заполнить имя + описание домена → «Сгенерировать» | POST /api/collections/generate (SSE). 3-stage LLM pipeline: layers+specialties → blocks → edges. Pro mode (Best-of-N). После завершения → graph editor | org_admin, site_admin | done |
| FM-124 | LLM ID генерация | Авто при добавлении specialty/layer с кириллическим именем | POST /api/collections/generate-id. Транслитерация + snake_case. Fallback: item_timestamp | org_admin, site_admin | done |
| FM-130 | Меню «…» на карточке коллекции | Клик | Dropdown: Переименовать (inline input), Удалить (confirm → soft-delete → карточка реактивно исчезает), Промпты (открывает CollectionPromptsModal) | org_admin, site_admin | done |
| FM-136 | Chip-input «Теги» на карточке | Ввод/выбор тегов | collection.tags TEXT[] (migration 006). PUT /api/collections/:id с p_tags. | org_admin, site_admin | done |
| FM-137 | Sidebar «Фильтр по тегам» | Клик по тегу — мульти-выбор (OR-семантика) | GET /api/collections?tags=. tags && ARRAY[…] фильтр в api.list_collections. | guest, employee, spaceman, supervisor, org_admin, site_admin | done |
| FM-138 | 3-колоночный sticky layout (теги / карточки / «Новая коллекция») | Скролл только средней колонки | Левая sticky — фильтры тегов; центр — карточки; правая sticky — «Новая коллекция». | guest, employee, spaceman, supervisor, org_admin, site_admin | done |
| FM-139 | Ctrl+Enter в textarea «Новая коллекция» | Ctrl+Enter | Запускает генерацию (без клика по кнопке). | org_admin, site_admin | done |
| FM-140 | Меню «Промпты» в карточке коллекции | Клик | Открывает CollectionPromptsModal (3 этапа: decompose / describe / dependencies). | org_admin, site_admin | done |
Обзор экрана
Что это. Экран коллекций — рабочее место администратора организации с шаблонами декомпозиции. Коллекция задаёт, по каким слоям, специальностям и блокам система разбирает задачи; проекты создаются «внутри» коллекции и наследуют её структуру. Открывается по пункту «Коллекции» в навигации; полный доступ — у администратора организации и site-admin. Сотрудник, менеджер спейса и наблюдатель коллекции выбирают при создании проекта, но этот экран управления им не нужен.
Как устроено. Трёхколоночная раскладка с прокруткой только средней колонки. Слева — sticky-фильтр по тегам: клики по тегам сужают список (несколько тегов — по «или», карточка попадает в выборку, если совпал хотя бы один). В центре — карточки коллекций: название, краткое описание, счётчики блоков, специальностей и слоёв, теги и цвет коллекции. Справа — sticky-поле «Новая коллекция».
Что тут делают.
- Создают коллекцию. В поле «Новая коллекция» задают имя и описание предметной области и нажимают «Сгенерировать» (или
Ctrl+Enterпрямо из текстового поля). Система потоково строит коллекцию в три этапа — слои и специальности → блоки → связи — и по завершении открывает редактор коллекции. Серверная часть — create-collection (SSE). - Открывают коллекцию. Клик по карточке загружает редактор коллекции (list-collections наполняет сам список).
- Управляют через меню «⋯» на карточке: переименование (inline), правка тегов, перегенерация блоков, настройка промптов и удаление — мягкое, в Корзину; удалённая карточка реактивно исчезает из списка. Удаление блокируется, если к коллекции привязаны спейсы.
Карточки — это данные метода list-collections; фильтр по тегам уходит на сервер параметром tags. Удалённые коллекции лежат в корзине и восстанавливаются оттуда.