REPOSITORY SOURCE

time-browser-tests.json

docs/evidence/time-browser-tests.json

1{
2  "format": 1,
3  "source": {
4    "revision": "a25e1e7877608a3dd48c8f1100594f4193e9874b",
5    "dirty": false,
6    "builtAt": "2026-10-24T20:02:57.633Z"
7  },
8  "engine": "0.1.0",
9  "environment": {
10    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/141.0.7390.37 Safari/537.36",
11    "secureContext": true,
12    "hardwareConcurrency": 16,
13    "devicePixelRatio": 1
14  },
15  "command": "CI=1 PLAYWRIGHT_EXECUTABLE_PATH=/tmp/dw-browser-test/chrome-linux/headless_shell npm run test:browser",
16  "stats": {
17    "startTime": "2026-10-24T20:02:57.179Z",
18    "duration": 130114.57,
19    "expected": 19,
20    "skipped": 0,
21    "unexpected": 0,
22    "flaky": 0
23  },
24  "tests": [
25    {
26      "name": "two real browsers share doors and chat, then the guest takes over when the host leaves",
27      "ok": true,
28      "results": [
29        {
30          "status": "passed",
31          "durationMs": 13092
32        }
33      ]
34    },
35    {
36      "name": "simultaneous real-browser pickups grant one lantern, including across host handoff",
37      "ok": true,
38      "results": [
39        {
40          "status": "passed",
41          "durationMs": 36564
42        }
43      ]
44    },
45    {
46      "name": "travelers see each other move in the rendered world",
47      "ok": true,
48      "results": [
49        {
50          "status": "passed",
51          "durationMs": 7783
52        }
53      ]
54    },
55    {
56      "name": "front lawn supports leaving the porch and walking back up",
57      "ok": true,
58      "results": [
59        {
60          "status": "passed",
61          "durationMs": 7935
62        }
63      ]
64    },
65    {
66      "name": "renders, walks, pauses, releases input, and restores the local checkpoint",
67      "ok": true,
68      "results": [
69        {
70          "status": "passed",
71          "durationMs": 8435
72        }
73      ]
74    },
75    {
76      "name": "keeper dialogue pauses movement and updates the journal",
77      "ok": true,
78      "results": [
79        {
80          "status": "passed",
81          "durationMs": 3239
82        }
83      ]
84    },
85    {
86      "name": "place travel, pickup conditions, beacon state, and render resources remain coherent",
87      "ok": true,
88      "results": [
89        {
90          "status": "passed",
91          "durationMs": 8821
92        }
93      ]
94    },
95    {
96      "name": "unsupported GPU and malformed saves fail safely",
97      "ok": true,
98      "results": [
99        {
100          "status": "passed",
101          "durationMs": 2354
102        }
103      ]
104    },
105    {
106      "name": "legacy saves are preserved while exact uint64 saves advance and reload from the new key",
107      "ok": true,
108      "results": [
109        {
110          "status": "passed",
111          "durationMs": 6643
112        }
113      ]
114    },
115    {
116      "name": "owned renderer works on the main thread and survives worker resize, device loss and restart",
117      "ok": true,
118      "results": [
119        {
120          "status": "passed",
121          "durationMs": 7903
122        }
123      ]
124    },
125    {
126      "name": "probe reports unsupported graphics without joining a room",
127      "ok": true,
128      "results": [
129        {
130          "status": "passed",
131          "durationMs": 169
132        }
133      ]
134    },
135    {
136      "name": "cancelling a worker probe releases ownership and permits another run",
137      "ok": true,
138      "results": [
139        {
140          "status": "passed",
141          "durationMs": 3542
142        }
143      ]
144    },
145    {
146      "name": "gesture probe confirms pointer release and closes the silent audio context",
147      "ok": true,
148      "results": [
149        {
150          "status": "passed",
151          "durationMs": 223
152        }
153      ]
154    },
155    {
156      "name": "worker exceptions produce a bounded failure and the next run can recover",
157      "ok": true,
158      "results": [
159        {
160          "status": "passed",
161          "durationMs": 5049
162        }
163      ]
164    },
165    {
166      "name": "a silent worker hits its deadline and releases ownership",
167      "ok": true,
168      "results": [
169        {
170          "status": "passed",
171          "durationMs": 579
172        }
173      ]
174    },
175    {
176      "name": "contract worker failures release ownership and can be retried",
177      "ok": true,
178      "results": [
179        {
180          "status": "passed",
181          "durationMs": 6104
182        }
183      ]
184    },
185    {
186      "name": "unavailable workers are reported as unsupported after main-thread rendering",
187      "ok": true,
188      "results": [
189        {
190          "status": "passed",
191          "durationMs": 576
192        }
193      ]
194    },
195    {
196      "name": "replay worker failure and cancellation release ownership and allow recovery",
197      "ok": true,
198      "results": [
199        {
200          "status": "passed",
201          "durationMs": 6999
202        }
203      ]
204    },
205    {
206      "name": "a silent simulation replay worker reaches its deadline and releases ownership",
207      "ok": true,
208      "results": [
209        {
210          "status": "passed",
211          "durationMs": 2121
212        }
213      ]
214    }
215  ],
216  "developmentCorrections": [
217    "The lawn test now waits for the first v2 autosave instead of reading a missing record.",
218    "The high-tick fixture is installed after unload so the active old page cannot overwrite it.",
219    "Multiplayer test setup waits for its first current-format save before assertions."
220  ],
221  "limits": [
222    "Software WebGPU; not physical GPU performance evidence.",
223    "Exact replay covers the named fixtures on the tested Node/Chromium pair.",
224    "Local saves and complete simulation checkpoints migrate; this does not migrate durable room or network state.",
225    "No hosted deployment or persistent beta data changed."
226  ]
227}
228