A schedule made against a starter-seed routine keeps the retired seed id after the routine is edited (clone-on-edit). The edit form matched that id directly, so the routine read as unselected and Save stayed disabled; it now resolves through sync.currentRoutineID like the Today board does, and the routine picker's checkmark compares against the resolved id.