Первый проект — сквозной сценарий¶
Путь «от нуля до первого работающего автоматизированного процесса» в 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/admin (и manager в рамках проекта — см. 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_credential → status=active. Повторить на каждый аккаунт. High-stakes (requires_approval=true) → credential_proposal → approve. |
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 credential → Add instance → Allowlist 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_key — Allowlist 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. Связанные мануалы и каноны¶
- Projects-Lifecycle.md — создать/suspend/resume/archive проект.
- Users-And-Access-Management.md / Roles-And-Permissions.md — пользователи, роли, scopes.
- Workflows.md — определения, публикация, binding profiles, Run Wizard.
- Connectors-Credentials.md — креденшiалы, connector instances, allowlist (фазы 4–6 этого мануала — там детально).
- Templates-And-Catalog.md — проект/workflow из шаблона; Catalog/Install.
- Budgets-And-Cost.md, Agents-And-Prompts.md, Cases.md, Approvals.md, Undo-And-Compensation.md — смежные фазы.
- Каноны:
VISION.md§6 (Time-to-Value),ARCHITECTURE-V6.md,core/models/auth.py.