{
  "evidenceSchemaVersion": 2,
  "generatedAt": "2026-09-03T08:25:00+08:00",
  "privacy": {
    "deviceAlias": "设备 A",
    "omitted": [
      "设备名",
      "UDID",
      "真实 App 名",
      "Bundle ID",
      "账号与业务数据"
    ]
  },
  "acceptanceScope": "A 批次 P0 数据保真 + P1 已有源完整承接，只读、无侵入真机验收",
  "collectorRuns": [
    {
      "targetAlias": "目标 App A",
      "layer": "collector-real-device",
      "eventCount": 133,
      "sampleCount": 125,
      "attachedCount": 1,
      "stoppedCount": 1,
      "waitingCount": 0,
      "errorCount": 0,
      "sequenceGapCount": 0,
      "rawProcessSystemGraphicsOnEverySample": true,
      "rateQualityRows": {
        "warmup": 1,
        "valid": 124
      },
      "metricAvailability": {
        "cpuUsage": 124,
        "physicalFootprint": 125,
        "residentMemory": 125,
        "threadCount": 125,
        "contextSwitchesPerSecond": 124,
        "interruptWakeupsPerSecond": 124,
        "diskReadBytesPerSecond": 124,
        "diskWriteBytesPerSecond": 124,
        "framesPerSecond": 125,
        "rendererGPUUsage": 125,
        "tilerGPUUsage": 125,
        "deviceGPUUsage": 125
      },
      "verdict": "TRANSPORT_PASS_VALUE_UNVERIFIED"
    },
    {
      "targetAlias": "目标 App B",
      "layer": "collector-real-device",
      "eventCount": 194,
      "sampleCount": 186,
      "attachedCount": 1,
      "stoppedCount": 1,
      "waitingCount": 0,
      "errorCount": 0,
      "sequenceGapCount": 0,
      "rawProcessSystemGraphicsOnEverySample": true,
      "rateQualityRows": {
        "warmup": 1,
        "valid": 185
      },
      "metricAvailability": {
        "cpuUsage": 185,
        "physicalFootprint": 186,
        "residentMemory": 186,
        "threadCount": 186,
        "contextSwitchesPerSecond": 185,
        "interruptWakeupsPerSecond": 185,
        "diskReadBytesPerSecond": 185,
        "diskWriteBytesPerSecond": 185,
        "framesPerSecond": 186,
        "rendererGPUUsage": 186,
        "tilerGPUUsage": 186,
        "deviceGPUUsage": 186
      },
      "verdict": "TRANSPORT_PASS_VALUE_UNVERIFIED"
    }
  ],
  "macAppEndToEnd": {
    "targetAlias": "目标 App C",
    "layer": "Mac App UI -> Session Store -> Collector -> metrics.csv",
    "manifest": {
      "state": "completed",
      "schemaVersion": 2,
      "sampleCount": 163,
      "hasEndedAt": true,
      "files": [
        "events/events-000001.jsonl",
        "raw/collector-000001.jsonl",
        "metric-registry.json",
        "quality.json",
        "metrics.csv"
      ]
    },
    "quality": {
      "wireRecordCount": 171,
      "sampleCount": 163,
      "sequenceGapCount": 0,
      "duplicateCount": 0,
      "outOfOrderCount": 0,
      "parseFailureCount": 0,
      "writerFailureCount": 0
    },
    "metricsCSV": {
      "rowCount": 163,
      "matchesManifestSampleCount": true,
      "firstSequence": 1,
      "lastSequence": 163,
      "medianIntervalSeconds": 1.009,
      "rateQualityByColumn": {
        "contextSwitchQuality": {
          "warmup": 1,
          "valid": 162
        },
        "interruptWakeupQuality": {
          "warmup": 1,
          "valid": 162
        },
        "diskReadQuality": {
          "warmup": 1,
          "valid": 162
        },
        "diskWriteQuality": {
          "warmup": 1,
          "valid": 162
        }
      },
      "availabilityByMetricColumn": {
        "cpuPercent": 162,
        "physicalFootprintBytes": 163,
        "residentMemoryBytes": 163,
        "threadCount": 163,
        "contextSwitchesPerSecond": 162,
        "interruptWakeupsPerSecond": 162,
        "diskReadBytesPerSecond": 162,
        "diskWriteBytesPerSecond": 162,
        "framesPerSecond": 163,
        "rendererGPUPercent": 163,
        "tilerGPUPercent": 163,
        "deviceGPUPercent": 163
      }
    },
    "capabilities": {
      "protocol": "perfowl.collector/1",
      "schemaVersion": 2,
      "collectorVersion": "0.3.0",
      "providerRoute": "usbmux-lockdown",
      "sampleIntervalSeconds": 1,
      "graphicsAvailable": true,
      "graphicsScope": "foreground-device",
      "declared": [
        "sysmontap",
        "graphics",
        "raw-process",
        "raw-system",
        "raw-graphics",
        "counter-quality",
        "target-rebind",
        "stop",
        "ping"
      ],
      "enabledProcessAttributeCount": 22,
      "actualProcessAttributeCount": 74,
      "actualSystemAttributeCount": 37
    },
    "raw": {
      "kindCounts": {
        "hello": 1,
        "provider": 1,
        "ready": 1,
        "capabilities": 2,
        "attached": 1,
        "sample": 163,
        "stop_requested": 1,
        "stopped": 1
      },
      "processSystemGraphicsOnEverySample": true
    },
    "verdict": "SESSION_PIPELINE_PASS_TARGET_IDENTITY_FAIL"
  },
  "interruptedSessionRecovery": {
    "observed": true,
    "recoveredState": "interrupted",
    "reason": "host_restarted_before_finalize",
    "note": "客户端重启后未把未收尾会话误记为 completed。"
  },
  "batchVerdict": "TARGET_IDENTITY_VALUE_PASS_UI_CLICK_GATE_PENDING",
  "remainingBoundaries": [
    "新版本 App 的人工 UI 点击回归仍需单独补录，完成前不将 A 批次标记为 Full PASS。",
    "FPS/GPU 保持 foreground-device 范围；目标不在前台时派生值为空并标记 not-target-foreground。",
    "iOS 17.x 路由仍需独立真机门禁。",
    "12 项指标仍为 Experimental；尚未完成与 PerfDog/xctrace 同场误差校准。",
    "真机原始 Session 与诊断输出留在本机，不进入 Git。"
  ],
  "zeroValueAudit": {
    "status": "FIXED_RETEST_PASS",
    "finding": "所选 Bundle ID 与 Collector 实际绑定 PID 的 Bundle ID 不一致；设备上存在同名 executable。",
    "originalSession": {
      "sampleCount": 163,
      "cpuZeroValidIntervals": 162,
      "contextSwitchRateZeroValidIntervals": 162,
      "wakeupRateZeroValidIntervals": 162,
      "residentMemoryMiB": 0.25,
      "threadCount": 1,
      "staticCumulativeCounters": true
    },
    "bundleResolvedPidProbe": {
      "sampleCount": 19,
      "cpuPercent": {
        "min": 0.499,
        "average": 1.325,
        "max": 4.846,
        "zeroCount": 0
      },
      "physicalFootprintMiB": {
        "min": 165.25,
        "max": 165.38
      },
      "residentMemoryMiB": {
        "min": 136.7,
        "max": 136.81
      },
      "threadCount": {
        "min": 22,
        "average": 22.53,
        "max": 24
      },
      "contextSwitchesPerSecond": {
        "min": 67.558,
        "average": 87.387,
        "max": 152.599
      },
      "interruptWakeupsPerSecond": {
        "min": 54.643,
        "average": 63.995,
        "max": 117.691
      },
      "diskReadZeroIntervals": 18,
      "diskWriteZeroIntervals": 18
    },
    "sampleIntervalControl": "0、500000000 ns、1000000000 ns 三种配置均在正确 PID 上观测到 CPU 与累计计数器变化；不是本次主因。",
    "fixSummary": "Bundle ID 精确解析 PID、进程表二次校验、同名 executable 禁止回退、前台 graphics 归属门禁和长静止 suspect 标记已落地。"
  },
  "targetIdentityFixVerification": {
    "performedAt": "2026-09-03",
    "releaseArtifact": {
      "appVersion": "0.3.0",
      "architecture": "x86_64",
      "codeSignatureStrictVerification": true,
      "bundledCollectorHasBundleIDArgument": true,
      "bundledCollectorHasProcessControl": true
    },
    "foregroundBuiltCollectorRun": {
      "targetAlias": "目标 App C",
      "layer": "release-bundled-collector-real-device",
      "eventCount": 37,
      "sampleCount": 28,
      "stoppedCount": 1,
      "errorCount": 0,
      "stderrBytes": 0,
      "identityEventCount": 1,
      "identityVerified": true,
      "targetForeground": true,
      "uniquePidCount": 1,
      "dynamicActivity": {
        "warmup": 1,
        "valid": 27,
        "suspect-static": 0
      },
      "metricRanges": {
        "cpuPercent": {
          "available": 27,
          "nonzero": 27,
          "min": 0.455,
          "max": 3.032
        },
        "physicalFootprintMiB": {
          "available": 28,
          "min": 166.63,
          "max": 166.71
        },
        "residentMemoryMiB": {
          "available": 28,
          "min": 117.92,
          "max": 117.94
        },
        "threadCount": {
          "available": 28,
          "min": 21,
          "max": 22
        },
        "contextSwitchesPerSecond": {
          "available": 27,
          "nonzero": 27,
          "min": 62.99,
          "max": 148.689
        },
        "interruptWakeupsPerSecond": {
          "available": 27,
          "nonzero": 27,
          "min": 48.616,
          "max": 113.762
        },
        "diskReadBytesPerSecond": {
          "available": 27,
          "nonzero": 0
        },
        "diskWriteBytesPerSecond": {
          "available": 27,
          "nonzero": 0
        },
        "framesPerSecond": {
          "available": 28,
          "nonzero": 17,
          "min": 0,
          "max": 35
        },
        "deviceGPUPercent": {
          "available": 28,
          "nonzero": 2,
          "min": 0,
          "max": 1
        }
      },
      "verdict": "TARGET_IDENTITY_AND_VALUE_DYNAMICS_PASS"
    },
    "backgroundSameExecutableRun": {
      "targetAlias": "目标 App D",
      "layer": "release-bundled-collector-real-device",
      "relationship": "与前台目标 executable 同名但 Bundle ID 不同",
      "eventCount": 20,
      "sampleCount": 11,
      "stoppedCount": 1,
      "errorCount": 0,
      "stderrBytes": 0,
      "identityVerified": true,
      "targetForeground": false,
      "uniquePidCount": 1,
      "rawGraphicsPreservedSamples": 11,
      "derivedGraphicsPresence": {
        "framesPerSecond": 0,
        "deviceGPUUsage": 0,
        "rendererGPUUsage": 0,
        "tilerGPUUsage": 0
      },
      "derivedGraphicsQuality": "not-target-foreground",
      "dynamicActivityObserved": [
        "warmup",
        "idle",
        "suspect-static"
      ],
      "verdict": "FOREGROUND_ATTRIBUTION_GATE_PASS"
    },
    "controllerSessionStoreRun": {
      "targetAlias": "目标 App C",
      "layer": "PerformanceSessionController -> release-bundled collector -> Session Store",
      "sampleCount": 21,
      "manifestState": "completed",
      "schemaVersion": 2,
      "metricsCSVRowCount": 21,
      "metricsCSVMatchesManifest": true,
      "wireRecordCount": 30,
      "sequenceGapCount": 0,
      "duplicateCount": 0,
      "outOfOrderCount": 0,
      "parseFailureCount": 0,
      "writerFailureCount": 0,
      "identityVerified": true,
      "targetForeground": true,
      "uniquePidCount": 1,
      "dynamicActivity": {
        "warmup": 1,
        "valid": 20
      },
      "lastError": null,
      "verdict": "CONTROLLER_SESSION_PIPELINE_PASS"
    },
    "automatedTests": {
      "python": "10/10",
      "swift": "26/26"
    },
    "remainingGate": {
      "name": "release App manual UI click-through",
      "status": "PENDING",
      "reason": "本轮自动化环境未得到可重开的 App 主窗口；未以 Controller 真机闭环替代 UI 点击证据。"
    }
  }
}
