feat(web): add source-first Python autopilot and optimize provider waits
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-09-08 10:59:49 +08:00
parent a69e41457a
commit edcf0fef9a
29 changed files with 10149 additions and 412 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

View File

@@ -0,0 +1,272 @@
{
"observedAt": "2026-09-08T01:24:58.634Z",
"origin": "https://49.232.250.35:58014",
"browser": "Chromium",
"steps": [
{
"name": "startup",
"status": "PASS",
"durationMs": 34167,
"detail": {
"title": "Blender 5.2.0 LTS - Web",
"secureContext": true,
"crossOriginIsolated": true,
"scripts": [
"https://49.232.250.35:58014/assets/index-DpqZcb_t.js"
]
}
},
{
"name": "open_fixture",
"status": "PASS",
"durationMs": 692,
"detail": {
"objects": 3,
"coverage": "Feature Routes\n3802/3802 source units classified\nMain 1755 · Server 1613 · Browser 434 · Unavailable 0\nRoute gaps 0 · Evidence 1025 verified / 2777 unverified"
}
},
{
"name": "add_cube",
"status": "PASS",
"durationMs": 391,
"detail": {
"objects": 4
}
},
{
"name": "undo_redo",
"status": "PASS",
"durationMs": 446,
"detail": {
"undoObjects": 3,
"redoObjects": 4
}
},
{
"name": "save_reopen",
"status": "PASS",
"durationMs": 1185,
"detail": {
"suggestedFilename": "blender-web.blend",
"byteLength": 205638,
"sha256": "29f7f3f90e04454b47c2bb715515bb41badfa87e4b73e73e95345d5517222f90",
"reopenedObjects": 4
}
},
{
"name": "duplicate_delete",
"status": "PASS",
"durationMs": 773,
"detail": {
"duplicatedObjects": 5,
"deletedObjects": 4
}
},
{
"name": "f3_local_operator_properties",
"status": "PASS",
"durationMs": 1121,
"detail": {
"form": "MESH_OT_primitive_cube_add\n执行",
"controls": 0
}
},
{
"name": "f3_server_operator_properties",
"status": "FAIL",
"durationMs": 1332,
"error": "{\"alert\":[\"SERVER_OPERATOR_HTTP_FAILED: 405\"],\"controls\":0}\n\n1 !== 0\n"
},
{
"name": "browser_equivalent_area_split",
"status": "FAIL",
"durationMs": 1492,
"error": "Area split switched workspace instead of splitting the active editor\n+ actual - expected\n\n+ 'Layout'\n- 'Modeling'\n"
},
{
"name": "workspace_surfaces",
"status": "PASS",
"durationMs": 2469,
"detail": {
"scope": "workspace presence only; not full functional verification",
"surfaces": [
{
"workspace": "Layout",
"editors": [
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Modeling",
"editors": [
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Sculpting",
"editors": [
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "UV Editing",
"editors": [
"Image Editor",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Texture Paint",
"editors": [
"Image Editor",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Shading",
"editors": [
"Image Editor",
"Shader Editor",
"File Browser",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Animation",
"editors": [
"3D Viewport",
"3D Viewport",
"Outliner",
"Properties",
"Dope Sheet"
]
},
{
"workspace": "Rendering",
"editors": [
"Render Result",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Compositing",
"editors": [
"Image Editor",
"Compositor",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Geometry Nodes",
"editors": [
"Geometry Nodes",
"Spreadsheet",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
{
"workspace": "Scripting",
"editors": [
"Text Editor",
"Python Console",
"Info",
"Outliner",
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
}
]
}
},
{
"name": "desktop_render",
"status": "PASS",
"durationMs": 131,
"detail": {
"canvases": [
{
"width": 1119,
"height": 713,
"rect": {
"x": 0,
"y": 58,
"width": 1119,
"height": 713,
"top": 58,
"right": 1119,
"bottom": 771,
"left": 0
}
}
],
"bodyWidth": 1440,
"viewportWidth": 1440,
"wasmResources": [
{
"url": "https://49.232.250.35:58014/vendor/blender/single/web_engine.wasm",
"duration": 135.66500002145767,
"transferSize": 369064
}
]
}
}
],
"errors": [],
"failedRequests": [],
"badResponses": [
{
"url": "https://49.232.250.35:58014/api/server-operator-job",
"status": 405
}
],
"areaSplitObservation": {
"before": {
"workspace": "Modeling",
"editors": [
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
},
"after": {
"workspace": "Layout",
"editors": [
"3D Viewport",
"Outliner",
"Properties",
"Timeline"
]
}
},
"finishedAt": "2026-09-08T01:25:42.978Z"
}

View File

@@ -0,0 +1,172 @@
{
"schemaVersion": 1,
"operation": "DEPLOYED_BLENDER_COMPLETION_AUDIT",
"observedAt": "2026-09-08T01:29:54.546Z",
"origin": "https://49.232.250.35:58014/",
"assessment": "Core online editing is functional; full desktop Blender migration is not complete or established by current evidence.",
"codeOrServerConfigurationChanged": false,
"productionDataModified": false,
"testMutationScope": "Fresh isolated Chromium context and repository-owned basic_scene.blend; no server operator submit job was executed.",
"newVerifiedInventoryUnits": 0,
"declaredImplementation": {
"modules": 16,
"implementedModules": 16,
"tasks": 34,
"implementedTasks": 34,
"verificationPolicy": "deferred_until_user_reports"
},
"inventory": {
"unitCount": 3802,
"sourceTreeSha256": "311791df5e2b96c31ee9cefd5ab0c9a8ded87309f1a814c3b92dec328a607d6a",
"routeCounts": {
"BROWSER_EQUIVALENT": 434,
"SERVER_NATIVE": 1613,
"WEB_MAIN": 1755
},
"behavioralEvidence": {
"status": "PARTIAL",
"verifiedUnits": 1025,
"unverifiedUnits": 2777,
"policy": "route classification does not replace exact behavioral evidence"
},
"recordedEvidencePercent": 26.96,
"byKind": {
"modifier-source": {
"total": 97,
"recordedVerified": 95,
"unverified": 2
},
"node": {
"total": 497,
"recordedVerified": 497,
"unverified": 0
},
"operator-macro": {
"total": 58,
"recordedVerified": 0,
"unverified": 58
},
"operator": {
"total": 2018,
"recordedVerified": 31,
"unverified": 1987
},
"rna-struct": {
"total": 979,
"recordedVerified": 306,
"unverified": 673
},
"web-command": {
"total": 153,
"recordedVerified": 96,
"unverified": 57
}
},
"sourceInventoryCheck": {
"command": "node tools/web/check-source-dynamic-inventory.mjs",
"exitCode": 0
},
"routeCatalogCheck": {
"command": "node tools/web/check-blender-feature-route-catalog.mjs",
"exitCode": 0
}
},
"deployment": {
"releaseId": "731af06aee6a2d2b61b902db9fd4b7bd5b04474e4689c48baf213fd5fcb3769f",
"wasmModuleManifestMatchesLocal": true,
"testedWasmSha256": "1c89a1fd0e00e30330d151cb9a42d9d54aabd5ed2c9ae45dd3b1961d9a0c75d5",
"deploymentCheck": {
"command": "node tools/web/check-deployed-web-blender.mjs",
"exitCode": 0,
"nativeObjectMutation": [
3,
4
],
"wasmRangeStatus": 206
},
"sshReadOnlyInspection": {
"service": "blender-web-58014.service",
"active": true,
"entrypoint": "/var/www/blender-web/current/tools/web/deployment-http-server.mjs",
"packagedRuntimeFiles": [
"deployment-http-server.mjs"
],
"observedPostStatus": 405,
"allowedMethods": [
"GET",
"HEAD"
],
"connectionClosed": true
}
},
"findings": [
{
"priority": "high",
"code": "SERVER_OPERATOR_PROVIDER_NOT_CONNECTED",
"endpoint": "/api/server-operator-job",
"evidence": "POST describe requests for mesh.primitive_cube_add and OBJECT_OT_modifier_apply returned 405; Chromium F3 showed SERVER_OPERATOR_HTTP_FAILED: 405.",
"impact": "The configured shared provider path blocks SERVER_NATIVE actions; catalog assigns 1613 units to this path. This does not mean 1613 distinct operations were individually tested.",
"sourceReference": "web/app/src/engine-client/WebEngineClient.ts:387"
},
{
"priority": "high",
"code": "BROWSER_ROUTE_SEMANTICS_INCOMPLETE",
"evidence": "From Modeling, SCREEN_OT_area_split switched to Layout and retained the same four editor areas.",
"impact": "Action-group classification does not implement each desktop operator. All 434 BROWSER_EQUIVALENT assignments require semantic acceptance; one mismatch was reproduced.",
"sourceReferences": [
"web/app/src/app/App.tsx:167",
"web/app/src/app/App.tsx:3534"
]
},
{
"priority": "high",
"code": "BEHAVIORAL_EVIDENCE_REFERENCE_DRIFT",
"evidence": "183/373 directly referenced artifacts have SHA-256 drift; 902/1025 recorded verified units are affected.",
"impact": "Recorded VERIFIED counts cannot be treated as current release acceptance. Matching references alone also do not establish full behavioral parity."
}
],
"limitations": [
"This is a focused production smoke test, not a full Blender operator/property/context matrix.",
"Workspace tabs were checked for presence only. Render quality, simulations, animation results, node evaluation, add-ons, Python compatibility, large-scene performance and context-specific editing were not exhaustively tested.",
"The local F3 cube form was present with zero typed property controls; its PASS result only establishes form presence.",
"Final screenshots after workspace switching are observations, not a stable-frame visual correctness assertion.",
"No queue, historical inventory, completion overlay, production source or server configuration was changed by this audit."
],
"artifacts": [
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/browser-area-split-result.png",
"byteLength": 187298,
"sha256": "0e31ca29f519c50a1f6c5a91d1c8436bbb56efcff108b093af4e77797e09bb50"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/chromium-report.json",
"byteLength": 6565,
"sha256": "867e63b65bef497593fefcd5884f0666752b3c59f0d4e18354d1b64d7cdeef94"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/desktop-final.png",
"byteLength": 111507,
"sha256": "9eac6d31197eb681e237503bcc20a046e26b73c64bd7e737892a4bf74bb2edca"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/desktop-open.png",
"byteLength": 178549,
"sha256": "0ecdceb9b8b04fc3eb4d9fb752ab7746b26e2d974520a78ba6b81b7e1456639c"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/evidence-integrity.json",
"byteLength": 246111,
"sha256": "4de65962c7e1a4ea93b04d200e62dc4a4ad986424bc6503e39dd007ab0143ecc"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/f3-server-result.png",
"byteLength": 180454,
"sha256": "600f61e19edef7bb476113fec5b75c09845ce42b60fcf97343fce21668920980"
},
{
"path": "tests/golden/WBV2-P1424-001/deployed-audit/roundtrip.blend",
"byteLength": 205638,
"sha256": "29f7f3f90e04454b47c2bb715515bb41badfa87e4b73e73e95345d5517222f90"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB