APMR, there is no manual record... it's TAAATS now, since 1998... one click deserves another...
I will always give 'when ready' unless I need you to go now, or you requested descent. I often here 'request descent', followed by 'confirm when ready to FLXXX', no actually you asked for it, I gave it, so no it's not when ready. If you want to program it in your box or get it in advance, say approaching descent point or TOD in XX trackmiles etc.
I agree with the others, once issued a descent clearance it's from where you are now to the level I chose, if there is something in the way, or between the levels that is my problem to resolve, ie control it. I don't care if you descend early, that's your problem. I of course try to avoid you descending late.
No need to readback, 'when ready'...