Add execution engine and task lifecycle services

This commit is contained in:
2026-07-03 21:12:58 +03:00
parent ce2b263e52
commit 80715d81f6
11 changed files with 559 additions and 14 deletions
@@ -0,0 +1,47 @@
# Idempotency And Retry
## Idempotency Principles
### Task Creation
- внешний `create task` запрос должен поддерживать idempotency key;
- повтор одного и того же запроса не должен создавать дублирующиеся task records.
### Confirmation Resolution
- approve/reject одной confirmation должны быть идемпотентны;
- повтор того же решения должен возвращать текущее состояние без повторного side effect.
### Worker Results
- `command_id` должен быть уникальным ключом идемпотентности для результата worker command;
- повторно полученный result envelope не должен переисполнять финализацию шага.
### MCP / Model Invocations
- invocation records должны хранить correlation id;
- retry создает новую попытку, но с ссылкой на первичную cause chain.
## Retry Matrix
### Retryable
- временные network errors;
- upstream timeout;
- parser failure weak model;
- transient MCP transport error;
- временный disconnect worker при разрешенном resume policy.
### Non-Retryable
- policy denial;
- unsupported capability;
- invalid request schema;
- explicit user rejection;
- deterministic contract mismatch in adapter configuration.
## Execution Rule
Retry инициируется только orchestrator.
Ни MCP adapter, ни worker, ни nested runner не решают самостоятельно “попробовать еще раз” вне зафиксированной policy/runtime semantics.
+6 -7
View File
@@ -18,13 +18,13 @@
## Package B: Core Hardening
- [ ] graph scheduler service
- [ ] node runner abstraction
- [x] graph scheduler service
- [x] node runner abstraction
- [ ] reviewer contract
- [ ] finalizer contract
- [ ] resume/cancel use cases
- [ ] idempotency policy
- [ ] retry policy matrix
- [x] finalizer contract
- [x] resume/cancel use cases
- [x] idempotency policy
- [x] retry policy matrix
## Package C: Persistence
@@ -57,4 +57,3 @@
- [ ] scenario tests
- [ ] smoke suite
- [ ] static checks in CI