{
  "sourceCommit": "8ad87ffaa55aab1e2585285fe2ca320441e31209",
  "recordedAt": "2026-09-12T22:35:43.719Z",
  "url": "http://127.0.0.1:5198/paywall",
  "scope": "Manual browser actions on a fresh fixture database, captured after each action. No real store or external analytics connection.",
  "checks": [
    {
      "action": "Pending purchase",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\nRemoved element IDs: 14, 25, 30, 35-37, 39, 45, 61-63\n+\t\t68 text Apple fixture · Onboarding / A\n~\t\t16 pop up button (collapsed, settable) Simulated store result, Value: Pending, ID: outcome, Secondary Actions: Expand\n~\t\t\t\t18 Successful purchase\n~\t\t\t\t19 (selected) Pending\n+\t\t69 text Premium locked\n+\t\t\t70 text http://127.0.0.1:60581/webhooks/commerce\n+\t\t\t71 text Variant A · No known amount\n+\t\t\t72 text Variant B · No known amount\n+\t\t73 text 0\n+\t\t74 text 0\n+\t\t75 text Purchase result: pending. Finish callbacks: 0. Deliver events to update analytics.\n+\t\t\t76 row\n+\t\t\t\t77 cell\n+\t\t\t\t\t78 text No events received. Buy Premium, then deliver the events.\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Successful purchase",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t16 pop up button (collapsed, settable) Simulated store result, Value: Successful purchase, ID: outcome, Secondary Actions: Expand\n~\t\t\t\t18 (selected) Successful purchase\n~\t\t\t\t19 Pending\n~\t\t69 text Premium open\n~\t\t75 text Purchase result: fulfilled. Finish callbacks: 1. Deliver events to update analytics.\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Deliver purchase",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t\t71 text Variant A · $4.99\n~\t\t73 text 2\n~\t\t75 text Delivery completed. Repeated event IDs keep one saved copy.\n~\t\t\t76 container events\n~\t\t\t\t77 row\n~\t\t\t\t\t78 cell\n+\t\t\t\t\t\t79 text subscription.started\n+\t\t\t\t\t80 cell\n+\t\t\t\t\t\t81 text apple\n+\t\t\t\t\t82 cell\n+\t\t\t\t\t\t83 text onboarding / A\n+\t\t\t\t\t84 cell\n+\t\t\t\t\t\t85 text apple-demo-chain-0\n+\t\t\t\t\t86 cell\n+\t\t\t\t\t\t87 text $4.99\n+\t\t\t\t88 row\n+\t\t\t\t\t89 cell\n+\t\t\t\t\t\t90 text entitlement.granted\n+\t\t\t\t\t91 cell\n+\t\t\t\t\t\t92 text apple\n+\t\t\t\t\t93 cell\n+\t\t\t\t\t\t94 text onboarding / A\n+\t\t\t\t\t95 cell\n+\t\t\t\t\t\t96 text apple-demo-chain-0\n+\t\t\t\t\t97 cell\n+\t\t\t\t\t\t98 text lifecycle only\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Renew and deliver",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\nRemoved element IDs: 68-75, 77-98\n+\t\t77 text Apple fixture · Onboarding / A\n+\t\t78 text Premium open\n+\t\t\t79 text http://127.0.0.1:60581/webhooks/commerce\n+\t\t\t80 text Variant A · $9.98\n+\t\t\t81 text Variant B · No known amount\n+\t\t82 text 3\n+\t\t83 text 0\n+\t\t84 text Delivery completed. Repeated event IDs keep one saved copy.\n+\t\t\t\t85 row\n+\t\t\t\t\t86 cell\n+\t\t\t\t\t\t87 text subscription.started\n+\t\t\t\t\t88 cell\n+\t\t\t\t\t\t89 text apple\n+\t\t\t\t\t90 cell\n+\t\t\t\t\t\t91 text onboarding / A\n+\t\t\t\t\t92 cell\n+\t\t\t\t\t\t93 text apple-demo-chain-0\n+\t\t\t\t\t94 cell\n+\t\t\t\t\t\t95 text $4.99\n+\t\t\t\t96 row\n+\t\t\t\t\t97 cell\n+\t\t\t\t\t\t98 text entitlement.granted\n+\t\t\t\t\t99 cell\n+\t\t\t\t\t\t100 text apple\n+\t\t\t\t\t101 cell\n+\t\t\t\t\t\t102 text onboarding / A\n+\t\t\t\t\t103 cell\n+\t\t\t\t\t\t104 text apple-demo-chain-0\n+\t\t\t\t\t105 cell\n+\t\t\t\t\t\t106 text lifecycle only\n+\t\t\t\t107 row\n+\t\t\t\t\t108 cell\n+\t\t\t\t\t\t109 text subscription.renewed\n+\t\t\t\t\t110 cell\n+\t\t\t\t\t\t111 text apple\n+\t\t\t\t\t112 cell\n+\t\t\t\t\t\t113 text onboarding / A\n+\t\t\t\t\t114 cell\n+\t\t\t\t\t\t115 text apple-demo-chain-1\n+\t\t\t\t\t116 cell\n+\t\t\t\t\t\t117 text $4.99\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Cancel and deliver",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t82 text 4\n+\t\t\t\t118 row\n+\t\t\t\t\t119 cell\n+\t\t\t\t\t\t120 text subscription.canceled\n+\t\t\t\t\t121 cell\n+\t\t\t\t\t\t122 text apple\n+\t\t\t\t\t123 cell\n+\t\t\t\t\t\t124 text onboarding / A\n+\t\t\t\t\t125 cell\n+\t\t\t\t\t\t126 text apple-demo-chain-1\n+\t\t\t\t\t127 cell\n+\t\t\t\t\t\t128 text lifecycle only\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Redeliver Apple events",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThere has been no change in the accessibility tree.\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Google purchase and delivery",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\nThe following is a diff from the previous accessibility tree with ~ and + representing changed and added elements, respectively. Removed elements are summarized by ID range.\n~\t\t8 checkbox Apple fixture · Variant A, Value: 0\n~\t\t9 checkbox Google fixture · Variant B, Value: 1\n~\t\t77 text Google fixture · Onboarding / B\n~\t\t\t81 text Variant B · No known amount · 1 unknown\n~\t\t82 text 6\n~\t\t83 text 1\n+\t\t\t\t129 row\n+\t\t\t\t\t130 cell\n+\t\t\t\t\t\t131 text subscription.started\n+\t\t\t\t\t132 cell\n+\t\t\t\t\t\t133 text google\n+\t\t\t\t\t134 cell\n+\t\t\t\t\t\t135 text onboarding / B\n+\t\t\t\t\t136 cell\n+\t\t\t\t\t\t137 text google-demo-chain-0\n+\t\t\t\t\t138 cell\n+\t\t\t\t\t\t139 text amount unknown\n+\t\t\t\t140 row\n+\t\t\t\t\t141 cell\n+\t\t\t\t\t\t142 text entitlement.granted\n+\t\t\t\t\t143 cell\n+\t\t\t\t\t\t144 text google\n+\t\t\t\t\t145 cell\n+\t\t\t\t\t\t146 text onboarding / B\n+\t\t\t\t\t147 cell\n+\t\t\t\t\t\t148 text google-demo-chain-0\n+\t\t\t\t\t149 cell\n+\t\t\t\t\t\t150 text lifecycle only\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    },
    {
      "action": "Redeliver Google events",
      "state": "Browser tab: 23, Title: \"From paywall to experiment data · Commerce Protocol\", URL: \"http://127.0.0.1:5198/paywall\".\n1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall\n\t2 container\n\t\t3 text RUNNABLE EXAMPLE · FICTIONAL STORE DATA · REAL HTTP + SQLITE\n\t\t4 heading Your paywall. One event connection., Value: 1\n\t\t\t5 text Your paywall. One event connection.\n\t\t6 text Buy Premium, deliver the update, and see which experiment it belongs to. Then change stores: the receiver stays the same.\n\t7 container Store fixture\n\t\t8 checkbox Apple fixture · Variant A, Value: 0\n\t\t9 checkbox Google fixture · Variant B, Value: 1\n\t10 container\n\t\t11 text 1 YOUR EXISTING PAYWALL\n\t\t12 heading Premium monthly, Value: 2\n\t\t\t13 text Premium monthly\n\t\t77 text Google fixture · Onboarding / B\n\t\t15 text Simulated store result\n\t\t16 pop up button (collapsed, settable) Simulated store result, Value: Successful purchase, ID: outcome, Secondary Actions: Expand\n\t\t\t17 menu\n\t\t\t\t18 (selected) Successful purchase\n\t\t\t\t19 Pending\n\t\t\t\t20 Customer cancels\n\t\t\t\t21 Store fails\n\t\t22 button Buy Premium →\n\t\t23 text The host checks the purchase and access before its simulated finish callback.\n\t\t24 text 2 PURCHASE BACKEND\n\t\t78 text Premium open\n\t\t26 text Verify → connect customer → read access. Subscription changes wait for delivery.\n\t\t27 button Deliver events →\n\t\t28 container\n\t\t\t29 text Signed HTTP destination\n\t\t\t79 text http://127.0.0.1:60581/webhooks/commerce\n\t\t31 text 3 YOUR ANALYTICS SERVICE\n\t\t32 heading Onboarding experiment, Value: 2\n\t\t\t33 text Onboarding experiment\n\t\t34 container totals\n\t\t\t80 text Variant A · $9.98\n\t\t\t81 text Variant B · No known amount · 1 unknown\n\t\t82 text 6\n\t\t38 text events saved\n\t\t83 text 1\n\t\t40 text amounts unknown\n\t\t41 text Known purchase amounts are fictional gross observations, not net revenue or MRR. Cancellation adds no charge.\n\t\t42 button Simulate renewal\n\t\t43 button Cancel renewal\n\t\t44 button Redeliver saved events\n\t\t84 text Delivery completed. Repeated event IDs keep one saved copy.\n\t\t46 heading What arrived in your service, Value: 2\n\t\t\t47 text What arrived in your service\n\t\t48 text The service joins the event’s purchase chain to the experiment assignment kept by your app.\n\t\t49 table\n\t\t\t50 row\n\t\t\t\t51 cell\n\t\t\t\t\t52 text Event\n\t\t\t\t53 cell\n\t\t\t\t\t54 text Store\n\t\t\t\t55 cell\n\t\t\t\t\t56 text Experiment\n\t\t\t\t57 cell\n\t\t\t\t\t58 text Transaction\n\t\t\t\t59 cell\n\t\t\t\t\t60 text Amount treatment\n\t\t\t76 container events\n\t\t\t\t85 row\n\t\t\t\t\t86 cell\n\t\t\t\t\t\t87 text subscription.started\n\t\t\t\t\t88 cell\n\t\t\t\t\t\t89 text apple\n\t\t\t\t\t90 cell\n\t\t\t\t\t\t91 text onboarding / A\n\t\t\t\t\t92 cell\n\t\t\t\t\t\t93 text apple-demo-chain-0\n\t\t\t\t\t94 cell\n\t\t\t\t\t\t95 text $4.99\n\t\t\t\t96 row\n\t\t\t\t\t97 cell\n\t\t\t\t\t\t98 text entitlement.granted\n\t\t\t\t\t99 cell\n\t\t\t\t\t\t100 text apple\n\t\t\t\t\t101 cell\n\t\t\t\t\t\t102 text onboarding / A\n\t\t\t\t\t103 cell\n\t\t\t\t\t\t104 text apple-demo-chain-0\n\t\t\t\t\t105 cell\n\t\t\t\t\t\t106 text lifecycle only\n\t\t\t\t107 row\n\t\t\t\t\t108 cell\n\t\t\t\t\t\t109 text subscription.renewed\n\t\t\t\t\t110 cell\n\t\t\t\t\t\t111 text apple\n\t\t\t\t\t112 cell\n\t\t\t\t\t\t113 text onboarding / A\n\t\t\t\t\t114 cell\n\t\t\t\t\t\t115 text apple-demo-chain-1\n\t\t\t\t\t116 cell\n\t\t\t\t\t\t117 text $4.99\n\t\t\t\t118 row\n\t\t\t\t\t119 cell\n\t\t\t\t\t\t120 text subscription.canceled\n\t\t\t\t\t121 cell\n\t\t\t\t\t\t122 text apple\n\t\t\t\t\t123 cell\n\t\t\t\t\t\t124 text onboarding / A\n\t\t\t\t\t125 cell\n\t\t\t\t\t\t126 text apple-demo-chain-1\n\t\t\t\t\t127 cell\n\t\t\t\t\t\t128 text lifecycle only\n\t\t\t\t129 row\n\t\t\t\t\t130 cell\n\t\t\t\t\t\t131 text subscription.started\n\t\t\t\t\t132 cell\n\t\t\t\t\t\t133 text google\n\t\t\t\t\t134 cell\n\t\t\t\t\t\t135 text onboarding / B\n\t\t\t\t\t136 cell\n\t\t\t\t\t\t137 text google-demo-chain-0\n\t\t\t\t\t138 cell\n\t\t\t\t\t\t139 text amount unknown\n\t\t\t\t140 row\n\t\t\t\t\t141 cell\n\t\t\t\t\t\t142 text entitlement.granted\n\t\t\t\t\t143 cell\n\t\t\t\t\t\t144 text google\n\t\t\t\t\t145 cell\n\t\t\t\t\t\t146 text onboarding / B\n\t\t\t\t\t147 cell\n\t\t\t\t\t\t148 text google-demo-chain-0\n\t\t\t\t\t149 cell\n\t\t\t\t\t\t150 text lifecycle only\n\t\t64 button (collapsed) Inspect the last action: actual HTTP requests and responses, Secondary Actions: Expand\n\t\t\t65 text Inspect the last action: actual HTTP requests and responses\n\t\t66 text Apple and Google here are simulated adapters. No real store purchase, payment, or external analytics service is connected. Both send the same Commerce Protocol envelope to one receiver. Experiment assignment and reporting policy belong to this sample host app.\n\t\t67 link Description: Backend build walkthrough →, Value: 127.0.0.1:5198/\n\nThe focused UI element is 1 AXWebArea From paywall to experiment data · Commerce Protocol, URL: 127.0.0.1:5198/paywall"
    }
  ]
}
