|
71 | 71 | }, |
72 | 72 | { |
73 | 73 | "comment": "Apple perf sampling metadata is selected through the same lazy platform host; Fallow cannot follow the dynamic property read in src/platform-runtime-perf-host.ts.", |
74 | | - "file": "src/platforms/apple/core/perf.ts", |
| 74 | + "file": "packages/platform-apple/src/core/perf.ts", |
75 | 75 | "exports": ["buildAppleFrameSamplingMetadata", "buildAppleMemorySamplingMetadata"] |
76 | 76 | }, |
| 77 | + { |
| 78 | + "comment": "These host-process helpers are consumed only by integration leak-oracle support and host-process unit tests; Fallow's production graph intentionally excludes both consumers.", |
| 79 | + "file": "packages/host-kit/src/process.ts", |
| 80 | + "exports": ["uniquePositivePids", "readOwnedProcessRecordFile"] |
| 81 | + }, |
| 82 | + { |
| 83 | + "comment": "Apple app-resolution helpers are reached through the named lazy façade in packages/platform-apple/src/app-resolution-facade.ts. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to the facade's re-exports.", |
| 84 | + "file": "packages/platform-apple/src/core/app-resolution.ts", |
| 85 | + "exports": ["buildAppNotInstalledError", "resolveIosAppAlias"] |
| 86 | + }, |
| 87 | + { |
| 88 | + "comment": "The app-resolution package facade is consumed through workspace package exports. Fallow does not follow that package boundary, so keep only its externally consumed helper that has no visible production edge here.", |
| 89 | + "file": "packages/platform-apple/src/app-resolution-facade.ts", |
| 90 | + "exports": ["buildAppNotInstalledError"] |
| 91 | + }, |
| 92 | + { |
| 93 | + "comment": "The legacy push helper remains a package-root operation reached through a dynamic import; Fallow cannot connect that root wrapper to this source export.", |
| 94 | + "file": "packages/platform-apple/src/core/app-device-io.ts", |
| 95 | + "exports": ["pushIosNotification"] |
| 96 | + }, |
| 97 | + { |
| 98 | + "comment": "The lifecycle package facade is consumed through workspace package exports. Fallow does not follow that package boundary, so keep only the two root lifecycle helpers without visible production edges here.", |
| 99 | + "file": "packages/platform-apple/src/app-lifecycle-facade.ts", |
| 100 | + "exports": ["openIosApp", "openIosDevice"] |
| 101 | + }, |
| 102 | + { |
| 103 | + "comment": "Apple install mechanics are reached through the root lazy façade, while bundle-info consumers use the named install-artifact façade. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to the actual facade re-exports.", |
| 104 | + "file": "packages/platform-apple/src/core/install-artifact.ts", |
| 105 | + "exports": ["prepareIosInstallArtifact", "readIosBundleInfo"] |
| 106 | + }, |
| 107 | + { |
| 108 | + "comment": "Apple perf mechanics are reached through the named lazy perf façade. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to the facade's re-exports.", |
| 109 | + "file": "packages/platform-apple/src/perf-facade.ts", |
| 110 | + "exports": [ |
| 111 | + "buildAppleFrameSamplingMetadata", |
| 112 | + "buildAppleMemorySamplingMetadata", |
| 113 | + "buildAppleMemorySnapshotSupport", |
| 114 | + "isRetryableIosDeviceTraceRecordFailure", |
| 115 | + "resolveIosDevicePerfHint", |
| 116 | + "captureAppleMemorySnapshot", |
| 117 | + "readAppleProcessSamples", |
| 118 | + "resolveAppleExecutable", |
| 119 | + "resolveIosDevicePerfTarget", |
| 120 | + "sampleAppleFramePerf", |
| 121 | + "sampleAppleMemoryPerf", |
| 122 | + "cleanupAppleXctracePerfCapture", |
| 123 | + "startAppleXctracePerfCapture", |
| 124 | + "stopAppleXctracePerfCapture", |
| 125 | + "writeAppleXctracePerfReport", |
| 126 | + "AppleXctraceCpuProfileReport", |
| 127 | + "AppleXctracePerfMode", |
| 128 | + "AppleXctracePerfResult" |
| 129 | + ] |
| 130 | + }, |
| 131 | + { |
| 132 | + "comment": "Apple tool-provider mechanics are reached through the named lazy tool-provider façade. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to the facade's re-exports.", |
| 133 | + "file": "packages/platform-apple/src/tool-provider-facade.ts", |
| 134 | + "exports": [ |
| 135 | + "hasScopedAppleToolProvider", |
| 136 | + "resolveAppleToolProvider", |
| 137 | + "createLocalAppleToolProvider", |
| 138 | + "readApplePlistJson", |
| 139 | + "runAppleToolCommand", |
| 140 | + "runXcrun" |
| 141 | + ] |
| 142 | + }, |
| 143 | + { |
| 144 | + "comment": "The interactions package facade is consumed through workspace package exports. Fallow does not follow that package boundary, so keep the synchronous helper explicitly accounted for.", |
| 145 | + "file": "packages/platform-apple/src/interactions-facade.ts", |
| 146 | + "exports": ["resolveAppleBackRunnerCommand"] |
| 147 | + }, |
| 148 | + { |
| 149 | + "comment": "The runner-operations package facade is consumed through workspace package exports. Fallow does not follow that package boundary, so keep the two operations without visible production edges here explicitly accounted for.", |
| 150 | + "file": "packages/platform-apple/src/runner-operations-facade.ts", |
| 151 | + "exports": ["hasCachedAppleRunnerArtifact", "runApplePressSeries"] |
| 152 | + }, |
| 153 | + { |
| 154 | + "comment": "The device-aware simctl argument builder is reached through the named lazy simctl façade. Fallow cannot connect the dynamic member read to this source export; keep the suppression limited to that re-export.", |
| 155 | + "file": "packages/platform-apple/src/core/simctl.ts", |
| 156 | + "exports": ["buildSimctlArgsForDevice"] |
| 157 | + }, |
| 158 | + { |
| 159 | + "comment": "The device-aware simctl argument builder is a named package entrypoint reached through dynamic platform-runtime imports. Fallow cannot connect those member reads to the re-export; keep the suppression limited to this one facade symbol.", |
| 160 | + "file": "packages/platform-apple/src/simctl-facade.ts", |
| 161 | + "exports": ["buildSimctlArgs", "buildSimctlArgsForDevice"] |
| 162 | + }, |
| 163 | + { |
| 164 | + "comment": "The simulator package facade is consumed through workspace package exports. Fallow does not follow that package boundary, so keep the legacy shutdown operation explicitly accounted for.", |
| 165 | + "file": "packages/platform-apple/src/simulator-facade.ts", |
| 166 | + "exports": ["shutdownSimulator"] |
| 167 | + }, |
| 168 | + { |
| 169 | + "comment": "Apple mechanics are reached through the named lazy façade in packages/platform-apple/src/index.ts. Fallow cannot connect dynamic import member reads to this source export; keep this list limited to wrappers present in that façade.", |
| 170 | + "file": "packages/platform-apple/src/core/perf-xctrace.ts", |
| 171 | + "exports": ["cleanupAppleXctracePerfCapture"] |
| 172 | + }, |
| 173 | + { |
| 174 | + "comment": "Apple runner mechanics are reached through the named lazy façade in packages/platform-apple/src/index.ts. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to wrappers present in that façade or its cleanup composition.", |
| 175 | + "file": "packages/platform-apple/src/core/runner-client.ts", |
| 176 | + "exports": [ |
| 177 | + "notifyIosRunnerAppRelaunched", |
| 178 | + "prewarmIosRunnerSession", |
| 179 | + "prepareIosRunner", |
| 180 | + "resolveRunnerAppBundleId", |
| 181 | + "detachIosSimulatorRunnerSessionsForShutdown", |
| 182 | + "getRunnerSessionSnapshot", |
| 183 | + "scheduleIosRunnerIdleStop", |
| 184 | + "stopIosRunnerSession", |
| 185 | + "stopAllIosRunnerSessions", |
| 186 | + "readStaleRunnerLease", |
| 187 | + "verifyLeaseRunnerPidIdentity", |
| 188 | + "applyXctestRunnerAppIconFromDerivedPath" |
| 189 | + ] |
| 190 | + }, |
| 191 | + { |
| 192 | + "comment": "The Apple root façade owns the lazy runner-owner mutator; Fallow cannot connect its dynamic import member read to the moved source export.", |
| 193 | + "file": "packages/platform-apple/src/core/runner-owner-state.ts", |
| 194 | + "exports": ["setRunnerLeaseOwnerStateDir"] |
| 195 | + }, |
| 196 | + { |
| 197 | + "comment": "Apple diagnostics are reached through the named lazy façade in packages/platform-apple/src/index.ts. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to wrappers present in that façade.", |
| 198 | + "file": "packages/platform-apple/src/doctor.ts", |
| 199 | + "exports": ["appleToolchainCheck", "appleRunnerWarmupCheck"] |
| 200 | + }, |
| 201 | + { |
| 202 | + "comment": "macOS helper mechanics are reached through the named lazy façade in packages/platform-apple/src/index.ts. Fallow cannot connect dynamic import member reads to these source exports; keep this list limited to wrappers present in that façade.", |
| 203 | + "file": "packages/platform-apple/src/os/macos/helper.ts", |
| 204 | + "exports": ["startMacOsAudioProbeProcess", "resolveFrontmostMacOsApp"] |
| 205 | + }, |
| 206 | + { |
| 207 | + "comment": "The Apple package root is a cold-start-preserving named façade: its production consumers load the value wrappers through dynamic imports. Fallow cannot connect those member reads, so this exact list records only the façade exports currently reported as unreachable; static consumers remain visible to the audit.", |
| 208 | + "file": "packages/platform-apple/src/index.ts", |
| 209 | + "exports": [ |
| 210 | + "appleToolchainCheck", |
| 211 | + "appleRunnerWarmupCheck", |
| 212 | + "detectSoleRunningIosSimulatorApp", |
| 213 | + "findIosSimulatorInstalledApp", |
| 214 | + "invalidateIosAppResolutionCache", |
| 215 | + "listIosApps", |
| 216 | + "resolveIosApp", |
| 217 | + "resolveIosSimulatorDeepLinkBundleId", |
| 218 | + "closeIosApp", |
| 219 | + "openIosApp", |
| 220 | + "openIosDevice", |
| 221 | + "screenshotIos", |
| 222 | + "pushIosNotification", |
| 223 | + "readIosClipboardText", |
| 224 | + "writeIosClipboardText", |
| 225 | + "runAppleToolCommand", |
| 226 | + "runXcrun", |
| 227 | + "createLocalAppleToolProvider", |
| 228 | + "readApplePlistJson", |
| 229 | + "setIosSetting", |
| 230 | + "readAppleAlert", |
| 231 | + "awaitAppleAlert", |
| 232 | + "actOnAppleAlert", |
| 233 | + "createAppleInteractor", |
| 234 | + "ensureBootedSimulator", |
| 235 | + "shutdownSimulator", |
| 236 | + "withAppleToolProvider", |
| 237 | + "prepareIosInstallArtifact", |
| 238 | + "symbolicateCrashArtifact", |
| 239 | + "queryAppleRunnerSelector", |
| 240 | + "resolveFrontmostMacOsApp", |
| 241 | + "runMacOsAlertAction", |
| 242 | + "startMacOsAudioProbeProcess", |
| 243 | + "captureMacOsSurfaceSnapshot", |
| 244 | + "cleanupAppleXctracePerfCapture", |
| 245 | + "sampleAppleMemoryPerf", |
| 246 | + "captureAppleMemorySnapshot", |
| 247 | + "sampleAppleFramePerf", |
| 248 | + "prepareAppleTraceRecordRetry", |
| 249 | + "resolveAppleExecutable", |
| 250 | + "resolveIosDevicePerfTarget", |
| 251 | + "readAppleProcessSamples", |
| 252 | + "startAppleXctracePerfCapture", |
| 253 | + "stopAppleXctracePerfCapture", |
| 254 | + "writeAppleXctracePerfReport", |
| 255 | + "runApplePressSeries", |
| 256 | + "runAppleRunnerCommand", |
| 257 | + "notifyIosRunnerAppRelaunched", |
| 258 | + "prewarmAppleRunnerCache", |
| 259 | + "prewarmIosRunnerSession", |
| 260 | + "prepareIosRunner", |
| 261 | + "resolveRunnerAppBundleId", |
| 262 | + "detachIosSimulatorRunnerSessionsForShutdown", |
| 263 | + "getRunnerSessionSnapshot", |
| 264 | + "scheduleIosRunnerIdleStop", |
| 265 | + "stopIosRunnerSession", |
| 266 | + "stopAllIosRunnerSessions", |
| 267 | + "cleanupRunnerLeasesForOwner", |
| 268 | + "readStaleRunnerLease", |
| 269 | + "verifyLeaseRunnerPidIdentity", |
| 270 | + "applyXctestRunnerAppIconFromDerivedPath", |
| 271 | + "AppleMacOsHelperProvider", |
| 272 | + "AppleToolAvailabilityChecker", |
| 273 | + "AppleToolCommandExecutor", |
| 274 | + "AppleXcrunToolProvider", |
| 275 | + "IosPhysicalDeviceBackend", |
| 276 | + "IosPhysicalDeviceControl", |
| 277 | + "IosPhysicalDeviceTunnel", |
| 278 | + "PreparedIosInstallArtifact", |
| 279 | + "AppleMemoryPerfSample", |
| 280 | + "AppleMemorySnapshotResult", |
| 281 | + "AppleProcessSample", |
| 282 | + "AppleXctraceCpuProfileReport", |
| 283 | + "AppleXctracePerfCapture", |
| 284 | + "AppleXctracePerfMode", |
| 285 | + "AppleXctracePerfResult", |
| 286 | + "MacOsPermissionTarget", |
| 287 | + "MacOsSnapshotNode" |
| 288 | + ] |
| 289 | + }, |
| 290 | + { |
| 291 | + "comment": "The legacy Maestro fallback wording remains contracts vocabulary for wire/fixture compatibility, but has no in-repo production consumer. The Apple migration changes this file's documentation path, so keep the existing declaration explicit without treating it as a new W4 export leak.", |
| 292 | + "file": "packages/contracts/src/interactor-types.ts", |
| 293 | + "exports": ["MAESTRO_NON_HITTABLE_FALLBACK_MESSAGE"] |
| 294 | + }, |
77 | 295 | { |
78 | 296 | "comment": "Daemon route handlers are reached only through the dynamic `import()` table in request-handler-chain.ts, which --production analysis cannot follow to a consumer.", |
79 | 297 | "file": "src/daemon/handlers/{lease,session,snapshot,react-native,record-trace,find,interaction}.ts", |
|
0 commit comments