mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
547 lines
16 KiB
JSON
547 lines
16 KiB
JSON
{
|
|
"schemaVersion": "ios-snapshot-convergence.v1",
|
|
"issue": "#2189",
|
|
"parent": "#2188",
|
|
"references": {
|
|
"deepButton": "#1626",
|
|
"appMount": "#1571"
|
|
},
|
|
"runId": "ios-snapshot-1788760580316-76330",
|
|
"generatedAt": "2026-09-07T05:56:20.316Z",
|
|
"revision": {
|
|
"commit": "27a97ee619ce7aad985a3c5a4ceb369392ae7a04",
|
|
"branch": "detached",
|
|
"dirty": true
|
|
},
|
|
"toolchain": {
|
|
"node": "v26.8.1",
|
|
"pnpm": "11.21.0",
|
|
"xcode": "Xcode 26.2\nBuild version 17C52",
|
|
"simctl": "@(#)PROGRAM:simctl PROJECT:CoreSimulator-1155.4",
|
|
"os": "darwin 25.5.0",
|
|
"arch": "arm64"
|
|
},
|
|
"host": {
|
|
"model": "MacBook Pro",
|
|
"modelIdentifier": "Mac16,8",
|
|
"cpu": "Apple M4 Pro",
|
|
"cpuCores": 12
|
|
},
|
|
"target": {
|
|
"platform": "ios",
|
|
"kind": "simulator",
|
|
"udid": "93FC0A0B-CC1F-4F9D-B29A-CEC76A9301BC",
|
|
"name": "ad-bench-2198",
|
|
"runtime": "com.apple.CoreSimulator.SimRuntime.iOS-26-2",
|
|
"appId": "com.callstack.agentdevicelab"
|
|
},
|
|
"config": {
|
|
"warmSampleMinimum": 20,
|
|
"coldSampleMinimum": 10,
|
|
"requestedSamples": 10,
|
|
"screens": [
|
|
"list",
|
|
"system-surface"
|
|
],
|
|
"states": [
|
|
"first-interaction"
|
|
]
|
|
},
|
|
"measurements": [
|
|
{
|
|
"transport": "local",
|
|
"execution": "fresh-process-cli",
|
|
"state": "first-interaction",
|
|
"screen": "list",
|
|
"sampleMinimum": 10,
|
|
"operation": "first-interaction",
|
|
"samples": [
|
|
{
|
|
"index": 1,
|
|
"startedAt": "2026-09-07T05:50:38.512Z",
|
|
"finishedAt": "2026-09-07T05:50:40.018Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1505.7942089999997,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": true
|
|
},
|
|
{
|
|
"index": 2,
|
|
"startedAt": "2026-09-07T05:50:57.922Z",
|
|
"finishedAt": "2026-09-07T05:50:59.318Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1395.9466250000041,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 3,
|
|
"startedAt": "2026-09-07T05:51:15.032Z",
|
|
"finishedAt": "2026-09-07T05:51:16.400Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1367.9427920000016,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 4,
|
|
"startedAt": "2026-09-07T05:51:32.163Z",
|
|
"finishedAt": "2026-09-07T05:51:33.493Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1329.9674169999926,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 5,
|
|
"startedAt": "2026-09-07T05:51:51.145Z",
|
|
"finishedAt": "2026-09-07T05:51:52.579Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1434.3474169999972,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 6,
|
|
"startedAt": "2026-09-07T05:52:11.850Z",
|
|
"finishedAt": "2026-09-07T05:52:13.174Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1323.9549999999872,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 7,
|
|
"startedAt": "2026-09-07T05:52:28.717Z",
|
|
"finishedAt": "2026-09-07T05:52:30.089Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1372.3614159999997,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 8,
|
|
"startedAt": "2026-09-07T05:52:47.073Z",
|
|
"finishedAt": "2026-09-07T05:52:48.456Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1383.4226250000065,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 9,
|
|
"startedAt": "2026-09-07T05:53:04.226Z",
|
|
"finishedAt": "2026-09-07T05:53:05.567Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1340.8237920000101,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 10,
|
|
"startedAt": "2026-09-07T05:53:22.510Z",
|
|
"finishedAt": "2026-09-07T05:53:23.891Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1380.8673750000016,
|
|
"responseBytes": 580,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
}
|
|
],
|
|
"wallClockMs": {
|
|
"n": 10,
|
|
"min": 1323.9549999999872,
|
|
"median": 1372.3614159999997,
|
|
"p95": 1505.7942089999997,
|
|
"max": 1505.7942089999997,
|
|
"outlierCount": 1,
|
|
"outlierRule": "tukey-1.5-iqr"
|
|
},
|
|
"daemonDurationMs": null,
|
|
"responseBytes": {
|
|
"n": 10,
|
|
"min": 580,
|
|
"median": 580,
|
|
"p95": 580,
|
|
"max": 580,
|
|
"outlierCount": 1,
|
|
"outlierRule": "tukey-1.5-iqr"
|
|
},
|
|
"failures": 0,
|
|
"failureCategories": {}
|
|
},
|
|
{
|
|
"transport": "local",
|
|
"execution": "fresh-process-cli",
|
|
"state": "first-interaction",
|
|
"screen": "system-surface",
|
|
"sampleMinimum": 10,
|
|
"operation": "first-interaction",
|
|
"samples": [
|
|
{
|
|
"index": 1,
|
|
"startedAt": "2026-09-07T05:53:43.899Z",
|
|
"finishedAt": "2026-09-07T05:53:44.889Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 989.9971250000235,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 2,
|
|
"startedAt": "2026-09-07T05:54:01.284Z",
|
|
"finishedAt": "2026-09-07T05:54:02.264Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 979.8143330000166,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 3,
|
|
"startedAt": "2026-09-07T05:54:17.230Z",
|
|
"finishedAt": "2026-09-07T05:54:18.209Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 978.9883330000448,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 4,
|
|
"startedAt": "2026-09-07T05:54:33.379Z",
|
|
"finishedAt": "2026-09-07T05:54:34.380Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1001.3624580000178,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 5,
|
|
"startedAt": "2026-09-07T05:54:51.049Z",
|
|
"finishedAt": "2026-09-07T05:54:52.070Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1020.752582999994,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 6,
|
|
"startedAt": "2026-09-07T05:55:07.474Z",
|
|
"finishedAt": "2026-09-07T05:55:08.453Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 979.1802080000052,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 7,
|
|
"startedAt": "2026-09-07T05:55:25.246Z",
|
|
"finishedAt": "2026-09-07T05:55:26.238Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 991.5887080000248,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 8,
|
|
"startedAt": "2026-09-07T05:55:42.608Z",
|
|
"finishedAt": "2026-09-07T05:55:43.598Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 990.0274160000263,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 9,
|
|
"startedAt": "2026-09-07T05:55:59.183Z",
|
|
"finishedAt": "2026-09-07T05:56:00.209Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1026.4541249999893,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
},
|
|
{
|
|
"index": 10,
|
|
"startedAt": "2026-09-07T05:56:15.868Z",
|
|
"finishedAt": "2026-09-07T05:56:16.872Z",
|
|
"operation": "first-interaction",
|
|
"wallClockMs": 1004.1831670000101,
|
|
"responseBytes": 513,
|
|
"targetGeneration": null,
|
|
"firstTree": "not-observed",
|
|
"ok": true,
|
|
"outlier": false
|
|
}
|
|
],
|
|
"wallClockMs": {
|
|
"n": 10,
|
|
"min": 978.9883330000448,
|
|
"median": 990.0274160000263,
|
|
"p95": 1026.4541249999893,
|
|
"max": 1026.4541249999893,
|
|
"outlierCount": 0,
|
|
"outlierRule": "tukey-1.5-iqr"
|
|
},
|
|
"daemonDurationMs": null,
|
|
"responseBytes": {
|
|
"n": 10,
|
|
"min": 513,
|
|
"median": 513,
|
|
"p95": 513,
|
|
"max": 513,
|
|
"outlierCount": 0,
|
|
"outlierRule": "tukey-1.5-iqr"
|
|
},
|
|
"failures": 0,
|
|
"failureCategories": {}
|
|
}
|
|
],
|
|
"packageSize": {
|
|
"status": "not-run",
|
|
"revision": "27a97ee619ce7aad985a3c5a4ceb369392ae7a04"
|
|
},
|
|
"deepButtonEvidence": {
|
|
"issue": "#1626",
|
|
"fixture": "deep-button-v1",
|
|
"artifact": "deep-button-fixture.v1.json",
|
|
"depth": 72,
|
|
"changedDescendant": "deep-button-state",
|
|
"invalidShallowRule": {
|
|
"command": "pnpm bench:ios-snapshot:deep-button -- --rule invalid-shallow",
|
|
"exitCode": 1,
|
|
"assertion": "AssertionError: changed descendant was omitted by shallow observation; no-effect claim is invalid."
|
|
},
|
|
"safeFullRule": {
|
|
"command": "pnpm bench:ios-snapshot:deep-button -- --rule safe-full",
|
|
"exitCode": 0,
|
|
"assertion": "full observation changed and includes the changed descendant."
|
|
},
|
|
"before": {
|
|
"depth": 72,
|
|
"surfaceDigest": "bd7118623fd764b18b99394d25021372840cea98e8b3b0c0196d3e791b199062",
|
|
"fullDigest": "275f9d14720d5a02ed77b54a03a8f51830afcdc2b12577bd8014631bfbf2c81a",
|
|
"state": "off",
|
|
"surfaceNodeIds": [
|
|
"deep-button-root",
|
|
"deep-button-level-01"
|
|
],
|
|
"fullNodeIds": [
|
|
"deep-button-root",
|
|
"deep-button-level-01",
|
|
"deep-button-level-02",
|
|
"deep-button-level-03",
|
|
"deep-button-level-04",
|
|
"deep-button-level-05",
|
|
"deep-button-level-06",
|
|
"deep-button-level-07",
|
|
"deep-button-level-08",
|
|
"deep-button-level-09",
|
|
"deep-button-level-10",
|
|
"deep-button-level-11",
|
|
"deep-button-level-12",
|
|
"deep-button-level-13",
|
|
"deep-button-level-14",
|
|
"deep-button-level-15",
|
|
"deep-button-level-16",
|
|
"deep-button-level-17",
|
|
"deep-button-level-18",
|
|
"deep-button-level-19",
|
|
"deep-button-level-20",
|
|
"deep-button-level-21",
|
|
"deep-button-level-22",
|
|
"deep-button-level-23",
|
|
"deep-button-level-24",
|
|
"deep-button-level-25",
|
|
"deep-button-level-26",
|
|
"deep-button-level-27",
|
|
"deep-button-level-28",
|
|
"deep-button-level-29",
|
|
"deep-button-level-30",
|
|
"deep-button-level-31",
|
|
"deep-button-level-32",
|
|
"deep-button-level-33",
|
|
"deep-button-level-34",
|
|
"deep-button-level-35",
|
|
"deep-button-level-36",
|
|
"deep-button-level-37",
|
|
"deep-button-level-38",
|
|
"deep-button-level-39",
|
|
"deep-button-level-40",
|
|
"deep-button-level-41",
|
|
"deep-button-level-42",
|
|
"deep-button-level-43",
|
|
"deep-button-level-44",
|
|
"deep-button-level-45",
|
|
"deep-button-level-46",
|
|
"deep-button-level-47",
|
|
"deep-button-level-48",
|
|
"deep-button-level-49",
|
|
"deep-button-level-50",
|
|
"deep-button-level-51",
|
|
"deep-button-level-52",
|
|
"deep-button-level-53",
|
|
"deep-button-level-54",
|
|
"deep-button-level-55",
|
|
"deep-button-level-56",
|
|
"deep-button-level-57",
|
|
"deep-button-level-58",
|
|
"deep-button-level-59",
|
|
"deep-button-level-60",
|
|
"deep-button-level-61",
|
|
"deep-button-level-62",
|
|
"deep-button-level-63",
|
|
"deep-button-level-64",
|
|
"deep-button-level-65",
|
|
"deep-button-level-66",
|
|
"deep-button-level-67",
|
|
"deep-button-level-68",
|
|
"deep-button-level-69",
|
|
"deep-button-level-70",
|
|
"deep-button-level-71",
|
|
"deep-button-state"
|
|
]
|
|
},
|
|
"after": {
|
|
"depth": 72,
|
|
"surfaceDigest": "bd7118623fd764b18b99394d25021372840cea98e8b3b0c0196d3e791b199062",
|
|
"fullDigest": "8542024b5b9719f6b2ba9692915bda9011e0e5d10c4e21463257763ee765719d",
|
|
"state": "on",
|
|
"surfaceNodeIds": [
|
|
"deep-button-root",
|
|
"deep-button-level-01"
|
|
],
|
|
"fullNodeIds": [
|
|
"deep-button-root",
|
|
"deep-button-level-01",
|
|
"deep-button-level-02",
|
|
"deep-button-level-03",
|
|
"deep-button-level-04",
|
|
"deep-button-level-05",
|
|
"deep-button-level-06",
|
|
"deep-button-level-07",
|
|
"deep-button-level-08",
|
|
"deep-button-level-09",
|
|
"deep-button-level-10",
|
|
"deep-button-level-11",
|
|
"deep-button-level-12",
|
|
"deep-button-level-13",
|
|
"deep-button-level-14",
|
|
"deep-button-level-15",
|
|
"deep-button-level-16",
|
|
"deep-button-level-17",
|
|
"deep-button-level-18",
|
|
"deep-button-level-19",
|
|
"deep-button-level-20",
|
|
"deep-button-level-21",
|
|
"deep-button-level-22",
|
|
"deep-button-level-23",
|
|
"deep-button-level-24",
|
|
"deep-button-level-25",
|
|
"deep-button-level-26",
|
|
"deep-button-level-27",
|
|
"deep-button-level-28",
|
|
"deep-button-level-29",
|
|
"deep-button-level-30",
|
|
"deep-button-level-31",
|
|
"deep-button-level-32",
|
|
"deep-button-level-33",
|
|
"deep-button-level-34",
|
|
"deep-button-level-35",
|
|
"deep-button-level-36",
|
|
"deep-button-level-37",
|
|
"deep-button-level-38",
|
|
"deep-button-level-39",
|
|
"deep-button-level-40",
|
|
"deep-button-level-41",
|
|
"deep-button-level-42",
|
|
"deep-button-level-43",
|
|
"deep-button-level-44",
|
|
"deep-button-level-45",
|
|
"deep-button-level-46",
|
|
"deep-button-level-47",
|
|
"deep-button-level-48",
|
|
"deep-button-level-49",
|
|
"deep-button-level-50",
|
|
"deep-button-level-51",
|
|
"deep-button-level-52",
|
|
"deep-button-level-53",
|
|
"deep-button-level-54",
|
|
"deep-button-level-55",
|
|
"deep-button-level-56",
|
|
"deep-button-level-57",
|
|
"deep-button-level-58",
|
|
"deep-button-level-59",
|
|
"deep-button-level-60",
|
|
"deep-button-level-61",
|
|
"deep-button-level-62",
|
|
"deep-button-level-63",
|
|
"deep-button-level-64",
|
|
"deep-button-level-65",
|
|
"deep-button-level-66",
|
|
"deep-button-level-67",
|
|
"deep-button-level-68",
|
|
"deep-button-level-69",
|
|
"deep-button-level-70",
|
|
"deep-button-level-71",
|
|
"deep-button-state"
|
|
]
|
|
}
|
|
},
|
|
"status": "completed"
|
|
}
|