Skip to main content

Idempotency and Retry Matrix

Each operation is classified for idempotency, key support, retry behavior, and implementation maturity.

OperationIdempotentKey supportRetryCaller retry safeImplementation status
Create EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Update EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Delete EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Apply EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Disable EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Enable EndpointYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Create TargetYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Update TargetYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Delete TargetYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Apply TargetYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Create FlowYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Update FlowYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Delete FlowYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Apply FlowYesIdempotency-Key headerSafeYes (with key)AVAILABLE_NOW
Submit eventYesEvent idempotency keyUnsafeNo (requires dedup)AVAILABLE_NOW
Delivery retryYesDelivery attempt IDSafe (system)YesAVAILABLE_NOW
Replay eventsYesReplay session IDSafeYesAVAILABLE_NOW
MCP writeConditionalMCP request keySafeYes (with key)AVAILABLE_NOW
Git reconciliationPLANNED_V1_1PLANNED_V1_1PLANNED_V1_1UNRESOLVEDPLANNED_V1_1
Resource retirementPLANNED_V1_1PLANNED_V1_1PLANNED_V1_1UNRESOLVEDPLANNED_V1_1
Certificate rotationN/AN/AN/AManualMANUAL_IN_V1_1
Inconsistent-state recoveryN/AN/AN/AManualMANUAL_IN_V1_1

Retry policy by delivery path​

Delivery pathMax attemptsBackoffJitterPermanent failure handling
Webhook (synchronous)5ExponentialDefaultMoves to DLQ after exhaustion
Webhook (async inline)5ExponentialDefaultMoves to DLQ after exhaustion
Webhook (async relay)5ExponentialDefaultMoves to DLQ after exhaustion
Control plane → Edge Plane5ExponentialDefaultMoves to DLQ after exhaustion
Edge Plane → Webhook5ExponentialDefaultMoves to DLQ after exhaustion

Retry backoff schedule​

AttemptApproximate delay
1Immediate
2~10 seconds
3~1 minute
4~10 minutes
5~1 hour

Non-claims​

  • Idempotency keys are in-memory; persistent store across restarts is PLANNED_V1_1.
  • Git reconciliation idempotency model is UNRESOLVED.
  • Resource retirement and certificate rotation are not idempotent — they are manual operations.
  • Caller retry without an idempotency key may create duplicate resources.