Add architecture package and application skeleton
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user