diff --git a/test/helpers/hermetic-env.ts b/test/helpers/hermetic-env.ts index 4fb17e734..e1acd87f5 100644 --- a/test/helpers/hermetic-env.ts +++ b/test/helpers/hermetic-env.ts @@ -211,6 +211,15 @@ export function getHermeticDirs(): HermeticDirs { trustedDirs: [repoRoot()], }); fs.writeFileSync(path.join(configDir, '.claude.json'), JSON.stringify(seed, null, 2)); + // Seed one-time onboarding markers into the CHILD's GSTACK_HOME. + // bin/gstack-skill-start reads ${GSTACK_HOME:-$HOME/.gstack} (EOV7), so + // the operator-HOME seeding in e2e-helpers.ts no longer reaches hermetic + // children — without these, the emission layer fires lake-intro/telemetry + // prompts that burn turns and can stall PTY tests waiting on an answer. + // Tests that exercise onboarding itself override GSTACK_HOME per-test. + for (const f of ['.activated', '.completeness-intro-seen', '.telemetry-prompted', '.proactive-prompted', '.first-loop-tip-shown']) { + fs.writeFileSync(path.join(gstackHome, f), ''); + } } catch (err) { try { fs.rmSync(runRoot, { recursive: true, force: true }); } catch { /* best-effort */ } throw err;