I just brewed a rye brown with grains that were crushed about 3 months ago.
Only one of the bags had been opened for the last month or so- the one with the remaining 5-6 lbs of 2-row.
The rest were still sealed from Austin Homebrew Supply.
They stayed in their bags inside the box for all of the last 3 months, though unfortunately were stored in the tiny, hot apartment that I just moved out of.
Anyway, point being that although they were dry and in a box, they were hot for that entire time and one bag had been opened. Not ideal conditions.
The beer's not ready yet, but I tried the grain chewing test before mashing, and the 2-row was maybe barely stale. Wasn't cardboardy, but perhaps had a hint of a stale flavor to it. That being said, the other grains were fine, and the wort tasted good.
This is after 3 months, so you're probably fine after 3-4 weeks.