Перейти к содержанию

Первый проект — сквозной сценарий

Путь «от нуля до первого работающего автоматизированного процесса» в Axon: кто (owner/admin/manager/operator/engineer) что делает и в какой последовательности. Это «карта поверх других мануалов» — детали каждого шага — в соответствующем мануале по ссылке.


1. Что это и зачем

VISION ставит главной метрикой Time-to-Value: «от нуля до первого работающего автоматизированного процесса — три минуты» (Ступень 1 «Базис», запуск для бизнес-пользователя). Этот мануал — последовательность фаз, которая ведёт к этому: создать проект → завести людей → опубликовать определение workflow → подключить креденшiалы → создать connector instances → включить allowlist → настроить binding profile → запустить.

Большая часть фаз настраивается один раз; на каждый последующий запуск остаётся «выбрал case → Run». «Три минуты» — про этот повторный путь (и про happy path, когда определение уже опубликовано и в проекте по одному инстансу на тип — см. §5).


2. Роли и доступ

Фаза Кто (роль / permission)
Создать проект, завести пользователей owner / admin (create_project, manage_users)
Написать WorkflowDefinition, agent/prompt definitions в коде engineer (git + деплой) — не RBAC-роль
Опубликовать определение manager+ (publish_definition); каталог — catalog:install (manager+) / catalog:manage (admin/owner)
Подключить креденшiалы manager+ (credential:create); approval high-stakes — reviewer/manager+ (approve)
Создать connector instances manager+ (connector:manage)
Включить коннектор в allowlist manager+ (project_connector:manage)
Настроить binding profile manager+ (workflow:configure_bindings)
Задать бюджеты проекта owner/adminmanager в рамках проекта — см. Budgets-And-Cost.md)
Запустить workflow operator+ (start_workflow + credential:use)

Полная матрица — Roles-And-Permissions.md.


3. Где это в Console

По порядку трогаем разделы сайдбара: Projects (создать проект) → Users (завести людей) → (код: написать WorkflowDefinition) → Catalog / страница определения (опубликовать / install) → Connectors (Add instance, Allowlist toggle) → Credentials (New credential) → Workflows → <definition> → Bindings (Auto-map / выбрать инстансы) → Budgets (лимиты) → Workflows → Run Wizard (запуск).

Каждый раздел подробно — в своём мануале (см. ссылки в §10).


4. Концепции (mental model)

Что нужно «собрать», чтобы workflow запустился:

