The short answer is: your max test result tells you. Phase progression is not based on time or how many weeks you have been training. It is based on your actual performance.
At the end of each training block you do a max test, where you perform as many clean reps as possible of your current pull-up variation. Each phase has a threshold. If your max test result meets or exceeds that threshold, you move to the next phase. If it does not, you repeat the current block and test again.
This system exists for a reason. Moving ahead before you are ready is the single most common cause of stalled progress. When you advance too early, you hit a wall in the next phase and end up going backwards anyway. The max test makes sure that never happens.
If you hit the threshold, advance with confidence. If you do not, treat it as useful data, not failure. It tells you exactly what you need to work on. Run the block again with that focus and you will get there.
One important note: always do the deload week before your max test. Trying to test when you are still carrying fatigue from a hard training block will give you a number that is lower than your real capacity. Rest, recover, then test honestly.