In fact, any assignment of a global variable before its declaration doesn’t seem to be checked properly at the moment by the CodeCrafters tests, not just this weird same-declaration case.
I think the check for this specific case actually occurs in #PT7 “Self Initialization”. It definitely is a large gap between #PL3 (“Assignment operation”) and #PT7 if you do the challenge extensions in the listed order!
I guess the case of checking for self-initialization of globals was deferred until we had working scopes and a resolver, since we would have to revisit the self-initialization problem anyway?