In reality you can execute 2EO BLUE during stage 1 and I believe you would operationally do that [...] the abort that should be flown depends on the failure time of the engines
You are right.
I had another look in the Ascent/Abort Handbook.
They arm and select the contigency abort in first stage if failures occur there
The logic commands a loft in the pitch schedule ( That is now well covered in autolaunch.nas) and an OMS dump starting at 70000 feet
Then the 2EO Blue logic kicks in immediately at SRB sep
And like you mentionned, color depends on failures timeline ( Blue on the left / Green on the right)
I did an other tests with 51.6° Inc, full payload (250000 pounds at MECO) and failures after liftoff.
I just armed with item 2 and the String was then blocked in Blue for later activation even if hdot drops below the boundary, so that is nice.
With the autoloft thing, the pull out is quite smooth even at heavy weight
It seems then to be fixed, and we just need to arm it in first stage to freeze the Color String before Stage 2 activation to be well in a 2EO Blue.
I pushed a small fix commit for the Nz hold actication ( 2.5 G instead of 1.6 G) // It avoids an itinial pitch up at 1.6G to catch the Nz target and then go high on G's