REPOSITORY SOURCE

trusted-host-acceptance.json

docs/evidence/trusted-host-acceptance.json

1{
2  "recordedAt": "2026-10-25T14:41:05.846179+00:00",
3  "baseCommit": "8891ff5ac220386fc60b1e9c6cd6d6a3ea416404",
4  "fullPlanApproximatePercent": 66,
5  "numberedMilestonesClosed": [],
6  "capability": "Opt-in static trusted multiplayer: server motor, browser prediction, authoritative interaction reach, durable movement, exact retries and staged travel.",
7  "sourceSha256": {
8    ".github/workflows/check.yml": "4e822e8b1696ddc8bfe6074388430a53b16c30278f5ab5cb6a616d531cba067c",
9    "apps/player/main.ts": "f90ff2fe41c111afdd203618404dda279081c91cbc296379497f744a1ceedabf",
10    "apps/player/simulation.worker.ts": "68d270ce9a6bd7c5a282a302ad80bc03fbbac9f4d169e3571fe840c9b453d2f6",
11    "compose.persistent.yaml": "affc8220923d0746b9d4ab163f9a02c1c134b22f01192a9221ca64f25729f1d1",
12    "docs/ENGINE_PROGRESS.md": "9a3663affe6ec38c921c8bb5ac2860a8ed78130d1605a9e9adaa8894368dd09d",
13    "docs/IMPLEMENTATION_STATUS.md": "0f656c49b829f6a346228a0943860bcb99ce00e0062b5411a085731aa38d0462",
14    "docs/PERSISTENT_ROOMS.md": "3ef3f295c3ef6844113952180eaef1822130bd51c72f1539e6d50d15366e539e",
15    "docs/TRUSTED_HOST.md": "d1b4595005863e390c96f997811f5bddd2018835a15626ce987e242494c7102f",
16    "games/darkwind/trusted-world.ts": "987c5d60d22ab989ef5ea3d4da2dcad48b20357bd4c13821bf65ce969f8396d6",
17    "package.json": "0a5321dacc37799272a7317a134d7d7d25a2daf503ae41d9368bd3295b30a2e4",
18    "packages/authoring/index.ts": "9992706f725afe3b53bcd9590c7fbd123cdb15b13db64f4a92329f031034abff",
19    "packages/authoring/observations.ts": "96a554cd773a08c947988f99db71ca8be30245106986c1a86c53c6f826a0b5d6",
20    "packages/authoring/undo.ts": "a9bba4f1f917faab8adef5d3df438df71fb951367718d3bf8162adf4160577e7",
21    "packages/compiler/index.ts": "c27ee0b278df8007cb290ba009332b99efa27cdf921fdd191648d451e2e6b3c8",
22    "packages/net/motion.ts": "f96f1e0a32ea509a8a961747a16753dc3c71e68166c22a78be5d9cc58989e1c4",
23    "packages/net/persistent-client.ts": "80fae3dca9fd67dfc753251c41c81eca200ac1b90a6cae61918c534805f1d5bf",
24    "packages/physics/index.ts": "39733c07b95132f35d90c471f208d8e00adc04cfab38d4aae03e8b7a8fc9a755",
25    "packages/schema/checkpoints.ts": "54f810e607e182c65408aa6487491586dde5bfd730aa0ca7304b9c2ddd02c0bc",
26    "packages/schema/index.ts": "0a983ca57744d0d29952b1b13f2b584e6a71dcdb34f950af3947d5cd687c01d0",
27    "packages/simulation/checkpoint.ts": "d8a249122713f7b44d7dadca3bbda30db3e91e249832945bc32f2453eb4cc39b",
28    "packages/simulation/index.ts": "d9dc32b1c6fa9d69e6a0900557f5fe40c57b964aba3e693e58539e10b19cdaf4",
29    "playwright.trusted.config.ts": "28ff33dde4ea0167043f8ccc359aceb823500d03af29cbb9660895d48ea519ba",
30    "services/control/ledger.ts": "cd3711d97f7c84b5cee0fafad82ab66ac734a16f0778c5eaf31d1c3eb085a834",
31    "services/control/upgrade-plan.ts": "8a9e2ef7da286450c459d01e9d4ae20c7d66f7fa14b069f308b7756ed7f77517",
32    "services/persistent/main.ts": "64046d9be4ae7d81fc32f94ea6041d16d9276a24dc1116e80af1a6dfc0aa2600",
33    "services/persistent/server.ts": "3eb3287773ce098e30a5f61027cd5cdbf09fddb828ddfa19635b9e8aded15d60",
34    "services/sim-host/motion.ts": "5ae3113fc0bc92d182b4cf2501e1f461c94d9b9aaadc23c3f119156807126bfb",
35    "tests/browser/persistent-helpers.ts": "e6fc4bea4ed955216979b1a156b7c5915e1d9212d9f2fbcb46700e81328de2f7",
36    "tests/browser/persistent.spec.ts": "970c1851851d2542a55080e2d746b1a399d68de2d2869a5e7a1adde611b3954c",
37    "tests/browser/trusted-latency.ts": "0373a1e0343761b5385a1f619ad4a5262c83c73dc8586f1e0c7102bc1207bdbd",
38    "tests/fixtures/seed-persistent-browser.ts": "78dc29862c257b1cdbeec0b969280ae9c863b990f8416e0361efa2b09b68fe5b",
39    "tests/persistent-room.test.ts": "22cbbfd4ce0168ed5cbb43a2c80869ae59fe3f0391f5901b3330dfe96ef34514",
40    "tests/trusted-motion.test.ts": "2bbe2eba73a539bd845199f22a917c87f687e2349c3fd57146294f4f074c49db",
41    "tests/trusted-room.test.ts": "5cf3e0458e3362cba10f6a570e7449b4774ea8785fad5e626fd992f44f1c4d96",
42    "tools/cli/test-control.mjs": "22e4fd2da4b42bae2d6978429121312385d4c8623242925cbde410f9a7b5b7a2",
43    "tools/cli/test-persistent.mjs": "013b9bc1061407a48d3e8a74413e2e113cfc81b8d73745c23ea9f35f1df05201",
44    "tools/cli/trusted.mjs": "e10232b9eccde2ef954c6dcae95fdf09e0e8cf8b7645aec9171a8dadd1c7cd5f"
45  },
46  "environment": {
47    "node": "22.23.4",
48    "chromium": "141.0.7390.37",
49    "graphics": "Headless Chromium, SwiftShader through Vulkan; physical GPU qualification remains open"
50  },
51  "verification": {
52    "typeAndBoundaries": "passed; 125 package source files",
53    "headless": {
54      "tests": 641,
55      "pass": 616,
56      "fail": 0,
57      "skipped": 25
58    },
59    "finalFocusedNative": {
60      "tests": 6,
61      "pass": 6,
62      "fail": 0,
63      "skipped": 0
64    },
65    "postgresAndRecovery": {
66      "tests": 27,
67      "pass": 27,
68      "fail": 0,
69      "skipped": 0
70    },
71    "productionTrustedBrowser": {
72      "startTime": "2026-10-25T14:39:11.141Z",
73      "duration": 109048.93699999999,
74      "expected": 1,
75      "skipped": 0,
76      "unexpected": 0,
77      "flaky": 0
78    },
79    "productionCooperativeBrowser": {
80      "startTime": "2026-10-25T14:30:46.721Z",
81      "duration": 100662.497,
82      "expected": 1,
83      "skipped": 0,
84      "unexpected": 0,
85      "flaky": 0
86    },
87    "composeConfiguration": "passed for trusted profile; Docker execution not locally qualified",
88    "latency": {
89      "rttMs": 150,
90      "firstLocalMs": 0,
91      "firstServerMs": 100,
92      "maximumCorrectionMeters": 0.0008735082938307634,
93      "pendingInputs": 5
94    },
95    "browserTransport": "75 ms injected at send and receive in both real simulation-worker WebSockets (150 ms added RTT)",
96    "journey": "Two actors, exclusive lantern, chest transfers, failed graphics preparation, garden and sanctuary travel, reload with only return credential, simulation-worker recovery.",
97    "artifacts": {
98      "trusted-browser-journey.json": "36ad4c92637da87d8fdbc4f9a00b4cbff994289e742ad4931ff0c8456b42e22e",
99      "trusted-motion.tap": "b92e1e7bf52b2480150ce0656a21938d3201942d6f16ed5ea968d4a695739fd1",
100      "trusted-control.tap": "655efaeda38be6359f8b81a56e81c94041f53dd1cfd11fd80c64eda3289f9c2f",
101      "trusted-garden.png": "bcac5b9e738321273e55033768f44f18e5ab928990f8ebdc44c91353c668e050",
102      "trusted-sanctuary.png": "25e030bc200d51918322f3b792b7210012198ea1c692f186a261a9559d224e77"
103    }
104  },
105  "testCorrections": [
106    "The cooperative overload fixture explicitly enters its held transaction before flooding; an immediate flood can legitimately disconnect before any transaction starts."
107  ],
108  "failuresFixed": [
109    "A slow inventory/checkpoint commit could hold the motor long enough to reject legitimate inputs; authoritative reach is now captured at the input boundary and ordinary SQL commits do not hold movement. A held-commit socket fixture reproduces the failure and verifies the fix.",
110    "Zero-duration Rapier query refresh caused divergent grounded movement; refresh now uses a normal static tick.",
111    "Neutral host frames must retain the acknowledged input sequence or stale-input filtering keeps the previous movement.",
112    "A new travel stream could be emitted before its receipt; successful transitions now publish the receipt without another asynchronous read.",
113    "Disconnect during a committed-state read could access retired native state; active ownership is rechecked and locked native motors are retained until release.",
114    "Chest UI refresh could move keyboard focus to Close during saving; neutral focus is retained and restored only while still owned by the panel. The keyboard fixture waits for an enabled target."
115  ],
116  "remaining": [
117    "Static collision only; authoritative platforms, patrols, props and behaviors remain unsupported.",
118    "Only self motor streams and durable records are individually addressed; shared item ownership/chest contents remain public. General private entities and secret fields remain open.",
119    "Competitive reward systems, account recovery, cross-host routing, congestion/long soaks and physical-device performance are not qualified.",
120    "Pose checkpoints are periodic; the four-second sampling interval is not a measured production recovery guarantee.",
121    "Docker-host and remote S3 qualification remain open. Last observed GitHub jobs were prevented from starting by account billing; this record claims local results only.",
122    "Full milestones 0\u201318 and the final user-reviewed character-art pass remain open."
123  ]
124}
125