Bias environment exits into a rally.
All of those ongoing overnight and morning highs stopping short of each other—with a couple of shallow afternoon bounces, too—were building the bullishness from a contrarian perspective. Their retest wasn't required, and a retest wasn't required within a specific time frame. But sellers weren't gaining traction.
This morning's gap up wasn't necessarily maintained without dipping to test yesterday afternoon's low. That only opened a template that would delay the rally until the final 60-90 minutes.
In fact, fresh highs as the afternoon's no-bias environment came within view of lapsing (actually starting just 2-3 minutes early) have extended up to 2177.25. Thursday's post-open high had stopped pessimistically short of touching Wednesday night's 2180.50 high. And now its retest is slightly likelier than not to also visit 2185.00-2186.00.
Meanwhile, the rally has gained traction. This afternoon's bias environment began lapsing above the noon hour's high, and the final hour was entered higher. If not rewarded by extending higher through the close, then trending up tomorrow morning would be likely. Otherwise, back under 2173.50 would start to signal at least a pullback underway targeting 2169.50-2170.50.