/** * The runner shim's entry point — the first file the hook process executes. * * **It exists to fix the evaluation order of one import.** The advisory lint * (`unjailed-lint.ts`) must have its `node:fs` wrappers in place before any * other module in this process ESM-loads `node:fs`, because Bun resolves a * builtin's named ESM exports once — the first import freezes them. The * runner shim itself imports `@celilo/capabilities`, whose graph reaches * `node:fs`, so by the time the shim's own body could install anything, the * facade is already frozen and the lint is silently disarmed (measured while * landing task 4.7; `unjailed-lint.test.ts` goes red without this file). * * So: install first (the module also self-installs at evaluation; the guard * makes whichever lands first correct), and only then hand off to the real * runner. Nothing else belongs in this file, and nothing here may import a * module whose graph reaches `node:fs` — that is the whole point of it. */ import { installUnjailedLintIfUnjailed } from './unjailed-lint'; installUnjailedLintIfUnjailed(); await import('./hook-runner');