chore(gates): confine process globals to declared entry points
Summary
Part of #3753. Part of #3747. Closes #3753.
Top of #3826 → #3827 → #3828 → #3829 → #3823. This PR retains the gate history; its own diff is three files, 404 gross lines.
R86 rejects any process value capture outside declared entries, including calls, aliases, spreads, returns, imports, and destructuring. Nonconfiguration members and lexical shadowing remain permitted. Remove the two Apple library entries and the registered-test cast.
Released captures are centrally declared for #3759: src/io.ts, src/sdk/{remote-config,android-adb,metro}.ts, src/provider-limrun-runtime.ts, src/mcp/command-tools.ts, and src/daemon-client/daemon-client{,-ensure,-ensuring}.ts. The future agent-device/host slot remains reserved for #3757. Executable/worker entries and test-support classification remain explicit.
Validation
Head 6aefc10590621fe4672b6f3a0aa30e57a79d4796.
pnpm check:affected --run --base chore/process-globals-commands --head 6aefc10590621fe4672b6f3a0aa30e57a79d4796 passed; receipt run-g1AWGp, exactCommit=true.
Coverage failures were fixture races: 7e2cae20ed replaces a directory-order assumption with explicit files; 288e6cceae waits for bridge evidence contents rather than file creation. Both fixes are inherited by all layers. Upper patches are unchanged by range-diff.
Prior full-check and Android daemon/provider evidence stays attributed to e223d37244 in #3823’s review-response comment. This round changes only test fixtures and ancestry. Full coverage and GitHub-owned lanes remain CI obligations.