I’m not surprised that adding 1 contract row with three events results in 3 separate output rows on the same key.
And I can grasp why a minor upsert on that contract results in 6 outputs on that key.
But I do wonder if there’s a simple way to suppress the incomplete output rows.