Magic directory names seems a bit of a hack to avoid supporting this notion in the language itself.
AFAIK this also introduces the English language into the currently freeform world of user import paths. I guess source files themselves already have something similar with the "_test.go" suffix, so there's some consistency with that.
That goes without saying at this point. I'm not saying the English-in-path thing is a huge deal, but it's worth noting effects that sneak in along with a feature.
> The new rule is that /a/g/x can not import /a/internal/y.
As I understand it, /a/g/x CAN import /a/internal/y, because /a/g/x is in the directory tree that starts at /a/. However, /b/h/z CANNOT import /a/internal/y/ (while previously, it could).
AFAIK this also introduces the English language into the currently freeform world of user import paths. I guess source files themselves already have something similar with the "_test.go" suffix, so there's some consistency with that.