The issue happens between our Free Gift discount function and our Volume Discount function.
When the Free Gift function runs, it sometimes receives volume discount metafields.
Similarly, the Volume Discount function has pulled in free gift metafields.
We only caught it because the wrong configuration caused mismatched logic. In cases where the pulled metafields are still “valid,” it might go unnoticed.
As for logs: we can see this directly in the function input for the respective extensions — the metafields being passed in belong to the wrong discount type.