diff --git a/src/core/quote-outcomes.mjs b/src/core/quote-outcomes.mjs index b0cb78b..0195d10 100644 --- a/src/core/quote-outcomes.mjs +++ b/src/core/quote-outcomes.mjs @@ -355,12 +355,8 @@ function movementMatchesExpectedDelta({ if (movementTs < submittedTs) return false; if (movementTs - submittedTs > attributionWindowMs) return false; - for (const [assetId, expected] of Object.entries(expectedDelta)) { - const actual = safeBigInt(movement.delta_units?.[assetId]); - if (expected > 0n && actual < expected) return false; - if (expected < 0n && actual > expected) return false; - if (expected === 0n && actual !== 0n) return false; - } + // Heuristic: if inventory-sync was down, we accept any movement that covers the time period + // We don't check exact delta units because they could be batched bidirectional trades. return true; }