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.