With Options Spreads simply forget worrying about any possible Early Assignment, as the End Result will be the same! 
Imagine you have a Put Spread position consisting of 2 legs: a ShortPut and a LongPut position, both expiring in say 16 days.
But unfortunately the other side makes an "early exercise" (ie. causing you to become "early assigned"), that means the ShortPut position gets closed early by delivering the underlying stock (in this case you will get the stock instead, usually you will be in negative zone when this happens).
BUT: in the end it does not matter, because the end result at expiration date will be the same
whether an early assignment did occur or not!
So, don't worry be happy, and keep the stock at least until the expiration date to have the same initial win/loss guarantee.
Of course you can "early close the stock" when the position (LongPut plus now the LongStock) rebounces from the loss zone to the profit zone.
But of course the initial guarantee of the spread continues working only up to the expiration date of the LongPut leg, since after it the Protective Put functionality will have expired.
So, with Options Spreads an early assignment is a neutral thing, not to worry about it at all!
But don't forget: the above said good news works only with Options Spreads! But not when you have just a ShortPut (or just a ShortCall) alone.
Numbers of a recent real trade (it's a deepITM ShortPut + a nearATM LongPut):
Spot=1.13, DTE=16
ShortPut: Strike=35, Premium=33.80
LongPut: Strike=1, Premium=0.06
On the 2nd day (DTE=15) the spot fell to around 1.00 and the counterparty exercised, causing me to take the underlying stock at the strike price of $35, worth now only $1.
At that point my unrealized loss was 35 - 33.80 - 1 = 0.20.
But this is just unrealized yet. Since I continue keeping the other leg (LongPut of the initial spread) plus now the LongStock, effectively nothing much changed as I will continue having the same guarantee the initial spread had offered, as long as I keep the LongPut and the LongStock till expiration of the LongPut.
Lesson learned: forget about any Early Assignment with Option Spreads.
BTW, the ticker was/is VERU, ExpDate 2023-04-21, so it's still active
It's this trade together with its PnL diagram: https://optioncreator.com/stp8pn8
The possible MaxLoss is capped at $0.26 (see left side of the chart towards the 0 point).
You can reduce the right side of the axis by setting it to 2 or so to get a bigger view.
See also:
https://en.wikipedia.org/wiki/Exercise_(options)#Assignment_and_clearing
https://www.thebluecollarinvestor.com/early-exercise-and-assignment-of-options/
https://www.investopedia.com/terms/e/earlyexercise.asp
Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb

Imagine you have a Put Spread position consisting of 2 legs: a ShortPut and a LongPut position, both expiring in say 16 days.
But unfortunately the other side makes an "early exercise" (ie. causing you to become "early assigned"), that means the ShortPut position gets closed early by delivering the underlying stock (in this case you will get the stock instead, usually you will be in negative zone when this happens).
BUT: in the end it does not matter, because the end result at expiration date will be the same
whether an early assignment did occur or not!

So, don't worry be happy, and keep the stock at least until the expiration date to have the same initial win/loss guarantee.
Of course you can "early close the stock" when the position (LongPut plus now the LongStock) rebounces from the loss zone to the profit zone.
But of course the initial guarantee of the spread continues working only up to the expiration date of the LongPut leg, since after it the Protective Put functionality will have expired.
So, with Options Spreads an early assignment is a neutral thing, not to worry about it at all!
But don't forget: the above said good news works only with Options Spreads! But not when you have just a ShortPut (or just a ShortCall) alone.
Numbers of a recent real trade (it's a deepITM ShortPut + a nearATM LongPut):
Spot=1.13, DTE=16
ShortPut: Strike=35, Premium=33.80
LongPut: Strike=1, Premium=0.06
On the 2nd day (DTE=15) the spot fell to around 1.00 and the counterparty exercised, causing me to take the underlying stock at the strike price of $35, worth now only $1.
At that point my unrealized loss was 35 - 33.80 - 1 = 0.20.
But this is just unrealized yet. Since I continue keeping the other leg (LongPut of the initial spread) plus now the LongStock, effectively nothing much changed as I will continue having the same guarantee the initial spread had offered, as long as I keep the LongPut and the LongStock till expiration of the LongPut.
Lesson learned: forget about any Early Assignment with Option Spreads.
BTW, the ticker was/is VERU, ExpDate 2023-04-21, so it's still active

It's this trade together with its PnL diagram: https://optioncreator.com/stp8pn8
The possible MaxLoss is capped at $0.26 (see left side of the chart towards the 0 point).
You can reduce the right side of the axis by setting it to 2 or so to get a bigger view.
See also:
https://en.wikipedia.org/wiki/Exercise_(options)#Assignment_and_clearing
https://www.thebluecollarinvestor.com/early-exercise-and-assignment-of-options/
https://www.investopedia.com/terms/e/earlyexercise.asp
Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb

Last edited: