{
 "production_hook": {
  "bundle_sha256": "251e775e342bd43c76200b2ee32861f151a43f33011e0bfec674c6cebca95352",
  "cycles": 40,
  "background_resumes": 13,
  "captures": {
   "c06-memwarn": {
    "delivered_in_log": true
   },
   "c06-home-postwarn": {
    "physical_footprint_mib": 230.5,
    "malloc_allocated_mib": 64.3,
    "malloc_count": 300287,
    "untagged_dirty_plus_swapped_mib": 124.2,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 875,
     "SerializableJSRef": 6924,
     "Shareable": 803,
     "SynchronizableFixed": 754,
     "ShadowNodeWrapper": 1179
    }
   },
   "c40-home-pre": {
    "physical_footprint_mib": 306.2,
    "malloc_allocated_mib": 108.4,
    "malloc_count": 510275,
    "untagged_dirty_plus_swapped_mib": 168.8,
    "heap_classes": {
     "ViewShadowNode": 5456,
     "BaseViewProps": 1,
     "SerializableJSRef": 25431,
     "SynchronizableFixed": 2857,
     "Shareable": 1427,
     "ShadowNodeWrapper": 4818
    }
   },
   "c40-memwarn": {
    "delivered_in_log": true
   },
   "c40-home-postwarn": {
    "physical_footprint_mib": 285.9,
    "malloc_allocated_mib": 71.0,
    "malloc_count": 323029,
    "untagged_dirty_plus_swapped_mib": 168.15,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 877,
     "SerializableJSRef": 8927,
     "Shareable": 877,
     "SynchronizableFixed": 828,
     "ShadowNodeWrapper": 1179
    }
   }
  }
 },
 "control_main_runtime_only": {
  "bundle_sha256": "d391d0c59c1b35716da8cb2ded7eed19781e188eacfb7a72a314aef4888b5715",
  "cycles": 40,
  "background_resumes": 13,
  "captures": {
   "c06-memwarn": {
    "delivered_in_log": true
   },
   "c06-home-postwarn": {
    "physical_footprint_mib": 233.5,
    "malloc_allocated_mib": 65.6,
    "malloc_count": 305772,
    "untagged_dirty_plus_swapped_mib": 126.06,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 1002,
     "SerializableJSRef": 7337,
     "SynchronizableFixed": 1104,
     "Shareable": 803,
     "ShadowNodeWrapper": 1349
    }
   },
   "c40-home-pre": {
    "physical_footprint_mib": 293.6,
    "malloc_allocated_mib": 83.1,
    "malloc_count": 410466,
    "untagged_dirty_plus_swapped_mib": 172.44,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 2206,
     "SynchronizableFixed": 3098,
     "SerializableJSRef": 13552,
     "Shareable": 961,
     "ShadowNodeWrapper": 2649
    }
   },
   "c40-memwarn": {
    "delivered_in_log": true
   },
   "c40-home-postwarn": {
    "physical_footprint_mib": 290.8,
    "malloc_allocated_mib": 78.3,
    "malloc_count": 358516,
    "untagged_dirty_plus_swapped_mib": 170.24,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 1973,
     "SynchronizableFixed": 3098,
     "SerializableJSRef": 12008,
     "Shareable": 887,
     "ShadowNodeWrapper": 2436
    }
   }
  }
 },
 "diagnostic_ui_gc_probe": {
  "bundle_sha256": "85f92da1fe2e4843d9cca44229dbca0353cccd03988f496396831f9cd2f447e1",
  "cycles": 40,
  "background_resumes": 13,
  "captures": {
   "c06-memwarn": {
    "delivered_in_log": true
   },
   "c06-home-postwarn": {
    "physical_footprint_mib": 226.7,
    "malloc_allocated_mib": 65.0,
    "malloc_count": 305617,
    "untagged_dirty_plus_swapped_mib": 120.13,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 883,
     "SerializableJSRef": 7343,
     "Shareable": 819,
     "SynchronizableFixed": 770,
     "ShadowNodeWrapper": 1179
    }
   },
   "c40-home-pre": {
    "physical_footprint_mib": 287.7,
    "malloc_allocated_mib": 81.1,
    "malloc_count": 400120,
    "untagged_dirty_plus_swapped_mib": 171.22,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 1888,
     "SynchronizableFixed": 2797,
     "SerializableJSRef": 12699,
     "Shareable": 964,
     "ShadowNodeWrapper": 2456
    }
   },
   "c40-memwarn": {
    "delivered_in_log": true
   },
   "c40-home-postwarn": {
    "physical_footprint_mib": 277.1,
    "malloc_allocated_mib": 70.8,
    "malloc_count": 326793,
    "untagged_dirty_plus_swapped_mib": 164.11,
    "heap_classes": {
     "BaseViewProps": 1,
     "ViewShadowNode": 883,
     "SerializableJSRef": 8958,
     "Shareable": 875,
     "SynchronizableFixed": 826,
     "ShadowNodeWrapper": 1179
    }
   }
  },
  "ui_gc_log": [
   {
    "jsonl_records": 5,
    "events": [
     "installed",
     "ui-result",
     "memoryWarning",
     "ui-result",
     "main-late"
    ],
    "other": [
     {
      "tag": "t3.uigc",
      "at": 1791248459685,
      "event": "installed",
      "main": {
       "gcType": "function",
       "hermesInternalType": "object",
       "statsFnType": "function",
       "stats": {
        "js_numGCs": 1,
        "js_heapSize": 12582912,
        "js_allocatedBytes": 5828768,
        "js_peakLiveAfterGC": 3034160,
        "js_mallocSizeEstimate": 0,
        "js_externalBytes": 43870,
        "js_vaSize": 12582912,
        "js_gcCPUTime": 0.001343
       }
      }
     },
     {
      "tag": "t3.uigc",
      "at": 1791248573733,
      "event": "main-late",
      "seq": 2,
      "delayMs": 3000,
      "main": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75763312,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1477633,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      }
     }
    ],
    "ui_results": [
     {
      "seq": 1,
      "mode": "probe",
      "runtimeKind": 2,
      "gcType": "function",
      "statsFnType": "function",
      "gcCalled": false,
      "gcError": null,
      "gcMs": null,
      "before": {
       "js_numGCs": 2,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 4195984,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 47552,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.001646
      },
      "after": {
       "js_numGCs": 2,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 4201000,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 47552,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.001646
      },
      "mainBefore": {
       "js_numGCs": 128,
       "js_heapSize": 83886080,
       "js_allocatedBytes": 74455520,
       "js_peakLiveAfterGC": 67535448,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 5604664,
       "js_vaSize": 83886080,
       "js_gcCPUTime": 0.11147200000000006
      },
      "mainAtUiReturn": {
       "js_numGCs": 128,
       "js_heapSize": 83886080,
       "js_allocatedBytes": 74472576,
       "js_peakLiveAfterGC": 67535448,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 5604728,
       "js_vaSize": 83886080,
       "js_gcCPUTime": 0.11147200000000006
      },
      "roundTripMs": 21
     },
     {
      "seq": 2,
      "mode": "gc",
      "runtimeKind": 2,
      "gcType": "function",
      "statsFnType": "function",
      "gcCalled": true,
      "gcError": null,
      "gcMs": 2,
      "before": {
       "js_numGCs": 5,
       "js_heapSize": 12582912,
       "js_allocatedBytes": 8364792,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 93120,
       "js_vaSize": 12582912,
       "js_gcCPUTime": 0.0032679999999999996
      },
      "after": {
       "js_numGCs": 8,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 3019768,
       "js_peakLiveAfterGC": 4544248,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 54336,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.005349
      },
      "mainBefore": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75664256,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1476538,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      },
      "mainAtUiReturn": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75676152,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1476538,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      },
      "roundTripMs": 2
     }
    ],
    "oslog_lines": 4
   },
   {
    "jsonl_records": 8,
    "events": [
     "installed",
     "ui-result",
     "memoryWarning",
     "ui-result",
     "main-late",
     "memoryWarning",
     "ui-result",
     "main-late"
    ],
    "other": [
     {
      "tag": "t3.uigc",
      "at": 1791248459685,
      "event": "installed",
      "main": {
       "gcType": "function",
       "hermesInternalType": "object",
       "statsFnType": "function",
       "stats": {
        "js_numGCs": 1,
        "js_heapSize": 12582912,
        "js_allocatedBytes": 5828768,
        "js_peakLiveAfterGC": 3034160,
        "js_mallocSizeEstimate": 0,
        "js_externalBytes": 43870,
        "js_vaSize": 12582912,
        "js_gcCPUTime": 0.001343
       }
      }
     },
     {
      "tag": "t3.uigc",
      "at": 1791248573733,
      "event": "main-late",
      "seq": 2,
      "delayMs": 3000,
      "main": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75763312,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1477633,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      }
     },
     {
      "tag": "t3.uigc",
      "at": 1791249017418,
      "event": "main-late",
      "seq": 3,
      "delayMs": 3000,
      "main": {
       "js_numGCs": 437,
       "js_heapSize": 155189248,
       "js_allocatedBytes": 80196232,
       "js_peakLiveAfterGC": 81665080,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1457409,
       "js_vaSize": 155189248,
       "js_gcCPUTime": 0.8578600000000002
      }
     }
    ],
    "ui_results": [
     {
      "seq": 1,
      "mode": "probe",
      "runtimeKind": 2,
      "gcType": "function",
      "statsFnType": "function",
      "gcCalled": false,
      "gcError": null,
      "gcMs": null,
      "before": {
       "js_numGCs": 2,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 4195984,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 47552,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.001646
      },
      "after": {
       "js_numGCs": 2,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 4201000,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 47552,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.001646
      },
      "mainBefore": {
       "js_numGCs": 128,
       "js_heapSize": 83886080,
       "js_allocatedBytes": 74455520,
       "js_peakLiveAfterGC": 67535448,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 5604664,
       "js_vaSize": 83886080,
       "js_gcCPUTime": 0.11147200000000006
      },
      "mainAtUiReturn": {
       "js_numGCs": 128,
       "js_heapSize": 83886080,
       "js_allocatedBytes": 74472576,
       "js_peakLiveAfterGC": 67535448,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 5604728,
       "js_vaSize": 83886080,
       "js_gcCPUTime": 0.11147200000000006
      },
      "roundTripMs": 21
     },
     {
      "seq": 2,
      "mode": "gc",
      "runtimeKind": 2,
      "gcType": "function",
      "statsFnType": "function",
      "gcCalled": true,
      "gcError": null,
      "gcMs": 2,
      "before": {
       "js_numGCs": 5,
       "js_heapSize": 12582912,
       "js_allocatedBytes": 8364792,
       "js_peakLiveAfterGC": 2268912,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 93120,
       "js_vaSize": 12582912,
       "js_gcCPUTime": 0.0032679999999999996
      },
      "after": {
       "js_numGCs": 8,
       "js_heapSize": 8388608,
       "js_allocatedBytes": 3019768,
       "js_peakLiveAfterGC": 4544248,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 54336,
       "js_vaSize": 8388608,
       "js_gcCPUTime": 0.005349
      },
      "mainBefore": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75664256,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1476538,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      },
      "mainAtUiReturn": {
       "js_numGCs": 189,
       "js_heapSize": 117440512,
       "js_allocatedBytes": 75676152,
       "js_peakLiveAfterGC": 76006736,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1476538,
       "js_vaSize": 117440512,
       "js_gcCPUTime": 0.25780800000000004
      },
      "roundTripMs": 2
     },
     {
      "seq": 3,
      "mode": "gc",
      "runtimeKind": 2,
      "gcType": "function",
      "statsFnType": "function",
      "gcCalled": true,
      "gcError": null,
      "gcMs": 4,
      "before": {
       "js_numGCs": 20,
       "js_heapSize": 20971520,
       "js_allocatedBytes": 16837192,
       "js_peakLiveAfterGC": 4544248,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 203072,
       "js_vaSize": 20971520,
       "js_gcCPUTime": 0.01222
      },
      "after": {
       "js_numGCs": 23,
       "js_heapSize": 16777216,
       "js_allocatedBytes": 3231512,
       "js_peakLiveAfterGC": 6491296,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 57920,
       "js_vaSize": 16777216,
       "js_gcCPUTime": 0.016449000000000002
      },
      "mainBefore": {
       "js_numGCs": 437,
       "js_heapSize": 155189248,
       "js_allocatedBytes": 77473944,
       "js_peakLiveAfterGC": 81665080,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1456250,
       "js_vaSize": 155189248,
       "js_gcCPUTime": 0.8578600000000002
      },
      "mainAtUiReturn": {
       "js_numGCs": 437,
       "js_heapSize": 155189248,
       "js_allocatedBytes": 77485840,
       "js_peakLiveAfterGC": 81665080,
       "js_mallocSizeEstimate": 0,
       "js_externalBytes": 1456250,
       "js_vaSize": 155189248,
       "js_gcCPUTime": 0.8578600000000002
      },
      "roundTripMs": 5
     }
    ],
    "oslog_lines": 4
   }
  ]
 },
 "setup": {
  "device": "iPhone 17 Pro, iOS 27 Simulator (not a physical device; no battery measurement)",
  "native_binary_uuid": "D0C2BDE9-D7DA-3283-9891-83622F94DC12 (same optimized Release executable for all runs, no native rebuild)",
  "js_build": "Hermes -O, dev=false, no Metro",
  "production_bundle": "251e775e\u2026 built from 4ff5c69 + uncommitted App.tsx/useUiRuntimeMemoryWarningGc.ts; source-map sourcesContent for both files equals the committed sources",
  "production_source_patch_sha256": "11f5b9573f83b0f6def7c9fc591da651ba535eb982d7d976b00c322645c8875a",
  "control_bundle": "d391d0c5\u2026 built from 4ff5c69 (parent), no hook",
  "diagnostic_bundle": "85f92da1\u2026 scratch instrumented UI-runtime gc probe, not shipped; timings come only from this run",
  "memory_warning": "UIApplicationDidReceiveMemoryWarningNotification posted by an injected test dylib (sha256 9abc507c\u2026) after cycle 6 and cycle 40 on Home",
  "workload": "40 navigation cycles alternating a 30-turn/70-tools-per-turn history and a 300-turn plain history, 13 background/resume transitions, 1,210-thread fixture; vmmap -summary and heap -s captured on Home before/after each warning",
  "limits": "One control run and one production run. Production is uninstrumented, so no GC timing for the shipped hook. Footprint still grows +55.4 MiB c06-post -> c40-post with the hook (control +57.3 MiB); no claim that overall memory growth is fixed and no percentage reduction. iOS only: React Native AppState emits no memoryWarning on Android."
 }
}