Карта создания проектов в KATMA

Это фактический слепок того, как кабинет сейчас создает проекты: что видит пользователь, что запускается внутри, где подключаются сервисы и где процесс реально останавливается.

Аудит: 28 июня 2026 Интерфейс: app.katma.ru Прогоны: 12 чистых сценариев + 1 диагностический Технический файл: technical-report.html
12проектов прошли создание и intake
12build jobs запустились и завершились ошибкой
0новых проектов дошли до mirror/prod
8AI-визуалов реально созданы через Replicate

Главный факт сейчас

Кабинет создает проект, задает вопросы, делает quality contract, выбирает паки и даже генерирует часть визуалов. Но изготовление страницы сейчас не происходит: Claude Code возвращает 403 oauth_org_not_allowed, поэтому index.html не создается, а deploy блокируется.

Что подтверждено на старых успешных проектах

Когда index.html есть, система умеет поднять mirror/prod: копирует файлы в /var/lib/katma/deploys, запускает nginx-контейнер, пишет Caddy fragment и делает health-check.

Мастер-карта этапов

1

Вход в кабинет

Пользователь заходит в app.katma.ru. Для нового устройства кабинет просит Telegram-код, потом создает owner session.

Что видит пользователь

Форма входа, потом dashboard.

Что внутри

Fastify auth, Postgres session, Redis pending 2FA, audit log.

Факт аудита

Вход выполнен, /api/me вернул 200.

2

Создание “коробки” проекта

Пользователь вводит slug, название, тип проекта и выбирает “сначала зеркало” или “сразу прод”.

Что создается

Project row, отдельная БД proj_*, роль БД, пароль в vault, subdomain и mirror subdomain.

Сервисы

Next.js UI -> Fastify API -> Postgres/vault/provision.

Факт аудита

Все aud628* проекты получили свои DB names и secret refs.

3

Приемка идеи

Кабинет запускает intake: понимает идею, выбирает категорию и показывает вопросы по типу проекта.

Что видит пользователь

6 шагов: идея, осмысление, вопросы, проза, финальные вопросы, работа.

Что внутри

intake_sessions, intake_artifacts, question bank, engine /complete.

Реальность сейчас

AI-артефакты сохраняют текст ошибки Claude 403 как judge_opinion.

4

Ответы и подтверждение прозы

Пользователь отвечает на вопросы. Перед сборкой нужно нажать “Это ок” на прозе спецификации.

Защита

Build guard не должен пускать проект без prose_ok=true.

Факт аудита

Правильный UI-путь через /intake/prose пропустил 12 проектов дальше.

Диагностический факт

Если ошибочно ответить на prose через /intake/answer, можно получить 500 и странное состояние done/prose_ok=false.

5

Quality contract и паки

Перед сборкой кабинет создает контракт качества: что обязательно должно быть, какие проверки нужны, какие паки применить.

Паки

Базовые: accessibility, responsive-design, frontend-testing, final-review, self-critique. Дальше добавляются по типу проекта.

Опыт/знания

PROJECT_BRAIN.md, PACKS_APPLIED.md, активный mechanics standard.

Факт аудита

У всех 12 проектов создан project-quality-spec.v2 со статусом approved.

6

Очередь сборки

Проект попадает в BullMQ очередь prod:build. Worker берет задачу и готовит папку проекта.

Файлы до сборки

AGENTS.md, CLAUDE.md, PROJECT_BRAIN.md, BUILD_STRATEGY.json, PACKS_APPLIED.md.

AI-исполнитель

План и build идут через claude-haiku-4-5; проверка/fix должны идти через Opus.

Факт аудита

12 задач дошли до worker, но все остановились на build produced no index.html.

7

Визуальные ассеты

Если quality contract требует hero/icon, worker запускает visual preflight до генерации страницы.

Что использовалось

Replicate, модель flux-schnell.

Что получилось

8 visual asset records: icon + hero для лендингов и сайтов.

Ограничение

Higgsfield в dashboard был недоступен; в этих прогонах он не использовался.

8

Изготовление страницы

На этом этапе агент должен написать plan.md, затем index.html.

Норма процесса

Plan -> Build -> Critique -> Verify -> Fix loop -> Evidence.

Реальность сейчас

Claude CLI возвращает 403 и текст ошибки вместо работы модели.

Итог

index.html не создан ни в одном новом проекте.

9

Проверка качества

Если страница создана, система проверяет ее как живой сайт: HTTP, HTML, viewport, скриншоты, scorecard.

Что проверяется

Project eval, browser evidence, layout audit, asset provenance, quality scorecard.

Факт новых прогонов

Не дошли до проверки, потому что нет index.html.

Факт старых успешных

crypto и hublot имеют scorecard 100/100 и live 200 внутри контейнера.

10

Зеркало

После успешной сборки проект должен попасть на mirror: безопасную превью-версию.

Как устроено

Копирование в /var/lib/katma/deploys/<slug>/mirror, nginx container, Caddy fragment, health-check.

Факт новых прогонов

Deploy mirror вернул 409 build_artifact_missing.

Факт старых успешных

Существуют живые mirror-контейнеры, например crypto-mirror.

11

Продакшен

Для prod нужны artifact, re-auth, quality gate или owner override, explicit confirm для staging-first.

Что блокирует

Нет index.html -> API сразу возвращает build_artifact_missing.

Публичность

Публичность задается Caddy fragment: если при deploy стоит private, снаружи будет 403.

Факт

Новые проекты не дошли до prod. Старые crypto/hublot live, но private: без авторизации 403.

12

После деплоя

Когда prod health-check зеленый, проект становится published. Если только mirror, он остается в review.

Что сохраняется

Deploy rows, evidence manifest, quality scores, screenshots, decision log, audit chain.

Самообучение

На успешных сборках пишутся cases/lessons. Например, у crypto promoted lesson после fix-pass.

Факт новых прогонов

Из-за build failure post-build learning не сработал.

Прогоны аудита

Категория Slugs Что произошло Итог
Лендингaud628lm2, aud628ldetIntake, quality spec, packs, Replicate icon+hero.build failed
Презентацияaud628presm, aud628presdIntake, research strategy, source-citation/deck packs.build failed
Сайтaud628sitem, aud628sitedIntake, quality spec, Replicate icon+hero.build failed
Исследованиеaud628resm, aud628resdIntake, research report strategy, source discipline.build failed
AI-автоматизацияaud628aim, aud628aidIntake, automation control-plane strategy, observability/API packs.build failed
Автономный бизнес-проектaud628bizm, aud628bizdIntake, business-turnkey strategy, app/API/observability packs.build failed

Участвующие сервисы и инструменты

UI: Next.js. API: Fastify. Данные: Postgres. Очереди: Redis/BullMQ. Сборка: panel-worker + Claude Code CLI. Визуалы: Replicate flux-schnell. Деплой: static files -> nginx container -> Caddy fragment -> health-check. Коннекторы в каталоге: Cloudflare, Context7, GitHub, Higgsfield, Replicate, Sentry, Supabase, Telegram, Vercel. В тестовых проектах коннекторы не были автоматически прикреплены: project_connections = 0.