So the issue was that when we calculated the pending changes, we were stripping out any fields which contained calculated values ('price' legacy field based on 'prices', 'icon_url' legacy field based on icon_urls, and video_embedded_html_urls field which is calculated from the video_urls). This was originally done so that reviewers wouldn't need to see the duplicate data.
But, later the view was updated to only approve and publish the changes with which the reviewer was presented (get_pending_changes), so those three fields were not updated in the published json, although their current counterparts were (icon_urls, prices, video_urls).
So the issue was that when we calculated the pending changes, we were stripping out any fields which contained calculated values ('price' legacy field based on 'prices', 'icon_url' legacy field based on icon_urls, and video_embedded_ html_urls field which is calculated from the video_urls). This was originally done so that reviewers wouldn't need to see the duplicate data.
But, later the view was updated to only approve and publish the changes with which the reviewer was presented (get_pending_ changes) , so those three fields were not updated in the published json, although their current counterparts were (icon_urls, prices, video_urls).