Files
callstack__agent-device/2198-slice-a-first-interaction-fixed-e729321dcc/base-first-fixed.json
T

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"
}