REPOSITORY SOURCE

release-restoration-acceptance.json

docs/evidence/release-restoration-acceptance.json

1{
2  "date": "2026-10-25",
3  "baseCommit": "4c69eaa012f4d82a52f5b09f127fd1046815b01f",
4  "fullPlanApproximatePercent": 50,
5  "headless": {
6    "passed": 500,
7    "failed": 0,
8    "command": "node --import tsx --test --test-concurrency=4 tests/*.test.ts"
9  },
10  "browser": {
11    "passed": 6,
12    "failed": 0,
13    "report": "release-restoration-browser.json",
14    "screenshot": "editor-archived-worlds.png",
15    "verified": [
16      "archive/unarchive",
17      "unchanged invitation URLs",
18      "two connected published players remain pinned",
19      "restore preview/discard",
20      "new revision with old content",
21      "reload undo/redo",
22      "stale restore cannot overwrite foreign edit",
23      "publication collision, host handoff, navigation and recovery regressions"
24    ]
25  },
26  "checks": [
27    "TypeScript",
28    "96-file package boundaries",
29    "isolated production client and relay builds",
30    "archive index failure and corruption",
31    "restore storage failure and restart",
32    "exact prefab source metadata restoration",
33    "snapshot bytes and mtime unchanged"
34  ],
35  "limits": [
36    "32 active invitations, 128 archived snapshots, four resident published rooms",
37    "8 MiB durable undo budget can reject large restoration before save",
38    "No permanent deletion, age-based eviction or executable pinning yet",
39    "Corrupt editable documents require offline repair; independent release reads remain available",
40    "No full roadmap milestone closed; character-art refinement deferred"
41  ],
42  "localPreview": {
43    "url": "http://localhost:5181/editor.html",
44    "revision": "0",
45    "unchangedSavedHash": "f076388ad340c7b1e1aa84e72368aa6a9d3a3f6546187a2fed1d0fba66c36977"
46  },
47  "sourceSha256": {
48    "apps/editor/main.ts": "e16a4107406fe741195b666c4270255e2262b3393de4a97f90dc5201a2da61f4",
49    "apps/editor/releases.ts": "5434b6a584e0815d8e8462182a7ec0935e763a36dbebf00d10317094f9e48edc",
50    "apps/editor/style.css": "32d07b53ce065f319031845aa391237e093c0187636a5dcd96b6c6b16e1b9e33",
51    "packages/authoring/index.ts": "00bf45b0439f4b7d9cc985b2cff47b78b03e7d097ee3ecec5e728bc266df434f",
52    "packages/authoring/merge.ts": "a0f970f6ba3501a8d637557e22c4f56b3637754f95c49382e23b8e0afe972375",
53    "packages/authoring/undo.ts": "f3117348c17fe8ebf62323e61bc430983e818c62c8e593c8c054ba1c09c4643d",
54    "packages/authoring/releases.ts": "26623c84092477574354f0d8778c26683ef9665b05ba7bde7214acb0cb7cc19e",
55    "services/authoring/http.ts": "91855cc97e1d81fb575114215f8809ca4933b7242b9ebf2f33837fee479b1bfa",
56    "services/authoring/releases.ts": "b2c8ab7ddcf11d3bff0482e15a6c43226c598ae3acbf70facfe9c3d2dd0bd854",
57    "services/authoring/store.ts": "4cae4b2f19e88ed5a12a2d19a1f25e0d222fdd41f7be1a6571701045c67825aa",
58    "services/relay/server.ts": "9cb5d4d5d2d7966a7abfbdabd304745d1aa787ff425b54278c2e254cc62b8193",
59    "tests/release-restore.test.ts": "0726bd6a0596ca044773ce74939e71ee1c4308b4eb3f105a792683fb234be890",
60    "tests/browser/editor-restoration.spec.ts": "4edcac71654f0a45300c6c038415443cb2ccf16d49ac40dfd21d999af790e121"
61  }
62}
63