# Launcher path resolution `PathResolver` is the only resolver for launcher path variables. Configuration is layered in this order: `launcher.session.json`, `launcher.machine.json`, then `launcher.defaults.json`; built-in defaults are non-path safety defaults. Corporate and local locations are variables, not source-code paths. The supported variable names are: `CorporateDfsRoot`, `CorporateLauncherRoot`, `CorporateCatalogRoot`, `CorporatePackagesRoot`, `CorporateProfilesRoot`, `CorporatePalettesRoot`, `CorporateFontsRoot`, `CorporateTemplatesRoot`, `CorporateScriptsRoot`, `ProjectName`, `DisciplineName`, `ProjectRoot`, `DisciplineRoot`, `PlantProjectFile`, `ProjectRosterPath`, `ProjectApplicationsRoot`, `ProjectPaletteOverlayRoot`, `LocalLauncherRoot`, `LocalPackageCache`, `LocalActiveRoot`, `LocalSessionRoot`, `LocalEvidenceRoot`, `LocalLogsRoot`, `LocalRollbackRoot`, `AcadExecutable`, `PRecEntryAssembly`, `FixtureOrthoDwg`, `AutomationScriptPath`, `AutomationConfigPath`, `AutomationEvidencePath`, and `AutomationPermitPath`. Undefined corporate locations remain `null` / `NOT VERIFIED`; the resolver does not invent a DFS hierarchy. The legacy `A:` drive is accepted only as input and is canonicalized through configured `CorporateDfsRoot`; it is never emitted. `Production` launch arguments are `/product PLNT3D /language ru-RU` only. `NextPilotPreview`, `NextPilotApply`, and `LifecycleProbe` require a resolved script beneath the local session root and add exactly one `/b` argument.