Hey all, I'm sharing this in hopes of it being helpful or confirming my findings.
I recently ran into a problem where I had a huge chunk of people that did not make it into the first cast of a stream, but we didn't want them to have to wait until the next cast (1 week) to receive Content Program 1.
This is going to get convoluted so you can skip it if you want to: We ended up inserting a dummy Content Program 2 for the people in the first cast to move onto (just a wait flow step action), and running the cast again to send to the people who missed it. For the second cast, we removed the dummy Content Program 2 but had concerns about the people in there not moving on to the real Content Program 2 correctly (the original first cast recipients).
I emailed Marketo Support and they confirmed that even though I removed the content program, the people would remain in the stream and they would receive the next content program in the progression as normal.
In the process, I was testing and trying to figure out how Marketo tracks where a person is in the stream so I could reinsert the people from the removed content program back into the cast at the right spot if need be. I found that Marketo does so by checking to see if a person is a member of the content program or the smart campaign that sends the email.
For example, I added my test email to the engagement stream > Content Program 1 > status = sent, and when I tested the cast it started the test email on Content Program 2.
In my second test I removed the test email from the content program memberships for Content Program 1 and 2, but when I tested the cast again it started the test email on Content Program 3 because the test email was still a member of the send smart campaign within, and you can't remove people from smart campaign membership.
Has anyone come to a similar conclusion, or have information that is different or expanding on this?