calculate_sla returns the previously computed result on an unchanged duplicate submission without publishing the sla_calc or set_int events that backend indexers rely on to reconcile escrow. Retries from a backend that never observed the original events therefore cannot recover the workflow state. Either re-emit the sla_calc and set_int events on the idempotent return path so deliveries are at-least-once, or update the documentation to state explicitly that successful duplicate calls are at-most-once and backends must implement their own retry-and-replay layer.
calculate_slareturns the previously computed result on an unchanged duplicate submission without publishing thesla_calcorset_intevents that backend indexers rely on to reconcile escrow. Retries from a backend that never observed the original events therefore cannot recover the workflow state. Either re-emit thesla_calcandset_intevents on the idempotent return path so deliveries are at-least-once, or update the documentation to state explicitly that successful duplicate calls are at-most-once and backends must implement their own retry-and-replay layer.