Skip to content

symfonic.agent.cutover.continuation_window_line

continuation_window_line

The line that deletes the continuation migration window (TA8.59).

TA8.48 wrote this as a free constant -- 11.1 -- beside a retirement that removes the legacy continuation body on 11.0. TA8.57 rehearsed that deletion and TA8.58 measured what the pair produced: a window still open on 11.0, announcing admissions into a body that release had already removed. Neither edit was wrong where it was written, which is why no reviewer of either file caught it, and which is why this is a module rather than a comment.

The window's release line is not free, because the window's life is not its own. Its compensation is the fall-through to the legacy continuation body: the window engages only when a configuration guard refuses, the migrated envelope refuses those same fields, so _cutover_verdict cannot admit and _continuation_route answers legacy for every redemption the window admits. A window whose only destination is that body cannot outlive it.

So the line is derived, the one condition that would release it is encoded below rather than remembered, and tests/retirement/test_window_line_derivation.py re-drives the routing that the derivation rests on instead of comparing two constants.

It lives here, apart from :mod:~symfonic.agent.cutover.continuation_window, for that module's own stated reason: one question each. continuation_window owns when a pause is eligible; this file owns how long the window itself lasts, and a reader looking for either should not have to read the other.