Project (создан, не suspended)
  ├─ Users      — owner/admin завёл manager'а (и operator'а для запусков)
  ├─ WorkflowDefinition (опубликована; декларирует ConnectorRequirement[] — именованные слоты + логич. типы)
  ├─ Credentials (≥1 на каждый нужный тип; status=active; для high-stakes — approve'нут)
  ├─ ConnectorInstances (adapter+credential+non-secret config; usable по D42)
  ├─ project_connector_allowlist  → enabled=ON для каждого connector_key
  ├─ WorkflowBindingProfile  (слот → connector_instance; status=complete; может быть auto_configured при первом publish)
  └─ Budget  (задан; иначе side-effect'ы fail-closed по бюджету)
   Run Wizard: выбрать case → Run → пиннится workflow_run_bindings_snapshot → исполнение

Если в проекте по одному usable инстансу на каждый требуемый тип — на первом publish_definition binding profile создаётся автоматически (status=complete, auto_configured=true, баннер «Review»), и фаза 7 пропускается. Это и есть «happy path».


5. Флоу: пошаговые сценарии

Флоу 1 — Полный путь (по фазам)

# Фаза Что делается Кто Подробнее
0 Платформенный код Написать connector-адаптеры (modules/connectors/...), CredentialType (modules/credential_types/...), agent/prompt definitions; задеплоить. Общее для всех проектов. engineer (git+деплой) Connectors-Credentials.md §2.1, Agents-And-Prompts.md
1 Создать проект app.projects row, базовый ProjectConfig. owner/admin Projects-Lifecycle.md
2 Завести людей Создать manager'а на проект (operator'а — для запусков, reviewer'а — для approvals). owner/admin Users-And-Access-Management.md
3 Опубликовать workflow-определения Engineer пишет WorkflowDefinition с ConnectorRequirement[] (именованные слоты + логич. типы + required_actions); публикация через API; либо install из Catalog. engineer → manager+ Workflows.md, Templates-And-Catalog.md
4 Подключить креденшiалы Console → Credentials → New credential → выбрать CredentialType → display name → OAuth-consent/ввод ключа → авто test_credentialstatus=active. Повторить на каждый аккаунт. High-stakes (requires_approval=true) → credential_proposalapprove. manager+; approval reviewer/manager+ Connectors-Credentials.md §5 Флоу 2
5 Создать connector instances Console → Connectors → Add instance → adapter + credential + non-secret config + display name → create_connector_instance. Повторить на каждый инстанс. manager+ Connectors-Credentials.md §5 Флоу 3
6 Включить allowlist Console → Connectors → Allowlist toggle ON для каждого connector_key. Без этого вебхуки fail-closed, коннектор недоступен для привязок. manager+ Connectors-Credentials.md §3.1
7 Настроить binding profile Console → Workflows → <definition> → Bindings → Auto-map или вручную выбрать инстанс под каждый слот → profile status=complete. (Пропускается, если профиль auto_configured на фазе 3.) manager+ Workflows.md, Connectors-Credentials.md §4
8 Задать бюджет проекта Console → Budgets → лимиты (период/категории/пороги алертов). Без бюджета side-effect'ы fail-closed по budget check. owner/admin/manager Budgets-And-Cost.md
9 Запустить workflow Console → Run Wizard → выбрать case → bindings из profile (опц. override) → Run → пиннится workflow_run_bindings_snapshot → исполнение (на connector-step worker резолвит инстанс → берёт креденшiал → policy/approval/audit/idempotency → side effect). operator+ Workflows.md, Cases.md, Approvals.md
10 Эксплуатация OAuth refresh (system); reauthorize при провале (Telegram-алерт → manager/admin); health-мониторинг; approvals; бюджеты; undo/компенсация при необходимости. system + manager+ + reviewer Connectors-Credentials.md §7, Undo-And-Compensation.md

Флоу 2 — Минимальный happy path

owner создаёт проект и заводит manager'а → manager: задаёт бюджет → New credentialAdd instanceAllowlist ON → (binding profile авто-создаётся при первом publish, если по одному инстансу на тип) → operator: открыть Run Wizard → выбрать case → Run. На повторных запусках остаётся только последний шаг — это и есть «3 минуты до value».

Флоу 3 — Проект из шаблона (project template)

admin: Console → Templates → выбрать project template → задать переменные/анонимизацию → применить. ConnectorMapper предложит маппинг required_connectors → реальные инстансы по типу (если кандидат один — авто; если несколько — выбор; если нет — «требуется подключить»). Дальше — фазы 4–9 при необходимости. Детали — Templates-And-Catalog.md.


6. Справочник опций

Чеклист «можно запускать workflow» — всё :

# Условие Где проверить
1 Проект создан и не suspended/archived Projects
2 Есть пользователь с start_workflow (operator+) с доступом к проекту Users
3 WorkflowDefinition опубликована Workflows
4 На каждый ConnectorRequirement тип есть usable connector instance (D42: active, не tombstoned, backing credential active/не purged) Connectors → instances
5 Соответствующие connector_keyAllowlist ON Connectors → allowlist
6 Binding profile у определения — status=complete (все слоты замаплены) Workflows → <def> → Bindings
7 Бюджет проекта задан Budgets
8 (если workflow case-aware) есть подходящий case Cases
9 (если есть agent-шаги) agent definition опубликован, executor profile настроен Agents

Невыполнение любого → workflow либо не запустится («binding profile incomplete», «connector disabled», «budget exhausted»), либо упадёт на шаге.


7. Жизненный цикл и обслуживание

После первого запуска: следить за connector health и distressed-креденшiалами (Connectors-Credentials.md §7/§8); вести approvals (Approvals.md); следить за бюджетом (Budgets-And-Cost.md); расширять — добавлять новые workflow-определения, инстансы, кейсы; при ошибочных запусках — undo/компенсация (Undo-And-Compensation.md). Проект можно suspend/resume/archive (Projects-Lifecycle.md).


8. Траблшутинг

Симптом Причина Что делать
Workflow не запускается — «binding profile incomplete» не все слоты замаплены на usable инстансы фаза 7: Bindings → Auto-map / выбрать инстансы; проверь чеклист §6 пп. 4–6
«connector disabled» / вебхук 401 Allowlist OFF для connector_key фаза 6: включить тоггл
Workflow остановился — «budget exhausted» бюджет проекта не задан или исчерпан фаза 8: задать/поднять лимит (Budgets-And-Cost.md)
Не вижу проект / не могу запустить роль/scope не дают (operator-роль не в project_scopes, или роль ниже operator) owner/admin: Edit project scopes / поднять роль (Roles-And-Permissions.md)
Agent-шаг падает «no agent definition» agent definition не опубликован для проекта фаза 0/3: опубликовать (Agents-And-Prompts.md)
Add instance отвергает креденшiал креденшiал не usable / не того типа Connectors-Credentials.md §8

9. Ограничения и инварианты

  • Безопасность и бюджет — до выполнения (инварианты 4 и 5): нельзя «пропустить» policy/budget/RBAC; без бюджета новые side-effect'ы fail-closed.
  • Секреты — только через canonical path: креденшiалы создаются через create_credential (worker_apply_then_signal), plaintext расшифровывается только в worker; в config инстанса и step.config секретов нет.
  • Все мутации — через CommandEnvelope; операторские YAML-правки коннекторов (legacy) — обходят инвариант, по плану удаляются.
  • Project = единица изоляции (один инстанс — одна trust zone; проекты внутри изолированы); cross-project leak запрещён.
  • Time-to-Value — главная метрика (инвариант 7 — эволюция как следствие; VISION §6): если первый запуск занимает больше «минут» — это сигнал упростить флоу, а не «так и должно быть».

10. Связанные мануалы и каноны