mobile-debug-mcp 0.33.0 → 0.35.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.
Files changed (448) hide show
  1. package/.agents/skills/mcp-builder/SKILL.md +44 -64
  2. package/.agents/skills/mcp-builder/references/build-flags.md +44 -43
  3. package/.agents/skills/mcp-builder/references/diagnostics-schema.md +4 -1
  4. package/.agents/skills/mcp-builder/references/toolchain-details.md +49 -62
  5. package/.agents/skills/spec-review/references/spec-review-checklist.md +7 -0
  6. package/.agents/skills/test-authoring/SKILL.md +7 -6
  7. package/.agents/skills/test-authoring/references/repo-test-layout.md +3 -1
  8. package/.agents/skills/test-authoring/references/test-authoring-workflow.md +16 -7
  9. package/.agents/skills/test-authoring/references/test-quality-checklist.md +2 -1
  10. package/.github/copilot-instructions.md +14 -36
  11. package/.github/workflows/ci.yml +23 -2
  12. package/AGENTS.md +12 -3
  13. package/CONTRIBUTING.md +79 -0
  14. package/README.md +158 -124
  15. package/agent-plugin/.claude-plugin/plugin.json +2 -2
  16. package/agent-plugin/.codex-plugin/plugin.json +1 -1
  17. package/agent-plugin/.cursor-plugin/plugin.json +2 -2
  18. package/agent-plugin/.mcp.json +1 -1
  19. package/agent-plugin/README.md +20 -6
  20. package/agent-plugin/mcp.json +1 -1
  21. package/agent-plugin/plugin.json +1 -1
  22. package/agent-plugin/skills/mobile-debug-mcp/SKILL.md +113 -4
  23. package/dist/contracts/execution-controls.js +24 -0
  24. package/dist/contracts/selector.js +8 -0
  25. package/dist/contracts/target.js +15 -0
  26. package/dist/contracts/ui.js +1 -0
  27. package/dist/debugger/android.js +79 -0
  28. package/dist/debugger/diagnostics.js +54 -0
  29. package/dist/debugger/guard.js +30 -0
  30. package/dist/debugger/protocol.js +33 -0
  31. package/dist/debugger/sessions.js +304 -0
  32. package/dist/debugger/worker.js +176 -0
  33. package/dist/interact/adjustment/adjustment-context.js +41 -0
  34. package/dist/interact/adjustment/adjustment-gestures.js +55 -0
  35. package/dist/interact/adjustment/adjustment-plan.js +18 -0
  36. package/dist/interact/adjustment/adjustment-resolution.js +127 -0
  37. package/dist/interact/adjustment/adjustment-result.js +19 -0
  38. package/dist/interact/adjustment/adjustment-semantic.js +64 -0
  39. package/dist/interact/adjustment/adjustment-verification.js +35 -0
  40. package/dist/interact/adjustment/adjustment.js +52 -0
  41. package/dist/interact/adjustment/control-geometry.js +87 -0
  42. package/dist/interact/adjustment/control-values.js +136 -0
  43. package/dist/interact/adjustment/slider-labels.js +84 -0
  44. package/dist/interact/assertions/screen-assertion.js +37 -0
  45. package/dist/interact/assertions/state-assertion-context.js +35 -0
  46. package/dist/interact/assertions/state-assertion.js +76 -0
  47. package/dist/interact/assertions/state-comparison.js +141 -0
  48. package/dist/interact/assertions/visibility-assertion.js +34 -0
  49. package/dist/interact/conditional-action.js +12 -7
  50. package/dist/interact/index.js +65 -3074
  51. package/dist/interact/input-service.js +1 -0
  52. package/dist/interact/interaction-trace.js +21 -0
  53. package/dist/interact/model.js +1 -0
  54. package/dist/interact/observation.js +1 -0
  55. package/dist/interact/targeting/candidate-ancestor.js +58 -0
  56. package/dist/interact/targeting/candidate-result.js +23 -0
  57. package/dist/interact/targeting/candidate-scoring.js +50 -0
  58. package/dist/interact/targeting/element-helpers.js +216 -0
  59. package/dist/interact/targeting/find-element.js +65 -0
  60. package/dist/interact/targeting/nearby-control.js +56 -0
  61. package/dist/interact/targeting/resolved-elements.js +21 -0
  62. package/dist/interact/targeting/tap-target.js +17 -0
  63. package/dist/interact/targeting/target-scope.js +104 -0
  64. package/dist/interact/waits/legacy-log-wait.js +38 -0
  65. package/dist/interact/waits/legacy-wait-observations.js +103 -0
  66. package/dist/interact/waits/legacy-wait-state.js +34 -0
  67. package/dist/interact/waits/legacy-wait.js +48 -0
  68. package/dist/interact/waits/screen-wait.js +49 -0
  69. package/dist/interact/waits/ui-change-helpers.js +157 -0
  70. package/dist/interact/waits/ui-change-state.js +18 -0
  71. package/dist/interact/waits/ui-change-wait.js +77 -0
  72. package/dist/interact/waits/ui-wait-condition.js +56 -0
  73. package/dist/interact/waits/ui-wait-state.js +38 -0
  74. package/dist/interact/waits/ui-wait.js +106 -0
  75. package/dist/manage/android.js +55 -51
  76. package/dist/manage/index.js +38 -75
  77. package/dist/manage/ios/build-types.js +1 -0
  78. package/dist/manage/ios/build.js +210 -0
  79. package/dist/manage/ios/project-discovery.js +29 -0
  80. package/dist/manage/ios/scheme.js +18 -0
  81. package/dist/manage/ios.js +42 -256
  82. package/dist/observe/android/context.js +1 -0
  83. package/dist/observe/android/current-screen.js +55 -0
  84. package/dist/observe/android/fingerprint.js +13 -0
  85. package/dist/observe/android/log-stream.js +132 -0
  86. package/dist/observe/android/logs.js +107 -0
  87. package/dist/observe/android/screenshot.js +70 -0
  88. package/dist/observe/android/ui-tree.js +107 -0
  89. package/dist/observe/android.js +16 -520
  90. package/dist/observe/evidence.js +122 -76
  91. package/dist/observe/index.js +16 -263
  92. package/dist/observe/ios/context.js +16 -0
  93. package/dist/observe/ios/fingerprint.js +12 -0
  94. package/dist/observe/ios/log-stream.js +105 -0
  95. package/dist/observe/ios/logs.js +168 -0
  96. package/dist/observe/ios/screenshot.js +22 -0
  97. package/dist/observe/ios/ui-elements.js +241 -0
  98. package/dist/observe/ios/ui-tree.js +137 -0
  99. package/dist/observe/ios.js +17 -715
  100. package/dist/observe/logs/model.js +1 -0
  101. package/dist/{network → observe/network}/index.js +2 -2
  102. package/dist/observe/readiness-service.js +13 -2
  103. package/dist/observe/readiness.js +44 -18
  104. package/dist/observe/screenshot-encoding.js +41 -0
  105. package/dist/observe/snapshot-collection.js +79 -0
  106. package/dist/observe/snapshot-logs.js +30 -0
  107. package/dist/observe/snapshot-metadata.js +43 -31
  108. package/dist/observe/snapshot-semantic.js +115 -0
  109. package/dist/observe/system-trace-android.js +135 -0
  110. package/dist/observe/system-trace.js +294 -0
  111. package/dist/runtime/action-results.js +270 -0
  112. package/dist/runtime/clock.js +4 -0
  113. package/dist/server/common.js +1 -256
  114. package/dist/server/definitions/assert.js +162 -0
  115. package/dist/server/definitions/diagnostic.js +118 -0
  116. package/dist/server/definitions/input.js +274 -0
  117. package/dist/server/definitions/manage.js +194 -0
  118. package/dist/server/definitions/observe.js +149 -0
  119. package/dist/server/definitions/target.js +138 -0
  120. package/dist/server/definitions/wait.js +105 -0
  121. package/dist/server/handlers/action-execution.js +163 -0
  122. package/dist/server/handlers/correlation.js +23 -0
  123. package/dist/server/handlers/debugger-handlers.js +48 -0
  124. package/dist/server/handlers/debugger-response.js +9 -0
  125. package/dist/server/handlers/diagnostic.js +69 -0
  126. package/dist/server/handlers/handler-types.js +1 -0
  127. package/dist/server/handlers/input.js +154 -0
  128. package/dist/server/handlers/interact.js +113 -0
  129. package/dist/server/handlers/journey-assertions.js +35 -0
  130. package/dist/server/handlers/journey.js +147 -0
  131. package/dist/server/handlers/manage.js +119 -0
  132. package/dist/server/handlers/observe.js +95 -0
  133. package/dist/server/handlers/payload.js +4 -0
  134. package/dist/server/handlers/tool-handlers.js +160 -0
  135. package/dist/server/schemas/condition-schema.js +2 -0
  136. package/dist/server/schemas/debugger-schema.js +47 -0
  137. package/dist/server/{journey-schema.js → schemas/journey-schema.js} +8 -22
  138. package/dist/server/schemas/system-trace-schema.js +17 -0
  139. package/dist/server/tool-definitions.js +62 -1134
  140. package/dist/server-core.js +4 -4
  141. package/dist/server.js +34 -0
  142. package/dist/system/android-status.js +101 -0
  143. package/dist/system/android.js +37 -27
  144. package/dist/system/index.js +13 -438
  145. package/dist/system/ios-status.js +132 -0
  146. package/dist/system/ios.js +11 -8
  147. package/dist/system/model.js +1 -0
  148. package/dist/system/probes.js +105 -0
  149. package/dist/system/status-summary.js +43 -0
  150. package/dist/system/unsupported-status.js +52 -0
  151. package/dist/utils/android/commands.js +89 -0
  152. package/dist/utils/android/gradle.js +139 -0
  153. package/dist/utils/android/logs.js +103 -0
  154. package/dist/utils/android/ui-tree.js +233 -0
  155. package/dist/utils/android/utils.js +6 -564
  156. package/dist/utils/cli/idb/idb-helper.js +4 -6
  157. package/dist/utils/cli/idb/install-idb.js +13 -9
  158. package/dist/utils/cli/ios/preflight-ios.js +42 -38
  159. package/dist/utils/exec.js +2 -0
  160. package/dist/utils/ios/utils.js +45 -46
  161. package/dist/utils/java.js +75 -57
  162. package/dist/utils/operation-budget.js +2 -0
  163. package/dist/utils/resolve-device.js +6 -2
  164. package/dist/utils/ui/index.js +26 -26
  165. package/docs/CHANGELOG.md +48 -0
  166. package/docs/README.md +38 -0
  167. package/docs/benchmarks/README.md +18 -0
  168. package/docs/benchmarks/interaction-latency/README.md +14 -0
  169. package/docs/benchmarks/interaction-latency/final.md +4 -1
  170. package/docs/benchmarks/interaction-latency/ios-validation.md +2 -0
  171. package/docs/benchmarks/ui-tree-performance/README.md +24 -16
  172. package/docs/benchmarks/ui-tree-performance/comparison.md +11 -10
  173. package/docs/code-structure.md +118 -0
  174. package/docs/specs/001-state-verification/spec.md +16 -14
  175. package/docs/specs/002-richer-element-identity/spec.md +12 -10
  176. package/docs/specs/003-wait-and-synchronization-reliability/spec.md +12 -10
  177. package/docs/specs/004-action-verification-routing/spec.md +3 -3
  178. package/docs/specs/005-unified-action-execution-and-verification-model/spec.md +2 -0
  179. package/docs/specs/006-runtime-action-instrumentation-and-binding-layer/spec.md +2 -0
  180. package/docs/specs/007-actionability-resolution-and-executable-target-selection/spec.md +3 -1
  181. package/docs/specs/008-adjustable-control-support-and-semantic-value-manipulation/spec.md +3 -4
  182. package/docs/specs/009-semantic-control-modeling-for-custom-and-composite-controls/spec.md +2 -0
  183. package/docs/specs/010-verification-stabilization-and-temporal-convergence/spec.md +2 -2
  184. package/docs/specs/011-recovery-and-replanning-for-failed-or-ambiguous-interaction-flows/spec.md +2 -2
  185. package/docs/specs/011.1-recovery-contract-types-and-runtime-wiring-spec/spec.md +2 -0
  186. package/docs/specs/012-action-trace-and-xecution-observability/spec.md +2 -3
  187. package/docs/specs/013-wait-and-synchronization-reliability/spec.md +19 -19
  188. package/docs/specs/014-actionability-resolution/spec.md +20 -18
  189. package/docs/specs/015-adjustable-control-support/spec.md +17 -15
  190. package/docs/specs/016-environment-tools/spec.md +20 -20
  191. package/docs/specs/018-interaction-latency-and-batched-journeys/spec.md +2 -0
  192. package/docs/specs/019-ui-tree-observation-performance/spec.md +3 -1
  193. package/docs/specs/020-conditional-actions/intent.md +5 -3
  194. package/docs/specs/020-conditional-actions/plan.md +8 -9
  195. package/docs/specs/020-conditional-actions/spec.md +4 -2
  196. package/docs/specs/021-app-readiness-signals/intent.md +4 -2
  197. package/docs/specs/021-app-readiness-signals/plan.md +7 -6
  198. package/docs/specs/021-app-readiness-signals/spec.md +3 -1
  199. package/docs/specs/022-correlated-evidence/intent.md +4 -4
  200. package/docs/specs/022-correlated-evidence/plan.md +10 -11
  201. package/docs/specs/022-correlated-evidence/spec.md +3 -1
  202. package/docs/specs/023-android-system-traces/device-evidence.json +38 -0
  203. package/docs/specs/023-android-system-traces/emulator-recheck.json +38 -0
  204. package/docs/specs/023-android-system-traces/intent.md +41 -0
  205. package/docs/specs/023-android-system-traces/plan.md +115 -0
  206. package/docs/specs/023-android-system-traces/spec.md +122 -0
  207. package/docs/specs/024-android-heap-dump-capture/intent.md +41 -0
  208. package/docs/specs/025-android-runtime-debugger/intent.md +41 -0
  209. package/docs/specs/025-android-runtime-debugger/plan.md +106 -0
  210. package/docs/specs/025-android-runtime-debugger/spec.md +183 -0
  211. package/docs/specs/026-code-structure-and-quality-gates/health-plan.md +88 -0
  212. package/docs/specs/026-code-structure-and-quality-gates/intent.md +47 -0
  213. package/docs/specs/026-code-structure-and-quality-gates/plan.md +191 -0
  214. package/docs/specs/026-code-structure-and-quality-gates/spec.md +138 -0
  215. package/docs/specs/026-code-structure-and-quality-gates/verification-final.json +200 -0
  216. package/docs/specs/026-code-structure-and-quality-gates/verification-thin-facade.json +154 -0
  217. package/docs/specs/026-code-structure-and-quality-gates/verification.json +136 -0
  218. package/docs/specs/027-debugger-failure-diagnostics/intent.md +43 -0
  219. package/docs/specs/027-debugger-failure-diagnostics/plan.md +86 -0
  220. package/docs/specs/027-debugger-failure-diagnostics/spec.md +133 -0
  221. package/docs/specs/028-compact-debugger-responses/intent.md +41 -0
  222. package/docs/specs/028-compact-debugger-responses/plan.md +112 -0
  223. package/docs/specs/028-compact-debugger-responses/spec.md +108 -0
  224. package/docs/specs/029-kotlin-locals-validation/report.md +119 -0
  225. package/docs/specs/030-android-coroutine-validation/evidence.json +475 -0
  226. package/docs/specs/030-android-coroutine-validation/intent.md +47 -0
  227. package/docs/specs/030-android-coroutine-validation/plan.md +147 -0
  228. package/docs/specs/030-android-coroutine-validation/report.md +240 -0
  229. package/docs/specs/030-android-coroutine-validation/spec.md +107 -0
  230. package/docs/tools/TOOLS.md +31 -16
  231. package/docs/tools/{evidence.md → correlated-evidence.md} +14 -3
  232. package/docs/tools/debugger.md +180 -0
  233. package/docs/tools/interact.md +42 -20
  234. package/docs/tools/manage.md +25 -44
  235. package/docs/tools/observe.md +64 -25
  236. package/docs/tools/system-traces.md +134 -0
  237. package/docs/tools/system.md +12 -5
  238. package/package.json +11 -8
  239. package/scripts/architecture-graph.mjs +69 -0
  240. package/scripts/check-architecture.mjs +47 -0
  241. package/scripts/code-quality-baseline.json +1 -0
  242. package/scripts/code-quality.mjs +161 -0
  243. package/src/contracts/execution-controls.ts +26 -0
  244. package/src/contracts/selector.ts +17 -0
  245. package/src/contracts/target.ts +19 -0
  246. package/src/contracts/ui.ts +94 -0
  247. package/src/debugger/android.ts +66 -0
  248. package/src/debugger/diagnostics.ts +43 -0
  249. package/src/debugger/guard.ts +31 -0
  250. package/src/debugger/java/DebuggerWorker.java +166 -0
  251. package/src/debugger/protocol.ts +37 -0
  252. package/src/debugger/sessions.ts +327 -0
  253. package/src/debugger/worker.ts +135 -0
  254. package/src/interact/adjustment/adjustment-context.ts +83 -0
  255. package/src/interact/adjustment/adjustment-gestures.ts +48 -0
  256. package/src/interact/adjustment/adjustment-plan.ts +23 -0
  257. package/src/interact/adjustment/adjustment-resolution.ts +104 -0
  258. package/src/interact/adjustment/adjustment-result.ts +34 -0
  259. package/src/interact/adjustment/adjustment-semantic.ts +53 -0
  260. package/src/interact/adjustment/adjustment-verification.ts +60 -0
  261. package/src/interact/adjustment/adjustment.ts +49 -0
  262. package/src/interact/adjustment/control-geometry.ts +120 -0
  263. package/src/interact/adjustment/control-values.ts +141 -0
  264. package/src/interact/adjustment/slider-labels.ts +84 -0
  265. package/src/interact/assertions/screen-assertion.ts +39 -0
  266. package/src/interact/assertions/state-assertion-context.ts +48 -0
  267. package/src/interact/assertions/state-assertion.ts +64 -0
  268. package/src/interact/assertions/state-comparison.ts +168 -0
  269. package/src/interact/assertions/visibility-assertion.ts +41 -0
  270. package/src/interact/conditional-action.ts +18 -12
  271. package/src/interact/index.ts +76 -3491
  272. package/src/interact/input-service.ts +11 -0
  273. package/src/interact/interaction-trace.ts +36 -0
  274. package/src/interact/model.ts +109 -0
  275. package/src/interact/observation.ts +7 -0
  276. package/src/interact/targeting/candidate-ancestor.ts +49 -0
  277. package/src/interact/targeting/candidate-result.ts +24 -0
  278. package/src/interact/targeting/candidate-scoring.ts +42 -0
  279. package/src/interact/targeting/element-helpers.ts +243 -0
  280. package/src/interact/targeting/find-element.ts +47 -0
  281. package/src/interact/targeting/nearby-control.ts +46 -0
  282. package/src/interact/targeting/resolved-elements.ts +20 -0
  283. package/src/interact/targeting/tap-target.ts +22 -0
  284. package/src/interact/targeting/target-scope.ts +121 -0
  285. package/src/interact/waits/legacy-log-wait.ts +30 -0
  286. package/src/interact/waits/legacy-wait-observations.ts +55 -0
  287. package/src/interact/waits/legacy-wait-state.ts +48 -0
  288. package/src/interact/waits/legacy-wait.ts +34 -0
  289. package/src/interact/waits/screen-wait.ts +37 -0
  290. package/src/interact/waits/ui-change-helpers.ts +184 -0
  291. package/src/interact/waits/ui-change-state.ts +26 -0
  292. package/src/interact/waits/ui-change-wait.ts +59 -0
  293. package/src/interact/waits/ui-wait-condition.ts +52 -0
  294. package/src/interact/waits/ui-wait-state.ts +55 -0
  295. package/src/interact/waits/ui-wait.ts +84 -0
  296. package/src/manage/android.ts +56 -50
  297. package/src/manage/index.ts +63 -93
  298. package/src/manage/ios/build-types.ts +14 -0
  299. package/src/manage/ios/build.ts +230 -0
  300. package/src/manage/ios/project-discovery.ts +26 -0
  301. package/src/manage/ios/scheme.ts +16 -0
  302. package/src/manage/ios.ts +65 -298
  303. package/src/observe/android/context.ts +1 -0
  304. package/src/observe/android/current-screen.ts +63 -0
  305. package/src/observe/android/fingerprint.ts +13 -0
  306. package/src/observe/android/log-stream.ts +127 -0
  307. package/src/observe/android/logs.ts +110 -0
  308. package/src/observe/android/screenshot.ts +79 -0
  309. package/src/observe/android/ui-tree.ts +113 -0
  310. package/src/observe/android.ts +17 -531
  311. package/src/observe/evidence.ts +130 -71
  312. package/src/observe/index.ts +24 -286
  313. package/src/observe/ios/context.ts +22 -0
  314. package/src/observe/ios/fingerprint.ts +12 -0
  315. package/src/observe/ios/log-stream.ts +103 -0
  316. package/src/observe/ios/logs.ts +179 -0
  317. package/src/observe/ios/screenshot.ts +26 -0
  318. package/src/observe/ios/ui-elements.ts +266 -0
  319. package/src/observe/ios/ui-tree.ts +143 -0
  320. package/src/observe/ios.ts +18 -749
  321. package/src/observe/logs/model.ts +11 -0
  322. package/src/{network → observe/network}/index.ts +2 -2
  323. package/src/observe/readiness-service.ts +10 -3
  324. package/src/observe/readiness.ts +49 -22
  325. package/src/observe/screenshot-encoding.ts +32 -0
  326. package/src/observe/snapshot-collection.ts +69 -0
  327. package/src/observe/snapshot-logs.ts +26 -0
  328. package/src/observe/snapshot-metadata.ts +51 -31
  329. package/src/observe/snapshot-semantic.ts +153 -0
  330. package/src/observe/system-trace-android.ts +133 -0
  331. package/src/observe/system-trace.ts +227 -0
  332. package/src/runtime/action-results.ts +376 -0
  333. package/src/runtime/clock.ts +9 -0
  334. package/src/server/common.ts +9 -359
  335. package/src/server/definitions/assert.ts +164 -0
  336. package/src/server/definitions/diagnostic.ts +120 -0
  337. package/src/server/definitions/input.ts +276 -0
  338. package/src/server/definitions/manage.ts +196 -0
  339. package/src/server/definitions/observe.ts +151 -0
  340. package/src/server/definitions/target.ts +140 -0
  341. package/src/server/definitions/wait.ts +107 -0
  342. package/src/server/handlers/action-execution.ts +164 -0
  343. package/src/server/handlers/correlation.ts +20 -0
  344. package/src/server/handlers/debugger-handlers.ts +39 -0
  345. package/src/server/handlers/debugger-response.ts +7 -0
  346. package/src/server/handlers/diagnostic.ts +79 -0
  347. package/src/server/handlers/handler-types.ts +7 -0
  348. package/src/server/handlers/input.ts +173 -0
  349. package/src/server/handlers/interact.ts +135 -0
  350. package/src/server/handlers/journey-assertions.ts +39 -0
  351. package/src/server/handlers/journey.ts +132 -0
  352. package/src/server/handlers/manage.ts +141 -0
  353. package/src/server/handlers/observe.ts +116 -0
  354. package/src/server/handlers/payload.ts +36 -0
  355. package/src/server/handlers/tool-handlers.ts +159 -0
  356. package/src/server/schemas/condition-schema.ts +2 -0
  357. package/src/server/schemas/debugger-schema.ts +43 -0
  358. package/src/server/{journey-schema.ts → schemas/journey-schema.ts} +8 -22
  359. package/src/server/schemas/system-trace-schema.ts +17 -0
  360. package/src/server/tool-definitions.ts +69 -1140
  361. package/src/server-core.ts +4 -4
  362. package/src/server.ts +25 -1
  363. package/src/system/android-status.ts +124 -0
  364. package/src/system/android.ts +33 -21
  365. package/src/system/index.ts +21 -523
  366. package/src/system/ios-status.ts +147 -0
  367. package/src/system/ios.ts +14 -10
  368. package/src/system/model.ts +41 -0
  369. package/src/system/probes.ts +114 -0
  370. package/src/system/status-summary.ts +47 -0
  371. package/src/system/unsupported-status.ts +55 -0
  372. package/src/types.ts +16 -106
  373. package/src/utils/android/commands.ts +81 -0
  374. package/src/utils/android/gradle.ts +132 -0
  375. package/src/utils/android/logs.ts +103 -0
  376. package/src/utils/android/ui-tree.ts +239 -0
  377. package/src/utils/android/utils.ts +16 -556
  378. package/src/utils/cli/idb/check-idb.ts +4 -4
  379. package/src/utils/cli/idb/idb-helper.ts +6 -8
  380. package/src/utils/cli/idb/install-idb.ts +15 -9
  381. package/src/utils/cli/ios/preflight-ios.ts +39 -31
  382. package/src/utils/cli/ios/run-ios-ui-tree-tap.ts +4 -4
  383. package/src/utils/exec.ts +2 -0
  384. package/src/utils/ios/utils.ts +57 -61
  385. package/src/utils/java.ts +71 -51
  386. package/src/utils/operation-budget.ts +2 -0
  387. package/src/utils/resolve-device.ts +11 -6
  388. package/src/utils/ui/index.ts +28 -28
  389. package/test/device/automated/debugger/coroutine-lifecycle.ts +27 -0
  390. package/test/device/automated/debugger/coroutine-support.ts +140 -0
  391. package/test/device/automated/debugger/coroutine.android.test.ts +169 -0
  392. package/test/device/automated/debugger/kotlin.android.test.ts +127 -0
  393. package/test/device/automated/debugger/runtime.android.test.ts +219 -0
  394. package/test/device/automated/interact/interaction.android.test.ts +56 -0
  395. package/test/device/automated/observe/system-trace.smoke.ts +104 -0
  396. package/test/device/manual/interact/modul8_selector_tap.manual.ts +1 -1
  397. package/test/fixtures/contracts/tool-definitions.json +3536 -0
  398. package/test/fixtures/coroutine-app/MainActivity.kt +100 -0
  399. package/test/fixtures/coroutine-app/README.md +48 -0
  400. package/test/fixtures/coroutine-app/build.ts +35 -0
  401. package/test/fixtures/debugger-app/MainActivity.java +67 -0
  402. package/test/fixtures/debugger-app/MainActivity.kt +32 -0
  403. package/test/fixtures/debugger-app/NoLocals.java +7 -0
  404. package/test/fixtures/debugger-app/README.md +65 -0
  405. package/test/fixtures/debugger-app/build.ts +39 -0
  406. package/test/fixtures/latency-journey-app/README.md +2 -0
  407. package/test/fixtures/readiness-app/README.md +2 -0
  408. package/test/helpers/perfetto.ts +59 -0
  409. package/test/unit/debugger/coroutine-lifecycle.test.ts +43 -0
  410. package/test/unit/debugger/diagnostic-sessions.test.ts +67 -0
  411. package/test/unit/debugger/diagnostics.test.ts +80 -0
  412. package/test/unit/debugger/guards.test.ts +50 -0
  413. package/test/unit/debugger/native.test.ts +33 -0
  414. package/test/unit/debugger/preparation.test.ts +32 -0
  415. package/test/unit/debugger/protocol.test.ts +15 -0
  416. package/test/unit/debugger/sessions.test.ts +83 -0
  417. package/test/unit/interact/adjustment_service.test.ts +42 -0
  418. package/test/unit/interact/adjustment_verification.test.ts +35 -0
  419. package/test/unit/interact/clock_dependencies.test.ts +63 -0
  420. package/test/unit/interact/element_helpers.test.ts +19 -0
  421. package/test/unit/interact/legacy_wait_service.test.ts +17 -0
  422. package/test/unit/interact/state_comparison.test.ts +20 -0
  423. package/test/unit/interact/target_scope.test.ts +35 -0
  424. package/test/unit/network/get_network_activity.test.ts +1 -1
  425. package/test/unit/observe/readiness.test.ts +3 -1
  426. package/test/unit/observe/screenshot-encoding.test.ts +30 -0
  427. package/test/unit/observe/snapshot-logs.test.ts +14 -0
  428. package/test/unit/observe/system-trace-android.test.ts +52 -0
  429. package/test/unit/observe/system-trace.test.ts +166 -0
  430. package/test/unit/quality/architecture.test.ts +60 -0
  431. package/test/unit/quality/code-quality.test.ts +58 -0
  432. package/test/unit/quality/interaction_boundaries.test.ts +24 -0
  433. package/test/unit/server/conditional_actions.test.ts +1 -1
  434. package/test/unit/server/conditional_schema.test.ts +2 -2
  435. package/test/unit/server/debugger-response.test.ts +63 -0
  436. package/test/unit/server/system-trace.test.ts +64 -0
  437. package/test/unit/server/tool_definitions_parity.test.ts +8 -0
  438. package/dist/server/tool-handlers.js +0 -893
  439. package/docs/ROADMAP.md +0 -646
  440. package/docs/benchmarks/ui-tree-performance/bridge-probe.json +0 -29
  441. package/docs/benchmarks/ui-tree-performance/initial-baseline.json +0 -59560
  442. package/docs/specs/baseline-spec-v0.md +0 -312
  443. package/docs/specs/mcp-tooling-spec-v1.md +0 -446
  444. package/src/server/tool-handlers.ts +0 -923
  445. /package/dist/{server/condition-schema.js → contracts/condition.js} +0 -0
  446. /package/dist/server/{readiness-schema.js → schemas/readiness-schema.js} +0 -0
  447. /package/src/{server/condition-schema.ts → contracts/condition.ts} +0 -0
  448. /package/src/server/{readiness-schema.ts → schemas/readiness-schema.ts} +0 -0
