1.7 KiB
1.7 KiB
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.