> During the root bridge election process, how is the end of the election validated? In other words how does the spanning-tree protocol know when the root bridge election has finished?
The protocol doesn't "know." Each bridge performs its own calculation. When the received root ID is the same as the advertised root ID, the election is done, as far as that bridge is concerned. When all the bridges agree, we say the network has converged. But each bridge doesn't "know" when that happens.
> What is the condition or "trigger" to begin the next step of the spanning-tree protocol? (set ports status)
The expiration of the forwarding_delay timer (default 15 sec).