package/docs/ROADMAP.md DELETED
@@ -1,646 +0,0 @@
1
- # Mobile Debug MCP Roadmap
2
-
3
- ## Done
4
-
5
- - Stronger State Verification
6
- - Richer Element Identity
7
- - Better Compose / Custom Control Semantics
8
- - Verification Stabilization and Temporal Convergence
9
- - Action Trace and Execution Observability
10
- - Wait and Synchronization Reliability
11
- - Actionability Resolution
12
- - Environment Auto-Configuration and Toolchain Discovery
13
- - Adjustable Control Support
14
- - UI-Tree Observation Performance (Android implemented; iOS latency unmeasured)
15
-
16
- ## Todo
17
-
18
- - Adjustable Control Precision Hardening
19
- - Signal-Oriented Diagnostic Filtering
20
- - Long Press Gesture
21
- - Runtime Debugger Introspection
22
- - Pinch to Zoom
23
- - Advanced Trace Correlation and Analysis
24
-
25
- # UI-Tree Observation Performance
26
-
27
- **Status:** Android implemented and benchmarked; iOS latency remains unmeasured — [Specification 019](specs/019-ui-tree-observation-performance/spec.md)
28
-
29
- Measure physical hierarchy reads and their cost, then reduce the measured hot path while preserving fresh post-action and asynchronous UI evidence. Validate the change against the existing static journey and a controlled network-backed screen before claiming a speedup.
30
-
31
- Exit criteria and performance gates are defined in Specification 019.
32
-
33
- # Stronger State Verification
34
-
35
- ## Rationale
36
- Highest leverage improvement.
37
-
38
- **Status:** Completed
39
-
40
- Most failures are not “can’t act,” they’re:
41
- - uncertain state
42
- - weak verification
43
- - retry loops caused by inference
44
-
45
- ## Scope
46
- - Direct readable control values
47
- - Expanded `expect_*` verification
48
- - Move from inference to state introspection
49
-
50
- ## Expected Impact
51
- Very high.
52
-
53
- ## Exit Criteria
54
- - Control state readable for core widgets (toggle, slider, input, dropdown)
55
- - New expect_* state verifiers implemented
56
- - Agents can verify state without visual inference in representative flows
57
- - Documentation and snapshot response shape updated
58
-
59
- ## Success Metrics
60
- - 30%+ retry reduction on stateful tasks
61
- - Higher first-pass verification success
62
- - Reduced false positive verifications
63
-
64
- ## Dependencies
65
- Blocks or strengthens:
66
- - Better Compose / Custom Control Semantics
67
- - Pinch to Zoom
68
- - Advanced Trace Correlation and Analysis
69
-
70
- ---
71
-
72
- # Richer Element Identity
73
-
74
- ## Rationale
75
- Directly reduces selector brittleness.
76
-
77
- **Status:** Completed
78
-
79
- Improves:
80
- - targeting stability
81
- - repeatability
82
- - agent confidence
83
-
84
- ## Scope
85
- - Stable IDs / test tags prioritization
86
- - Selector confidence metadata
87
- - Preferred selector hierarchy
88
-
89
- ## Expected Impact
90
- Very high.
91
-
92
- ## Exit Criteria
93
- - Stable selector preference order implemented
94
- - Test tags/resource IDs surfaced where available
95
- - Selector confidence metadata available
96
- - Structural fallback selectors defined
97
-
98
- ## Success Metrics
99
- - Higher element match rate
100
- - Reduced selector drift failures
101
- - Lower retargeting retries
102
-
103
- ## Dependencies
104
- Blocks or strengthens:
105
- - Long Press Gesture
106
- - Better Compose / Custom Control Semantics
107
- - Pinch to Zoom
108
-
109
- ---
110
-
111
- # Wait and Synchronization Reliability
112
-
113
- ## Rationale
114
- Reliable async synchronization is foundational for agent success and should precede gesture expansion.
115
-
116
- **Status:** Spec Ready
117
-
118
- Addresses failures where agents:
119
- - skip UI waits after actions
120
- - rely on network/log signals too early
121
- - struggle with in-place UI updates
122
- - misread stale UI snapshots
123
-
124
- ## Scope
125
- - UI-first synchronization policy guidance
126
- - wait_for_ui_change (hierarchy diff based waiting)
127
- - Structured loading state detection
128
- - Snapshot revision / staleness metadata
129
- - Incremental / diff-based snapshot delivery (token-efficient)
130
- - Focused snapshot scoping (subtree / target-based)
131
- - Compose-aware wait robustness improvements
132
- - Explicit interaction sequencing guidance (tap → wait → verify pattern)
133
- - Exploration of optional action-level synchronization ergonomics (e.g. implicit stabilization or wait flags)
134
-
135
- ## Expected Impact
136
- Very high.
137
-
138
- ## Exit Criteria
139
- - wait_for_ui_change implemented
140
- - Loading state detection available for representative controls
141
- - Snapshot revision or staleness metadata exposed
142
- - Focused or diff-oriented snapshots validated in benchmark flows
143
- - UI-first sync guidance added to spec guardrails
144
- - In-place update waits validated on benchmark flows
145
-
146
- ## Success Metrics
147
- - Reduced missed async UI transitions
148
- - Fewer retries caused by premature actions
149
- - Higher wait success rate for dynamic UI flows
150
- - Lower fallback usage to network/log checks
151
- - Reduced need for manual sequencing by agents in stateful flows
152
- - Reduced average snapshot size (tokens)
153
-
154
- ## Dependencies
155
- Depends on:
156
- - Stronger State Verification
157
- - Richer Element Identity
158
-
159
- Blocks or strengthens:
160
- - Better Compose / Custom Control Semantics
161
- - Advanced Trace Correlation and Analysis
162
-
163
- ---
164
-
165
- # Verification Stabilization and Temporal Convergence
166
-
167
- ## Rationale
168
- Real-world feedback exposed false-negative readiness failures caused by transient UI timing, even when target state had actually converged.
169
-
170
- **Status:** Completed
171
-
172
- Addresses friction where agents:
173
- - fail readiness checks on transient timing races
174
- - act on stale snapshots
175
- - misclassify eventual success as timeout failure
176
- - encounter lag between UI convergence and verification success
177
-
178
- ## Scope
179
- - Bounded recheck before readiness failure
180
- - Temporal debounce for transient state mismatches
181
- - Verify-until-stable semantics for readiness checks
182
- - Stability confirmation windows
183
- - Snapshot freshness and convergence heuristics
184
-
185
- ## Expected Impact
186
- Very high.
187
-
188
- ## Exit Criteria
189
- - False-negative readiness failures materially reduced
190
- - Stability confirmation logic implemented
191
- - Benchmark async flows validate improved convergence detection
192
- - Verification timing behavior documented in guardrails
193
-
194
- ## Success Metrics
195
- - Higher first-pass verification success
196
- - Lower false timeout failures
197
- - Higher wait success rate
198
- - Fewer retries caused by premature failure classification
199
-
200
- ## Dependencies
201
- Depends on:
202
- - Stronger State Verification
203
- - Wait and Synchronization Reliability
204
-
205
- Strengthens:
206
- - Actionability Resolution
207
- - Adjustable Control Support
208
- - Recovery and replanning readiness
209
-
210
- ---
211
-
212
- # Actionability Resolution
213
-
214
- ## Rationale
215
- Reduces failures caused by interacting with discoverable but non-actionable UI nodes.
216
-
217
- **Status:** Completed
218
-
219
- Addresses cases where:
220
- - visible text is not the true click target
221
- - child nodes differ from actionable containers
222
- - affordance exists but handler ownership is ambiguous
223
-
224
- ## Scope
225
- - Actionable container resolution
226
- - Executable-target preference rules
227
- - Actionability confidence metadata
228
- - Post-action state verification integration
229
- - Geometry-aware fallback targeting for weak semantic surfaces (e.g. sliders without accessible nodes)
230
-
231
- ## Expected Impact
232
- High.
233
-
234
- ## Exit Criteria
235
- - Actionable target resolution implemented
236
- - Preference rules defined for executable containers over leaf nodes
237
- - Actionability confidence surfaced
238
- - Benchmark flows show reduced false taps and submit ambiguity
239
-
240
- ## Success Metrics
241
- - Reduced mis-targeted action failures
242
- - Lower retarget retries
243
- - Higher first-attempt action success
244
- - Reduced need for empirical coordinate probing on custom controls
245
-
246
- ## Dependencies
247
- Depends on:
248
- - Stronger State Verification
249
- - Richer Element Identity
250
- - Wait and Synchronization Reliability
251
-
252
- Blocks or strengthens:
253
- - Adjustable Control Support
254
- - Better Compose / Custom Control Semantics
255
-
256
- ---
257
-
258
- # Adjustable Control Support
259
-
260
- ## Rationale
261
- High leverage improvement for sliders and parameterized controls.
262
-
263
- **Status:** Completed
264
-
265
- Addresses friction around:
266
- - coordinate-calibrated slider interaction
267
- - snapping and quantized controls
268
- - weak state confirmation after adjustment
269
-
270
- ## Scope
271
- New semantic control support:
272
-
273
- ```json
274
- set_slider_value(target, value, tolerance?)
275
- ```
276
-
277
- Includes:
278
- - semantic adjustable control manipulation
279
- - read-back verification loop
280
- - tolerance-aware value setting
281
- - fallback coordinate calibration only when needed
282
-
283
- ## Expected Impact
284
- High.
285
-
286
- ## Exit Criteria
287
- - Adjustable control primitive implemented
288
- - Verification loop reads and confirms resulting values
289
- - Tolerance model defined
290
- - Benchmark slider/custom control flows validated
291
-
292
- ## Success Metrics
293
- - Higher custom control interaction success rate
294
- - Fewer retries adjusting controls
295
- - Reduced coordinate-guessing failures
296
-
297
- ## Dependencies
298
- Depends on:
299
- - Stronger State Verification
300
- - Richer Element Identity
301
- - Actionability Resolution
302
-
303
- Blocks or strengthens:
304
- - Better Compose / Custom Control Semantics
305
- - Pinch to Zoom
306
-
307
- ---
308
-
309
- # Adjustable Control Precision Hardening
310
-
311
- ## Rationale
312
- Post-implementation feedback shows semantics exist, but fine-grained adjustable targeting and convergence still need hardening.
313
-
314
- **Status:** Planned
315
-
316
- Addresses friction around:
317
- - slider thumb targeting precision
318
- - tap vs drag adjustment strategy selection
319
- - snapping and quantized convergence behavior
320
- - repeated adjustment retries before landing on target value
321
-
322
- ## Scope
323
- - Fine-grained slider targeting refinement
324
- - Drag vs tap adjustment strategy heuristics
325
- - Improved value snapping convergence
326
- - Control-specific adjustment fallback policies
327
- - Controlled search strategies for value convergence (e.g. binary / progressive adjustment)
328
-
329
- ## Expected Impact
330
- High.
331
-
332
- ## Exit Criteria
333
- - Benchmark slider flows reach target values with fewer retries
334
- - Adjustment strategy selection validated across representative controls
335
- - Reduced repeated-tap convergence failures
336
-
337
- ## Success Metrics
338
- - Fewer retries for adjustable controls
339
- - Higher first-attempt target value success
340
- - Reduced control convergence failures
341
-
342
- ## Dependencies
343
- Depends on:
344
- - Adjustable Control Support
345
- - Better Compose / Custom Control Semantics
346
-
347
- Strengthens:
348
- - Recovery readiness
349
-
350
- ---
351
-
352
- # Signal-Oriented Diagnostic Filtering
353
-
354
- ## Rationale
355
- Improves observability by separating causal signals from diagnostic noise.
356
-
357
- **Status:** Planned
358
-
359
- Addresses friction from:
360
- - noisy log streams
361
- - weak signal extraction
362
- - difficult action-to-signal attribution
363
-
364
- ## Scope
365
- - Structured diagnostic classification
366
- - Noise filtering heuristics
367
- - Signal relevance scoring
368
- - App vs system event tagging
369
-
370
- ## Expected Impact
371
- High.
372
-
373
- ## Exit Criteria
374
- - Diagnostic signal classification model defined
375
- - Noise filtering available in representative flows
376
- - Relevant action-linked signals surfaced separately from background noise
377
- - Debug workflows validated with filtered signals
378
-
379
- ## Success Metrics
380
- - Lower time-to-root-cause
381
- - Faster identification of relevant action signals
382
- - Reduced diagnostic ambiguity
383
-
384
- ## Dependencies
385
- Depends on:
386
- - Stronger State Verification
387
- - Wait and Synchronization Reliability
388
-
389
- Strengthens:
390
- - Advanced Trace Correlation and Analysis
391
-
392
- ---
393
-
394
- # Long Press Gesture
395
-
396
- ## Rationale
397
- High utility, relatively low complexity.
398
-
399
- **Status:** Planned
400
-
401
- Unlocks many currently awkward interactions:
402
-
403
- - context menus
404
- - hidden actions
405
- - reorder handles
406
- - press-and-hold controls
407
-
408
- Broad usefulness.
409
-
410
- ## Scope
411
- New tool:
412
-
413
- ```json
414
- long_press(element_id, duration_ms?)
415
- ```
416
-
417
- Verification alignment:
418
- - expect_context_menu
419
- - expect_press_effect
420
-
421
- ## Expected Impact
422
- High.
423
-
424
- ## Exit Criteria
425
- - long_press tool implemented across supported platforms
426
- - Duration defaults and overrides supported
427
- - Verification patterns for long press outcomes defined
428
- - Included in action capability model
429
-
430
- ## Success Metrics
431
- - Increased hidden/control-surface interaction coverage
432
- - Reduced dead-end interaction failures
433
- - Long press task success rate tracked
434
-
435
- ## Dependencies
436
- Depends on:
437
- - Richer Element Identity
438
-
439
- Strengthens:
440
- - Better Compose / Custom Control Semantics
441
-
442
- ---
443
-
444
- # Better Compose / Custom Control Semantics
445
-
446
- ## Rationale
447
- Higher priority after agent feedback exposed custom control semantics as a core reliability gap, not a later optimization.
448
-
449
- **Status:** Completed
450
-
451
- Semantics become more useful once:
452
- - identity is stronger
453
- - verification is stronger
454
- - gestures are richer
455
- - synchronization is more reliable
456
- - action execution is more precise
457
-
458
- ## Scope
459
- - Composite control traits
460
- - Control role enrichment (`slider`, `stepper`, `dropdown`, `segmented_control`, `custom_adjustable`)
461
- - Interaction contract metadata (`supported_actions`, `adjustable`, `state_shape`)
462
- - Custom widget gesture affordance hints
463
- - Semantic confidence annotations
464
- - Compose-aware selectors for waits (merged semantics and element relationships)
465
-
466
- ## Expected Impact
467
- High.
468
-
469
- ## Exit Criteria
470
- - Semantic traits implemented for major custom control classes
471
- - Interaction contracts surfaced in observation and resolution paths
472
- - Confidence model defined for derived semantics
473
- - Custom control manipulation success validated in benchmark flows
474
-
475
- ## Success Metrics
476
- - Higher custom control interaction success rate
477
- - Fewer retries on non-standard widgets
478
- - Reduced semantic ambiguity failures
479
-
480
- ## Dependencies
481
- Depends on:
482
- - Stronger State Verification
483
- - Richer Element Identity
484
- - Wait and Synchronization Reliability
485
- - Actionability Resolution
486
- - Adjustable Control Support
487
- - Long Press Gesture
488
-
489
- ---
490
-
491
- # Runtime Debugger Introspection
492
-
493
- ## Rationale
494
- Enables agents to move from symptom observation to runtime causal analysis by inspecting paused application state during debugging sessions.
495
-
496
- **Status:** Planned
497
-
498
- Addresses limitations where agents:
499
- - observe UI failures but cannot determine runtime cause
500
- - cannot inspect ViewModel or controller state
501
- - lack access to local variables and stack context
502
- - cannot reason about async execution state
503
-
504
- ## Scope
505
- Debugger-assisted runtime inspection primitives:
506
-
507
- ```javascript
508
- debugger.pause_state()
509
- debugger.stack_trace()
510
- debugger.locals()
511
- debugger.inspect_object(object_id)
512
- debugger.evaluate(expression)
513
- debugger.threads()
514
- ```
515
-
516
- Includes:
517
- - stack frame inspection
518
- - local variable inspection
519
- - object graph traversal
520
- - thread inspection
521
- - expression evaluation
522
- - platform abstraction over JDWP / LLDB
523
- - bounded object expansion and summarization
524
- - coroutine/task inspection support
525
-
526
- Future exploration:
527
- - controlled stepping support
528
- - debugger-assisted recovery workflows
529
-
530
- ## Expected Impact
531
- Very high.
532
-
533
- Transforms debugging from:
534
- - surface-level symptom detection
535
-
536
- toward:
537
- - root-cause-oriented runtime reasoning
538
-
539
- ## Exit Criteria
540
- - Paused runtime state accessible through MCP
541
- - Local variable inspection implemented
542
- - Stack trace inspection implemented
543
- - Object inspection primitives implemented
544
- - Runtime inspection validated on representative Android flows
545
- - Object expansion safeguards implemented
546
- - Expression evaluation available with safety limits
547
-
548
- ## Success Metrics
549
- - Lower mean time-to-root-cause
550
- - Higher causal diagnosis accuracy
551
- - Reduced debugging iteration loops
552
- - Faster identification of state-management failures
553
- - Improved async/concurrency failure diagnosis
554
-
555
- ## Dependencies
556
- Depends on:
557
- - Action Trace and Execution Observability
558
- - Stronger State Verification
559
- - Wait and Synchronization Reliability
560
- - Signal-Oriented Diagnostic Filtering
561
-
562
- Strengthens:
563
- - Advanced Trace Correlation and Analysis
564
- - Future autonomous recovery systems
565
-
566
- # Pinch to Zoom
567
-
568
- ## Rationale
569
- Valuable, but narrower than long press.
570
-
571
- **Status:** Planned
572
-
573
- Applies mainly to:
574
- - maps
575
- - images
576
- - canvases
577
- - zoomable custom surfaces
578
-
579
- Useful, but less universal.
580
-
581
- ## Scope
582
-
583
- ```json
584
- pinch_to_zoom(target, scale, center?)
585
- ```
586
-
587
- Verification:
588
- - expect_zoom_level
589
- - expect_viewport_change
590
-
591
- ## Expected Impact
592
- Medium-high.
593
-
594
- ## Exit Criteria
595
- - pinch_to_zoom implemented
596
- - Zoom in/out flows supported
597
- - Verification primitives for viewport or zoom state available
598
- - Gesture integrated into action model
599
-
600
- ## Success Metrics
601
- - Successful execution across zoomable surfaces
602
- - Reduced failures on map/image workflows
603
- - Gesture success rate tracked
604
-
605
- ## Dependencies
606
- Depends on:
607
- - Stronger State Verification
608
- - Richer Element Identity
609
-
610
- ---
611
-
612
- # Advanced Trace Correlation
613
-
614
- ## Rationale
615
- Very valuable for debugging,
616
- but less critical than improving control success first.
617
-
618
- Builds on the foundational Action Trace and Execution Observability capability by linking traces across UI, network, and logs.
619
-
620
- **Status:** Planned
621
-
622
- Improves diagnosis more than task completion.
623
-
624
- ## Scope
625
- - Action correlation metadata
626
- - UI/network/log linkage
627
-
628
- ## Expected Impact
629
- Medium-high.
630
-
631
- ## Exit Criteria
632
- - Action correlation model defined
633
- - UI/network/log linkage captured for representative actions
634
- - Correlation metadata exposed to agents
635
- - Debugging workflows validated with trace linkage
636
-
637
- ## Success Metrics
638
- - Lower time-to-root-cause
639
- - Faster diagnosis of partial failures
640
- - Improved action causality attribution
641
-
642
- ## Dependencies
643
- Depends on:
644
- - Stronger State Verification
645
- - Richer Element Identity
646
- - Wait and Synchronization Reliability
@@ -1,29 +0,0 @@
1
- {
2
- "platform": "android",
3
- "device_id": "[redacted]",
4
- "fixture": "latency-journey-app",
5
- "network_freshness_passed": true,
6
- "silent_timer_freshness_passed": true,
7
- "bridge": {
8
- "samples": {
9
- "count": 10,
10
- "p50": 3.122458,
11
- "p95": 4.390417,
12
- "min": 2.858792,
13
- "max": 4.390417
14
- },
15
- "node_count": 7,
16
- "identified_nodes": 4
17
- },
18
- "legacy": {
19
- "samples": {
20
- "count": 10,
21
- "p50": 2101.953208,
22
- "p95": 2257.736083,
23
- "min": 2021.97375,
24
- "max": 2257.736083
25
- },
26
- "node_count": 7,
27
- "identified_nodes": 4
28
- }
29
- }