/** * surface-spawn.ts — nhánh spawn pane (spec §13.1) của child-pi pipeline. * * `prepareSurfaceSpawn` là hàm thuần-KIỂM-ĐƯỢC nối T2/T5 vào flow spawn thật: * * sweep TTL → resolveSurface (T2, fail-closed §3) * → provider.createSurface({cwd}) [KHÔNG command — trả pane id] * → stripHeadlessModeArgs(piArgs) [bỏ `--mode json -p`, KHÔNG đổi gì khác] * → buildLaunchScript(env có PI_CREW_SURFACE_PANE = id THẬT, callerEnv=host) * → sendCommand(`bash