You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Child of #2278 (audit area: open-target planning). src/platform-runtime-open-target.ts mixes a neutral open plan/result policy with platform mechanics:
Separate the pure open plan/result from the platform implementation only when that creates a deeper interface and removes duplicated policy; preserve one construction path (one resolver producing the open plan — no second).
The daemon open prepare and selector-dispatch code imports only the neutral plan/policy surface.
If the neutral surface stays a root module, its remaining daemon consumers are classified daemon-policy-essential in the R74 inventory with the plan-construction rationale; if it moves, the move is a pure seam change with no behavior change.
Observable completion conditions
The two R74 inventory edges above are reclassified or removed.
resolveAndroidPackageForOpen / inferAndroidPackageAfterOpen have no production importer outside their owning seam.
open prepare and selector dispatch behave identically (existing behavior tests).
Planted violation: a daemon import of the platform-mechanics symbols is red.
pnpm check:layering and pnpm check:affected --run pass.
Purpose
Child of #2278 (audit area: open-target planning).
src/platform-runtime-open-target.tsmixes a neutral open plan/result policy with platform mechanics:resolveRequestedOpenSurface,validateOpenRelaunchTarget,resolveSessionAppBundleIdForTargetresolveSoleForegroundIosApp(sole-booted-simulator/foreground-app probe)resolveAndroidPackageForOpen,inferAndroidPackageAfterOpenTwo classified daemon edges (R74 inventory) consume this file:
src/daemon/session-lifecycle/internal/session-open-prepare.ts→resolveRequestedOpenSurface,validateOpenRelaunchTargetsrc/daemon/handlers/session-selector-dispatch.ts→resolveAndroidPackageForOpen,resolveSessionAppBundleIdForTargetRequired behavior
openprepare and selector-dispatch code imports only the neutral plan/policy surface.packages/platform-android); the iOS probe is owned by refactor(daemon): own Apple runner session observation behind a semantic port #2332 (this issue depends on refactor(daemon): own Apple runner session observation behind a semantic port #2332 for the shared filesrc/platform-runtime-open-target.ts).daemon-policy-essentialin the R74 inventory with the plan-construction rationale; if it moves, the move is a pure seam change with no behavior change.Observable completion conditions
resolveAndroidPackageForOpen/inferAndroidPackageAfterOpenhave no production importer outside their owning seam.openprepare and selector dispatch behave identically (existing behavior tests).pnpm check:layeringandpnpm check:affected --runpass.Dependencies
Blocked by: #2332 (shared file
src/platform-runtime-open-target.tshosts the probe #2332 relocates).