Can your username or hostname change?
Yes. Programs in your path could call setuid or change your hostname (like "su") - you should check the username and hostname before printing the prompt each time.
Do we have to support mixed pipes and i/o redirection?
Yes. There may be commands such as "ls < input | grep > output" but never "ls | grep > output" (only one level of redirection)