REPOSITORY SOURCE

scoped-invariants-acceptance.json

docs/evidence/scoped-invariants-acceptance.json

1{
2  "format": 1,
3  "source": {
4    "revision": "70f7f024204910aca230ac206c814ed6309df9b3",
5    "dirty": false,
6    "builtAt": "2026-10-24T20:51:06.925Z"
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": 119,
18    "passed": 119,
19    "failed": 0,
20    "log": "scoped-invariants-headless.tap"
21  },
22  "browser": {
23    "command": "CI=1 PLAYWRIGHT_EXECUTABLE_PATH=/tmp/dw-browser-test/chrome-linux/headless_shell npm run test:browser",
24    "stats": {
25      "startTime": "2026-10-24T20:51:06.481Z",
26      "duration": 130992.35,
27      "expected": 21,
28      "skipped": 0,
29      "unexpected": 0,
30      "flaky": 0
31    },
32    "tests": [
33      {
34        "name": "two real browsers share doors and chat, then the guest takes over when the host leaves",
35        "ok": true,
36        "results": [
37          {
38            "status": "passed",
39            "durationMs": 6791
40          }
41        ]
42      },
43      {
44        "name": "simultaneous real-browser pickups grant one lantern, including across host handoff",
45        "ok": true,
46        "results": [
47          {
48            "status": "passed",
49            "durationMs": 34219
50          }
51        ]
52      },
53      {
54        "name": "travelers see each other move in the rendered world",
55        "ok": true,
56        "results": [
57          {
58            "status": "passed",
59            "durationMs": 7539
60          }
61        ]
62      },
63      {
64        "name": "new checkpoints save without animation frames",
65        "ok": true,
66        "results": [
67          {
68            "status": "passed",
69            "durationMs": 3747
70          }
71        ]
72      },
73      {
74        "name": "restored checkpoints save without animation frames",
75        "ok": true,
76        "results": [
77          {
78            "status": "passed",
79            "durationMs": 3113
80          }
81        ]
82      },
83      {
84        "name": "front lawn supports leaving the porch and walking back up",
85        "ok": true,
86        "results": [
87          {
88            "status": "passed",
89            "durationMs": 7823
90          }
91        ]
92      },
93      {
94        "name": "renders, walks, pauses, releases input, and restores the local checkpoint",
95        "ok": true,
96        "results": [
97          {
98            "status": "passed",
99            "durationMs": 9842
100          }
101        ]
102      },
103      {
104        "name": "keeper dialogue pauses movement and updates the journal",
105        "ok": true,
106        "results": [
107          {
108            "status": "passed",
109            "durationMs": 3170
110          }
111        ]
112      },
113      {
114        "name": "place travel, pickup conditions, beacon state, and render resources remain coherent",
115        "ok": true,
116        "results": [
117          {
118            "status": "passed",
119            "durationMs": 8339
120          }
121        ]
122      },
123      {
124        "name": "unsupported GPU and malformed saves fail safely",
125        "ok": true,
126        "results": [
127          {
128            "status": "passed",
129            "durationMs": 2060
130          }
131        ]
132      },
133      {
134        "name": "legacy saves are preserved while exact uint64 saves advance and reload from the new key",
135        "ok": true,
136        "results": [
137          {
138            "status": "passed",
139            "durationMs": 6991
140          }
141        ]
142      },
143      {
144        "name": "owned renderer works on the main thread and survives worker resize, device loss and restart",
145        "ok": true,
146        "results": [
147          {
148            "status": "passed",
149            "durationMs": 8919
150          }
151        ]
152      },
153      {
154        "name": "probe reports unsupported graphics without joining a room",
155        "ok": true,
156        "results": [
157          {
158            "status": "passed",
159            "durationMs": 187
160          }
161        ]
162      },
163      {
164        "name": "cancelling a worker probe releases ownership and permits another run",
165        "ok": true,
166        "results": [
167          {
168            "status": "passed",
169            "durationMs": 3595
170          }
171        ]
172      },
173      {
174        "name": "gesture probe confirms pointer release and closes the silent audio context",
175        "ok": true,
176        "results": [
177          {
178            "status": "passed",
179            "durationMs": 230
180          }
181        ]
182      },
183      {
184        "name": "worker exceptions produce a bounded failure and the next run can recover",
185        "ok": true,
186        "results": [
187          {
188            "status": "passed",
189            "durationMs": 5014
190          }
191        ]
192      },
193      {
194        "name": "a silent worker hits its deadline and releases ownership",
195        "ok": true,
196        "results": [
197          {
198            "status": "passed",
199            "durationMs": 634
200          }
201        ]
202      },
203      {
204        "name": "contract worker failures release ownership and can be retried",
205        "ok": true,
206        "results": [
207          {
208            "status": "passed",
209            "durationMs": 7035
210          }
211        ]
212      },
213      {
214        "name": "unavailable workers are reported as unsupported after main-thread rendering",
215        "ok": true,
216        "results": [
217          {
218            "status": "passed",
219            "durationMs": 573
220          }
221        ]
222      },
223      {
224        "name": "replay worker failure and cancellation release ownership and allow recovery",
225        "ok": true,
226        "results": [
227          {
228            "status": "passed",
229            "durationMs": 7014
230          }
231        ]
232      },
233      {
234        "name": "a silent simulation replay worker reaches its deadline and releases ownership",
235        "ok": true,
236        "results": [
237          {
238            "status": "passed",
239            "durationMs": 2126
240          }
241        ]
242      }
243    ]
244  },
245  "scope": "Scoped candidate-view validation, atomic callback/restore failure, 600 mixed edits/restores against the original full-snapshot oracle, descendant and ancestor composed bounds, and the complete existing multiplayer and worker replay journey. Software WebGPU. World fingerprints remain unchanged. No live authored-world migration or entire milestone completion claim."
246}
247