REPOSITORY SOURCE

creator-panel-acceptance.json

docs/evidence/creator-panel-acceptance.json

1{
2  "recordedAt": "2026-10-25T17:58:01.374098+00:00",
3  "baseCommit": "7367a89b5267ea23388bc6d371541978cea83f9b",
4  "scope": "Declarative creator editor panels in opaque-origin frames; scoped host grants and strict proposal review; shared live-revision integration. Full milestones 0\u201318 remain open.",
5  "fullPlanEstimatePercent": 72,
6  "sourceSha256": {
7    "packages/authoring/panels.ts": "1ca9a477dcf1bc8ac81dfdc5908f8d0c959a075ca8340a448a51c9859cccee88",
8    "apps/editor/panel-frame.ts": "1927db0973df78c5444610e1ce45fb6ba3636c500ed1ca4e7ca614a997e3f566",
9    "apps/editor/panels.ts": "4274a74d4fdef884d4530225931a6a70724ca6db56845acb4657f5dcd88fcfb8",
10    "apps/editor/main.ts": "906698d1bc6ef560705190a28d7fda7bcf7a384058ba17d89d115e22f0999865",
11    "apps/editor/proposals.ts": "43771f09e2eecb80fd059946bac9f8cce076241e9fd9608256ee49b632c1141b",
12    "apps/editor/style.css": "d140b6bd2dce64d256922f1d01fcb9abc885fa5efa7e706941c8978ab8c3cbeb",
13    "tests/creator-panels.test.ts": "2f767717b3fa314ac6f19ee716350e1fd58ea021d88f8590953276cabdf45922",
14    "tests/browser/editor-panels.spec.ts": "9e5fe05fa719df4723c8903eddbac3e44a4a15c24c23ed80c7455f08984b1646",
15    "tests/browser/editor-proposals.spec.ts": "802084e89bd2a9b9fd00e9e5ef879eed9f3ebafafe9e6d8e225d261d29cba3ce",
16    "package.json": "ba3f37df068df2d5aa681cf3ac2c2febb8e929f8f45eba6b481ea411da031a40"
17  },
18  "environment": {
19    "node": "22.23.4",
20    "playwright": "1.56.1",
21    "browser": "Chromium 141 headless shell",
22    "graphics": "SwiftShader WebGPU/Vulkan on Linux",
23    "editorViewports": [
24      [
25        1440,
26        1000
27      ],
28      [
29        580,
30        900
31      ]
32    ],
33    "travelerViewport": [
34      960,
35      640
36    ]
37  },
38  "checks": {
39    "typeAndImports": {
40      "result": "passed; 130 package source files",
41      "log": "creator-panel-check.log"
42    },
43    "headless": {
44      "total": 717,
45      "pass": 661,
46      "skip": 56,
47      "fail": 0,
48      "log": "creator-panel-headless.tap"
49    },
50    "browser": {
51      "uniqueCasesPassed": 5,
52      "initialPass": 5,
53      "finalStrengthenedPanelPass": 2,
54      "reports": "creator-panel-browser-reports.json",
55      "note": "All five initially passed. Added file/keyboard/ungranted-message assertions to the two panel tests, observed and corrected a test focus race, then both passed. The three proposal regressions and their runtime code were unchanged after the initial pass; only the panel checkbox accent color changed in application code."
56    },
57    "documentationExample": "Parsed and validated with readCreatorPanel"
58  },
59  "verified": [
60    "Bounded text-only source parser rejects executable tags, URL/event/style attributes, extra authority fields, duplicated actions, unsupported properties, oversized input, excessive nodes and nesting",
61    "Frame compiler escapes creator text and supplies only the engine-owned nonce bootstrap and fixed stylesheet",
62    "Browser frame cannot access parent DOM or localStorage, fetch the authoring endpoint or open a popup; editor key absent from srcdoc",
63    "Host grant is required; a forged ungranted message fails; revocation disables buttons and clears pending suggestions",
64    "Messages from a sibling opaque-origin frame fail even with the correct session ID; wrong sessions and extra command payloads fail",
65    "Session binds one selected object and saved revision, owns source values, rejects replayed/out-of-order sequence, limits message rates/lifetime and closes explicitly",
66    "Source edits remove the old frame and revoke permission; source markup renders as literal text",
67    "Keyboard activation works after the frame acknowledges permission; imported/downloaded source round-trips exactly",
68    "Suggestion checking and preview do not save; Save records one revision; Discard and durable undo/redo retain normal semantics",
69    "A newer remote saved draft rejects the strict proposal; existing strict/disjoint proposal regression journeys remain green",
70    "Two real travelers retain identity and resume after a panel-suggested saved revision is applied"
71  ],
72  "developmentFindings": [
73    "Initial unit fixtures used a raw UUID instead of the authored: persistent identity required by the existing schema; corrected the fixture.",
74    "Added keyboard coverage initially focused a still-disabled frame button before its asynchronous permission update. The trace left the host checkbox active. The fixture now awaits enabled state and confirms focus before Enter; application behavior and assertion deadlines were not changed."
75  ],
76  "visuals": [
77    "creator-panel-workshop.png",
78    "creator-panel-narrow.png",
79    "creator-panel-escaped-markup.png"
80  ],
81  "example": "creator-panel-example.json",
82  "limitations": [
83    "Declarative HTML subset only: arbitrary creator HTML/JavaScript/CSS and embedded media are unsupported",
84    "Editor suggestions only; no gameplay HUD registration, network tools, async creator jobs, assistant task journal or complete provenance system",
85    "No independent browser-process CPU/heap isolation claim; no physical devices, Safari/Firefox, Docker/Coolify execution or remote CI qualification",
86    "Public untrusted creator hosting remains disabled; no numbered roadmap milestone closed",
87    "Character redesign and shared-arrival camera/art polish remain in the final pass; no merge or deployment"
88  ]
89}
90