REPOSITORY SOURCE

persistent-chest-acceptance.json

docs/evidence/persistent-chest-acceptance.json

1{
2  "recordedAt": "2026-10-25T13:35:07.347954+00:00",
3  "baseCommit": "df08079e938e6b0ef5db516d03e08fa18409d7f8",
4  "fullPlanApproximatePercent": 63,
5  "numberedMilestonesClosed": [],
6  "capability": "Public shared chest in new persistent Lantern House rooms; one durable item location across world, player and container.",
7  "sourceSha256": {
8    "apps/player/graphics-protocol.ts": "dc8bbd26e973005bafc96e496df981a29b8e17753ca24928ba52f71fa2418a32",
9    "apps/player/main.ts": "6d08f9c18b0e2c101d0aef7d04603b058a366615e113e9de2f5519664bc5b059",
10    "apps/player/simulation.worker.ts": "66214d5e7344483985b0d0fc94313bac6126f29c966567865b355aff9bec9bcf",
11    "apps/player/style.css": "bd243a46c5b53e6d367edb869b1a7b0c42a571fdb606b60e099050592b04e55e",
12    "games/darkwind/persistent-world.ts": "58a45e15e9db2152870a1e78862298efb80e7cdaed389cbeedb38ef635e20167",
13    "packages/authoring/index.ts": "7eb5b77775b3baf66d05477b0606dbbfeda828967bb76382481a344e1486bea6",
14    "packages/authoring/observations.ts": "6fcae270ba9afd02b18718806a153f7d17d617269d2ebb53910b1c8128242d7e",
15    "packages/authoring/undo.ts": "7cd56f2a957b484b0be8672d804fe96604df0af60ecb79ac7e9cf35b2a45dbb3",
16    "packages/compiler/index.ts": "bca51173d74834ff85fdf15bc15e013aa0ad9a9ff1a37e137e602d955f4ebbb3",
17    "packages/net/durable.ts": "5cc15f91b382295bf34890c62285faaf1c28b870cc5d72b3daf184f97b31d331",
18    "packages/net/persistent-client.ts": "dbd5c16541ab56f5a0b10907c56c74e07a5882fd08dc20df953ce58fa6b8b203",
19    "packages/net/protocol.ts": "16df935bf4ec0bce36a4ea4fc56074251051fd73afe6df3f37ebad314ce7f3b1",
20    "packages/schema/index.ts": "2a26a6f7a12d0f7104dbcf43515f3607c7e2befcde0288978b3f44c50985f0fd",
21    "packages/simulation/checkpoint.ts": "c388c5f40ccf5bcbdbc3247420b900a19c6ef88761b2b75a4cf2adf98df8a718",
22    "packages/simulation/index.ts": "420dcb94478c9f2415a37dbfcc3aacf01e3c46f77916aa563910f3ed0dd701d4",
23    "services/control/ledger.ts": "3f19f983cdfcbe0ff96ac2609c26ced4fd272ec6e7dacbe0e0b8c56e48826fc2",
24    "services/control/migrations.ts": "4d3b33ff385a5ef430dd4aef345c1b2c1c49ced997330c33d506e739d94a855b",
25    "services/control/postgres.ts": "aa9f0048049e644d5f3a8ec664d558479bbb9dcd44fc65169c38d191f3fd67d5",
26    "services/persistent/main.ts": "901ebafd28c8ae2c45c268810ee92f417a827ae2ee61151382888cb8e996c99d",
27    "services/persistent/server.ts": "a5e5f31480a40b4c8151bfd7f0d4f457ed73afd5383b56c6463ce65df14f2966",
28    "tests/browser/persistent.spec.ts": "37bb877f0b55c6b262fb62a466ce8bb9e71573ad4d9ffa542d24d6d488b48554",
29    "tests/chest.test.ts": "2f15af535b30f28d118bf4c258e3d2c521d38992141b35c649e718c95415d9ed",
30    "tests/control-postgres.test.ts": "cc3a1f62e3ffc5056286f13e91cdb712537d37169c829daf46017dc74d9301a3",
31    "tests/fixtures/persistent-room-process.ts": "01cba023b717059e6c47501ca307243f3e758dff39b38b7eee2bfb730c8a9974",
32    "tests/fixtures/persistent-world.ts": "1ede5695bd781070be4e6df000d183ad091f5776f072d02aab57fd385d437a51",
33    "tests/fixtures/seed-persistent-browser.ts": "00a0663b9dd7a33e22721bc540be086f52412fefc6290e8f216807bc80b09c43",
34    "tests/persistent-room.test.ts": "0995edea84095c594feb29693406d0e32c02058179a49f9ba39c11486f8b36c8"
35  },
36  "verification": {
37    "typeAndBoundaries": "passed; 123 package source files",
38    "headless": {
39      "tests": 619,
40      "pass": 604,
41      "fail": 0,
42      "skipped": 15
43    },
44    "postgres": {
45      "tests": 15,
46      "pass": 15,
47      "fail": 0,
48      "skipped": 0
49    },
50    "browser": {
51      "expected": 1,
52      "unexpected": 0,
53      "durationMs": 103016.536,
54      "browser": "Playwright-matched Chromium 141.0.7390.37",
55      "controls": "Keyboard movement, bounded key presses and keyboard-operated storage buttons",
56      "journey": {
57        "actor": "1c1024d6-f8bb-4c55-83ca-a41d5bb02b52",
58        "place": "sanctuary",
59        "revision": "25",
60        "inventory": [
61          "keeper-lantern"
62        ],
63        "otherTraveler": "33d9b584-f359-490a-bf29-b761af232749",
64        "errors": []
65      }
66    }
67  },
68  "storageChecks": [
69    "Two travelers hand the same lantern through a chest and back, then complete the original persistent three-place journey.",
70    "Room restart and re-admission retain contents; concurrent withdrawal awards exactly one owner.",
71    "Full container, wrong owner, distant request, stale item/player revisions and original-position repick reject without transfer.",
72    "Lost deposit receipt reconnects and retries the identical operation; one committed revision.",
73    "Deposit and withdrawal worker SIGKILL at state, receipt, outbox, before-commit, committed and acknowledgement boundaries: 12 chest crash points.",
74    "Database location constraint rejects simultaneous holder and container.",
75    "Depositing equipped items removes the attachment in the same transaction.",
76    "Format-10 compiler and complete simulation checkpoint round-trip; older formats reject storage fields.",
77    "Migration 3 preserves earlier item ownership; guarded startup refuses schema upgrades that would invalidate retained older executables."
78  ],
79  "art": [
80    "persistent-chest-panel.png",
81    "persistent-chest-world.png"
82  ],
83  "observations": [
84    "First browser approach drifted into keeper conversation range; acceptance now approaches the chest directly.",
85    "Mouse-operated transfers succeeded, but a later multi-window headless camera heading changed; that run did not complete the garden journey. Keyboard-operated acceptance preserves the intended heading.",
86    "A slow software-rendered UI observation allowed a held key to overshoot the doorway; bounded presses now settle the native pose between steps. Existing 20-second walking and 240-second scenario deadlines remain.",
87    "One failed-run trace teardown reported a truncated archive; it is not counted as passing evidence.",
88    "An initial restricted headless run could not operate subprocess/server tests and was stopped; final regression runs with the required local permissions.",
89    "The format rejection test initially expected the container error before the collectible-name error; both rejection cases now have explicit assertions."
90  ],
91  "remaining": [
92    "Persistent room upgrades and recovery containers for removed authored content remain open.",
93    "Use a dedicated database for this schema when retaining pre-storage rooms.",
94    "Physical-device performance, multi-window mouse resume, Chromium 155 second-traveler shader compilation, Docker/Coolify execution and long soaks are not qualified by this run.",
95    "The full milestones 0\u201318 plan and final character-art pass remain active."
96  ]
97}
98