test(mobile): name the module the throwing-on-call substitute stands in for

The paragraph called it "the secret store", which is `expo-secure-store` — not
in the table, and handled by the loader's throw-on-read default. The substitute
that answers with throwing functions is async storage.

This is an engine file, so the next commit re-digests every golden.

Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb
This commit is contained in:
Jinwoo-H
2026-09-15 14:36:02 -04:00
parent d6baaf3a7b
commit 4df87db5a4
@@ -18,11 +18,11 @@ import * as zod from 'zod'
*
* Every substitute that stands in for part of a module keeps the default's shape: a member nobody
* listed throws on the read rather than resolving to `undefined`, because an undefined native
* member is not a recording of anything — the product would call it. The secret store inverts that,
* member is not a recording of anything — the product would call it. Async storage inverts that,
* reading every member back as a function that throws when called: a default-dependency object may
* name them, and a recording that reaches native storage fails at the call instead. Whether that
* failure is visible depends on the caller. `host-app-version-store.ts` catches and degrades to its
* unread state, which is what it does on a device too.
* name them, and a recording that reaches it fails at the call instead. Whether that failure is
* visible depends on the caller. `host-app-version-store.ts` catches and degrades to its unread
* state, which is what it does on a device too.
*
* Both traps leave `__esModule` undefined. It is the module system's interop marker rather than a
* native API, and answering it truthfully binds a transpiled `import X from` to the trap's own