Parent: #465 Related: #498, #1060, #1061
Ordinary Get on the global object falls back to the root environment when the property chain misses. This exposes declarative global lexical bindings as properties and revives deleted builtin properties.
Executed seven-assertion probe: Node returns all true. The saved before binary returns false,false,false,true,true,true,false in both tree and required-bytecode modes. Global let, const, and class values are visible through globalThis despite having no property; deleting globalThis.Math still returns the environment's Math value. Real var/function global properties already work.
Acceptance:
- Remove environment lookup from global-object Ordinary Get; keep identifier resolution and declarative bindings separate.
- Preserve actual startup globals and global var/function properties, including eval-created variables and later evaluate calls.
- Pin lexical/TDZ separation, own/inherited descriptors, undefined-vs-absence, deletion, and local shadows against Node.
- Normal/unsuppressed TSan, required-bytecode isolated/shared contexts, and exact before/after global/declaration corpus checks pass.