I'm not sure I know enough about the internals of Zorro to opine on your question.

But let me ask you this in the context of my specific application, using the details of the log entries below:

If contractUpdate() is called in Bar 976 TOCK, or tick, which has a timestamp of 1430, which contract chain do you think will be loaded?
(a) the chain for time of 1430 (the tick/tock timestamp)
(b) the chain for time of 1432 (the Bar 976 time)

Code
.................. v2.40 ......................... tick, TOCK, TMF, run

[2058] Bar[975] tick -- [SPX] LastMonth[1] RunMonth[1] NewMonth[0]... 
[2058] Bar[975] TOCK -- [SPX] LastMonth[1] RunMonth[1] NewMonth[0]... 
[975: Mon 21-02-01 14:30] 3727.72/3727.72\3703.61/3707.86 -0.01
[1430] Bar[975] run() -- price=3707.86

[1430] Bar[976] tick -- [SPX] LastMonth[1] RunMonth[2] NewMonth[1]... 
[1430] Bar[976] TOCK -- [SPX] LastMonth[1] RunMonth[2] NewMonth[1]... USE NEW T8: C:\Zorro\History\SPX-Options\\SPX_202102_m1.t8
[976: Mon 21-02-01 14:32] 3751.48/3753.72\3751.48/3753.72 -0.01
[1432] Bar[976] run() -- price=3753.72