REPOSITORY SOURCE

authored-world-acceptance.json

docs/evidence/authored-world-acceptance.json

1{
2  "format": 1,
3  "source": {
4    "revision": "cbb9ec34f56b0d5d868dc99c2fdf21d6ff6144ef",
5    "dirty": false,
6    "builtAt": "2026-10-24T21:10:20.507Z"
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  "headless": {
16    "command": "npm test",
17    "tests": 129,
18    "pass": 129,
19    "fail": 0,
20    "skipped": 0,
21    "log": "authored-world-headless.tap"
22  },
23  "browser": {
24    "command": "CI=1 PLAYWRIGHT_EXECUTABLE_PATH=/tmp/dw-browser-test/chrome-linux/headless_shell npm run test:browser",
25    "stats": {
26      "startTime": "2026-10-24T21:10:20.054Z",
27      "duration": 158691.604,
28      "expected": 22,
29      "skipped": 0,
30      "unexpected": 0,
31      "flaky": 0
32    },
33    "tests": [
34      {
35        "name": "two real browsers share doors and chat, then the guest takes over when the host leaves",
36        "ok": true,
37        "results": [
38          {
39            "status": "passed",
40            "durationMs": 11036
41          }
42        ]
43      },
44      {
45        "name": "simultaneous real-browser pickups grant one lantern, including across host handoff",
46        "ok": true,
47        "results": [
48          {
49            "status": "passed",
50            "durationMs": 38581
51          }
52        ]
53      },
54      {
55        "name": "travelers see each other move in the rendered world",
56        "ok": true,
57        "results": [
58          {
59            "status": "passed",
60            "durationMs": 7879
61          }
62        ]
63      },
64      {
65        "name": "canonical ECS frames stay bounded while acknowledgements stall and then catch up",
66        "ok": true,
67        "results": [
68          {
69            "status": "passed",
70            "durationMs": 4039
71          }
72        ]
73      },
74      {
75        "name": "new checkpoints save without animation frames",
76        "ok": true,
77        "results": [
78          {
79            "status": "passed",
80            "durationMs": 4451
81          }
82        ]
83      },
84      {
85        "name": "restored checkpoints save without animation frames",
86        "ok": true,
87        "results": [
88          {
89            "status": "passed",
90            "durationMs": 3542
91          }
92        ]
93      },
94      {
95        "name": "front lawn supports leaving the porch and walking back up",
96        "ok": true,
97        "results": [
98          {
99            "status": "passed",
100            "durationMs": 10835
101          }
102        ]
103      },
104      {
105        "name": "renders, walks, pauses, releases input, and restores the local checkpoint",
106        "ok": true,
107        "results": [
108          {
109            "status": "passed",
110            "durationMs": 12859
111          }
112        ]
113      },
114      {
115        "name": "keeper dialogue pauses movement and updates the journal",
116        "ok": true,
117        "results": [
118          {
119            "status": "passed",
120            "durationMs": 4284
121          }
122        ]
123      },
124      {
125        "name": "place travel, pickup conditions, beacon state, and render resources remain coherent",
126        "ok": true,
127        "results": [
128          {
129            "status": "passed",
130            "durationMs": 9272
131          }
132        ]
133      },
134      {
135        "name": "unsupported GPU and malformed saves fail safely",
136        "ok": true,
137        "results": [
138          {
139            "status": "passed",
140            "durationMs": 2751
141          }
142        ]
143      },
144      {
145        "name": "legacy saves are preserved while exact uint64 saves advance and reload from the new key",
146        "ok": true,
147        "results": [
148          {
149            "status": "passed",
150            "durationMs": 8441
151          }
152        ]
153      },
154      {
155        "name": "owned renderer works on the main thread and survives worker resize, device loss and restart",
156        "ok": true,
157        "results": [
158          {
159            "status": "passed",
160            "durationMs": 10250
161          }
162        ]
163      },
164      {
165        "name": "probe reports unsupported graphics without joining a room",
166        "ok": true,
167        "results": [
168          {
169            "status": "passed",
170            "durationMs": 199
171          }
172        ]
173      },
174      {
175        "name": "cancelling a worker probe releases ownership and permits another run",
176        "ok": true,
177        "results": [
178          {
179            "status": "passed",
180            "durationMs": 3557
181          }
182        ]
183      },
184      {
185        "name": "gesture probe confirms pointer release and closes the silent audio context",
186        "ok": true,
187        "results": [
188          {
189            "status": "passed",
190            "durationMs": 206
191          }
192        ]
193      },
194      {
195        "name": "worker exceptions produce a bounded failure and the next run can recover",
196        "ok": true,
197        "results": [
198          {
199            "status": "passed",
200            "durationMs": 6028
201          }
202        ]
203      },
204      {
205        "name": "a silent worker hits its deadline and releases ownership",
206        "ok": true,
207        "results": [
208          {
209            "status": "passed",
210            "durationMs": 669
211          }
212        ]
213      },
214      {
215        "name": "contract worker failures release ownership and can be retried",
216        "ok": true,
217        "results": [
218          {
219            "status": "passed",
220            "durationMs": 7060
221          }
222        ]
223      },
224      {
225        "name": "unavailable workers are reported as unsupported after main-thread rendering",
226        "ok": true,
227        "results": [
228          {
229            "status": "passed",
230            "durationMs": 562
231          }
232        ]
233      },
234      {
235        "name": "replay worker failure and cancellation release ownership and allow recovery",
236        "ok": true,
237        "results": [
238          {
239            "status": "passed",
240            "durationMs": 8027
241          }
242        ]
243      },
244      {
245        "name": "a silent simulation replay worker reaches its deadline and releases ownership",
246        "ok": true,
247        "results": [
248          {
249            "status": "passed",
250            "durationMs": 2143
251          }
252        ]
253      }
254    ]
255  },
256  "ci": {
257    "url": "https://github.com/jasona/darkwind-web/actions/runs/40133042326",
258    "status": "completed",
259    "conclusion": "failure",
260    "jobs": [
261      {
262        "name": "core",
263        "conclusion": "success"
264      },
265      {
266        "name": "browser",
267        "conclusion": "failure"
268      },
269      {
270        "name": "container",
271        "conclusion": "success"
272      }
273    ],
274    "failure": "21 browser cases passed; the raw-canvas pixel assertion returned false while the CI trace visibly showed the complete rendered house. The follow-up check samples the composited image with all DOM UI hidden and includes delayed-GPU and invisible-canvas controls.",
275    "visualEvidence": "authored-world-ci-visible-house.jpeg"
276  },
277  "scope": "Actual authored-world ECS integration, bounded worker snapshot delivery, shared player journey, canvas pixels, native checkpoint migration and Node/browser replay. Software WebGPU only; no physical-device, large-room capacity, live-editing physics or full-milestone acceptance.",
278  "developmentDiagnostics": [
279    "The default Playwright headless-shell path was absent. Acceptance explicitly selected the existing pinned Chromium 141 executable.",
280    "A preliminary Google Chrome 156.0.8078.47 headless software-WebGPU run passed 21 of 22 cases, failed the shared-door prompt case and showed missing world graphics. Its cause remains unproven; that configuration is not accepted by this report. The pinned development run passed all 22, followed by the clean-source run above with a raw-canvas pixel assertion."
281  ]
282}
283