14efb46089
HERMES_SKIP_INTRO=1 turned off the intro film but also silently killed the entire guided first launch: the guide can only queue on the film's completion edge (queueGuideAfterIntro requires hasSeenIntroReveal), so with the film disabled nothing ever fired and the app booted straight into the normal shell with the free-tier flag on. The film-to-guide seam now fires without the film: beginOnboardingFlowWithout Intro records the film as watched and queues the guide directly, so HERMES_SKIP_INTRO skips exactly the film. A relaunch adopts the persisted guide (loadGate sees cinematic + seen), and a later launch without the flag cannot replay the film over the completed flow. Verified: tsc -p tsconfig.json and tsconfig.electron.json clean; vitest ui (onboarding-gate, onboarding, onboarding-never-forces-sign-in: 30 passed incl. 2 new invariant tests) and electron (guest-onboarding-flag, preload-flags: 6 passed) green.