Parents: #465, #496 Depends on: #706 Related: #705, #708
Problem
#705 and #708 lowered member logical assignments and updates across function activations but kept direct top-level forms causally rejected because program chunks have no frame or private activation Environment to hold a resolved Reference. Once #706 supplies bounded activation-local scratch with load/store/release semantics, the existing one-Reference compiler helpers can be admitted at top level without synthesized global names.
Scope
- Route program-mode activation temps for member references through the #706 scratch contract instead of rejecting in `compileMemberRef`.
- Admit named/computed `&&=`, `||=`, `??=`, and compound/update forms at top level across all three operators' short-circuit classes.
- Preserve single base evaluation, single observable ToPropertyKey, RequireObjectCoercible ordering, getter/setter/proxy behavior, recursion isolation, nested/indirect eval isolation, moving-GC rooting of scratch values, and no-G