Add architecture package and application skeleton

This commit is contained in:
2026-07-03 21:09:47 +03:00
parent 7d6cc1c83e
commit ce2b263e52
47 changed files with 2377 additions and 53 deletions
+74
View File
@@ -0,0 +1,74 @@
# Execution Model
## Базовый цикл
1. Пользователь создает `Task`.
2. Planner materializes `ExecutionGraph`.
3. Graph engine отмечает `ready` узлы.
4. Orchestrator выбирает runner для каждого ready node.
5. Перед side-effecting action выполняется policy evaluation.
6. Если нужен `confirm`, создается `ConfirmationRequest` и graph останавливается.
7. Если action разрешен, runner выполняет node.
8. Node результат сохраняется как output + event trail + optional artifacts.
9. Reviewer может валидировать промежуточный результат.
10. Finalizer формирует user-facing result и cards.
## Node Families
### Planner
Создает или пересобирает graph. Не выполняет side effects.
### Model Call
Использует `ModelRouter`.
Может инициировать fallback, но только внутри router contract.
### Tool Call
Использует `ToolGateway` для MCP.
### Local Worker Call
Использует `WorkerGateway` для thin executor.
### Reviewer
Системный шаг quality gate:
- schema validation
- semantic validation
- retry recommendation
- escalate to strong model
### Finalizer
Преобразует execution result в user result:
- message text
- cards
- artifacts metadata
- summary
## Execution Rules
- workers не создают новые workers;
- model/router adapters не меняют graph напрямую;
- только orchestrator меняет task/node state;
- side effects всегда проходят через policy decision;
- event log пишется на каждом значимом переходе.
## Manual And Resume
`manual` означает, что orchestrator не стартует следующий шаг автоматически.
Task остается в `waiting_manual` до явного resume action.
## Replay
Replay не означает повтор side effects автоматически.
Replay должен уметь:
- восстанавливать graph state из persisted state;
- переиздавать progress view;
- запускать retry только для разрешенных retryable nodes.