doc-detective-common 4.21.0 → 4.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2833,7 +2833,7 @@ var schemas_default = {
2833
2833
  ]
2834
2834
  },
2835
2835
  device: {
2836
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
2836
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
2837
2837
  examples: [
2838
2838
  "pixel7",
2839
2839
  {
@@ -2872,7 +2872,7 @@ var schemas_default = {
2872
2872
  transform: [
2873
2873
  "trim"
2874
2874
  ],
2875
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
2875
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
2876
2876
  },
2877
2877
  deviceType: {
2878
2878
  type: "string",
@@ -2885,11 +2885,11 @@ var schemas_default = {
2885
2885
  osVersion: {
2886
2886
  type: "string",
2887
2887
  minLength: 1,
2888
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
2888
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
2889
2889
  },
2890
2890
  headless: {
2891
2891
  type: "boolean",
2892
- description: "Run the Android emulator without a window. Ignored where not applicable."
2892
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
2893
2893
  },
2894
2894
  orientation: {
2895
2895
  type: "string",
@@ -38838,7 +38838,7 @@ var schemas_default = {
38838
38838
  startSurface: {
38839
38839
  $schema: "http://json-schema.org/draft-07/schema#",
38840
38840
  title: "startSurface",
38841
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
38841
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
38842
38842
  components: {
38843
38843
  schemas: {
38844
38844
  appDescriptor: {
@@ -38890,15 +38890,15 @@ var schemas_default = {
38890
38890
  install: {
38891
38891
  type: "string",
38892
38892
  minLength: 1,
38893
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
38893
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
38894
38894
  },
38895
38895
  activity: {
38896
38896
  type: "string",
38897
38897
  minLength: 1,
38898
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
38898
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
38899
38899
  },
38900
38900
  device: {
38901
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
38901
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
38902
38902
  anyOf: [
38903
38903
  {
38904
38904
  type: "string",
@@ -38931,7 +38931,7 @@ var schemas_default = {
38931
38931
  transform: [
38932
38932
  "trim"
38933
38933
  ],
38934
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
38934
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
38935
38935
  },
38936
38936
  deviceType: {
38937
38937
  type: "string",
@@ -38944,11 +38944,11 @@ var schemas_default = {
38944
38944
  osVersion: {
38945
38945
  type: "string",
38946
38946
  minLength: 1,
38947
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
38947
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
38948
38948
  },
38949
38949
  headless: {
38950
38950
  type: "boolean",
38951
- description: "Run the Android emulator without a window. Ignored where not applicable."
38951
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
38952
38952
  },
38953
38953
  orientation: {
38954
38954
  type: "string",
@@ -39120,7 +39120,7 @@ var schemas_default = {
39120
39120
  transform: [
39121
39121
  "trim"
39122
39122
  ],
39123
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
39123
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
39124
39124
  },
39125
39125
  deviceType: {
39126
39126
  type: "string",
@@ -39133,11 +39133,11 @@ var schemas_default = {
39133
39133
  osVersion: {
39134
39134
  type: "string",
39135
39135
  minLength: 1,
39136
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
39136
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
39137
39137
  },
39138
39138
  headless: {
39139
39139
  type: "boolean",
39140
- description: "Run the Android emulator without a window. Ignored where not applicable."
39140
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
39141
39141
  },
39142
39142
  orientation: {
39143
39143
  type: "string",
@@ -39236,15 +39236,15 @@ var schemas_default = {
39236
39236
  install: {
39237
39237
  type: "string",
39238
39238
  minLength: 1,
39239
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
39239
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
39240
39240
  },
39241
39241
  activity: {
39242
39242
  type: "string",
39243
39243
  minLength: 1,
39244
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
39244
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
39245
39245
  },
39246
39246
  device: {
39247
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
39247
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
39248
39248
  anyOf: [
39249
39249
  {
39250
39250
  type: "string",
@@ -39277,7 +39277,7 @@ var schemas_default = {
39277
39277
  transform: [
39278
39278
  "trim"
39279
39279
  ],
39280
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
39280
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
39281
39281
  },
39282
39282
  deviceType: {
39283
39283
  type: "string",
@@ -39290,11 +39290,11 @@ var schemas_default = {
39290
39290
  osVersion: {
39291
39291
  type: "string",
39292
39292
  minLength: 1,
39293
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
39293
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
39294
39294
  },
39295
39295
  headless: {
39296
39296
  type: "boolean",
39297
- description: "Run the Android emulator without a window. Ignored where not applicable."
39297
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
39298
39298
  },
39299
39299
  orientation: {
39300
39300
  type: "string",
@@ -81029,7 +81029,7 @@ var schemas_default = {
81029
81029
  startSurface: {
81030
81030
  $schema: "http://json-schema.org/draft-07/schema#",
81031
81031
  title: "startSurface",
81032
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
81032
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
81033
81033
  components: {
81034
81034
  schemas: {
81035
81035
  appDescriptor: {
@@ -81081,15 +81081,15 @@ var schemas_default = {
81081
81081
  install: {
81082
81082
  type: "string",
81083
81083
  minLength: 1,
81084
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
81084
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
81085
81085
  },
81086
81086
  activity: {
81087
81087
  type: "string",
81088
81088
  minLength: 1,
81089
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
81089
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
81090
81090
  },
81091
81091
  device: {
81092
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
81092
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
81093
81093
  anyOf: [
81094
81094
  {
81095
81095
  type: "string",
@@ -81122,7 +81122,7 @@ var schemas_default = {
81122
81122
  transform: [
81123
81123
  "trim"
81124
81124
  ],
81125
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
81125
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
81126
81126
  },
81127
81127
  deviceType: {
81128
81128
  type: "string",
@@ -81135,11 +81135,11 @@ var schemas_default = {
81135
81135
  osVersion: {
81136
81136
  type: "string",
81137
81137
  minLength: 1,
81138
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81138
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81139
81139
  },
81140
81140
  headless: {
81141
81141
  type: "boolean",
81142
- description: "Run the Android emulator without a window. Ignored where not applicable."
81142
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
81143
81143
  },
81144
81144
  orientation: {
81145
81145
  type: "string",
@@ -81311,7 +81311,7 @@ var schemas_default = {
81311
81311
  transform: [
81312
81312
  "trim"
81313
81313
  ],
81314
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
81314
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
81315
81315
  },
81316
81316
  deviceType: {
81317
81317
  type: "string",
@@ -81324,11 +81324,11 @@ var schemas_default = {
81324
81324
  osVersion: {
81325
81325
  type: "string",
81326
81326
  minLength: 1,
81327
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81327
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81328
81328
  },
81329
81329
  headless: {
81330
81330
  type: "boolean",
81331
- description: "Run the Android emulator without a window. Ignored where not applicable."
81331
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
81332
81332
  },
81333
81333
  orientation: {
81334
81334
  type: "string",
@@ -81427,15 +81427,15 @@ var schemas_default = {
81427
81427
  install: {
81428
81428
  type: "string",
81429
81429
  minLength: 1,
81430
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
81430
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
81431
81431
  },
81432
81432
  activity: {
81433
81433
  type: "string",
81434
81434
  minLength: 1,
81435
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
81435
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
81436
81436
  },
81437
81437
  device: {
81438
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
81438
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
81439
81439
  anyOf: [
81440
81440
  {
81441
81441
  type: "string",
@@ -81468,7 +81468,7 @@ var schemas_default = {
81468
81468
  transform: [
81469
81469
  "trim"
81470
81470
  ],
81471
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
81471
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
81472
81472
  },
81473
81473
  deviceType: {
81474
81474
  type: "string",
@@ -81481,11 +81481,11 @@ var schemas_default = {
81481
81481
  osVersion: {
81482
81482
  type: "string",
81483
81483
  minLength: 1,
81484
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81484
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
81485
81485
  },
81486
81486
  headless: {
81487
81487
  type: "boolean",
81488
- description: "Run the Android emulator without a window. Ignored where not applicable."
81488
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
81489
81489
  },
81490
81490
  orientation: {
81491
81491
  type: "string",
@@ -87404,7 +87404,7 @@ var schemas_default = {
87404
87404
  ]
87405
87405
  },
87406
87406
  device: {
87407
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
87407
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
87408
87408
  examples: [
87409
87409
  "pixel7",
87410
87410
  {
@@ -87443,7 +87443,7 @@ var schemas_default = {
87443
87443
  transform: [
87444
87444
  "trim"
87445
87445
  ],
87446
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
87446
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
87447
87447
  },
87448
87448
  deviceType: {
87449
87449
  type: "string",
@@ -87456,11 +87456,11 @@ var schemas_default = {
87456
87456
  osVersion: {
87457
87457
  type: "string",
87458
87458
  minLength: 1,
87459
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
87459
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
87460
87460
  },
87461
87461
  headless: {
87462
87462
  type: "boolean",
87463
- description: "Run the Android emulator without a window. Ignored where not applicable."
87463
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
87464
87464
  },
87465
87465
  orientation: {
87466
87466
  type: "string",
@@ -100295,7 +100295,7 @@ var schemas_default = {
100295
100295
  ]
100296
100296
  },
100297
100297
  device: {
100298
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
100298
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
100299
100299
  examples: [
100300
100300
  "pixel7",
100301
100301
  {
@@ -100334,7 +100334,7 @@ var schemas_default = {
100334
100334
  transform: [
100335
100335
  "trim"
100336
100336
  ],
100337
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
100337
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
100338
100338
  },
100339
100339
  deviceType: {
100340
100340
  type: "string",
@@ -100347,11 +100347,11 @@ var schemas_default = {
100347
100347
  osVersion: {
100348
100348
  type: "string",
100349
100349
  minLength: 1,
100350
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
100350
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
100351
100351
  },
100352
100352
  headless: {
100353
100353
  type: "boolean",
100354
- description: "Run the Android emulator without a window. Ignored where not applicable."
100354
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
100355
100355
  },
100356
100356
  orientation: {
100357
100357
  type: "string",
@@ -136300,7 +136300,7 @@ var schemas_default = {
136300
136300
  startSurface: {
136301
136301
  $schema: "http://json-schema.org/draft-07/schema#",
136302
136302
  title: "startSurface",
136303
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
136303
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
136304
136304
  components: {
136305
136305
  schemas: {
136306
136306
  appDescriptor: {
@@ -136352,15 +136352,15 @@ var schemas_default = {
136352
136352
  install: {
136353
136353
  type: "string",
136354
136354
  minLength: 1,
136355
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
136355
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
136356
136356
  },
136357
136357
  activity: {
136358
136358
  type: "string",
136359
136359
  minLength: 1,
136360
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
136360
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
136361
136361
  },
136362
136362
  device: {
136363
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
136363
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
136364
136364
  anyOf: [
136365
136365
  {
136366
136366
  type: "string",
@@ -136393,7 +136393,7 @@ var schemas_default = {
136393
136393
  transform: [
136394
136394
  "trim"
136395
136395
  ],
136396
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
136396
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
136397
136397
  },
136398
136398
  deviceType: {
136399
136399
  type: "string",
@@ -136406,11 +136406,11 @@ var schemas_default = {
136406
136406
  osVersion: {
136407
136407
  type: "string",
136408
136408
  minLength: 1,
136409
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136409
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136410
136410
  },
136411
136411
  headless: {
136412
136412
  type: "boolean",
136413
- description: "Run the Android emulator without a window. Ignored where not applicable."
136413
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
136414
136414
  },
136415
136415
  orientation: {
136416
136416
  type: "string",
@@ -136582,7 +136582,7 @@ var schemas_default = {
136582
136582
  transform: [
136583
136583
  "trim"
136584
136584
  ],
136585
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
136585
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
136586
136586
  },
136587
136587
  deviceType: {
136588
136588
  type: "string",
@@ -136595,11 +136595,11 @@ var schemas_default = {
136595
136595
  osVersion: {
136596
136596
  type: "string",
136597
136597
  minLength: 1,
136598
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136598
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136599
136599
  },
136600
136600
  headless: {
136601
136601
  type: "boolean",
136602
- description: "Run the Android emulator without a window. Ignored where not applicable."
136602
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
136603
136603
  },
136604
136604
  orientation: {
136605
136605
  type: "string",
@@ -136698,15 +136698,15 @@ var schemas_default = {
136698
136698
  install: {
136699
136699
  type: "string",
136700
136700
  minLength: 1,
136701
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
136701
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
136702
136702
  },
136703
136703
  activity: {
136704
136704
  type: "string",
136705
136705
  minLength: 1,
136706
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
136706
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
136707
136707
  },
136708
136708
  device: {
136709
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
136709
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
136710
136710
  anyOf: [
136711
136711
  {
136712
136712
  type: "string",
@@ -136739,7 +136739,7 @@ var schemas_default = {
136739
136739
  transform: [
136740
136740
  "trim"
136741
136741
  ],
136742
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
136742
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
136743
136743
  },
136744
136744
  deviceType: {
136745
136745
  type: "string",
@@ -136752,11 +136752,11 @@ var schemas_default = {
136752
136752
  osVersion: {
136753
136753
  type: "string",
136754
136754
  minLength: 1,
136755
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136755
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
136756
136756
  },
136757
136757
  headless: {
136758
136758
  type: "boolean",
136759
- description: "Run the Android emulator without a window. Ignored where not applicable."
136759
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
136760
136760
  },
136761
136761
  orientation: {
136762
136762
  type: "string",
@@ -178491,7 +178491,7 @@ var schemas_default = {
178491
178491
  startSurface: {
178492
178492
  $schema: "http://json-schema.org/draft-07/schema#",
178493
178493
  title: "startSurface",
178494
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
178494
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
178495
178495
  components: {
178496
178496
  schemas: {
178497
178497
  appDescriptor: {
@@ -178543,15 +178543,15 @@ var schemas_default = {
178543
178543
  install: {
178544
178544
  type: "string",
178545
178545
  minLength: 1,
178546
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
178546
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
178547
178547
  },
178548
178548
  activity: {
178549
178549
  type: "string",
178550
178550
  minLength: 1,
178551
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
178551
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
178552
178552
  },
178553
178553
  device: {
178554
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
178554
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
178555
178555
  anyOf: [
178556
178556
  {
178557
178557
  type: "string",
@@ -178584,7 +178584,7 @@ var schemas_default = {
178584
178584
  transform: [
178585
178585
  "trim"
178586
178586
  ],
178587
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
178587
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
178588
178588
  },
178589
178589
  deviceType: {
178590
178590
  type: "string",
@@ -178597,11 +178597,11 @@ var schemas_default = {
178597
178597
  osVersion: {
178598
178598
  type: "string",
178599
178599
  minLength: 1,
178600
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178600
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178601
178601
  },
178602
178602
  headless: {
178603
178603
  type: "boolean",
178604
- description: "Run the Android emulator without a window. Ignored where not applicable."
178604
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
178605
178605
  },
178606
178606
  orientation: {
178607
178607
  type: "string",
@@ -178773,7 +178773,7 @@ var schemas_default = {
178773
178773
  transform: [
178774
178774
  "trim"
178775
178775
  ],
178776
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
178776
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
178777
178777
  },
178778
178778
  deviceType: {
178779
178779
  type: "string",
@@ -178786,11 +178786,11 @@ var schemas_default = {
178786
178786
  osVersion: {
178787
178787
  type: "string",
178788
178788
  minLength: 1,
178789
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178789
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178790
178790
  },
178791
178791
  headless: {
178792
178792
  type: "boolean",
178793
- description: "Run the Android emulator without a window. Ignored where not applicable."
178793
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
178794
178794
  },
178795
178795
  orientation: {
178796
178796
  type: "string",
@@ -178889,15 +178889,15 @@ var schemas_default = {
178889
178889
  install: {
178890
178890
  type: "string",
178891
178891
  minLength: 1,
178892
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
178892
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
178893
178893
  },
178894
178894
  activity: {
178895
178895
  type: "string",
178896
178896
  minLength: 1,
178897
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
178897
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
178898
178898
  },
178899
178899
  device: {
178900
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
178900
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
178901
178901
  anyOf: [
178902
178902
  {
178903
178903
  type: "string",
@@ -178930,7 +178930,7 @@ var schemas_default = {
178930
178930
  transform: [
178931
178931
  "trim"
178932
178932
  ],
178933
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
178933
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
178934
178934
  },
178935
178935
  deviceType: {
178936
178936
  type: "string",
@@ -178943,11 +178943,11 @@ var schemas_default = {
178943
178943
  osVersion: {
178944
178944
  type: "string",
178945
178945
  minLength: 1,
178946
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178946
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
178947
178947
  },
178948
178948
  headless: {
178949
178949
  type: "boolean",
178950
- description: "Run the Android emulator without a window. Ignored where not applicable."
178950
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
178951
178951
  },
178952
178952
  orientation: {
178953
178953
  type: "string",
@@ -184928,7 +184928,7 @@ var schemas_default = {
184928
184928
  ]
184929
184929
  },
184930
184930
  device: {
184931
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
184931
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
184932
184932
  examples: [
184933
184933
  "pixel7",
184934
184934
  {
@@ -184967,7 +184967,7 @@ var schemas_default = {
184967
184967
  transform: [
184968
184968
  "trim"
184969
184969
  ],
184970
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
184970
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
184971
184971
  },
184972
184972
  deviceType: {
184973
184973
  type: "string",
@@ -184980,11 +184980,11 @@ var schemas_default = {
184980
184980
  osVersion: {
184981
184981
  type: "string",
184982
184982
  minLength: 1,
184983
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
184983
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
184984
184984
  },
184985
184985
  headless: {
184986
184986
  type: "boolean",
184987
- description: "Run the Android emulator without a window. Ignored where not applicable."
184987
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
184988
184988
  },
184989
184989
  orientation: {
184990
184990
  type: "string",
@@ -185770,7 +185770,7 @@ var schemas_default = {
185770
185770
  ]
185771
185771
  },
185772
185772
  device: {
185773
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
185773
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
185774
185774
  examples: [
185775
185775
  "pixel7",
185776
185776
  {
@@ -185809,7 +185809,7 @@ var schemas_default = {
185809
185809
  transform: [
185810
185810
  "trim"
185811
185811
  ],
185812
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
185812
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
185813
185813
  },
185814
185814
  deviceType: {
185815
185815
  type: "string",
@@ -185822,11 +185822,11 @@ var schemas_default = {
185822
185822
  osVersion: {
185823
185823
  type: "string",
185824
185824
  minLength: 1,
185825
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
185825
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
185826
185826
  },
185827
185827
  headless: {
185828
185828
  type: "boolean",
185829
- description: "Run the Android emulator without a window. Ignored where not applicable."
185829
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
185830
185830
  },
185831
185831
  orientation: {
185832
185832
  type: "string",
@@ -222415,7 +222415,7 @@ var schemas_default = {
222415
222415
  startSurface: {
222416
222416
  $schema: "http://json-schema.org/draft-07/schema#",
222417
222417
  title: "startSurface",
222418
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
222418
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
222419
222419
  components: {
222420
222420
  schemas: {
222421
222421
  appDescriptor: {
@@ -222467,15 +222467,15 @@ var schemas_default = {
222467
222467
  install: {
222468
222468
  type: "string",
222469
222469
  minLength: 1,
222470
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
222470
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
222471
222471
  },
222472
222472
  activity: {
222473
222473
  type: "string",
222474
222474
  minLength: 1,
222475
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
222475
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
222476
222476
  },
222477
222477
  device: {
222478
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
222478
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
222479
222479
  anyOf: [
222480
222480
  {
222481
222481
  type: "string",
@@ -222508,7 +222508,7 @@ var schemas_default = {
222508
222508
  transform: [
222509
222509
  "trim"
222510
222510
  ],
222511
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
222511
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
222512
222512
  },
222513
222513
  deviceType: {
222514
222514
  type: "string",
@@ -222521,11 +222521,11 @@ var schemas_default = {
222521
222521
  osVersion: {
222522
222522
  type: "string",
222523
222523
  minLength: 1,
222524
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222524
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222525
222525
  },
222526
222526
  headless: {
222527
222527
  type: "boolean",
222528
- description: "Run the Android emulator without a window. Ignored where not applicable."
222528
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
222529
222529
  },
222530
222530
  orientation: {
222531
222531
  type: "string",
@@ -222697,7 +222697,7 @@ var schemas_default = {
222697
222697
  transform: [
222698
222698
  "trim"
222699
222699
  ],
222700
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
222700
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
222701
222701
  },
222702
222702
  deviceType: {
222703
222703
  type: "string",
@@ -222710,11 +222710,11 @@ var schemas_default = {
222710
222710
  osVersion: {
222711
222711
  type: "string",
222712
222712
  minLength: 1,
222713
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222713
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222714
222714
  },
222715
222715
  headless: {
222716
222716
  type: "boolean",
222717
- description: "Run the Android emulator without a window. Ignored where not applicable."
222717
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
222718
222718
  },
222719
222719
  orientation: {
222720
222720
  type: "string",
@@ -222813,15 +222813,15 @@ var schemas_default = {
222813
222813
  install: {
222814
222814
  type: "string",
222815
222815
  minLength: 1,
222816
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
222816
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
222817
222817
  },
222818
222818
  activity: {
222819
222819
  type: "string",
222820
222820
  minLength: 1,
222821
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
222821
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
222822
222822
  },
222823
222823
  device: {
222824
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
222824
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
222825
222825
  anyOf: [
222826
222826
  {
222827
222827
  type: "string",
@@ -222854,7 +222854,7 @@ var schemas_default = {
222854
222854
  transform: [
222855
222855
  "trim"
222856
222856
  ],
222857
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
222857
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
222858
222858
  },
222859
222859
  deviceType: {
222860
222860
  type: "string",
@@ -222867,11 +222867,11 @@ var schemas_default = {
222867
222867
  osVersion: {
222868
222868
  type: "string",
222869
222869
  minLength: 1,
222870
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222870
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
222871
222871
  },
222872
222872
  headless: {
222873
222873
  type: "boolean",
222874
- description: "Run the Android emulator without a window. Ignored where not applicable."
222874
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
222875
222875
  },
222876
222876
  orientation: {
222877
222877
  type: "string",
@@ -263905,7 +263905,7 @@ var schemas_default = {
263905
263905
  startSurface: {
263906
263906
  $schema: "http://json-schema.org/draft-07/schema#",
263907
263907
  title: "startSurface",
263908
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
263908
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
263909
263909
  components: {
263910
263910
  schemas: {
263911
263911
  appDescriptor: {
@@ -263957,15 +263957,15 @@ var schemas_default = {
263957
263957
  install: {
263958
263958
  type: "string",
263959
263959
  minLength: 1,
263960
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
263960
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
263961
263961
  },
263962
263962
  activity: {
263963
263963
  type: "string",
263964
263964
  minLength: 1,
263965
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
263965
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
263966
263966
  },
263967
263967
  device: {
263968
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
263968
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
263969
263969
  anyOf: [
263970
263970
  {
263971
263971
  type: "string",
@@ -263998,7 +263998,7 @@ var schemas_default = {
263998
263998
  transform: [
263999
263999
  "trim"
264000
264000
  ],
264001
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
264001
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
264002
264002
  },
264003
264003
  deviceType: {
264004
264004
  type: "string",
@@ -264011,11 +264011,11 @@ var schemas_default = {
264011
264011
  osVersion: {
264012
264012
  type: "string",
264013
264013
  minLength: 1,
264014
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264014
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264015
264015
  },
264016
264016
  headless: {
264017
264017
  type: "boolean",
264018
- description: "Run the Android emulator without a window. Ignored where not applicable."
264018
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
264019
264019
  },
264020
264020
  orientation: {
264021
264021
  type: "string",
@@ -264187,7 +264187,7 @@ var schemas_default = {
264187
264187
  transform: [
264188
264188
  "trim"
264189
264189
  ],
264190
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
264190
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
264191
264191
  },
264192
264192
  deviceType: {
264193
264193
  type: "string",
@@ -264200,11 +264200,11 @@ var schemas_default = {
264200
264200
  osVersion: {
264201
264201
  type: "string",
264202
264202
  minLength: 1,
264203
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264203
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264204
264204
  },
264205
264205
  headless: {
264206
264206
  type: "boolean",
264207
- description: "Run the Android emulator without a window. Ignored where not applicable."
264207
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
264208
264208
  },
264209
264209
  orientation: {
264210
264210
  type: "string",
@@ -264303,15 +264303,15 @@ var schemas_default = {
264303
264303
  install: {
264304
264304
  type: "string",
264305
264305
  minLength: 1,
264306
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
264306
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
264307
264307
  },
264308
264308
  activity: {
264309
264309
  type: "string",
264310
264310
  minLength: 1,
264311
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
264311
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
264312
264312
  },
264313
264313
  device: {
264314
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
264314
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
264315
264315
  anyOf: [
264316
264316
  {
264317
264317
  type: "string",
@@ -264344,7 +264344,7 @@ var schemas_default = {
264344
264344
  transform: [
264345
264345
  "trim"
264346
264346
  ],
264347
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
264347
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
264348
264348
  },
264349
264349
  deviceType: {
264350
264350
  type: "string",
@@ -264357,11 +264357,11 @@ var schemas_default = {
264357
264357
  osVersion: {
264358
264358
  type: "string",
264359
264359
  minLength: 1,
264360
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264360
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
264361
264361
  },
264362
264362
  headless: {
264363
264363
  type: "boolean",
264364
- description: "Run the Android emulator without a window. Ignored where not applicable."
264364
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
264365
264365
  },
264366
264366
  orientation: {
264367
264367
  type: "string",
@@ -270829,7 +270829,7 @@ var schemas_default = {
270829
270829
  ]
270830
270830
  },
270831
270831
  device: {
270832
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
270832
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
270833
270833
  examples: [
270834
270834
  "pixel7",
270835
270835
  {
@@ -270868,7 +270868,7 @@ var schemas_default = {
270868
270868
  transform: [
270869
270869
  "trim"
270870
270870
  ],
270871
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
270871
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
270872
270872
  },
270873
270873
  deviceType: {
270874
270874
  type: "string",
@@ -270881,11 +270881,11 @@ var schemas_default = {
270881
270881
  osVersion: {
270882
270882
  type: "string",
270883
270883
  minLength: 1,
270884
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
270884
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
270885
270885
  },
270886
270886
  headless: {
270887
270887
  type: "boolean",
270888
- description: "Run the Android emulator without a window. Ignored where not applicable."
270888
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
270889
270889
  },
270890
270890
  orientation: {
270891
270891
  type: "string",
@@ -271671,7 +271671,7 @@ var schemas_default = {
271671
271671
  ]
271672
271672
  },
271673
271673
  device: {
271674
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
271674
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
271675
271675
  examples: [
271676
271676
  "pixel7",
271677
271677
  {
@@ -271710,7 +271710,7 @@ var schemas_default = {
271710
271710
  transform: [
271711
271711
  "trim"
271712
271712
  ],
271713
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
271713
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
271714
271714
  },
271715
271715
  deviceType: {
271716
271716
  type: "string",
@@ -271723,11 +271723,11 @@ var schemas_default = {
271723
271723
  osVersion: {
271724
271724
  type: "string",
271725
271725
  minLength: 1,
271726
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
271726
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
271727
271727
  },
271728
271728
  headless: {
271729
271729
  type: "boolean",
271730
- description: "Run the Android emulator without a window. Ignored where not applicable."
271730
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
271731
271731
  },
271732
271732
  orientation: {
271733
271733
  type: "string",
@@ -308316,7 +308316,7 @@ var schemas_default = {
308316
308316
  startSurface: {
308317
308317
  $schema: "http://json-schema.org/draft-07/schema#",
308318
308318
  title: "startSurface",
308319
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
308319
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
308320
308320
  components: {
308321
308321
  schemas: {
308322
308322
  appDescriptor: {
@@ -308368,15 +308368,15 @@ var schemas_default = {
308368
308368
  install: {
308369
308369
  type: "string",
308370
308370
  minLength: 1,
308371
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
308371
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
308372
308372
  },
308373
308373
  activity: {
308374
308374
  type: "string",
308375
308375
  minLength: 1,
308376
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
308376
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
308377
308377
  },
308378
308378
  device: {
308379
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
308379
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
308380
308380
  anyOf: [
308381
308381
  {
308382
308382
  type: "string",
@@ -308409,7 +308409,7 @@ var schemas_default = {
308409
308409
  transform: [
308410
308410
  "trim"
308411
308411
  ],
308412
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
308412
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
308413
308413
  },
308414
308414
  deviceType: {
308415
308415
  type: "string",
@@ -308422,11 +308422,11 @@ var schemas_default = {
308422
308422
  osVersion: {
308423
308423
  type: "string",
308424
308424
  minLength: 1,
308425
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308425
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308426
308426
  },
308427
308427
  headless: {
308428
308428
  type: "boolean",
308429
- description: "Run the Android emulator without a window. Ignored where not applicable."
308429
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
308430
308430
  },
308431
308431
  orientation: {
308432
308432
  type: "string",
@@ -308598,7 +308598,7 @@ var schemas_default = {
308598
308598
  transform: [
308599
308599
  "trim"
308600
308600
  ],
308601
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
308601
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
308602
308602
  },
308603
308603
  deviceType: {
308604
308604
  type: "string",
@@ -308611,11 +308611,11 @@ var schemas_default = {
308611
308611
  osVersion: {
308612
308612
  type: "string",
308613
308613
  minLength: 1,
308614
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308614
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308615
308615
  },
308616
308616
  headless: {
308617
308617
  type: "boolean",
308618
- description: "Run the Android emulator without a window. Ignored where not applicable."
308618
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
308619
308619
  },
308620
308620
  orientation: {
308621
308621
  type: "string",
@@ -308714,15 +308714,15 @@ var schemas_default = {
308714
308714
  install: {
308715
308715
  type: "string",
308716
308716
  minLength: 1,
308717
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
308717
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
308718
308718
  },
308719
308719
  activity: {
308720
308720
  type: "string",
308721
308721
  minLength: 1,
308722
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
308722
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
308723
308723
  },
308724
308724
  device: {
308725
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
308725
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
308726
308726
  anyOf: [
308727
308727
  {
308728
308728
  type: "string",
@@ -308755,7 +308755,7 @@ var schemas_default = {
308755
308755
  transform: [
308756
308756
  "trim"
308757
308757
  ],
308758
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
308758
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
308759
308759
  },
308760
308760
  deviceType: {
308761
308761
  type: "string",
@@ -308768,11 +308768,11 @@ var schemas_default = {
308768
308768
  osVersion: {
308769
308769
  type: "string",
308770
308770
  minLength: 1,
308771
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308771
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
308772
308772
  },
308773
308773
  headless: {
308774
308774
  type: "boolean",
308775
- description: "Run the Android emulator without a window. Ignored where not applicable."
308775
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
308776
308776
  },
308777
308777
  orientation: {
308778
308778
  type: "string",
@@ -349806,7 +349806,7 @@ var schemas_default = {
349806
349806
  startSurface: {
349807
349807
  $schema: "http://json-schema.org/draft-07/schema#",
349808
349808
  title: "startSurface",
349809
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
349809
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
349810
349810
  components: {
349811
349811
  schemas: {
349812
349812
  appDescriptor: {
@@ -349858,15 +349858,15 @@ var schemas_default = {
349858
349858
  install: {
349859
349859
  type: "string",
349860
349860
  minLength: 1,
349861
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
349861
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
349862
349862
  },
349863
349863
  activity: {
349864
349864
  type: "string",
349865
349865
  minLength: 1,
349866
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
349866
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
349867
349867
  },
349868
349868
  device: {
349869
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
349869
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
349870
349870
  anyOf: [
349871
349871
  {
349872
349872
  type: "string",
@@ -349899,7 +349899,7 @@ var schemas_default = {
349899
349899
  transform: [
349900
349900
  "trim"
349901
349901
  ],
349902
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
349902
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
349903
349903
  },
349904
349904
  deviceType: {
349905
349905
  type: "string",
@@ -349912,11 +349912,11 @@ var schemas_default = {
349912
349912
  osVersion: {
349913
349913
  type: "string",
349914
349914
  minLength: 1,
349915
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
349915
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
349916
349916
  },
349917
349917
  headless: {
349918
349918
  type: "boolean",
349919
- description: "Run the Android emulator without a window. Ignored where not applicable."
349919
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
349920
349920
  },
349921
349921
  orientation: {
349922
349922
  type: "string",
@@ -350088,7 +350088,7 @@ var schemas_default = {
350088
350088
  transform: [
350089
350089
  "trim"
350090
350090
  ],
350091
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
350091
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
350092
350092
  },
350093
350093
  deviceType: {
350094
350094
  type: "string",
@@ -350101,11 +350101,11 @@ var schemas_default = {
350101
350101
  osVersion: {
350102
350102
  type: "string",
350103
350103
  minLength: 1,
350104
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
350104
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
350105
350105
  },
350106
350106
  headless: {
350107
350107
  type: "boolean",
350108
- description: "Run the Android emulator without a window. Ignored where not applicable."
350108
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
350109
350109
  },
350110
350110
  orientation: {
350111
350111
  type: "string",
@@ -350204,15 +350204,15 @@ var schemas_default = {
350204
350204
  install: {
350205
350205
  type: "string",
350206
350206
  minLength: 1,
350207
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
350207
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
350208
350208
  },
350209
350209
  activity: {
350210
350210
  type: "string",
350211
350211
  minLength: 1,
350212
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
350212
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
350213
350213
  },
350214
350214
  device: {
350215
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
350215
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
350216
350216
  anyOf: [
350217
350217
  {
350218
350218
  type: "string",
@@ -350245,7 +350245,7 @@ var schemas_default = {
350245
350245
  transform: [
350246
350246
  "trim"
350247
350247
  ],
350248
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
350248
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
350249
350249
  },
350250
350250
  deviceType: {
350251
350251
  type: "string",
@@ -350258,11 +350258,11 @@ var schemas_default = {
350258
350258
  osVersion: {
350259
350259
  type: "string",
350260
350260
  minLength: 1,
350261
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
350261
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
350262
350262
  },
350263
350263
  headless: {
350264
350264
  type: "boolean",
350265
- description: "Run the Android emulator without a window. Ignored where not applicable."
350265
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
350266
350266
  },
350267
350267
  orientation: {
350268
350268
  type: "string",
@@ -359943,7 +359943,7 @@ var schemas_default = {
359943
359943
  ]
359944
359944
  },
359945
359945
  device: {
359946
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
359946
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
359947
359947
  examples: [
359948
359948
  "pixel7",
359949
359949
  {
@@ -359982,7 +359982,7 @@ var schemas_default = {
359982
359982
  transform: [
359983
359983
  "trim"
359984
359984
  ],
359985
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
359985
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
359986
359986
  },
359987
359987
  deviceType: {
359988
359988
  type: "string",
@@ -359995,11 +359995,11 @@ var schemas_default = {
359995
359995
  osVersion: {
359996
359996
  type: "string",
359997
359997
  minLength: 1,
359998
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
359998
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
359999
359999
  },
360000
360000
  headless: {
360001
360001
  type: "boolean",
360002
- description: "Run the Android emulator without a window. Ignored where not applicable."
360002
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
360003
360003
  },
360004
360004
  orientation: {
360005
360005
  type: "string",
@@ -360785,7 +360785,7 @@ var schemas_default = {
360785
360785
  ]
360786
360786
  },
360787
360787
  device: {
360788
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
360788
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
360789
360789
  examples: [
360790
360790
  "pixel7",
360791
360791
  {
@@ -360824,7 +360824,7 @@ var schemas_default = {
360824
360824
  transform: [
360825
360825
  "trim"
360826
360826
  ],
360827
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
360827
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
360828
360828
  },
360829
360829
  deviceType: {
360830
360830
  type: "string",
@@ -360837,11 +360837,11 @@ var schemas_default = {
360837
360837
  osVersion: {
360838
360838
  type: "string",
360839
360839
  minLength: 1,
360840
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
360840
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
360841
360841
  },
360842
360842
  headless: {
360843
360843
  type: "boolean",
360844
- description: "Run the Android emulator without a window. Ignored where not applicable."
360844
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
360845
360845
  },
360846
360846
  orientation: {
360847
360847
  type: "string",
@@ -397430,7 +397430,7 @@ var schemas_default = {
397430
397430
  startSurface: {
397431
397431
  $schema: "http://json-schema.org/draft-07/schema#",
397432
397432
  title: "startSurface",
397433
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
397433
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
397434
397434
  components: {
397435
397435
  schemas: {
397436
397436
  appDescriptor: {
@@ -397482,15 +397482,15 @@ var schemas_default = {
397482
397482
  install: {
397483
397483
  type: "string",
397484
397484
  minLength: 1,
397485
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
397485
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
397486
397486
  },
397487
397487
  activity: {
397488
397488
  type: "string",
397489
397489
  minLength: 1,
397490
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
397490
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
397491
397491
  },
397492
397492
  device: {
397493
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
397493
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
397494
397494
  anyOf: [
397495
397495
  {
397496
397496
  type: "string",
@@ -397523,7 +397523,7 @@ var schemas_default = {
397523
397523
  transform: [
397524
397524
  "trim"
397525
397525
  ],
397526
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
397526
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
397527
397527
  },
397528
397528
  deviceType: {
397529
397529
  type: "string",
@@ -397536,11 +397536,11 @@ var schemas_default = {
397536
397536
  osVersion: {
397537
397537
  type: "string",
397538
397538
  minLength: 1,
397539
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397539
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397540
397540
  },
397541
397541
  headless: {
397542
397542
  type: "boolean",
397543
- description: "Run the Android emulator without a window. Ignored where not applicable."
397543
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
397544
397544
  },
397545
397545
  orientation: {
397546
397546
  type: "string",
@@ -397712,7 +397712,7 @@ var schemas_default = {
397712
397712
  transform: [
397713
397713
  "trim"
397714
397714
  ],
397715
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
397715
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
397716
397716
  },
397717
397717
  deviceType: {
397718
397718
  type: "string",
@@ -397725,11 +397725,11 @@ var schemas_default = {
397725
397725
  osVersion: {
397726
397726
  type: "string",
397727
397727
  minLength: 1,
397728
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397728
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397729
397729
  },
397730
397730
  headless: {
397731
397731
  type: "boolean",
397732
- description: "Run the Android emulator without a window. Ignored where not applicable."
397732
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
397733
397733
  },
397734
397734
  orientation: {
397735
397735
  type: "string",
@@ -397828,15 +397828,15 @@ var schemas_default = {
397828
397828
  install: {
397829
397829
  type: "string",
397830
397830
  minLength: 1,
397831
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
397831
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
397832
397832
  },
397833
397833
  activity: {
397834
397834
  type: "string",
397835
397835
  minLength: 1,
397836
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
397836
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
397837
397837
  },
397838
397838
  device: {
397839
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
397839
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
397840
397840
  anyOf: [
397841
397841
  {
397842
397842
  type: "string",
@@ -397869,7 +397869,7 @@ var schemas_default = {
397869
397869
  transform: [
397870
397870
  "trim"
397871
397871
  ],
397872
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
397872
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
397873
397873
  },
397874
397874
  deviceType: {
397875
397875
  type: "string",
@@ -397882,11 +397882,11 @@ var schemas_default = {
397882
397882
  osVersion: {
397883
397883
  type: "string",
397884
397884
  minLength: 1,
397885
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397885
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
397886
397886
  },
397887
397887
  headless: {
397888
397888
  type: "boolean",
397889
- description: "Run the Android emulator without a window. Ignored where not applicable."
397889
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
397890
397890
  },
397891
397891
  orientation: {
397892
397892
  type: "string",
@@ -438920,7 +438920,7 @@ var schemas_default = {
438920
438920
  startSurface: {
438921
438921
  $schema: "http://json-schema.org/draft-07/schema#",
438922
438922
  title: "startSurface",
438923
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
438923
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
438924
438924
  components: {
438925
438925
  schemas: {
438926
438926
  appDescriptor: {
@@ -438972,15 +438972,15 @@ var schemas_default = {
438972
438972
  install: {
438973
438973
  type: "string",
438974
438974
  minLength: 1,
438975
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
438975
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
438976
438976
  },
438977
438977
  activity: {
438978
438978
  type: "string",
438979
438979
  minLength: 1,
438980
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
438980
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
438981
438981
  },
438982
438982
  device: {
438983
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
438983
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
438984
438984
  anyOf: [
438985
438985
  {
438986
438986
  type: "string",
@@ -439013,7 +439013,7 @@ var schemas_default = {
439013
439013
  transform: [
439014
439014
  "trim"
439015
439015
  ],
439016
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
439016
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
439017
439017
  },
439018
439018
  deviceType: {
439019
439019
  type: "string",
@@ -439026,11 +439026,11 @@ var schemas_default = {
439026
439026
  osVersion: {
439027
439027
  type: "string",
439028
439028
  minLength: 1,
439029
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439029
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439030
439030
  },
439031
439031
  headless: {
439032
439032
  type: "boolean",
439033
- description: "Run the Android emulator without a window. Ignored where not applicable."
439033
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
439034
439034
  },
439035
439035
  orientation: {
439036
439036
  type: "string",
@@ -439202,7 +439202,7 @@ var schemas_default = {
439202
439202
  transform: [
439203
439203
  "trim"
439204
439204
  ],
439205
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
439205
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
439206
439206
  },
439207
439207
  deviceType: {
439208
439208
  type: "string",
@@ -439215,11 +439215,11 @@ var schemas_default = {
439215
439215
  osVersion: {
439216
439216
  type: "string",
439217
439217
  minLength: 1,
439218
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439218
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439219
439219
  },
439220
439220
  headless: {
439221
439221
  type: "boolean",
439222
- description: "Run the Android emulator without a window. Ignored where not applicable."
439222
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
439223
439223
  },
439224
439224
  orientation: {
439225
439225
  type: "string",
@@ -439318,15 +439318,15 @@ var schemas_default = {
439318
439318
  install: {
439319
439319
  type: "string",
439320
439320
  minLength: 1,
439321
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
439321
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
439322
439322
  },
439323
439323
  activity: {
439324
439324
  type: "string",
439325
439325
  minLength: 1,
439326
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
439326
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
439327
439327
  },
439328
439328
  device: {
439329
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
439329
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
439330
439330
  anyOf: [
439331
439331
  {
439332
439332
  type: "string",
@@ -439359,7 +439359,7 @@ var schemas_default = {
439359
439359
  transform: [
439360
439360
  "trim"
439361
439361
  ],
439362
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
439362
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
439363
439363
  },
439364
439364
  deviceType: {
439365
439365
  type: "string",
@@ -439372,11 +439372,11 @@ var schemas_default = {
439372
439372
  osVersion: {
439373
439373
  type: "string",
439374
439374
  minLength: 1,
439375
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439375
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
439376
439376
  },
439377
439377
  headless: {
439378
439378
  type: "boolean",
439379
- description: "Run the Android emulator without a window. Ignored where not applicable."
439379
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
439380
439380
  },
439381
439381
  orientation: {
439382
439382
  type: "string",
@@ -445216,7 +445216,7 @@ var schemas_default = {
445216
445216
  startSurface_v3: {
445217
445217
  $schema: "http://json-schema.org/draft-07/schema#",
445218
445218
  title: "startSurface",
445219
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
445219
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
445220
445220
  components: {
445221
445221
  schemas: {
445222
445222
  appDescriptor: {
@@ -445268,15 +445268,15 @@ var schemas_default = {
445268
445268
  install: {
445269
445269
  type: "string",
445270
445270
  minLength: 1,
445271
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
445271
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
445272
445272
  },
445273
445273
  activity: {
445274
445274
  type: "string",
445275
445275
  minLength: 1,
445276
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
445276
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
445277
445277
  },
445278
445278
  device: {
445279
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
445279
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
445280
445280
  anyOf: [
445281
445281
  {
445282
445282
  type: "string",
@@ -445309,7 +445309,7 @@ var schemas_default = {
445309
445309
  transform: [
445310
445310
  "trim"
445311
445311
  ],
445312
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
445312
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
445313
445313
  },
445314
445314
  deviceType: {
445315
445315
  type: "string",
@@ -445322,11 +445322,11 @@ var schemas_default = {
445322
445322
  osVersion: {
445323
445323
  type: "string",
445324
445324
  minLength: 1,
445325
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445325
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445326
445326
  },
445327
445327
  headless: {
445328
445328
  type: "boolean",
445329
- description: "Run the Android emulator without a window. Ignored where not applicable."
445329
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
445330
445330
  },
445331
445331
  orientation: {
445332
445332
  type: "string",
@@ -445498,7 +445498,7 @@ var schemas_default = {
445498
445498
  transform: [
445499
445499
  "trim"
445500
445500
  ],
445501
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
445501
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
445502
445502
  },
445503
445503
  deviceType: {
445504
445504
  type: "string",
@@ -445511,11 +445511,11 @@ var schemas_default = {
445511
445511
  osVersion: {
445512
445512
  type: "string",
445513
445513
  minLength: 1,
445514
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445514
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445515
445515
  },
445516
445516
  headless: {
445517
445517
  type: "boolean",
445518
- description: "Run the Android emulator without a window. Ignored where not applicable."
445518
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
445519
445519
  },
445520
445520
  orientation: {
445521
445521
  type: "string",
@@ -445614,15 +445614,15 @@ var schemas_default = {
445614
445614
  install: {
445615
445615
  type: "string",
445616
445616
  minLength: 1,
445617
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
445617
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
445618
445618
  },
445619
445619
  activity: {
445620
445620
  type: "string",
445621
445621
  minLength: 1,
445622
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
445622
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
445623
445623
  },
445624
445624
  device: {
445625
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
445625
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
445626
445626
  anyOf: [
445627
445627
  {
445628
445628
  type: "string",
@@ -445655,7 +445655,7 @@ var schemas_default = {
445655
445655
  transform: [
445656
445656
  "trim"
445657
445657
  ],
445658
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
445658
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
445659
445659
  },
445660
445660
  deviceType: {
445661
445661
  type: "string",
@@ -445668,11 +445668,11 @@ var schemas_default = {
445668
445668
  osVersion: {
445669
445669
  type: "string",
445670
445670
  minLength: 1,
445671
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445671
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
445672
445672
  },
445673
445673
  headless: {
445674
445674
  type: "boolean",
445675
- description: "Run the Android emulator without a window. Ignored where not applicable."
445675
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
445676
445676
  },
445677
445677
  orientation: {
445678
445678
  type: "string",
@@ -481296,7 +481296,7 @@ var schemas_default = {
481296
481296
  startSurface: {
481297
481297
  $schema: "http://json-schema.org/draft-07/schema#",
481298
481298
  title: "startSurface",
481299
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
481299
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
481300
481300
  components: {
481301
481301
  schemas: {
481302
481302
  appDescriptor: {
@@ -481348,15 +481348,15 @@ var schemas_default = {
481348
481348
  install: {
481349
481349
  type: "string",
481350
481350
  minLength: 1,
481351
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
481351
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
481352
481352
  },
481353
481353
  activity: {
481354
481354
  type: "string",
481355
481355
  minLength: 1,
481356
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
481356
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
481357
481357
  },
481358
481358
  device: {
481359
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
481359
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
481360
481360
  anyOf: [
481361
481361
  {
481362
481362
  type: "string",
@@ -481389,7 +481389,7 @@ var schemas_default = {
481389
481389
  transform: [
481390
481390
  "trim"
481391
481391
  ],
481392
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
481392
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
481393
481393
  },
481394
481394
  deviceType: {
481395
481395
  type: "string",
@@ -481402,11 +481402,11 @@ var schemas_default = {
481402
481402
  osVersion: {
481403
481403
  type: "string",
481404
481404
  minLength: 1,
481405
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481405
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481406
481406
  },
481407
481407
  headless: {
481408
481408
  type: "boolean",
481409
- description: "Run the Android emulator without a window. Ignored where not applicable."
481409
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
481410
481410
  },
481411
481411
  orientation: {
481412
481412
  type: "string",
@@ -481578,7 +481578,7 @@ var schemas_default = {
481578
481578
  transform: [
481579
481579
  "trim"
481580
481580
  ],
481581
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
481581
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
481582
481582
  },
481583
481583
  deviceType: {
481584
481584
  type: "string",
@@ -481591,11 +481591,11 @@ var schemas_default = {
481591
481591
  osVersion: {
481592
481592
  type: "string",
481593
481593
  minLength: 1,
481594
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481594
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481595
481595
  },
481596
481596
  headless: {
481597
481597
  type: "boolean",
481598
- description: "Run the Android emulator without a window. Ignored where not applicable."
481598
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
481599
481599
  },
481600
481600
  orientation: {
481601
481601
  type: "string",
@@ -481694,15 +481694,15 @@ var schemas_default = {
481694
481694
  install: {
481695
481695
  type: "string",
481696
481696
  minLength: 1,
481697
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
481697
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
481698
481698
  },
481699
481699
  activity: {
481700
481700
  type: "string",
481701
481701
  minLength: 1,
481702
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
481702
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
481703
481703
  },
481704
481704
  device: {
481705
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
481705
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
481706
481706
  anyOf: [
481707
481707
  {
481708
481708
  type: "string",
@@ -481735,7 +481735,7 @@ var schemas_default = {
481735
481735
  transform: [
481736
481736
  "trim"
481737
481737
  ],
481738
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
481738
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
481739
481739
  },
481740
481740
  deviceType: {
481741
481741
  type: "string",
@@ -481748,11 +481748,11 @@ var schemas_default = {
481748
481748
  osVersion: {
481749
481749
  type: "string",
481750
481750
  minLength: 1,
481751
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481751
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
481752
481752
  },
481753
481753
  headless: {
481754
481754
  type: "boolean",
481755
- description: "Run the Android emulator without a window. Ignored where not applicable."
481755
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
481756
481756
  },
481757
481757
  orientation: {
481758
481758
  type: "string",
@@ -488090,7 +488090,7 @@ var schemas_default = {
488090
488090
  ]
488091
488091
  },
488092
488092
  device: {
488093
- description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android`). Same shape as `startSurface.device`.",
488093
+ description: "Default device for a mobile (`android`/`ios`) context. A string references a device by name; an object refines it. The `platform` is implied by the context, so it is not required here. When the named device doesn't already exist, Doc Detective creates it with defaults (see `deviceType`/`osVersion`), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`). Same shape as `startSurface.device`.",
488094
488094
  examples: [
488095
488095
  "pixel7",
488096
488096
  {
@@ -488129,7 +488129,7 @@ var schemas_default = {
488129
488129
  transform: [
488130
488130
  "trim"
488131
488131
  ],
488132
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
488132
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
488133
488133
  },
488134
488134
  deviceType: {
488135
488135
  type: "string",
@@ -488142,11 +488142,11 @@ var schemas_default = {
488142
488142
  osVersion: {
488143
488143
  type: "string",
488144
488144
  minLength: 1,
488145
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
488145
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
488146
488146
  },
488147
488147
  headless: {
488148
488148
  type: "boolean",
488149
- description: "Run the Android emulator without a window. Ignored where not applicable."
488149
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
488150
488150
  },
488151
488151
  orientation: {
488152
488152
  type: "string",
@@ -524735,7 +524735,7 @@ var schemas_default = {
524735
524735
  startSurface: {
524736
524736
  $schema: "http://json-schema.org/draft-07/schema#",
524737
524737
  title: "startSurface",
524738
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
524738
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
524739
524739
  components: {
524740
524740
  schemas: {
524741
524741
  appDescriptor: {
@@ -524787,15 +524787,15 @@ var schemas_default = {
524787
524787
  install: {
524788
524788
  type: "string",
524789
524789
  minLength: 1,
524790
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
524790
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
524791
524791
  },
524792
524792
  activity: {
524793
524793
  type: "string",
524794
524794
  minLength: 1,
524795
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
524795
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
524796
524796
  },
524797
524797
  device: {
524798
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
524798
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
524799
524799
  anyOf: [
524800
524800
  {
524801
524801
  type: "string",
@@ -524828,7 +524828,7 @@ var schemas_default = {
524828
524828
  transform: [
524829
524829
  "trim"
524830
524830
  ],
524831
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
524831
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
524832
524832
  },
524833
524833
  deviceType: {
524834
524834
  type: "string",
@@ -524841,11 +524841,11 @@ var schemas_default = {
524841
524841
  osVersion: {
524842
524842
  type: "string",
524843
524843
  minLength: 1,
524844
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
524844
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
524845
524845
  },
524846
524846
  headless: {
524847
524847
  type: "boolean",
524848
- description: "Run the Android emulator without a window. Ignored where not applicable."
524848
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
524849
524849
  },
524850
524850
  orientation: {
524851
524851
  type: "string",
@@ -525017,7 +525017,7 @@ var schemas_default = {
525017
525017
  transform: [
525018
525018
  "trim"
525019
525019
  ],
525020
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
525020
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
525021
525021
  },
525022
525022
  deviceType: {
525023
525023
  type: "string",
@@ -525030,11 +525030,11 @@ var schemas_default = {
525030
525030
  osVersion: {
525031
525031
  type: "string",
525032
525032
  minLength: 1,
525033
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
525033
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
525034
525034
  },
525035
525035
  headless: {
525036
525036
  type: "boolean",
525037
- description: "Run the Android emulator without a window. Ignored where not applicable."
525037
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
525038
525038
  },
525039
525039
  orientation: {
525040
525040
  type: "string",
@@ -525133,15 +525133,15 @@ var schemas_default = {
525133
525133
  install: {
525134
525134
  type: "string",
525135
525135
  minLength: 1,
525136
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
525136
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
525137
525137
  },
525138
525138
  activity: {
525139
525139
  type: "string",
525140
525140
  minLength: 1,
525141
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
525141
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
525142
525142
  },
525143
525143
  device: {
525144
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
525144
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
525145
525145
  anyOf: [
525146
525146
  {
525147
525147
  type: "string",
@@ -525174,7 +525174,7 @@ var schemas_default = {
525174
525174
  transform: [
525175
525175
  "trim"
525176
525176
  ],
525177
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
525177
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
525178
525178
  },
525179
525179
  deviceType: {
525180
525180
  type: "string",
@@ -525187,11 +525187,11 @@ var schemas_default = {
525187
525187
  osVersion: {
525188
525188
  type: "string",
525189
525189
  minLength: 1,
525190
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
525190
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
525191
525191
  },
525192
525192
  headless: {
525193
525193
  type: "boolean",
525194
- description: "Run the Android emulator without a window. Ignored where not applicable."
525194
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
525195
525195
  },
525196
525196
  orientation: {
525197
525197
  type: "string",
@@ -566225,7 +566225,7 @@ var schemas_default = {
566225
566225
  startSurface: {
566226
566226
  $schema: "http://json-schema.org/draft-07/schema#",
566227
566227
  title: "startSurface",
566228
- description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator via the `device`, `install`, and `activity` fields (iOS lands in A4). Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
566228
+ description: "Open (provision) a surface and register it by name so later steps can target it with `surface`. Phases A1\u2013A2 ship the desktop native app branch: launch a Windows or macOS application by executable path, `.app` path, bundle ID, or UWP AppUserModelID. macOS additionally requires the Accessibility permission for the process that runs Doc Detective (System Settings \u2192 Privacy & Security \u2192 Accessibility); without it the context lands as SKIPPED with a walkthrough. Phase A3 adds Android apps on a managed emulator, and phase A4 adds iOS app surfaces on macOS via XCUITest/simctl. Browser/process branches and the parallel array form arrive with multi-surface Phase 6. See docs/design/native-app-surfaces.md.",
566229
566229
  components: {
566230
566230
  schemas: {
566231
566231
  appDescriptor: {
@@ -566277,15 +566277,15 @@ var schemas_default = {
566277
566277
  install: {
566278
566278
  type: "string",
566279
566279
  minLength: 1,
566280
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
566280
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
566281
566281
  },
566282
566282
  activity: {
566283
566283
  type: "string",
566284
566284
  minLength: 1,
566285
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
566285
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
566286
566286
  },
566287
566287
  device: {
566288
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
566288
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
566289
566289
  anyOf: [
566290
566290
  {
566291
566291
  type: "string",
@@ -566318,7 +566318,7 @@ var schemas_default = {
566318
566318
  transform: [
566319
566319
  "trim"
566320
566320
  ],
566321
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
566321
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
566322
566322
  },
566323
566323
  deviceType: {
566324
566324
  type: "string",
@@ -566331,11 +566331,11 @@ var schemas_default = {
566331
566331
  osVersion: {
566332
566332
  type: "string",
566333
566333
  minLength: 1,
566334
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566334
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566335
566335
  },
566336
566336
  headless: {
566337
566337
  type: "boolean",
566338
- description: "Run the Android emulator without a window. Ignored where not applicable."
566338
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
566339
566339
  },
566340
566340
  orientation: {
566341
566341
  type: "string",
@@ -566507,7 +566507,7 @@ var schemas_default = {
566507
566507
  transform: [
566508
566508
  "trim"
566509
566509
  ],
566510
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
566510
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
566511
566511
  },
566512
566512
  deviceType: {
566513
566513
  type: "string",
@@ -566520,11 +566520,11 @@ var schemas_default = {
566520
566520
  osVersion: {
566521
566521
  type: "string",
566522
566522
  minLength: 1,
566523
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566523
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566524
566524
  },
566525
566525
  headless: {
566526
566526
  type: "boolean",
566527
- description: "Run the Android emulator without a window. Ignored where not applicable."
566527
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
566528
566528
  },
566529
566529
  orientation: {
566530
566530
  type: "string",
@@ -566623,15 +566623,15 @@ var schemas_default = {
566623
566623
  install: {
566624
566624
  type: "string",
566625
566625
  minLength: 1,
566626
- description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Lands with the Android phase (A3); on other platforms it is validated but not yet honored."
566626
+ description: "Path to an installable artifact (`.apk`/`.app`/`.ipa`) to install on the device before launch. Supported on Android and iOS app surfaces."
566627
566627
  },
566628
566628
  activity: {
566629
566629
  type: "string",
566630
566630
  minLength: 1,
566631
- description: "Android main activity override (defaults to the package's launcher activity). Lands with the Android phase (A3)."
566631
+ description: "Android main activity override (defaults to the package's launcher activity). Android-only."
566632
566632
  },
566633
566633
  device: {
566634
- description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Lands with the Android phase (A3).",
566634
+ description: "Device the app runs on. Omit for a host desktop app, or (in a mobile context) to use the context's default device. A string references a device by name; an object refines it. Supported on Android and iOS mobile targets.",
566635
566635
  anyOf: [
566636
566636
  {
566637
566637
  type: "string",
@@ -566664,7 +566664,7 @@ var schemas_default = {
566664
566664
  transform: [
566665
566665
  "trim"
566666
566666
  ],
566667
- description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain and a matching system image are installed (`doc-detective install android`)."
566667
+ description: "Device name and registry identity \u2014 the same name resolves to the same device. Reference form: names an existing AVD (Android) / simulator (iOS) to reuse. If no device by this name exists, Doc Detective creates one under this name using `deviceType`/`osVersion` (or their defaults), provided the toolchain is installed (`doc-detective install android` or `doc-detective install ios`)."
566668
566668
  },
566669
566669
  deviceType: {
566670
566670
  type: "string",
@@ -566677,11 +566677,11 @@ var schemas_default = {
566677
566677
  osVersion: {
566678
566678
  type: "string",
566679
566679
  minLength: 1,
566680
- description: "Platform version used when creating a device; must match an installed system image (install more with `doc-detective install android`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566680
+ description: "Platform version used when creating a device; must match an installed image/runtime for the target platform (install more with `doc-detective install android` or `doc-detective install ios`). Ignored when `name` already matches an existing device. Default: the newest installed version."
566681
566681
  },
566682
566682
  headless: {
566683
566683
  type: "boolean",
566684
- description: "Run the Android emulator without a window. Ignored where not applicable."
566684
+ description: "Run the Android emulator without a window. No-op on iOS (simulators boot without the Simulator UI on CI) and ignored where not applicable."
566685
566685
  },
566686
566686
  orientation: {
566687
566687
  type: "string",