skeletal-ci.json
docs/evidence/skeletal-ci.json
1{
2 "format": 1,
3 "recordedAt": "2026-10-25T00:52:57.201854+00:00",
4 "source": "260f7e46cc5ec99b71d6ad0b6abc2765376557af",
5 "url": "https://github.com/jasona/darkwind-web/actions/runs/40147682945",
6 "status": "completed",
7 "conclusion": "failure",
8 "jobs": {
9 "core": "success",
10 "browser (player)": "failure",
11 "container": "success",
12 "browser (probe)": "failure",
13 "browser (multiplayer)": "success"
14 },
15 "container": "Passed production image, skinned-panel compiler import, shared-room persistence and clean shutdown acceptance.",
16 "probe": {
17 "passed": 8,
18 "failed": 2,
19 "firstCompleteRun": "All checks passed, including nine exact skeletal reference comparisons and device reconstruction; retained in skeletal-ci-capabilities.json.",
20 "failures": [
21 "owned renderer works on the main thread and survives worker resize, device loss and restart",
22 "replay worker failure and cancellation release ownership and allow recovery"
23 ],
24 "finding": "Both tests exceeded their 120-second overall budget during a subsequent complete run. Their DOM snapshots show Reading the light with cycles 1 and 2 complete and cycle 3 active, not a reported worker deadline failure.",
25 "ownedRendererTrace": {
26 "firstRunClickMs": 9867.833,
27 "secondRunClickMs": 80798.313,
28 "elapsedBeforeSecondRunMs": 70930.48
29 },
30 "replayRecoveryTrace": {
31 "firstRunClickMs": 373015.981,
32 "secondRunClickMs": 426698.642,
33 "cancelClickMs": 481055.101,
34 "thirdRunClickMs": 481220.642,
35 "elapsedBeforeThirdRunMs": 108204.661
36 },
37 "contexts": [
38 "skeletal-ci-probe-replay-error.md",
39 "skeletal-ci-probe-retry-error.md"
40 ],
41 "correction": "Allocate two 90-second run checks plus 30 seconds of overhead (210 seconds) to the two-run test, and three plus overhead (300 seconds) to failure/cancel/recovery. Worker/renderer/replay operation deadlines and every acceptance assertion remain unchanged. Remote verification of the adjusted test budgets is pending."
42 },
43 "player": {
44 "passed": 11,
45 "failed": 1,
46 "finding": "The first recovered-world pixel poll exceeded 60 seconds. Its final page screenshot took 59979.495ms and returned without a Playwright error. Fonts completed within 6ms; most latency is after font readiness. Trace frames during the call show the recovery overlay at 310803.513ms and 339533.886ms, then the world at 368191.481ms. This establishes delayed visible presentation/capture, not its root cause.",
47 "screenshots": [
48 {
49 "call": "call@623",
50 "startMs": 289211.511,
51 "endMs": 298559.202,
52 "durationMs": 9347.690999999992,
53 "error": null
54 },
55 {
56 "call": "call@641",
57 "startMs": 302481.544,
58 "endMs": 305195.64,
59 "durationMs": 2714.0960000000196,
60 "error": null
61 },
62 {
63 "call": "call@653",
64 "startMs": 308193.953,
65 "endMs": 368173.448,
66 "durationMs": 59979.494999999995,
67 "error": null
68 }
69 ],
70 "context": "skeletal-ci-player-error.md",
71 "frames": [
72 {
73 "file": "skeletal-ci-player-during-capture.jpeg",
74 "timestampMs": 310803.513
75 },
76 {
77 "file": "skeletal-ci-player-middle.jpeg",
78 "timestampMs": 339533.886
79 },
80 {
81 "file": "skeletal-ci-player-late.jpeg",
82 "timestampMs": 368191.481
83 }
84 ],
85 "status": "Unresolved. No timeout or pixel criterion changed for this failure."
86 },
87 "priorCi": "animation-clips-ci.json"
88}
89