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