Excellent job, Grant!
The only question that remains open is: Where to draw the line?
But I guess it's almost impossible to answer...
Interview questions, test/homework, almost complete projects, several hundred lines of uncommented and unformatted code, urgent request and the like are easy to put in the "no-go box". But where should consulting begin instead of forum assistance?