presentation-transfer-acceptance.json
docs/evidence/presentation-transfer-acceptance.json
1{
2 "sourceBase": "4d3c95c3e6f9d0798fbb75b5b2e7a162e75e98d2",
3 "sourceFilesSha256": {
4 "apps/player/main.ts": "b2656905fd22e4779e7fa77cff1fb13a470fe1516438760db2b0b52c84626b0a",
5 "apps/player/simulation.worker.ts": "8972bbfa8446c33b372a82546a7c25fec44e05d0d697aec1b12c9ac8489ec6af",
6 "apps/probe/protocol.ts": "99adfb2d5eb9d64873789566ebbabd24f90fd1236c5baa510540508daa758bb9",
7 "apps/probe/render.worker.ts": "14e7642efa96f2cd9b2fd17fb6b45ac642573ba29d1916366751e45c7cf80a5b",
8 "apps/probe/run.ts": "346ae18a53fe249e2fadf57bb6ad6eed229563d5a69cad5b1bd406877d227fc3",
9 "apps/probe/worker-client.ts": "d9237598a7c2fa7d2a2597aa0926cbd210b8081bec76487053bcb4aee4d0dec3",
10 "package.json": "ed6a967204a4e693245eefe1206b3b2eb2da0339d4bc85e3a650a02a7c45df03",
11 "packages/render/transfer.ts": "56cb5d3125f475e6990632deb9f7136f12833d8a20c38196fbc149e0dd1ab2be",
12 "packages/schema/index.ts": "f268da877de6647d316624a85034ccf4a29c8ab2748c64aff5eefe82b43f169a",
13 "packages/schema/presentation-transfer.ts": "1f1f5d4e4e22b46c212280c491e7fc010dab53b6b014f1bfdfebbcbd566aba88",
14 "tests/browser/player.spec.ts": "8e02bc5b169661d3648c1b7b951ae37eab4b04ace5fc7ee4f382c32cf77a17e8",
15 "tests/browser/probe.spec.ts": "96f2fd80c592c94f8ecd40c99b907e5aa5f3bc373683e49bd1304c68a1f4f09a",
16 "tests/render-transfer.test.ts": "b4c39c0c585667154f344dc6da077a42e31f8c24a0943f9a1e812faa9881b77a",
17 "tools/cli/benchmark-transfer.ts": "a2f619aedcb51e0bf7e39a5df5fd3974ef2d16014ffb57a646a8797b97cec98a"
18 },
19 "scope": "One fixed 4 MiB pooled presentation buffer in the live simulation/player hop and real render-worker probe. Scene payload remains validated UTF-8 JSON. Live WebGPU placement remains on the main thread.",
20 "headless": {
21 "passed": 329,
22 "failed": 0,
23 "skipped": 0,
24 "finalFixedBoundsFollowup": {
25 "passed": 5,
26 "failed": 0
27 }
28 },
29 "checks": {
30 "typecheck": true,
31 "sourceBoundaries": 73,
32 "whitespace": true
33 },
34 "browserRuns": [
35 {
36 "stage": "Probe integration before live-player wiring",
37 "command": "npm run test:browser -- tests/browser/probe.spec.ts",
38 "stats": {
39 "startTime": "2026-10-25T03:03:17.272Z",
40 "duration": 224792.25300000003,
41 "expected": 10,
42 "skipped": 0,
43 "unexpected": 0,
44 "flaky": 0
45 }
46 },
47 {
48 "stage": "Live player integration before final resizable-buffer rejection",
49 "command": "npm run test:browser -- tests/browser/player.spec.ts tests/browser/multiplayer.spec.ts",
50 "stats": {
51 "startTime": "2026-10-25T03:07:25.445Z",
52 "duration": 231138.16700000002,
53 "expected": 20,
54 "skipped": 0,
55 "unexpected": 0,
56 "flaky": 0
57 }
58 },
59 {
60 "stage": "Final fixed-buffer code, live ownership and two complete Observatory runs",
61 "command": "npm run test:browser -- tests/browser/player.spec.ts tests/browser/probe.spec.ts -g 'owned renderer works|canonical ECS frames'",
62 "stats": {
63 "startTime": "2026-10-25T03:12:12.443Z",
64 "duration": 66725.108,
65 "expected": 2,
66 "skipped": 0,
67 "unexpected": 0,
68 "flaky": 0
69 }
70 }
71 ],
72 "liveOwnership": [
73 {
74 "frames": 3,
75 "receivedBuffers": 1,
76 "returnedBuffers": 1,
77 "capacity": 4194304,
78 "invalidTransfers": 0,
79 "blocked": false
80 }
81 ],
82 "workerOwnership": {
83 "capacity": 4194304,
84 "allocations": 1,
85 "available": 1,
86 "inFlight": 0,
87 "sent": 4,
88 "returned": 4,
89 "closed": false,
90 "detached": 4
91 },
92 "benchmark": "presentation-transfer-benchmark.json",
93 "cpuTradeoff": "Full-baseline admission/round-trip p95 5.196 ms vs 3.295 ms structured clone; motion p95 0.0197 ms vs 0.0076 ms. Bounded ownership, not a frame-rate improvement claim.",
94 "remoteCi": {
95 "source": "4d3c95c",
96 "run": 40156503017,
97 "conclusion": "failure",
98 "passedJobs": [
99 "core",
100 "container",
101 "browser (player)",
102 "browser (probe)"
103 ],
104 "failedJobs": [
105 "browser (multiplayer)"
106 ],
107 "multiplayer": {
108 "passed": 3,
109 "failed": 3,
110 "failures": [
111 "walking through delivery stalls",
112 "walking with slow GPU completion",
113 "shared graphics recovery"
114 ]
115 },
116 "note": "Pre-transfer source. Earlier scheduling/screenshot investigation is retained separately; no remote reliability gate is closed."
117 },
118 "remaining": [
119 "live renderer-worker lifecycle and main-thread placement fallback",
120 "direct simulation/render channel",
121 "compact binary scene codec and profiling",
122 "remote multiplayer scheduling/recovery failures",
123 "reference hardware and full milestones 0\u201318"
124 ]
125}
126