Создание проекта
Сгенерировано из
docs/matrices/fm/projects.yaml.
| FM | Элемент | Действие | Поведение | Роли (доступ) | Статус |
|---|---|---|---|---|---|
| FM-008 | Textarea промпта | Ввод текста | Промпт для декомпозиции | guest, employee, spaceman | done |
| FM-009 | Выбор спейса | Dropdown | Проект в спейсе | employee, spaceman | done |
| FM-010 | Кнопка «Сгенерировать» | Клик | POST + SSE: decompose → describe → dependencies | guest, employee, spaceman | done |
| FM-160 | 3-колоночный picker Company / Space / Collection с highlight связанных коллекций и dimming | Клик | При выборе спейса связанные коллекции подсвечиваются, остальные затеняются. | guest, employee, spaceman, org_admin | done |
| FM-161 | Pre-load projectLayers перед runGeneration | (внутреннее) | Исключает streaming layer mismatch — слои подгружаются заранее. | guest, employee, spaceman, supervisor, org_admin, site_admin | done |
Обзор экрана
Что это. Экран, на котором рождается новый проект. Открывается по кнопке «+ Новый проект» на списке проектов. Доступен гостю, сотруднику, менеджеру спейса и администратору организации; наблюдателю экран недоступен (он работает только в режиме чтения).
Что тут делают. Шаг первый — выбрать, где будет жить проект: трёхколоночный выбор «Компания × Спейс × Коллекция». Когда вы кликаете на спейс, связанные с ним коллекции подсвечиваются, а остальные затеняются — это подсказка, что куда подходит. Гость выбирает из публичных и дефолтных коллекций; сотрудник и выше — из коллекций своей организации.
Шаг второй — описать задачу в текстовом поле: пара фраз о том, что за продукт или процесс нужно разложить. Это описание станет основой декомпозиции.
Шаг третий — нажать «Сгенерировать». Проект создаётся, и сразу запускается разбор задачи на блоки — он идёт в реальном времени, тремя этапами (выбор блоков → описание → связи), с показом прогресса. По завершении вы оказываетесь на графе готового проекта.
С этого экрана вызываются два метода: создание проекта — create-project (можно не вводить название, его придумает система), и сам разбор задачи на граф — generate-graph (потоковый, по событиям).