Files
ai_orchestrator/docs/architecture/09_idempotency_and_retry.md

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.