Let me see what I can offer. That scenario aligns with what I see in the Ticket History. It looks like the cc’d user replied to the ticket.
Now depending on how the received the first “we created your ticket” notification, she could have either been replying to that OR since she was cc’d directly in the beginning, she may have been replying to the initial sent message, not the thread.
We can see in the history that after her reply the contact was replaced to the null value by the API, so we just need to align the “how”.

Looking at the eml (since we attach that), should give us the clue as we’ll see the message before processing.
It does look like she replied to our notification email.
Note: Even though they were primary/secondary, the outgoing AT message put them all on the “to” field and doesn’t put them on to/cc the way a human would.
This should hit the “update ticket” portion of the rule, then the add additional contacts portion.
You can see the rule setup yourself, so I don’t need to put all the details here. Based on the fact that the contacts are now all on the “to” line, it would be Step 2/Sub-Step 3 which is putting the “additional” to’s as “additional contacts”… probably meant to deal with that INITIAL email which has no cc’s (e.g. to: [email protected], [email protected], [email protected] )
In this case, this is a reply which has them all on the “to” line.
If you were doing this manually and you tried to add the same contact to the contact which was already additional, AT removes it from additional. The inverse would be, AT sees it being added to additional so it’s removing it from primary.
So your solution would be how to fix the rules so that the shared add additional contacts flow understands not just the contact is found BUT whether the contact was already ON the ticket. We can short circuit adding any contact which both a) exists and b) exists on this ticket. Users sometimes swap to/cc on their end (or their email programs does it), so there are likely other scenarios which could cause it fall into this trap.
Unless our notifications are something special, or our rules are missing that check that you might have added to others, I would think that others would have the same problem (didn’t notice?)