Address the Code Entropy follow-up on d9c4f53758: the runner entry still expanded its process-substitution object with a `readStdin` hook used only by tests. Move that seam to `src/runner-internals.ts`, mirroring `src/startup-internals.ts`, so neither entry grows package API for tests.