← back to CelebritySignatures
auto-save: 2026-08-06T04:48:33 (8 files) — screenrecord/debug-log.jsonl screenrecord/game-debug.mjs screenrecord/rec/game-run0/ screenrecord/rec/game-run1/ screenrecord/rec/game-run2/
7c16c4cea46acc76ae7a01e8c88e5fb2339439f6 · 2026-08-06 04:48:43 -0700 · Steve Abrams
Files touched
M screenrecord/debug-log.jsonlA screenrecord/game-debug.mjsA screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.mp4A screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.webmA screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.mp4A screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.webmA screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.mp4A screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.webmA screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.mp4A screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.webmA screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.mp4A screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.webmA screenrecord/screenshots/run0-art-before-begin.pngA screenrecord/screenshots/run0-art-final.pngA screenrecord/screenshots/run0-art-round1-after.pngA screenrecord/screenshots/run0-art-round1.pngA screenrecord/screenshots/run0-art-round3-after.pngA screenrecord/screenshots/run0-century-before-begin.pngA screenrecord/screenshots/run0-early-before-begin.pngA screenrecord/screenshots/run0-early-final.pngA screenrecord/screenshots/run0-early-round1-after.pngA screenrecord/screenshots/run0-early-round1.pngA screenrecord/screenshots/run0-early-round3-after.pngA screenrecord/screenshots/run0-game-hub.pngA screenrecord/screenshots/run0-match-before-begin.pngA screenrecord/screenshots/run0-match-final.pngA screenrecord/screenshots/run0-match-round1-after.pngA screenrecord/screenshots/run0-match-round1.pngA screenrecord/screenshots/run0-match-round3-after.pngA screenrecord/screenshots/run0-whose-before-begin.pngA screenrecord/screenshots/run0-whose-final.pngA screenrecord/screenshots/run0-whose-round1-after.pngA screenrecord/screenshots/run0-whose-round1.pngA screenrecord/screenshots/run0-whose-round3-after.pngA screenrecord/screenshots/run1-century-before-begin.pngA screenrecord/screenshots/run1-game-hub.pngA screenrecord/screenshots/run1-lightning-before-begin.pngA screenrecord/screenshots/run1-lightning-final.pngA screenrecord/screenshots/run1-lightning-round1-after.pngA screenrecord/screenshots/run1-lightning-round1.pngA screenrecord/screenshots/run1-lightning-round5-after.pngA screenrecord/screenshots/run2-art-before-begin.pngA screenrecord/screenshots/run2-art-final.pngA screenrecord/screenshots/run2-art-round1-after.pngA screenrecord/screenshots/run2-art-round1.pngA screenrecord/screenshots/run2-art-round3-after.pngA screenrecord/screenshots/run2-century-before-begin.pngA screenrecord/screenshots/run2-century-final.pngA screenrecord/screenshots/run2-century-round1-after.pngA screenrecord/screenshots/run2-century-round1.pngA screenrecord/screenshots/run2-century-round3-after.pngA screenrecord/screenshots/run2-early-before-begin.pngA screenrecord/screenshots/run2-early-final.pngA screenrecord/screenshots/run2-early-round1-after.pngA screenrecord/screenshots/run2-early-round1.pngA screenrecord/screenshots/run2-early-round3-after.pngA screenrecord/screenshots/run2-game-hub.pngA screenrecord/screenshots/run2-lightning-before-begin.pngA screenrecord/screenshots/run2-lightning-final.pngA screenrecord/screenshots/run2-lightning-round1-after.pngA screenrecord/screenshots/run2-lightning-round1.pngA screenrecord/screenshots/run2-lightning-round5-after.pngA screenrecord/screenshots/run2-match-before-begin.pngA screenrecord/screenshots/run2-match-final.pngA screenrecord/screenshots/run2-match-round1-after.pngA screenrecord/screenshots/run2-match-round1.pngA screenrecord/screenshots/run2-match-round3-after.pngA screenrecord/screenshots/run2-whose-before-begin.pngA screenrecord/screenshots/run2-whose-final.pngA screenrecord/screenshots/run2-whose-round1-after.pngA screenrecord/screenshots/run2-whose-round1.pngA screenrecord/screenshots/run2-whose-round3-after.pngA screenrecord/screenshots/run3-art-before-begin.pngA screenrecord/screenshots/run3-art-final.pngA screenrecord/screenshots/run3-art-round1-after.pngA screenrecord/screenshots/run3-art-round1.pngA screenrecord/screenshots/run3-art-round3-after.pngA screenrecord/screenshots/run3-century-before-begin.pngA screenrecord/screenshots/run3-early-before-begin.pngA screenrecord/screenshots/run3-early-final.pngA screenrecord/screenshots/run3-early-round1-after.pngA screenrecord/screenshots/run3-early-round1.pngA screenrecord/screenshots/run3-early-round3-after.pngA screenrecord/screenshots/run3-game-hub.pngA screenrecord/screenshots/run4-art-before-begin.pngA screenrecord/screenshots/run4-art-final.pngA screenrecord/screenshots/run4-art-round1-after.pngA screenrecord/screenshots/run4-art-round1.pngA screenrecord/screenshots/run4-art-round3-after.pngA screenrecord/screenshots/run4-early-before-begin.pngA screenrecord/screenshots/run4-early-round1-after.pngA screenrecord/screenshots/run4-early-round1.pngA screenrecord/screenshots/run4-game-hub.pngA screenrecord/screenshots/run4-lightning-before-begin.pngA screenrecord/screenshots/run4-lightning-final.pngA screenrecord/screenshots/run4-lightning-round1-after.pngA screenrecord/screenshots/run4-lightning-round1.pngA screenrecord/screenshots/run4-lightning-round5-after.pngA screenrecord/screenshots/run4-match-before-begin.pngA screenrecord/screenshots/run4-match-final.pngA screenrecord/screenshots/run4-match-round1-after.pngA screenrecord/screenshots/run4-match-round1.pngA screenrecord/screenshots/run4-match-round3-after.pngA screenrecord/screenshots/run4-whose-before-begin.pngA screenrecord/screenshots/run4-whose-final.pngA screenrecord/screenshots/run4-whose-round1-after.pngA screenrecord/screenshots/run4-whose-round1.pngA screenrecord/screenshots/run4-whose-round3-after.png
Diff
commit 7c16c4cea46acc76ae7a01e8c88e5fb2339439f6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Aug 6 04:48:43 2026 -0700
auto-save: 2026-08-06T04:48:33 (8 files) — screenrecord/debug-log.jsonl screenrecord/game-debug.mjs screenrecord/rec/game-run0/ screenrecord/rec/game-run1/ screenrecord/rec/game-run2/
---
screenrecord/debug-log.jsonl | 145 ++++++++
screenrecord/game-debug.mjs | 404 +++++++++++++++++++++
.../page@d01ec82fac0b821368b7301ce7eef551.mp4 | Bin 0 -> 1592543 bytes
.../page@d01ec82fac0b821368b7301ce7eef551.webm | Bin 0 -> 4344134 bytes
.../page@55a0e6dc71aa4e76e7831ac80604d000.mp4 | Bin 0 -> 1421994 bytes
.../page@55a0e6dc71aa4e76e7831ac80604d000.webm | Bin 0 -> 4384897 bytes
.../page@53d2a289fd6b78a8af93c3355bb69c5e.mp4 | Bin 0 -> 1566534 bytes
.../page@53d2a289fd6b78a8af93c3355bb69c5e.webm | Bin 0 -> 3782968 bytes
.../page@9ace0b06e0de45225da2287bb8872b69.mp4 | Bin 0 -> 1416706 bytes
.../page@9ace0b06e0de45225da2287bb8872b69.webm | Bin 0 -> 4652943 bytes
.../page@025bd1c85d7cdf7783b3ec61ab492b87.mp4 | Bin 0 -> 1158134 bytes
.../page@025bd1c85d7cdf7783b3ec61ab492b87.webm | Bin 0 -> 2883584 bytes
screenrecord/screenshots/run0-art-before-begin.png | Bin 0 -> 85290 bytes
screenrecord/screenshots/run0-art-final.png | Bin 0 -> 143028 bytes
screenrecord/screenshots/run0-art-round1-after.png | Bin 0 -> 156116 bytes
screenrecord/screenshots/run0-art-round1.png | Bin 0 -> 84779 bytes
screenrecord/screenshots/run0-art-round3-after.png | Bin 0 -> 143028 bytes
.../screenshots/run0-century-before-begin.png | Bin 0 -> 93825 bytes
.../screenshots/run0-early-before-begin.png | Bin 0 -> 87657 bytes
screenrecord/screenshots/run0-early-final.png | Bin 0 -> 102682 bytes
.../screenshots/run0-early-round1-after.png | Bin 0 -> 84766 bytes
screenrecord/screenshots/run0-early-round1.png | Bin 0 -> 52378 bytes
.../screenshots/run0-early-round3-after.png | Bin 0 -> 102682 bytes
screenrecord/screenshots/run0-game-hub.png | Bin 0 -> 93248 bytes
.../screenshots/run0-match-before-begin.png | Bin 0 -> 87556 bytes
screenrecord/screenshots/run0-match-final.png | Bin 0 -> 285639 bytes
.../screenshots/run0-match-round1-after.png | Bin 0 -> 310723 bytes
screenrecord/screenshots/run0-match-round1.png | Bin 0 -> 278610 bytes
.../screenshots/run0-match-round3-after.png | Bin 0 -> 285639 bytes
.../screenshots/run0-whose-before-begin.png | Bin 0 -> 93241 bytes
screenrecord/screenshots/run0-whose-final.png | Bin 0 -> 60980 bytes
.../screenshots/run0-whose-round1-after.png | Bin 0 -> 58700 bytes
screenrecord/screenshots/run0-whose-round1.png | Bin 0 -> 62536 bytes
.../screenshots/run0-whose-round3-after.png | Bin 0 -> 60980 bytes
.../screenshots/run1-century-before-begin.png | Bin 0 -> 93825 bytes
screenrecord/screenshots/run1-game-hub.png | Bin 0 -> 93248 bytes
.../screenshots/run1-lightning-before-begin.png | Bin 0 -> 86249 bytes
screenrecord/screenshots/run1-lightning-final.png | Bin 0 -> 99455 bytes
.../screenshots/run1-lightning-round1-after.png | Bin 0 -> 131706 bytes
screenrecord/screenshots/run1-lightning-round1.png | Bin 0 -> 94319 bytes
.../screenshots/run1-lightning-round5-after.png | Bin 0 -> 99455 bytes
screenrecord/screenshots/run2-art-before-begin.png | Bin 0 -> 85290 bytes
screenrecord/screenshots/run2-art-final.png | Bin 0 -> 143359 bytes
screenrecord/screenshots/run2-art-round1-after.png | Bin 0 -> 229216 bytes
screenrecord/screenshots/run2-art-round1.png | Bin 0 -> 145975 bytes
screenrecord/screenshots/run2-art-round3-after.png | Bin 0 -> 143359 bytes
.../screenshots/run2-century-before-begin.png | Bin 0 -> 93825 bytes
screenrecord/screenshots/run2-century-final.png | Bin 0 -> 66199 bytes
.../screenshots/run2-century-round1-after.png | Bin 0 -> 59461 bytes
screenrecord/screenshots/run2-century-round1.png | Bin 0 -> 60354 bytes
.../screenshots/run2-century-round3-after.png | Bin 0 -> 66199 bytes
.../screenshots/run2-early-before-begin.png | Bin 0 -> 87657 bytes
screenrecord/screenshots/run2-early-final.png | Bin 0 -> 93735 bytes
.../screenshots/run2-early-round1-after.png | Bin 0 -> 52614 bytes
screenrecord/screenshots/run2-early-round1.png | Bin 0 -> 52517 bytes
.../screenshots/run2-early-round3-after.png | Bin 0 -> 93735 bytes
screenrecord/screenshots/run2-game-hub.png | Bin 0 -> 93248 bytes
.../screenshots/run2-lightning-before-begin.png | Bin 0 -> 86249 bytes
screenrecord/screenshots/run2-lightning-final.png | Bin 0 -> 153096 bytes
.../screenshots/run2-lightning-round1-after.png | Bin 0 -> 144078 bytes
screenrecord/screenshots/run2-lightning-round1.png | Bin 0 -> 53778 bytes
.../screenshots/run2-lightning-round5-after.png | Bin 0 -> 153097 bytes
.../screenshots/run2-match-before-begin.png | Bin 0 -> 87556 bytes
screenrecord/screenshots/run2-match-final.png | Bin 0 -> 282781 bytes
.../screenshots/run2-match-round1-after.png | Bin 0 -> 315893 bytes
screenrecord/screenshots/run2-match-round1.png | Bin 0 -> 190733 bytes
.../screenshots/run2-match-round3-after.png | Bin 0 -> 282781 bytes
.../screenshots/run2-whose-before-begin.png | Bin 0 -> 93241 bytes
screenrecord/screenshots/run2-whose-final.png | Bin 0 -> 60931 bytes
.../screenshots/run2-whose-round1-after.png | Bin 0 -> 61052 bytes
screenrecord/screenshots/run2-whose-round1.png | Bin 0 -> 66056 bytes
.../screenshots/run2-whose-round3-after.png | Bin 0 -> 60931 bytes
screenrecord/screenshots/run3-art-before-begin.png | Bin 0 -> 85290 bytes
screenrecord/screenshots/run3-art-final.png | Bin 0 -> 209568 bytes
screenrecord/screenshots/run3-art-round1-after.png | Bin 0 -> 176365 bytes
screenrecord/screenshots/run3-art-round1.png | Bin 0 -> 110353 bytes
screenrecord/screenshots/run3-art-round3-after.png | Bin 0 -> 209568 bytes
.../screenshots/run3-century-before-begin.png | Bin 0 -> 93825 bytes
.../screenshots/run3-early-before-begin.png | Bin 0 -> 87657 bytes
screenrecord/screenshots/run3-early-final.png | Bin 0 -> 78863 bytes
.../screenshots/run3-early-round1-after.png | Bin 0 -> 65899 bytes
screenrecord/screenshots/run3-early-round1.png | Bin 0 -> 52681 bytes
.../screenshots/run3-early-round3-after.png | Bin 0 -> 78863 bytes
screenrecord/screenshots/run3-game-hub.png | Bin 0 -> 93248 bytes
screenrecord/screenshots/run4-art-before-begin.png | Bin 0 -> 85290 bytes
screenrecord/screenshots/run4-art-final.png | Bin 0 -> 171067 bytes
screenrecord/screenshots/run4-art-round1-after.png | Bin 0 -> 213304 bytes
screenrecord/screenshots/run4-art-round1.png | Bin 0 -> 134898 bytes
screenrecord/screenshots/run4-art-round3-after.png | Bin 0 -> 171067 bytes
.../screenshots/run4-early-before-begin.png | Bin 0 -> 87657 bytes
.../screenshots/run4-early-round1-after.png | Bin 0 -> 60264 bytes
screenrecord/screenshots/run4-early-round1.png | Bin 0 -> 53188 bytes
screenrecord/screenshots/run4-game-hub.png | Bin 0 -> 93248 bytes
.../screenshots/run4-lightning-before-begin.png | Bin 0 -> 86249 bytes
screenrecord/screenshots/run4-lightning-final.png | Bin 0 -> 93016 bytes
.../screenshots/run4-lightning-round1-after.png | Bin 0 -> 120134 bytes
screenrecord/screenshots/run4-lightning-round1.png | Bin 0 -> 83375 bytes
.../screenshots/run4-lightning-round5-after.png | Bin 0 -> 93016 bytes
.../screenshots/run4-match-before-begin.png | Bin 0 -> 87556 bytes
screenrecord/screenshots/run4-match-final.png | Bin 0 -> 284434 bytes
.../screenshots/run4-match-round1-after.png | Bin 0 -> 276342 bytes
screenrecord/screenshots/run4-match-round1.png | Bin 0 -> 248868 bytes
.../screenshots/run4-match-round3-after.png | Bin 0 -> 284434 bytes
.../screenshots/run4-whose-before-begin.png | Bin 0 -> 93241 bytes
screenrecord/screenshots/run4-whose-final.png | Bin 0 -> 62163 bytes
.../screenshots/run4-whose-round1-after.png | Bin 0 -> 79688 bytes
screenrecord/screenshots/run4-whose-round1.png | Bin 0 -> 66266 bytes
.../screenshots/run4-whose-round3-after.png | Bin 0 -> 62163 bytes
108 files changed, 549 insertions(+)
diff --git a/screenrecord/debug-log.jsonl b/screenrecord/debug-log.jsonl
index d0f8c77..413cd20 100644
--- a/screenrecord/debug-log.jsonl
+++ b/screenrecord/debug-log.jsonl
@@ -2205,3 +2205,148 @@
{"run":4,"ts":"2026-08-03T21:23:36.478Z","game":"lightning","diff":"icons","cat":"All","selector":"#stage","label":"round-10-render","action":"inspect","ok":false,"effect":"stage_html_len=0, choices=0, imgs_ok=9, imgs_broken=0","errors":[]}
{"run":4,"ts":"2026-08-03T21:23:36.478Z","game":"lightning","diff":"icons","cat":"All","selector":".choice","label":"round-10-pick","action":"click","ok":false,"effect":"Choice click failed","errors":["Error: locator.all: Target page, context or browser has been closed"]}
{"run":4,"ts":"2026-08-03T21:23:36.479Z","game":"lightning","diff":"icons","cat":"All","selector":"#reveal a","label":"round-10-reveal-link","action":"inspect","ok":false,"effect":"No reveal link found after pick","errors":["Missing reveal link in lightning round 10"]}
+{"run":0,"ts":"2026-08-06T11:30:41.668Z","selector":"/","label":"page-load","action":"goto","ok":true,"effect":"title=\"The Signature Games — Celebrity Signatures\" hasGamePick=true hasGoBtn=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841h1v9260226174za200zd9260226174&_p=1786015840121&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=16&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938468~118395335~118897920~118897930~119527020~119896802&sid=1786015840&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=221&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841h1v9260226174za200zd9260226174&_p=1786015840121&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=16&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938468~118395335~118897920~118897930~119527020~119896802&sid=1786015840&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_ss=1&_ee=1&tfd=223&gaf=1 — net::ERR_ABORTED"]}
+{"run":0,"ts":"2026-08-06T11:30:41.700Z","selector":"#gamePick .gcard","label":"game-cards-present","action":"check","ok":true,"effect":"count=6","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:41.704Z","selector":"#goBtn","label":"go-btn-present","action":"check","ok":true,"effect":"text=\"Begin\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:43.346Z","selector":"button.gcard[data-g=\"whose\"]","label":"game-select-whose","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":0,"ts":"2026-08-06T11:30:43.595Z","selector":"#goBtn","label":"game-begin-whose","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/7/7c/Rosa_L\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:44.495Z","selector":".choice","label":"whose-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Rosa Luxemburg</b> · <a href=\"/?artist=Q7231\" target=\"_blank\" rel=\"n\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:46.019Z","selector":".choice","label":"whose-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Yuri Gagarin</b> · <a href=\"/?artist=Q7327\" target=\"_blank\" rel=\"\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:47.537Z","selector":".choice","label":"whose-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Gottfried Wilhelm Leibniz</b> · <a href=\"/?artist=Q9047\" target=\"_bl\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786015841761&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=2&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5125&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786015841761&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=2&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5126&gaf=1 — net::ERR_ABORTED"]}
+{"run":0,"ts":"2026-08-06T11:30:48.225Z","selector":"game-summary","label":"game-summary-whose","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:49.860Z","selector":"button.gcard[data-g=\"art\"]","label":"game-select-art","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":0,"ts":"2026-08-06T11:30:51.767Z","selector":"#goBtn","label":"game-begin-art","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img referrerpolicy=\"no-referrer\" src=\"https://www.artic.edu/iiif/2/f73f1bb1-a96\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:52.658Z","selector":".choice","label":"art-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Rembrandt</b> · <a href=\"https://www.artic.edu/artworks/156072\" t\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:54.185Z","selector":".choice","label":"art-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Albrecht Dürer</b> · <a href=\"https://www.artic.edu/artworks/51498\" \" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786015848281&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938469~118012009~118897920~118897930~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5120&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786015848281&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938469~118012009~118897920~118897930~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5121&gaf=1 — net::ERR_ABORTED"]}
+{"run":0,"ts":"2026-08-06T11:30:55.718Z","selector":".choice","label":"art-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Auguste Rodin</b> · <a href=\"https://www.artic.edu/artworks/719\" tar\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:56.429Z","selector":"game-summary","label":"game-summary-art","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:30:58.051Z","selector":"button.gcard[data-g=\"match\"]","label":"game-select-match","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":0,"ts":"2026-08-06T11:31:04.443Z","selector":"#goBtn","label":"game-begin-match","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/e/e1/Renoir\" prep=\"Hanging the gallery…\"","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786015856488&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118897920~118897930~119337768~119527019~119896803&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5153&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786015856488&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118897920~118897930~119337768~119527019~119896803&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5155&gaf=1 — net::ERR_ABORTED"]}
+{"run":0,"ts":"2026-08-06T11:31:05.382Z","selector":".choice","label":"match-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/81555\" target=\"_blank\"\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:06.937Z","selector":".choice","label":"match-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/61204\" target=\"_blank\"\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:08.440Z","selector":".choice","label":"match-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <a href=\"https://www.artic.edu/artworks/184616\" target=\"_blank\" rel=\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:09.198Z","selector":"game-summary","label":"game-summary-match","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:10.816Z","selector":"button.gcard[data-g=\"early\"]","label":"game-select-early","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":0,"ts":"2026-08-06T11:31:10.868Z","selector":"#goBtn","label":"game-begin-early","action":"click","ok":true,"effect":"stageLoaded=true choices=2 stage=\"<div class=\"duo\">\n <div class=\"d\"><img referrerpolicy=\"no-referrer\" src=\"ht\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:11.756Z","selector":".choice","label":"early-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Vincent van Gogh: B is from <b>1853</b>, the other from <b>1888</b> · <a href=\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:13.272Z","selector":".choice","label":"early-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Adolf Hitler: B is from <b>1937</b>, the other from <b>1944</b> · <a\" hasNext=true finished=false","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:14.785Z","selector":".choice","label":"early-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ Sarah Bernhardt: B is from <b>1901</b>, the other from <b>1907</b> · <a href=\"\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786015869257&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938468~118897920~118897930~119259605~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5078&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786015869257&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=633071752.1786015840&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938468~118897920~118897930~119259605~119527019~119896802&sid=1786015840&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5079&gaf=1 — net::ERR_ABORTED"]}
+{"run":0,"ts":"2026-08-06T11:31:15.494Z","selector":"game-summary","label":"game-summary-early","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":0,"ts":"2026-08-06T11:31:17.108Z","selector":"button.gcard[data-g=\"century\"]","label":"game-select-century","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":0,"ts":"2026-08-06T11:31:47.133Z","selector":"#goBtn","label":"game-begin-century","action":"click","ok":false,"effect":null,"errors":["TimeoutError: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for locator('#goBtn')\n - locator resolved to <button class=\"go\" id=\"goBtn\">Begin</button>\n - attempting click action\n - waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n - performing click action\n"]}
+{"run":0,"ts":"2026-08-06T11:32:02.135Z","selector":"navigate","label":"nav-for-lightning","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":1,"ts":"2026-08-06T11:32:16.828Z","selector":"/","label":"page-load","action":"goto","ok":true,"effect":"title=\"The Signature Games — Celebrity Signatures\" hasGamePick=true hasGoBtn=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6850h2v9260226174za200zd9260226174&_p=1786015935275&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=1782244205.1786015935&frm=0&ngs=1&pscdl=noapi&rcb=12&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938469~118897920~118897930~119527020~119896803&sid=1786015935&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_ss=1&_ee=1&tfd=215&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6850h2v9260226174za200zd9260226174&_p=1786015935275&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=1782244205.1786015935&frm=0&ngs=1&pscdl=noapi&rcb=12&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938469~118897920~118897930~119527020~119896803&sid=1786015935&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=208&gaf=1 — net::ERR_ABORTED"]}
+{"run":1,"ts":"2026-08-06T11:32:16.872Z","selector":"#gamePick .gcard","label":"game-cards-present","action":"check","ok":true,"effect":"count=6","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:16.873Z","selector":"#goBtn","label":"go-btn-present","action":"check","ok":true,"effect":"text=\"Begin\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:18.527Z","selector":"button.gcard[data-g=\"lightning\"]","label":"game-select-lightning","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":1,"ts":"2026-08-06T11:32:19.876Z","selector":"#goBtn","label":"game-begin-lightning","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<span class=\"tag2\">Name the ARTIST</span>\n <img referrerpolicy=\"no-referrer\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:20.543Z","selector":".choice","label":"lightning-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Mary Cassatt</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:21.654Z","selector":".choice","label":"lightning-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Painting: <b>The Child's Bath</b> · <a href=\"https://www.artic.edu/artworks/11\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:22.725Z","selector":".choice","label":"lightning-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Artist: <b>André Breton</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786015936934&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1782244205.1786015935&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938468~118897920~118897930~119527019~119896802&sid=1786015935&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5117&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786015936934&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1782244205.1786015935&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938468~118897920~118897930~119527019~119896802&sid=1786015935&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5117&gaf=1 — net::ERR_ABORTED"]}
+{"run":1,"ts":"2026-08-06T11:32:23.808Z","selector":".choice","label":"lightning-round-4-pick","action":"click","ok":true,"effect":"reveal=\"✗ Painting: <b>Art of Engraving, from Encyclopédie</b> · <a href=\"https://www.ar\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:24.862Z","selector":".choice","label":"lightning-round-5-pick","action":"click","ok":true,"effect":"reveal=\"✓ Artist: <b>Émile Zola</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:25.363Z","selector":"game-summary","label":"game-summary-lightning","action":"summary","ok":true,"effect":"rounds=5 score=16 finalScore=\"\"","errors":[]}
+{"run":1,"ts":"2026-08-06T11:32:27.026Z","selector":"button.gcard[data-g=\"century\"]","label":"game-select-century","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":1,"ts":"2026-08-06T11:32:57.056Z","selector":"#goBtn","label":"game-begin-century","action":"click","ok":false,"effect":null,"errors":["TimeoutError: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for locator('#goBtn')\n - locator resolved to <button class=\"go\" id=\"goBtn\">Begin</button>\n - attempting click action\n - waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n - performing click action\n"]}
+{"run":1,"ts":"2026-08-06T11:33:12.058Z","selector":"navigate","label":"nav-for-early","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":1,"ts":"2026-08-06T11:33:27.061Z","selector":"navigate","label":"nav-for-match","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":1,"ts":"2026-08-06T11:33:42.064Z","selector":"navigate","label":"nav-for-art","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":1,"ts":"2026-08-06T11:33:57.066Z","selector":"navigate","label":"nav-for-whose","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":2,"ts":"2026-08-06T11:34:17.507Z","selector":"/","label":"page-load","action":"goto","ok":true,"effect":"title=\"The Signature Games — Celebrity Signatures\" hasGamePick=true hasGoBtn=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016055962&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938469~118897920~118897930~119527020~119793974~119896802&sid=1786016056&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_ss=1&_ee=1&tfd=207&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016055962&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938469~118897920~118897930~119527020~119793974~119896802&sid=1786016056&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=203&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:17.547Z","selector":"#gamePick .gcard","label":"game-cards-present","action":"check","ok":true,"effect":"count=6","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:17.548Z","selector":"#goBtn","label":"go-btn-present","action":"check","ok":true,"effect":"text=\"Begin\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:19.212Z","selector":"button.gcard[data-g=\"whose\"]","label":"game-select-whose","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:19.457Z","selector":"#goBtn","label":"game-begin-whose","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/6/6b/Marcel\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:20.363Z","selector":".choice","label":"whose-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Marcel Proust</b> · <a href=\"/?artist=Q7199\" target=\"_blank\" rel=\"no\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:21.878Z","selector":".choice","label":"whose-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Charles Darwin</b> · <a href=\"/?artist=Q1035\" target=\"_blank\" rel=\"n\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:23.382Z","selector":".choice","label":"whose-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Richard Wagner</b> · <a href=\"/?artist=Q1511\" target=\"_blank\" rel=\"n\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016057607&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=3&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938465~115938468~118897920~118897930~119527020~119896802~120315470&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5078&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016057607&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=3&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938465~115938468~118897920~118897930~119527020~119896802~120315470&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5080&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:24.084Z","selector":"game-summary","label":"game-summary-whose","action":"summary","ok":true,"effect":"rounds=3 score=0 finalScore=\"\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:25.734Z","selector":"button.gcard[data-g=\"early\"]","label":"game-select-early","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:25.808Z","selector":"#goBtn","label":"game-begin-early","action":"click","ok":true,"effect":"stageLoaded=true choices=2 stage=\"<div class=\"duo\">\n <div class=\"d\"><img referrerpolicy=\"no-referrer\" src=\"ht\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:26.711Z","selector":".choice","label":"early-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — August Strindberg: A is from <b>1898</b>, the other from <b>1912</b>\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:28.226Z","selector":".choice","label":"early-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Umberto Boccioni: B is from <b>1908</b>, the other from <b>1913</b> \" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:29.756Z","selector":".choice","label":"early-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Theodore Roosevelt: A is from <b>1904</b>, the other from <b>1909</b\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841h1v9260226174za200zd9260226174&_p=1786016064141&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938468~118897920~118897930~119527020~119896802&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5152&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841h1v9260226174za200zd9260226174&_p=1786016064141&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938468~118897920~118897930~119527020~119896802&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5150&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:30.450Z","selector":"game-summary","label":"game-summary-early","action":"summary","ok":true,"effect":"rounds=3 score=36 finalScore=\"\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:32.079Z","selector":"button.gcard[data-g=\"century\"]","label":"game-select-century","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:32.202Z","selector":"#goBtn","label":"game-begin-century","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/8/85/JM_Key\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:33.103Z","selector":".choice","label":"century-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ <b>John Maynard Keynes</b> died 1946 (20th century) · <a href=\"/?artist=Q9317\"\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:34.630Z","selector":".choice","label":"century-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ <b>Arthur Conan Doyle</b> died 1930 (20th century) · <a href=\"/?artist=Q35610\"\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:36.161Z","selector":".choice","label":"century-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ <b>Voltaire</b> died 1778 (18th century) · <a href=\"/?artist=Q9068\" target=\"_b\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016070503&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=0&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938465~115938468~118897920~118897930~119527019~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5095&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016070503&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=0&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938465~115938468~118897920~118897930~119527019~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5107&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:36.839Z","selector":"game-summary","label":"game-summary-century","action":"summary","ok":true,"effect":"rounds=3 score=0 finalScore=\"\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:38.455Z","selector":"button.gcard[data-g=\"lightning\"]","label":"game-select-lightning","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:39.288Z","selector":"#goBtn","label":"game-begin-lightning","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<span class=\"tag2\">Name the ARTIST</span>\n <img referrerpolicy=\"no-referrer\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:39.944Z","selector":".choice","label":"lightning-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Edvard Munch</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:41.026Z","selector":".choice","label":"lightning-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Painting: <b>The Scream</b> · <a href=\"https://www.artic.edu/artworks/17229\" t\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:42.096Z","selector":".choice","label":"lightning-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Dante Gabriel Rossetti</b><button class=\"next\" id=\"nextBtn\">Next →<\"","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016076893&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118395333~118897920~118897930~119527020~119896802&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5085&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016076893&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118395333~118897920~118897930~119527020~119896802&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5086&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:43.151Z","selector":".choice","label":"lightning-round-4-pick","action":"click","ok":true,"effect":"reveal=\"✓ Painting: <b>Mrs. William Morris Seated in Chair</b> · <a href=\"https://www.ar\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:44.210Z","selector":".choice","label":"lightning-round-5-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Pierre-Auguste Renoir</b><button class=\"next\" id=\"nextBtn\">Next →</\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:44.711Z","selector":"game-summary","label":"game-summary-lightning","action":"summary","ok":true,"effect":"rounds=5 score=5 finalScore=\"\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:46.342Z","selector":"button.gcard[data-g=\"art\"]","label":"game-select-art","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:47.684Z","selector":"#goBtn","label":"game-begin-art","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img referrerpolicy=\"no-referrer\" src=\"https://www.artic.edu/iiif/2/5a1ce126-9ff\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:48.592Z","selector":".choice","label":"art-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Rembrandt</b> · <a href=\"https://www.artic.edu/artworks/74\" target=\"\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:50.120Z","selector":".choice","label":"art-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Hieronymus Bosch</b> · <a href=\"https://www.artic.edu/artworks/22857\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016084768&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=16&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119404701~119527019~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5098&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016084768&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=16&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119404701~119527019~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5099&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:51.621Z","selector":".choice","label":"art-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>El Greco</b> · <a href=\"https://www.artic.edu/artworks/87479\" tar\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:52.332Z","selector":"game-summary","label":"game-summary-art","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:53.972Z","selector":"button.gcard[data-g=\"match\"]","label":"game-select-match","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":2,"ts":"2026-08-06T11:34:57.326Z","selector":"#goBtn","label":"game-begin-match","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/f/fa/Audubo\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":2,"ts":"2026-08-06T11:34:58.205Z","selector":".choice","label":"match-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/104328\" target=\"_blank\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841h1v9260226174za200zd9260226174&_p=1786016092385&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5075&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841h1v9260226174za200zd9260226174&_p=1786016092385&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=57119646.1786016056&frm=0&ngs=1&pscdl=noapi&rcb=6&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896803&sid=1786016056&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5075&gaf=1 — net::ERR_ABORTED"]}
+{"run":2,"ts":"2026-08-06T11:34:59.745Z","selector":".choice","label":"match-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/260045\" target=\"_blank\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:35:01.261Z","selector":".choice","label":"match-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <a href=\"https://www.artic.edu/artworks/13506\" target=\"_blank\" rel=\"\" hasNext=true finished=false","errors":[]}
+{"run":2,"ts":"2026-08-06T11:35:01.971Z","selector":"game-summary","label":"game-summary-match","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:07.055Z","selector":"/","label":"page-load","action":"goto","ok":true,"effect":"title=\"The Signature Games — Celebrity Signatures\" hasGamePick=true hasGoBtn=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016105515&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=9&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938468~118897920~118897930~119527020~119896803&sid=1786016105&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_ss=1&_ee=1&tfd=241&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016105515&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=9&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938468~118897920~118897930~119527020~119896803&sid=1786016105&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=238&gaf=1 — net::ERR_ABORTED"]}
+{"run":3,"ts":"2026-08-06T11:35:07.098Z","selector":"#gamePick .gcard","label":"game-cards-present","action":"check","ok":true,"effect":"count=6","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:07.099Z","selector":"#goBtn","label":"go-btn-present","action":"check","ok":true,"effect":"text=\"Begin\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:08.763Z","selector":"button.gcard[data-g=\"art\"]","label":"game-select-art","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":3,"ts":"2026-08-06T11:35:10.109Z","selector":"#goBtn","label":"game-begin-art","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img referrerpolicy=\"no-referrer\" src=\"https://www.artic.edu/iiif/2/325f3bd4-b53\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:10.998Z","selector":".choice","label":"art-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Caspar David Friedrich</b> · <a href=\"https://www.artic.edu/artwo\" hasNext=true finished=false","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:12.522Z","selector":".choice","label":"art-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Gustave Courbet</b> · <a href=\"https://www.artic.edu/artworks/270\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6850h2v9260226174za200zd9260226174&_p=1786016107160&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938468~118897920~118897930~119527019~119896802&sid=1786016105&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5164&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6850h2v9260226174za200zd9260226174&_p=1786016107160&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=4&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938468~118897920~118897930~119527019~119896802&sid=1786016105&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5162&gaf=1 — net::ERR_ABORTED"]}
+{"run":3,"ts":"2026-08-06T11:35:14.054Z","selector":".choice","label":"art-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Jean-Auguste-Dominique Ingres</b> · <a href=\"https://www.artic.edu/a\" hasNext=true finished=false","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:14.760Z","selector":"game-summary","label":"game-summary-art","action":"summary","ok":true,"effect":"rounds=3 score=22 finalScore=\"\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:16.377Z","selector":"button.gcard[data-g=\"early\"]","label":"game-select-early","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":3,"ts":"2026-08-06T11:35:16.429Z","selector":"#goBtn","label":"game-begin-early","action":"click","ok":true,"effect":"stageLoaded=true choices=2 stage=\"<div class=\"duo\">\n <div class=\"d\"><img referrerpolicy=\"no-referrer\" src=\"ht\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:17.330Z","selector":".choice","label":"early-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Louis XIV of France: A is from <b>1688</b>, the other from <b>1693</\" hasNext=true finished=false","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:18.845Z","selector":".choice","label":"early-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Berthe Morisot: A is from <b>1873</b>, the other from <b>1885</b> · <a href=\"/\" hasNext=true finished=false","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:20.349Z","selector":".choice","label":"early-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ John Adams: B is from <b>1763</b>, the other from <b>1801</b> · <a href=\"/?art\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016114818&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527019~119896802&sid=1786016105&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5210&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016114818&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=1504899698.1786016106&frm=0&ngs=1&pscdl=noapi&rcb=10&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527019~119896802&sid=1786016105&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5211&gaf=1 — net::ERR_ABORTED"]}
+{"run":3,"ts":"2026-08-06T11:35:21.026Z","selector":"game-summary","label":"game-summary-early","action":"summary","ok":true,"effect":"rounds=3 score=10 finalScore=\"\"","errors":[]}
+{"run":3,"ts":"2026-08-06T11:35:22.638Z","selector":"button.gcard[data-g=\"century\"]","label":"game-select-century","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":3,"ts":"2026-08-06T11:35:52.662Z","selector":"#goBtn","label":"game-begin-century","action":"click","ok":false,"effect":null,"errors":["TimeoutError: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for locator('#goBtn')\n - locator resolved to <button class=\"go\" id=\"goBtn\">Begin</button>\n - attempting click action\n - waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n - performing click action\n"]}
+{"run":3,"ts":"2026-08-06T11:36:07.664Z","selector":"navigate","label":"nav-for-whose","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":3,"ts":"2026-08-06T11:36:22.667Z","selector":"navigate","label":"nav-for-lightning","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":3,"ts":"2026-08-06T11:36:37.670Z","selector":"navigate","label":"nav-for-match","action":"goto","ok":false,"effect":null,"errors":["TimeoutError: page.goto: Timeout 15000ms exceeded.\nCall log:\n - navigating to \"http://127.0.0.1:9919/game\", waiting until \"domcontentloaded\"\n"]}
+{"run":4,"ts":"2026-08-06T11:36:58.331Z","selector":"/","label":"page-load","action":"goto","ok":true,"effect":"title=\"The Signature Games — Celebrity Signatures\" hasGamePick=true hasGoBtn=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016216786&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=1&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938465~115938468~118897920~118897930~119527019~119896803&sid=1786016216&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=203&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016216786&gcd=13l3l3l3l1l1&npa=0&dma=0&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=1&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938465~115938468~118897920~118897930~119527019~119896803&sid=1786016216&sct=1&seg=0&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&en=page_view&_fv=1&_ss=1&_ee=1&tfd=207&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:36:58.369Z","selector":"#gamePick .gcard","label":"game-cards-present","action":"check","ok":true,"effect":"count=6","errors":[]}
+{"run":4,"ts":"2026-08-06T11:36:58.370Z","selector":"#goBtn","label":"go-btn-present","action":"check","ok":true,"effect":"text=\"Begin\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:00.019Z","selector":"button.gcard[data-g=\"lightning\"]","label":"game-select-lightning","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":4,"ts":"2026-08-06T11:37:00.870Z","selector":"#goBtn","label":"game-begin-lightning","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<span class=\"tag2\">Name the ARTIST</span>\n <img referrerpolicy=\"no-referrer\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:01.539Z","selector":".choice","label":"lightning-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✓ Artist: <b>Caravaggio</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:02.646Z","selector":".choice","label":"lightning-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Painting: <b>The Resurrection</b> · <a href=\"https://www.artic.edu/artworks/19\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:03.702Z","selector":".choice","label":"lightning-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Vincent van Gogh</b><button class=\"next\" id=\"nextBtn\">Next →</butto\"","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016218430&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=3&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938469~118395335~118897920~118897930~119527019~119896802&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5129&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016218430&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=3&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616986~115938466~115938469~118395335~118897920~118897930~119527019~119896802&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5128&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:37:04.757Z","selector":".choice","label":"lightning-round-4-pick","action":"click","ok":true,"effect":"reveal=\"✗ Painting: <b>The Bedroom</b> · <a href=\"https://www.artic.edu/artworks/28560\" \"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:05.813Z","selector":".choice","label":"lightning-round-5-pick","action":"click","ok":true,"effect":"reveal=\"✗ Artist: <b>Piet Mondrian</b><button class=\"next\" id=\"nextBtn\">Next →</button>\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:06.323Z","selector":"game-summary","label":"game-summary-lightning","action":"summary","ok":true,"effect":"rounds=5 score=5 finalScore=\"\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:07.952Z","selector":"button.gcard[data-g=\"whose\"]","label":"game-select-whose","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":4,"ts":"2026-08-06T11:37:08.183Z","selector":"#goBtn","label":"game-begin-whose","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/f/fa/John_F\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:09.086Z","selector":".choice","label":"whose-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>John F. Kennedy</b> · <a href=\"/?artist=Q9696\" target=\"_blank\" rel=\"\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:10.612Z","selector":".choice","label":"whose-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Thomas Jefferson</b> · <a href=\"/?artist=Q11812\" target=\"_blank\" \" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:12.147Z","selector":".choice","label":"whose-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — <b>Leonhard Euler</b> · <a href=\"/?artist=Q7604\" target=\"_blank\" rel\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016226375&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=11&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896803&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5119&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016226375&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=11&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896803&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5119&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:37:12.822Z","selector":"game-summary","label":"game-summary-whose","action":"summary","ok":true,"effect":"rounds=3 score=22 finalScore=\"\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:14.453Z","selector":"button.gcard[data-g=\"art\"]","label":"game-select-art","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":4,"ts":"2026-08-06T11:37:15.298Z","selector":"#goBtn","label":"game-begin-art","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img referrerpolicy=\"no-referrer\" src=\"https://www.artic.edu/iiif/2/5de78980-17d\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:16.200Z","selector":".choice","label":"art-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>Beatrix Potter</b> · <a href=\"https://www.artic.edu/artworks/146953\"\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:17.752Z","selector":".choice","label":"art-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>William Hogarth</b> · <a href=\"https://www.artic.edu/artworks/190874\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:19.283Z","selector":".choice","label":"art-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ It was <b>William Morris</b> · <a href=\"https://www.artic.edu/artworks/65008\" \" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841h1v9260226174za200zd9260226174&_p=1786016232877&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118897920~118897930~119527020~119896803&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5144&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841h1v9260226174za200zd9260226174&_p=1786016232877&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938466~115938469~118897920~118897930~119527020~119896803&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5144&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:37:19.996Z","selector":"game-summary","label":"game-summary-art","action":"summary","ok":true,"effect":"rounds=3 score=0 finalScore=\"\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:21.620Z","selector":"button.gcard[data-g=\"match\"]","label":"game-select-match","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":4,"ts":"2026-08-06T11:37:23.464Z","selector":"#goBtn","label":"game-begin-match","action":"click","ok":true,"effect":"stageLoaded=true choices=4 stage=\"<img class=\"sig\" src=\"https://upload.wikimedia.org/wikipedia/commons/d/db/Da_Vin\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:24.365Z","selector":".choice","label":"match-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/272694\" target=\"_blank\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:25.906Z","selector":".choice","label":"match-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/16496\" target=\"_blank\"\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841v9260226174za200zd9260226174&_p=1786016240048&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938466~115938468~118897920~118897930~119527019~119896802&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5072&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841v9260226174za200zd9260226174&_p=1786016240048&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=13&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115616985~115938466~115938468~118897920~118897930~119527019~119896802&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5072&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:37:27.428Z","selector":".choice","label":"match-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✗ Their piece was <a href=\"https://www.artic.edu/artworks/61073\" target=\"_blank\"\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:28.162Z","selector":"game-summary","label":"game-summary-match","action":"summary","ok":true,"effect":"rounds=3 score=0 finalScore=\"\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:29.801Z","selector":"button.gcard[data-g=\"early\"]","label":"game-select-early","action":"click","ok":true,"effect":"active=true","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED"]}
+{"run":4,"ts":"2026-08-06T11:37:29.848Z","selector":"#goBtn","label":"game-begin-early","action":"click","ok":true,"effect":"stageLoaded=true choices=2 stage=\"<div class=\"duo\">\n <div class=\"d\"><img referrerpolicy=\"no-referrer\" src=\"ht\" prep=\"Hanging the gallery…\"","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:30.740Z","selector":".choice","label":"early-round-1-pick","action":"click","ok":true,"effect":"reveal=\"✗ Amedeo Modigliani: B is from <b>1884</b>, the other from <b>1916</b> · <a href\" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:32.282Z","selector":".choice","label":"early-round-2-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Emmanuel Frémiet: B is from <b>1891</b>, the other from <b>1892</b> \" hasNext=true finished=false","errors":[]}
+{"run":4,"ts":"2026-08-06T11:37:33.814Z","selector":".choice","label":"early-round-3-pick","action":"click","ok":true,"effect":"reveal=\"✓ Correct — Ossip Zadkine: A is from <b>1943</b>, the other from <b>1955</b> · <\" hasNext=true finished=false","errors":["CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","CONSOLE_ERR: Failed to load resource: net::ERR_FAILED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-YD40CYCL31>m=45je6841h1v9260226174za200zd9260226174&_p=1786016248210&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=8&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896802~120315470&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5078&gaf=1 — net::ERR_ABORTED","REQUEST_FAILED: POST https://www.google.com/g/collect?v=2&tid=G-2HEVP6TD0J>m=45je6841h1v9260226174za200zd9260226174&_p=1786016248210&gcd=13l3l3l3l1l1&npa=0&dma=0&_eu=AAAAAAQ&are=1&cid=2087500313.1786016217&frm=0&ngs=1&pscdl=noapi&rcb=8&sr=1400x900&uaa=arm&uab=64&uafvl=HeadlessChrome%3B149.0.7827.55%7CChromium%3B149.0.7827.55%7CNot)A%253BBrand%3B24.0.0.0&uam=&uamb=0&uap=macOS&uapv=26.4.0&uaw=0&ul=en-us&tag_exp=115938465~115938469~118897920~118897930~119527020~119896802~120315470&sid=1786016216&sct=1&seg=1&dl=http%3A%2F%2F127.0.0.1%2Fgame&dt=The%20Signature%20Games%20%E2%80%94%20Celebrity%20Signatures&_s=1&tfd=5077&gaf=1 — net::ERR_ABORTED"]}
+{"run":4,"ts":"2026-08-06T11:37:34.421Z","selector":".choice","label":"early-round-3-pick","action":"click","ok":false,"effect":null,"errors":["Error: page.waitForTimeout: Target page, context or browser has been closed"]}
+{"run":4,"ts":"2026-08-06T11:37:34.422Z","selector":"game-summary","label":"game-summary-early","action":"summary","ok":false,"effect":"rounds=3 score=? finalScore=\"\"","errors":["round3 error: page.waitForTimeout: Target page, context or browser has been closed"]}
+{"run":4,"ts":"2026-08-06T11:37:34.422Z","selector":"navigate","label":"nav-for-century","action":"goto","ok":false,"effect":null,"errors":["Error: page.goto: Target page, context or browser has been closed"]}
diff --git a/screenrecord/game-debug.mjs b/screenrecord/game-debug.mjs
new file mode 100644
index 0000000..1f2bc47
--- /dev/null
+++ b/screenrecord/game-debug.mjs
@@ -0,0 +1,404 @@
+/**
+ * screenrecord debug agent — CelebritySignatures /game page
+ * 5 runs, each with a DISTINCT click-order combination across the 6 game types.
+ * Reads debug-log.jsonl first (prior errors inform run 4 ordering).
+ * Appends one JSONL line per action. Converts .webm -> .mp4 via ffmpeg.
+ *
+ * Ticket: TK-10192
+ * Target: http://127.0.0.1:9919/game
+ * Games: whose, art, match, early, century, lightning
+ */
+
+import { createRequire } from 'node:module';
+import fs from 'node:fs';
+import path from 'node:path';
+import { execSync } from 'node:child_process';
+import { fileURLToPath } from 'node:url';
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const require = createRequire(import.meta.url);
+
+process.env.NODE_PATH = process.env.HOME + '/.npm-global/lib/node_modules';
+const { chromium } = require(process.env.HOME + '/.npm-global/lib/node_modules/playwright');
+
+const PAGE_URL = 'http://127.0.0.1:9919/game';
+const LOG_FILE = path.join(__dirname, 'debug-log.jsonl');
+const REC_DIR = path.join(__dirname, 'rec');
+const SHOT_DIR = path.join(__dirname, 'screenshots');
+
+// ---- prior log ---
+const priorLines = fs.existsSync(LOG_FILE)
+ ? fs.readFileSync(LOG_FILE,'utf8').trim().split('\n').filter(Boolean).map(l=>{try{return JSON.parse(l);}catch{return null;}}).filter(Boolean)
+ : [];
+const priorErrors = priorLines.filter(r=>r.errors && r.errors.length>0);
+const priorErrorLabels = new Set(priorErrors.map(e=>e.label||''));
+const priorGameErrors = priorErrors.filter(e=>(e.label||'').includes('lightning') || (e.label||'').includes('reveal'));
+
+console.log(`Prior log lines: ${priorLines.length}, prior errors: ${priorErrors.length}`);
+console.log(`Prior lightning/reveal errors: ${priorGameErrors.length}`);
+
+function appendLog(obj) {
+ fs.appendFileSync(LOG_FILE, JSON.stringify(obj) + '\n');
+}
+
+// ---- 6 game types ----
+const ALL_GAMES = [
+ { key:'whose', label:'Whose Hand?' },
+ { key:'art', label:'Who Signed This?' },
+ { key:'match', label:'Match the Hand' },
+ { key:'early', label:'Early or Late?' },
+ { key:'century', label:'Date the Hand' },
+ { key:'lightning',label:'Lightning Round' },
+];
+
+// ---- 5 distinct orderings ----
+function orderFor(run) {
+ if (run === 0) return [...ALL_GAMES]; // DOM order
+ if (run === 1) return [...ALL_GAMES].reverse(); // reverse
+ if (run === 2) { // signature-based first, then visual/art
+ const sigs = ALL_GAMES.filter(g=>['whose','early','century','lightning'].includes(g.key));
+ const visual = ALL_GAMES.filter(g=>['art','match'].includes(g.key));
+ return [...sigs, ...visual];
+ }
+ if (run === 3) { // seeded shuffle
+ const s = [...ALL_GAMES];
+ for (let i = s.length-1; i > 0; i--) {
+ const j = (i*7 + run*13) % (i+1);
+ [s[i], s[j]] = [s[j], s[i]];
+ }
+ return s;
+ }
+ if (run === 4) { // errored-first: lightning led prior errors
+ const errored = ALL_GAMES.filter(g=>priorGameErrors.some(e=>(e.label||'').includes(g.key)));
+ const unerrored = ALL_GAMES.filter(g=>!errored.some(e=>e.key===g.key));
+ return [...errored, ...unerrored];
+ }
+ return [...ALL_GAMES];
+}
+
+// ---- ffmpeg convert ----
+function convertToMp4(webmPath) {
+ const mp4 = webmPath.replace('.webm','.mp4');
+ try {
+ execSync(`ffmpeg -y -i "${webmPath}" -c:v libx264 -preset fast -crf 22 "${mp4}" 2>/dev/null`);
+ return mp4;
+ } catch(e) {
+ return null;
+ }
+}
+
+// ---- helper: wait for element with timeout ----
+async function waitForVisible(page, sel, timeout=8000) {
+ try {
+ await page.waitForSelector(sel, { state:'visible', timeout });
+ return true;
+ } catch {
+ return false;
+ }
+}
+
+// ---- play one game: select type, click Begin, play N rounds, return result ----
+async function playGame(page, gameKey, gameLabel, errs, run, shotDir) {
+ const ts = () => new Date().toISOString();
+ const log = (sel, label, action, ok, effect, extraErrs=[]) => {
+ const snapshot = errs.splice(0);
+ appendLog({ run, ts: ts(), selector: sel, label, action, ok, effect, errors:[...snapshot,...extraErrs] });
+ return snapshot;
+ };
+
+ console.log(` [game:${gameKey}] selecting...`);
+
+ // --- click the game card ---
+ try {
+ await page.locator(`button.gcard[data-g="${gameKey}"]`).click();
+ await page.waitForTimeout(300);
+ const active = await page.evaluate(k=>document.querySelector(`button.gcard[data-g="${k}"]`)?.classList.contains('on'), gameKey);
+ log(`button.gcard[data-g="${gameKey}"]`, `game-select-${gameKey}`, 'click', active, `active=${active}`);
+ console.log(` [game:${gameKey}] card selected active=${active}`);
+ } catch(e) {
+ log(`button.gcard[data-g="${gameKey}"]`, `game-select-${gameKey}`, 'click', false, null, [String(e)]);
+ console.log(` [game:${gameKey}] ERROR selecting: ${e.message}`);
+ return { ok: false, error: String(e) };
+ }
+
+ // --- screenshot: game selected, before Begin ---
+ const shotBefore = path.join(shotDir, `run${run}-${gameKey}-before-begin.png`);
+ try { await page.screenshot({ path: shotBefore, fullPage: false }); } catch{}
+
+ // --- click Begin ---
+ console.log(` [game:${gameKey}] clicking Begin...`);
+ try {
+ await page.locator('#goBtn').click();
+ // wait for stage to have content (game loaded)
+ // art/match games fetch external APIs — give up to 25s
+ const stageLoaded = await waitForVisible(page, '#stage img, #stage .duo, #stage span.tag2', 25000);
+ const stageHtml = await page.locator('#stage').innerHTML().catch(()=>'');
+ const choicesCount = await page.locator('.choice').count().catch(()=>0);
+ const prepText = await page.locator('#prep').textContent().catch(()=>'');
+ const errorsAfter = await page.locator('#prep').evaluate(el=>el.textContent).catch(()=>'');
+ log('#goBtn', `game-begin-${gameKey}`, 'click', stageLoaded, `stageLoaded=${stageLoaded} choices=${choicesCount} stage="${stageHtml.slice(0,80)}" prep="${prepText}"`);
+ console.log(` [game:${gameKey}] begin: loaded=${stageLoaded} choices=${choicesCount} prep="${prepText.trim()}"`);
+ if (!stageLoaded) {
+ // screenshot the error/prep state
+ const shotErr = path.join(shotDir, `run${run}-${gameKey}-begin-fail.png`);
+ try { await page.screenshot({ path: shotErr, fullPage: false }); } catch{}
+ return { ok: false, error: `stage did not load: prep="${prepText}"` };
+ }
+ } catch(e) {
+ log('#goBtn', `game-begin-${gameKey}`, 'click', false, null, [String(e)]);
+ console.log(` [game:${gameKey}] ERROR begin: ${e.message}`);
+ return { ok: false, error: String(e) };
+ }
+
+ // --- screenshot: first round loaded ---
+ const shotRound1 = path.join(shotDir, `run${run}-${gameKey}-round1.png`);
+ try { await page.screenshot({ path: shotRound1, fullPage: false }); } catch{}
+
+ // --- play up to 3 rounds (or until finish screen) ---
+ let roundsPlayed = 0;
+ let roundErrors = [];
+ const maxRounds = gameKey === 'lightning' ? 5 : 3;
+
+ for (let r = 0; r < maxRounds; r++) {
+ // For lightning, there's a timer — pick quickly
+ if (gameKey === 'lightning') {
+ // wait for choices to appear
+ try {
+ await page.waitForSelector('.choice', { state:'visible', timeout:8000 });
+ } catch(e) {
+ roundErrors.push(`round${r+1}: no choices appeared: ${e.message}`);
+ break;
+ }
+ // pick first choice (fast, before 5s timer)
+ try {
+ await page.locator('.choice').first().click({ timeout: 4500 });
+ await page.waitForTimeout(600);
+ const revealHtml = await page.locator('#reveal').innerHTML().catch(()=>'');
+ log('.choice', `lightning-round-${r+1}-pick`, 'click', !!revealHtml, `reveal="${revealHtml.slice(0,80)}"`);
+ roundsPlayed++;
+ // check for "Missing reveal link" bug
+ if (!revealHtml.trim()) {
+ roundErrors.push(`Missing reveal content in lightning round ${r+1}`);
+ }
+ // check for nextBtn or more choices (auto-advance in lightning)
+ const hasNext = await page.locator('#nextBtn').count().catch(()=>0);
+ if (hasNext) {
+ // click next between artist and title sub-rounds
+ await page.locator('#nextBtn').click().catch(()=>{});
+ await page.waitForTimeout(400);
+ }
+ } catch(e) {
+ roundErrors.push(`lightning round${r+1} pick error: ${e.message}`);
+ log('.choice', `lightning-round-${r+1}-pick`, 'click', false, null, [String(e)]);
+ break;
+ }
+ } else {
+ // Non-lightning: wait for choices, pick one
+ try {
+ await page.waitForSelector('.choice', { state:'visible', timeout:10000 });
+ } catch(e) {
+ roundErrors.push(`round${r+1}: no choices appeared: ${e.message}`);
+ break;
+ }
+
+ try {
+ // Pick a choice (vary index per round for realism)
+ const choices = await page.locator('.choice').all();
+ const idx = r % Math.max(choices.length, 1);
+ if (choices.length === 0) {
+ roundErrors.push(`round${r+1}: 0 choices found`);
+ break;
+ }
+ await choices[idx].scrollIntoViewIfNeeded();
+ await choices[idx].click({ timeout: 5000 });
+ await page.waitForTimeout(800);
+
+ const revealHtml = await page.locator('#reveal').innerHTML().catch(()=>'');
+ const hasNextBtn = await page.locator('#nextBtn').count().catch(()=>0) > 0;
+ const hasFinalScore = await page.locator('#finalScore').isVisible().catch(()=>false);
+ log('.choice', `${gameKey}-round-${r+1}-pick`, 'click', !!revealHtml, `reveal="${revealHtml.slice(0,80)}" hasNext=${hasNextBtn} finished=${hasFinalScore}`);
+ roundsPlayed++;
+
+ if (hasFinalScore) {
+ console.log(` [game:${gameKey}] reached final score screen`);
+ break;
+ }
+
+ if (hasNextBtn) {
+ await page.locator('#nextBtn').click({ timeout:3000 }).catch(()=>{});
+ await page.waitForTimeout(600);
+ }
+ } catch(e) {
+ roundErrors.push(`round${r+1} error: ${e.message}`);
+ log('.choice', `${gameKey}-round-${r+1}-pick`, 'click', false, null, [String(e)]);
+ break;
+ }
+ }
+
+ // screenshot after round
+ if (r === 0 || r === maxRounds-1) {
+ const shotR = path.join(shotDir, `run${run}-${gameKey}-round${r+1}-after.png`);
+ try { await page.screenshot({ path: shotR, fullPage: false }); } catch{}
+ }
+ }
+
+ // final screenshot for this game
+ const shotFinal = path.join(shotDir, `run${run}-${gameKey}-final.png`);
+ try { await page.screenshot({ path: shotFinal, fullPage: false }); } catch{}
+
+ const score = await page.locator('#score').textContent().catch(()=>'?');
+ const finalScore = await page.locator('#finalScore').textContent().catch(()=>'');
+ console.log(` [game:${gameKey}] done — rounds=${roundsPlayed} score=${score} final="${finalScore}" errors=${roundErrors.length}`);
+
+ appendLog({ run, ts: ts(), selector:'game-summary', label:`game-summary-${gameKey}`, action:'summary', ok: roundErrors.length===0, effect:`rounds=${roundsPlayed} score=${score} finalScore="${finalScore}"`, errors: roundErrors });
+
+ return { ok: roundErrors.length===0, roundsPlayed, score, finalScore, errors: roundErrors };
+}
+
+// ---- MAIN ----
+async function main() {
+ console.log(`\n=== CelebritySignatures /game debug agent ===`);
+ console.log(`Target: ${PAGE_URL}`);
+ console.log(`Runs: 5 (0=dom-order, 1=reverse, 2=sig-first, 3=shuffle, 4=errored-first)\n`);
+
+ const allResults = [];
+
+ for (let run = 0; run < 5; run++) {
+ const gameOrder = orderFor(run);
+ const runDir = path.join(REC_DIR, `game-run${run}`);
+ const shotDir = path.join(SHOT_DIR);
+ fs.mkdirSync(runDir, { recursive:true });
+ fs.mkdirSync(shotDir, { recursive:true });
+
+ console.log(`\n--- RUN ${run} [${gameOrder.map(g=>g.key).join(', ')}] ---`);
+
+ const browser = await chromium.launch({ headless: true });
+ const ctx = await browser.newContext({
+ viewport: { width:1400, height:900 },
+ recordVideo: { dir: runDir, size: { width:1400, height:900 } },
+ // block GA but not the app itself
+ extraHTTPHeaders: {},
+ });
+
+ // block google-analytics (noise, not bugs)
+ await ctx.route('**/*.google-analytics.com/**', route => route.abort());
+ await ctx.route('**/pagead2.googlesyndication.com/**', route => route.abort());
+ await ctx.route('**/googletagmanager.com/**', route => route.abort());
+
+ const page = await ctx.newPage();
+
+ // collect real errors (post-GA-block)
+ const errs = [];
+ page.on('console', msg => {
+ if (msg.type() === 'error') errs.push(`CONSOLE_ERR: ${msg.text()}`);
+ });
+ page.on('pageerror', e => errs.push(`PAGEERROR: ${String(e)}`));
+ page.on('requestfailed', req => {
+ const url = req.url();
+ // skip analytics/ads (blocked above, but just in case)
+ if (/google-analytics|googlesyndication|googletagmanager/.test(url)) return;
+ errs.push(`REQUEST_FAILED: ${req.method()} ${url} — ${req.failure()?.errorText||'?'}`);
+ });
+
+ const ts = () => new Date().toISOString();
+
+ // --- navigate to /game ---
+ try {
+ await page.goto(PAGE_URL, { waitUntil:'domcontentloaded', timeout:15000 });
+ await page.waitForTimeout(1500); // let /api/signatures fetch settle
+ } catch(e) {
+ appendLog({ run, ts:ts(), selector:'navigate', label:'page-load', action:'goto', ok:false, effect:null, errors:[String(e)] });
+ console.log(` FAIL page load: ${e.message}`);
+ await ctx.close(); await browser.close();
+ allResults.push({ run, ok:false, gameOrder, error:String(e) });
+ continue;
+ }
+
+ const pageTitle = await page.title().catch(()=>'?');
+ const hasGamePick = await page.locator('#gamePick').count().catch(()=>0) > 0;
+ const hasGoBtn = await page.locator('#goBtn').count().catch(()=>0) > 0;
+ const navErrs = errs.splice(0);
+ appendLog({ run, ts:ts(), selector:'/', label:'page-load', action:'goto', ok:hasGamePick, effect:`title="${pageTitle}" hasGamePick=${hasGamePick} hasGoBtn=${hasGoBtn}`, errors:navErrs });
+ console.log(` page loaded: title="${pageTitle}" gamePick=${hasGamePick} goBtn=${hasGoBtn}`);
+
+ // screenshot: /game hub
+ const shotHub = path.join(shotDir, `run${run}-game-hub.png`);
+ try { await page.screenshot({ path: shotHub, fullPage: false }); } catch{}
+
+ // --- check all 6 game cards present ---
+ const cardCount = await page.locator('#gamePick .gcard').count().catch(()=>0);
+ appendLog({ run, ts:ts(), selector:'#gamePick .gcard', label:'game-cards-present', action:'check', ok:cardCount===6, effect:`count=${cardCount}`, errors:errs.splice(0) });
+ console.log(` game cards: ${cardCount}/6`);
+
+ // --- check goBtn text ---
+ const goBtnText = await page.locator('#goBtn').textContent().catch(()=>'');
+ appendLog({ run, ts:ts(), selector:'#goBtn', label:'go-btn-present', action:'check', ok:goBtnText.includes('Begin'), effect:`text="${goBtnText}"`, errors:errs.splice(0) });
+ console.log(` goBtn: "${goBtnText}"`);
+
+ // --- play each game in this run's order ---
+ const runGameResults = {};
+ for (const game of gameOrder) {
+ // navigate back to /game before each game to reset state
+ try {
+ await page.goto(PAGE_URL, { waitUntil:'domcontentloaded', timeout:15000 });
+ await page.waitForTimeout(1200);
+ } catch(e) {
+ appendLog({ run, ts:ts(), selector:'navigate', label:`nav-for-${game.key}`, action:'goto', ok:false, effect:null, errors:[String(e)] });
+ console.log(` FAIL nav for ${game.key}: ${e.message}`);
+ runGameResults[game.key] = { ok:false, error:String(e) };
+ continue;
+ }
+
+ const result = await playGame(page, game.key, game.label, errs, run, shotDir);
+ runGameResults[game.key] = result;
+ }
+
+ // --- final page errors ---
+ const remaining = errs.splice(0);
+ if (remaining.length > 0) {
+ appendLog({ run, ts:ts(), selector:'page', label:'end-of-run-errors', action:'check', ok:false, effect:null, errors:remaining });
+ console.log(` end-of-run errors (${remaining.length}): ${remaining.slice(0,3).map(e=>e.slice(0,80)).join('; ')}`);
+ }
+
+ // close context → saves video
+ await ctx.close();
+ await browser.close();
+
+ // convert webm -> mp4
+ const webmFiles = fs.readdirSync(runDir).filter(f=>f.endsWith('.webm'));
+ const mp4s = [];
+ for (const wf of webmFiles) {
+ const webmPath = path.join(runDir, wf);
+ console.log(` converting ${wf}...`);
+ const mp4 = convertToMp4(webmPath);
+ if (mp4) { console.log(` -> ${mp4}`); mp4s.push(mp4); }
+ else console.log(` (no ffmpeg, leaving .webm)`);
+ }
+
+ const runResult = { run, gameOrder: gameOrder.map(g=>g.key), gameResults: runGameResults, recordings: mp4s.length ? mp4s : webmFiles.map(f=>path.join(runDir,f)) };
+ allResults.push(runResult);
+
+ // summary
+ const worked = Object.entries(runGameResults).filter(([,v])=>v.ok).map(([k])=>k);
+ const broken = Object.entries(runGameResults).filter(([,v])=>!v.ok).map(([k,v])=>`${k}(${v.error||v.errors?.join(';')})`.slice(0,80));
+ console.log(` run ${run} done — worked: [${worked.join(', ')}] broken: [${broken.join(', ')}]`);
+ }
+
+ console.log('\n=== All runs complete ===');
+ return allResults;
+}
+
+main().then(results => {
+ console.log('\nRun summaries:');
+ for (const r of results) {
+ if (r.error) { console.log(` run${r.run}: FATAL ${r.error}`); continue; }
+ const worked = Object.entries(r.gameResults||{}).filter(([,v])=>v.ok).map(([k])=>k);
+ const broken = Object.entries(r.gameResults||{}).filter(([,v])=>!v.ok).map(([k])=>k);
+ console.log(` run${r.run} [${r.gameOrder?.join(',')}]: worked=[${worked}] broken=[${broken}] recordings=${(r.recordings||[]).length}`);
+ }
+ console.log('\nLog:', LOG_FILE);
+ process.exit(0);
+}).catch(e => {
+ console.error('Fatal:', e);
+ process.exit(1);
+});
diff --git a/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.mp4 b/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.mp4
new file mode 100644
index 0000000..d7d4c8c
Binary files /dev/null and b/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.mp4 differ
diff --git a/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.webm b/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.webm
new file mode 100644
index 0000000..06830a6
Binary files /dev/null and b/screenrecord/rec/game-run0/page@d01ec82fac0b821368b7301ce7eef551.webm differ
diff --git a/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.mp4 b/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.mp4
new file mode 100644
index 0000000..734595f
Binary files /dev/null and b/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.mp4 differ
diff --git a/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.webm b/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.webm
new file mode 100644
index 0000000..b45b0fe
Binary files /dev/null and b/screenrecord/rec/game-run1/page@55a0e6dc71aa4e76e7831ac80604d000.webm differ
diff --git a/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.mp4 b/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.mp4
new file mode 100644
index 0000000..44d5a09
Binary files /dev/null and b/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.mp4 differ
diff --git a/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.webm b/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.webm
new file mode 100644
index 0000000..af4b1d1
Binary files /dev/null and b/screenrecord/rec/game-run2/page@53d2a289fd6b78a8af93c3355bb69c5e.webm differ
diff --git a/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.mp4 b/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.mp4
new file mode 100644
index 0000000..8f7d2f3
Binary files /dev/null and b/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.mp4 differ
diff --git a/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.webm b/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.webm
new file mode 100644
index 0000000..04a52f0
Binary files /dev/null and b/screenrecord/rec/game-run3/page@9ace0b06e0de45225da2287bb8872b69.webm differ
diff --git a/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.mp4 b/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.mp4
new file mode 100644
index 0000000..241be79
Binary files /dev/null and b/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.mp4 differ
diff --git a/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.webm b/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.webm
new file mode 100644
index 0000000..10d7abb
Binary files /dev/null and b/screenrecord/rec/game-run4/page@025bd1c85d7cdf7783b3ec61ab492b87.webm differ
diff --git a/screenrecord/screenshots/run0-art-before-begin.png b/screenrecord/screenshots/run0-art-before-begin.png
new file mode 100644
index 0000000..aa8b13b
Binary files /dev/null and b/screenrecord/screenshots/run0-art-before-begin.png differ
diff --git a/screenrecord/screenshots/run0-art-final.png b/screenrecord/screenshots/run0-art-final.png
new file mode 100644
index 0000000..e803519
Binary files /dev/null and b/screenrecord/screenshots/run0-art-final.png differ
diff --git a/screenrecord/screenshots/run0-art-round1-after.png b/screenrecord/screenshots/run0-art-round1-after.png
new file mode 100644
index 0000000..33c0f94
Binary files /dev/null and b/screenrecord/screenshots/run0-art-round1-after.png differ
diff --git a/screenrecord/screenshots/run0-art-round1.png b/screenrecord/screenshots/run0-art-round1.png
new file mode 100644
index 0000000..14ce1c7
Binary files /dev/null and b/screenrecord/screenshots/run0-art-round1.png differ
diff --git a/screenrecord/screenshots/run0-art-round3-after.png b/screenrecord/screenshots/run0-art-round3-after.png
new file mode 100644
index 0000000..e803519
Binary files /dev/null and b/screenrecord/screenshots/run0-art-round3-after.png differ
diff --git a/screenrecord/screenshots/run0-century-before-begin.png b/screenrecord/screenshots/run0-century-before-begin.png
new file mode 100644
index 0000000..217d9f6
Binary files /dev/null and b/screenrecord/screenshots/run0-century-before-begin.png differ
diff --git a/screenrecord/screenshots/run0-early-before-begin.png b/screenrecord/screenshots/run0-early-before-begin.png
new file mode 100644
index 0000000..87ea0a9
Binary files /dev/null and b/screenrecord/screenshots/run0-early-before-begin.png differ
diff --git a/screenrecord/screenshots/run0-early-final.png b/screenrecord/screenshots/run0-early-final.png
new file mode 100644
index 0000000..0040dfc
Binary files /dev/null and b/screenrecord/screenshots/run0-early-final.png differ
diff --git a/screenrecord/screenshots/run0-early-round1-after.png b/screenrecord/screenshots/run0-early-round1-after.png
new file mode 100644
index 0000000..cbfc813
Binary files /dev/null and b/screenrecord/screenshots/run0-early-round1-after.png differ
diff --git a/screenrecord/screenshots/run0-early-round1.png b/screenrecord/screenshots/run0-early-round1.png
new file mode 100644
index 0000000..60e2ac5
Binary files /dev/null and b/screenrecord/screenshots/run0-early-round1.png differ
diff --git a/screenrecord/screenshots/run0-early-round3-after.png b/screenrecord/screenshots/run0-early-round3-after.png
new file mode 100644
index 0000000..0040dfc
Binary files /dev/null and b/screenrecord/screenshots/run0-early-round3-after.png differ
diff --git a/screenrecord/screenshots/run0-game-hub.png b/screenrecord/screenshots/run0-game-hub.png
new file mode 100644
index 0000000..508fae0
Binary files /dev/null and b/screenrecord/screenshots/run0-game-hub.png differ
diff --git a/screenrecord/screenshots/run0-match-before-begin.png b/screenrecord/screenshots/run0-match-before-begin.png
new file mode 100644
index 0000000..7595491
Binary files /dev/null and b/screenrecord/screenshots/run0-match-before-begin.png differ
diff --git a/screenrecord/screenshots/run0-match-final.png b/screenrecord/screenshots/run0-match-final.png
new file mode 100644
index 0000000..a90600d
Binary files /dev/null and b/screenrecord/screenshots/run0-match-final.png differ
diff --git a/screenrecord/screenshots/run0-match-round1-after.png b/screenrecord/screenshots/run0-match-round1-after.png
new file mode 100644
index 0000000..8760f5c
Binary files /dev/null and b/screenrecord/screenshots/run0-match-round1-after.png differ
diff --git a/screenrecord/screenshots/run0-match-round1.png b/screenrecord/screenshots/run0-match-round1.png
new file mode 100644
index 0000000..139bf68
Binary files /dev/null and b/screenrecord/screenshots/run0-match-round1.png differ
diff --git a/screenrecord/screenshots/run0-match-round3-after.png b/screenrecord/screenshots/run0-match-round3-after.png
new file mode 100644
index 0000000..a90600d
Binary files /dev/null and b/screenrecord/screenshots/run0-match-round3-after.png differ
diff --git a/screenrecord/screenshots/run0-whose-before-begin.png b/screenrecord/screenshots/run0-whose-before-begin.png
new file mode 100644
index 0000000..a5196e3
Binary files /dev/null and b/screenrecord/screenshots/run0-whose-before-begin.png differ
diff --git a/screenrecord/screenshots/run0-whose-final.png b/screenrecord/screenshots/run0-whose-final.png
new file mode 100644
index 0000000..e40d0a5
Binary files /dev/null and b/screenrecord/screenshots/run0-whose-final.png differ
diff --git a/screenrecord/screenshots/run0-whose-round1-after.png b/screenrecord/screenshots/run0-whose-round1-after.png
new file mode 100644
index 0000000..090c2d8
Binary files /dev/null and b/screenrecord/screenshots/run0-whose-round1-after.png differ
diff --git a/screenrecord/screenshots/run0-whose-round1.png b/screenrecord/screenshots/run0-whose-round1.png
new file mode 100644
index 0000000..b42d76d
Binary files /dev/null and b/screenrecord/screenshots/run0-whose-round1.png differ
diff --git a/screenrecord/screenshots/run0-whose-round3-after.png b/screenrecord/screenshots/run0-whose-round3-after.png
new file mode 100644
index 0000000..e40d0a5
Binary files /dev/null and b/screenrecord/screenshots/run0-whose-round3-after.png differ
diff --git a/screenrecord/screenshots/run1-century-before-begin.png b/screenrecord/screenshots/run1-century-before-begin.png
new file mode 100644
index 0000000..217d9f6
Binary files /dev/null and b/screenrecord/screenshots/run1-century-before-begin.png differ
diff --git a/screenrecord/screenshots/run1-game-hub.png b/screenrecord/screenshots/run1-game-hub.png
new file mode 100644
index 0000000..508fae0
Binary files /dev/null and b/screenrecord/screenshots/run1-game-hub.png differ
diff --git a/screenrecord/screenshots/run1-lightning-before-begin.png b/screenrecord/screenshots/run1-lightning-before-begin.png
new file mode 100644
index 0000000..3481efa
Binary files /dev/null and b/screenrecord/screenshots/run1-lightning-before-begin.png differ
diff --git a/screenrecord/screenshots/run1-lightning-final.png b/screenrecord/screenshots/run1-lightning-final.png
new file mode 100644
index 0000000..923b23b
Binary files /dev/null and b/screenrecord/screenshots/run1-lightning-final.png differ
diff --git a/screenrecord/screenshots/run1-lightning-round1-after.png b/screenrecord/screenshots/run1-lightning-round1-after.png
new file mode 100644
index 0000000..d40e8f8
Binary files /dev/null and b/screenrecord/screenshots/run1-lightning-round1-after.png differ
diff --git a/screenrecord/screenshots/run1-lightning-round1.png b/screenrecord/screenshots/run1-lightning-round1.png
new file mode 100644
index 0000000..a671dcc
Binary files /dev/null and b/screenrecord/screenshots/run1-lightning-round1.png differ
diff --git a/screenrecord/screenshots/run1-lightning-round5-after.png b/screenrecord/screenshots/run1-lightning-round5-after.png
new file mode 100644
index 0000000..e9d8ad3
Binary files /dev/null and b/screenrecord/screenshots/run1-lightning-round5-after.png differ
diff --git a/screenrecord/screenshots/run2-art-before-begin.png b/screenrecord/screenshots/run2-art-before-begin.png
new file mode 100644
index 0000000..aa8b13b
Binary files /dev/null and b/screenrecord/screenshots/run2-art-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-art-final.png b/screenrecord/screenshots/run2-art-final.png
new file mode 100644
index 0000000..0d8bb71
Binary files /dev/null and b/screenrecord/screenshots/run2-art-final.png differ
diff --git a/screenrecord/screenshots/run2-art-round1-after.png b/screenrecord/screenshots/run2-art-round1-after.png
new file mode 100644
index 0000000..bc0d189
Binary files /dev/null and b/screenrecord/screenshots/run2-art-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-art-round1.png b/screenrecord/screenshots/run2-art-round1.png
new file mode 100644
index 0000000..bf0f9b6
Binary files /dev/null and b/screenrecord/screenshots/run2-art-round1.png differ
diff --git a/screenrecord/screenshots/run2-art-round3-after.png b/screenrecord/screenshots/run2-art-round3-after.png
new file mode 100644
index 0000000..0d8bb71
Binary files /dev/null and b/screenrecord/screenshots/run2-art-round3-after.png differ
diff --git a/screenrecord/screenshots/run2-century-before-begin.png b/screenrecord/screenshots/run2-century-before-begin.png
new file mode 100644
index 0000000..217d9f6
Binary files /dev/null and b/screenrecord/screenshots/run2-century-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-century-final.png b/screenrecord/screenshots/run2-century-final.png
new file mode 100644
index 0000000..e97cbb5
Binary files /dev/null and b/screenrecord/screenshots/run2-century-final.png differ
diff --git a/screenrecord/screenshots/run2-century-round1-after.png b/screenrecord/screenshots/run2-century-round1-after.png
new file mode 100644
index 0000000..ab039c1
Binary files /dev/null and b/screenrecord/screenshots/run2-century-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-century-round1.png b/screenrecord/screenshots/run2-century-round1.png
new file mode 100644
index 0000000..6c35b84
Binary files /dev/null and b/screenrecord/screenshots/run2-century-round1.png differ
diff --git a/screenrecord/screenshots/run2-century-round3-after.png b/screenrecord/screenshots/run2-century-round3-after.png
new file mode 100644
index 0000000..e97cbb5
Binary files /dev/null and b/screenrecord/screenshots/run2-century-round3-after.png differ
diff --git a/screenrecord/screenshots/run2-early-before-begin.png b/screenrecord/screenshots/run2-early-before-begin.png
new file mode 100644
index 0000000..87ea0a9
Binary files /dev/null and b/screenrecord/screenshots/run2-early-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-early-final.png b/screenrecord/screenshots/run2-early-final.png
new file mode 100644
index 0000000..50670cd
Binary files /dev/null and b/screenrecord/screenshots/run2-early-final.png differ
diff --git a/screenrecord/screenshots/run2-early-round1-after.png b/screenrecord/screenshots/run2-early-round1-after.png
new file mode 100644
index 0000000..7c49f37
Binary files /dev/null and b/screenrecord/screenshots/run2-early-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-early-round1.png b/screenrecord/screenshots/run2-early-round1.png
new file mode 100644
index 0000000..3a1df02
Binary files /dev/null and b/screenrecord/screenshots/run2-early-round1.png differ
diff --git a/screenrecord/screenshots/run2-early-round3-after.png b/screenrecord/screenshots/run2-early-round3-after.png
new file mode 100644
index 0000000..50670cd
Binary files /dev/null and b/screenrecord/screenshots/run2-early-round3-after.png differ
diff --git a/screenrecord/screenshots/run2-game-hub.png b/screenrecord/screenshots/run2-game-hub.png
new file mode 100644
index 0000000..508fae0
Binary files /dev/null and b/screenrecord/screenshots/run2-game-hub.png differ
diff --git a/screenrecord/screenshots/run2-lightning-before-begin.png b/screenrecord/screenshots/run2-lightning-before-begin.png
new file mode 100644
index 0000000..3481efa
Binary files /dev/null and b/screenrecord/screenshots/run2-lightning-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-lightning-final.png b/screenrecord/screenshots/run2-lightning-final.png
new file mode 100644
index 0000000..109462f
Binary files /dev/null and b/screenrecord/screenshots/run2-lightning-final.png differ
diff --git a/screenrecord/screenshots/run2-lightning-round1-after.png b/screenrecord/screenshots/run2-lightning-round1-after.png
new file mode 100644
index 0000000..ba493ff
Binary files /dev/null and b/screenrecord/screenshots/run2-lightning-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-lightning-round1.png b/screenrecord/screenshots/run2-lightning-round1.png
new file mode 100644
index 0000000..88b6700
Binary files /dev/null and b/screenrecord/screenshots/run2-lightning-round1.png differ
diff --git a/screenrecord/screenshots/run2-lightning-round5-after.png b/screenrecord/screenshots/run2-lightning-round5-after.png
new file mode 100644
index 0000000..bbbb3e9
Binary files /dev/null and b/screenrecord/screenshots/run2-lightning-round5-after.png differ
diff --git a/screenrecord/screenshots/run2-match-before-begin.png b/screenrecord/screenshots/run2-match-before-begin.png
new file mode 100644
index 0000000..7595491
Binary files /dev/null and b/screenrecord/screenshots/run2-match-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-match-final.png b/screenrecord/screenshots/run2-match-final.png
new file mode 100644
index 0000000..2fbc380
Binary files /dev/null and b/screenrecord/screenshots/run2-match-final.png differ
diff --git a/screenrecord/screenshots/run2-match-round1-after.png b/screenrecord/screenshots/run2-match-round1-after.png
new file mode 100644
index 0000000..e9e8768
Binary files /dev/null and b/screenrecord/screenshots/run2-match-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-match-round1.png b/screenrecord/screenshots/run2-match-round1.png
new file mode 100644
index 0000000..6a62093
Binary files /dev/null and b/screenrecord/screenshots/run2-match-round1.png differ
diff --git a/screenrecord/screenshots/run2-match-round3-after.png b/screenrecord/screenshots/run2-match-round3-after.png
new file mode 100644
index 0000000..2fbc380
Binary files /dev/null and b/screenrecord/screenshots/run2-match-round3-after.png differ
diff --git a/screenrecord/screenshots/run2-whose-before-begin.png b/screenrecord/screenshots/run2-whose-before-begin.png
new file mode 100644
index 0000000..a5196e3
Binary files /dev/null and b/screenrecord/screenshots/run2-whose-before-begin.png differ
diff --git a/screenrecord/screenshots/run2-whose-final.png b/screenrecord/screenshots/run2-whose-final.png
new file mode 100644
index 0000000..98d824e
Binary files /dev/null and b/screenrecord/screenshots/run2-whose-final.png differ
diff --git a/screenrecord/screenshots/run2-whose-round1-after.png b/screenrecord/screenshots/run2-whose-round1-after.png
new file mode 100644
index 0000000..6d83a54
Binary files /dev/null and b/screenrecord/screenshots/run2-whose-round1-after.png differ
diff --git a/screenrecord/screenshots/run2-whose-round1.png b/screenrecord/screenshots/run2-whose-round1.png
new file mode 100644
index 0000000..eacf4e4
Binary files /dev/null and b/screenrecord/screenshots/run2-whose-round1.png differ
diff --git a/screenrecord/screenshots/run2-whose-round3-after.png b/screenrecord/screenshots/run2-whose-round3-after.png
new file mode 100644
index 0000000..98d824e
Binary files /dev/null and b/screenrecord/screenshots/run2-whose-round3-after.png differ
diff --git a/screenrecord/screenshots/run3-art-before-begin.png b/screenrecord/screenshots/run3-art-before-begin.png
new file mode 100644
index 0000000..aa8b13b
Binary files /dev/null and b/screenrecord/screenshots/run3-art-before-begin.png differ
diff --git a/screenrecord/screenshots/run3-art-final.png b/screenrecord/screenshots/run3-art-final.png
new file mode 100644
index 0000000..602c6d1
Binary files /dev/null and b/screenrecord/screenshots/run3-art-final.png differ
diff --git a/screenrecord/screenshots/run3-art-round1-after.png b/screenrecord/screenshots/run3-art-round1-after.png
new file mode 100644
index 0000000..335461f
Binary files /dev/null and b/screenrecord/screenshots/run3-art-round1-after.png differ
diff --git a/screenrecord/screenshots/run3-art-round1.png b/screenrecord/screenshots/run3-art-round1.png
new file mode 100644
index 0000000..d938c5a
Binary files /dev/null and b/screenrecord/screenshots/run3-art-round1.png differ
diff --git a/screenrecord/screenshots/run3-art-round3-after.png b/screenrecord/screenshots/run3-art-round3-after.png
new file mode 100644
index 0000000..602c6d1
Binary files /dev/null and b/screenrecord/screenshots/run3-art-round3-after.png differ
diff --git a/screenrecord/screenshots/run3-century-before-begin.png b/screenrecord/screenshots/run3-century-before-begin.png
new file mode 100644
index 0000000..217d9f6
Binary files /dev/null and b/screenrecord/screenshots/run3-century-before-begin.png differ
diff --git a/screenrecord/screenshots/run3-early-before-begin.png b/screenrecord/screenshots/run3-early-before-begin.png
new file mode 100644
index 0000000..87ea0a9
Binary files /dev/null and b/screenrecord/screenshots/run3-early-before-begin.png differ
diff --git a/screenrecord/screenshots/run3-early-final.png b/screenrecord/screenshots/run3-early-final.png
new file mode 100644
index 0000000..54b7ad8
Binary files /dev/null and b/screenrecord/screenshots/run3-early-final.png differ
diff --git a/screenrecord/screenshots/run3-early-round1-after.png b/screenrecord/screenshots/run3-early-round1-after.png
new file mode 100644
index 0000000..5cbdfc7
Binary files /dev/null and b/screenrecord/screenshots/run3-early-round1-after.png differ
diff --git a/screenrecord/screenshots/run3-early-round1.png b/screenrecord/screenshots/run3-early-round1.png
new file mode 100644
index 0000000..8446b97
Binary files /dev/null and b/screenrecord/screenshots/run3-early-round1.png differ
diff --git a/screenrecord/screenshots/run3-early-round3-after.png b/screenrecord/screenshots/run3-early-round3-after.png
new file mode 100644
index 0000000..54b7ad8
Binary files /dev/null and b/screenrecord/screenshots/run3-early-round3-after.png differ
diff --git a/screenrecord/screenshots/run3-game-hub.png b/screenrecord/screenshots/run3-game-hub.png
new file mode 100644
index 0000000..508fae0
Binary files /dev/null and b/screenrecord/screenshots/run3-game-hub.png differ
diff --git a/screenrecord/screenshots/run4-art-before-begin.png b/screenrecord/screenshots/run4-art-before-begin.png
new file mode 100644
index 0000000..aa8b13b
Binary files /dev/null and b/screenrecord/screenshots/run4-art-before-begin.png differ
diff --git a/screenrecord/screenshots/run4-art-final.png b/screenrecord/screenshots/run4-art-final.png
new file mode 100644
index 0000000..df278e3
Binary files /dev/null and b/screenrecord/screenshots/run4-art-final.png differ
diff --git a/screenrecord/screenshots/run4-art-round1-after.png b/screenrecord/screenshots/run4-art-round1-after.png
new file mode 100644
index 0000000..e8c3402
Binary files /dev/null and b/screenrecord/screenshots/run4-art-round1-after.png differ
diff --git a/screenrecord/screenshots/run4-art-round1.png b/screenrecord/screenshots/run4-art-round1.png
new file mode 100644
index 0000000..54b2dab
Binary files /dev/null and b/screenrecord/screenshots/run4-art-round1.png differ
diff --git a/screenrecord/screenshots/run4-art-round3-after.png b/screenrecord/screenshots/run4-art-round3-after.png
new file mode 100644
index 0000000..df278e3
Binary files /dev/null and b/screenrecord/screenshots/run4-art-round3-after.png differ
diff --git a/screenrecord/screenshots/run4-early-before-begin.png b/screenrecord/screenshots/run4-early-before-begin.png
new file mode 100644
index 0000000..87ea0a9
Binary files /dev/null and b/screenrecord/screenshots/run4-early-before-begin.png differ
diff --git a/screenrecord/screenshots/run4-early-round1-after.png b/screenrecord/screenshots/run4-early-round1-after.png
new file mode 100644
index 0000000..b416cb1
Binary files /dev/null and b/screenrecord/screenshots/run4-early-round1-after.png differ
diff --git a/screenrecord/screenshots/run4-early-round1.png b/screenrecord/screenshots/run4-early-round1.png
new file mode 100644
index 0000000..c9245b6
Binary files /dev/null and b/screenrecord/screenshots/run4-early-round1.png differ
diff --git a/screenrecord/screenshots/run4-game-hub.png b/screenrecord/screenshots/run4-game-hub.png
new file mode 100644
index 0000000..508fae0
Binary files /dev/null and b/screenrecord/screenshots/run4-game-hub.png differ
diff --git a/screenrecord/screenshots/run4-lightning-before-begin.png b/screenrecord/screenshots/run4-lightning-before-begin.png
new file mode 100644
index 0000000..3481efa
Binary files /dev/null and b/screenrecord/screenshots/run4-lightning-before-begin.png differ
diff --git a/screenrecord/screenshots/run4-lightning-final.png b/screenrecord/screenshots/run4-lightning-final.png
new file mode 100644
index 0000000..d41e24b
Binary files /dev/null and b/screenrecord/screenshots/run4-lightning-final.png differ
diff --git a/screenrecord/screenshots/run4-lightning-round1-after.png b/screenrecord/screenshots/run4-lightning-round1-after.png
new file mode 100644
index 0000000..50ce438
Binary files /dev/null and b/screenrecord/screenshots/run4-lightning-round1-after.png differ
diff --git a/screenrecord/screenshots/run4-lightning-round1.png b/screenrecord/screenshots/run4-lightning-round1.png
new file mode 100644
index 0000000..aee4f2a
Binary files /dev/null and b/screenrecord/screenshots/run4-lightning-round1.png differ
diff --git a/screenrecord/screenshots/run4-lightning-round5-after.png b/screenrecord/screenshots/run4-lightning-round5-after.png
new file mode 100644
index 0000000..224af32
Binary files /dev/null and b/screenrecord/screenshots/run4-lightning-round5-after.png differ
diff --git a/screenrecord/screenshots/run4-match-before-begin.png b/screenrecord/screenshots/run4-match-before-begin.png
new file mode 100644
index 0000000..7595491
Binary files /dev/null and b/screenrecord/screenshots/run4-match-before-begin.png differ
diff --git a/screenrecord/screenshots/run4-match-final.png b/screenrecord/screenshots/run4-match-final.png
new file mode 100644
index 0000000..f56ae79
Binary files /dev/null and b/screenrecord/screenshots/run4-match-final.png differ
diff --git a/screenrecord/screenshots/run4-match-round1-after.png b/screenrecord/screenshots/run4-match-round1-after.png
new file mode 100644
index 0000000..598060a
Binary files /dev/null and b/screenrecord/screenshots/run4-match-round1-after.png differ
diff --git a/screenrecord/screenshots/run4-match-round1.png b/screenrecord/screenshots/run4-match-round1.png
new file mode 100644
index 0000000..665e6b9
Binary files /dev/null and b/screenrecord/screenshots/run4-match-round1.png differ
diff --git a/screenrecord/screenshots/run4-match-round3-after.png b/screenrecord/screenshots/run4-match-round3-after.png
new file mode 100644
index 0000000..f56ae79
Binary files /dev/null and b/screenrecord/screenshots/run4-match-round3-after.png differ
diff --git a/screenrecord/screenshots/run4-whose-before-begin.png b/screenrecord/screenshots/run4-whose-before-begin.png
new file mode 100644
index 0000000..a5196e3
Binary files /dev/null and b/screenrecord/screenshots/run4-whose-before-begin.png differ
diff --git a/screenrecord/screenshots/run4-whose-final.png b/screenrecord/screenshots/run4-whose-final.png
new file mode 100644
index 0000000..6548d61
Binary files /dev/null and b/screenrecord/screenshots/run4-whose-final.png differ
diff --git a/screenrecord/screenshots/run4-whose-round1-after.png b/screenrecord/screenshots/run4-whose-round1-after.png
new file mode 100644
index 0000000..f7c6603
Binary files /dev/null and b/screenrecord/screenshots/run4-whose-round1-after.png differ
diff --git a/screenrecord/screenshots/run4-whose-round1.png b/screenrecord/screenshots/run4-whose-round1.png
new file mode 100644
index 0000000..9dff7ce
Binary files /dev/null and b/screenrecord/screenshots/run4-whose-round1.png differ
diff --git a/screenrecord/screenshots/run4-whose-round3-after.png b/screenrecord/screenshots/run4-whose-round3-after.png
new file mode 100644
index 0000000..6548d61
Binary files /dev/null and b/screenrecord/screenshots/run4-whose-round3-after.png differ
← 4e9ff2c auto-save: 2026-08-05T20:45:35 (3 files) — apps/mobile/fastl
·
back to CelebritySignatures
·
mobile: add game-engine validation harness (6/6 games ALL PA dd93fc7 →