After TimToady's clarification (and actual spec change), we now know that the capture never autovivifies, but only the binding does it. And only if the bound container is a rw container, so.

my $a is readonly := %a<b><c>; # doesn't autovivify

So, the capture is really just a way to defer the contextualization of the object and does nothing else.

The binding code is responsible for, when doing the actual bind, checking if the container itself is defined. If not and in the presence of a WHENCE closure, the object should be autovivified. But this requires the bootstrap...