A mandatory signaling period only happens if miners haven’t already locked in the activation via voluntary signaling. That is generally the preferred outcome (for those who support the fork) as it signals wide community buy-in, allows activating the fork sooner, and avoids some1 of the uncertainty of mandatory signaling.
If and when mandatory signaling begins, nodes running the activation client simply require all blocks in that period to be signaling, and discard any that aren’t. So from their perspective, all blocks in that period end up signaling, activating the fork with 100% miner support. The problem (for those who support the fork) is that miners can just not signal and continue building on the original chain, at which point the chain can split into two, launching the mess that is the community attempting to reconcile which of those chains has greater economic support.
1 Even with successful miner signaling there is still uncertainty around false signaling, a potential URSF etc.











