Legal aspects of everyday work
I've been working as a programmer/intern type person for an engineering firm for about 2 years now. My boss and I were best of buds the whole time up until recently when he decided I was the worst intern ever and has just turned into a total @#$%#. Totally unexpected, I've asked him and everyone what I did only to learn that he's just completely unbalanced.
So anyway, he's kept busy at trying to make my job as miserable as possible now. I've made HR and his boss aware of a sticky situation and that I'd like to be transferred if possible. Until then, how would you handle this situation? My primary concern is that he might just up and fire me. As I understand it (in the US), if I've done everything that was asked of me and had good work attendance, etc. I should be able to take legal action if fired for no good reason (this is not at-will employment, they shouldn't be able to just let me go). Is this accurate?
Just looking for advice in general. Thanks in advance.