{ "schemaVersion": 1, "task": "WBV2-P1424-001", "job": "SERVER-OPERATOR-JOB", "parentSha256": "46a3ce65d56747da8684af422a1a94540612c767a6dcc42da7939930731399d5", "acceptance": "pending fresh validation", "result": { "artifacts": [ "build_blender_native/bin/blender", "build_web_blender6/bin/web_engine.js", "build_web_blender6/bin/web_engine.wasm", "web/app/public/vendor/blender/web_engine.wasm" ], "cases": [ { "id": "server-http-positive", "kind": "positive", "checkId": "chromium-server-job", "receipt": "unallocated/server-http-positive.json", "unitIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ] }, { "id": "server-http-negative", "kind": "negative", "checkId": "chromium-server-job", "receipt": "unallocated/server-http-negative.json", "unitIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ] }, { "id": "server-http-undo_redo", "kind": "undo_redo", "checkId": "chromium-server-job", "receipt": "unallocated/server-http-undo_redo.json", "unitIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ] }, { "id": "server-http-save_reopen", "kind": "save_reopen", "checkId": "chromium-server-job", "receipt": "unallocated/server-http-save_reopen.json", "unitIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ] }, { "id": "server-http-determinism", "kind": "determinism", "checkId": "chromium-server-job", "receipt": "unallocated/server-http-determinism.json", "unitIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ] } ], "changedFiles": [ "web/tests/e2e/server-operator-native.spec.ts", "my-tools/prepare_wbv2_server_operator_job_workflow.py" ], "checks": [ { "argv": [ "env", "EM_CONFIG=/home/mes123456/workinf_Blender_Wasm/.emscripten-web", "EM_LLVM_ROOT=/home/mes123456/workinf_Blender_Wasm/.emsdk/upstream/bin", "EM_BINARYEN_ROOT=/home/mes123456/workinf_Blender_Wasm/.emsdk/upstream", "EM_NODE_JS=/home/mes123456/workinf_Blender_Wasm/.emsdk/node/24.19.0_64bit/bin/node", "EM_LLVM_ADD_VERSION=", "EM_CLANG_ADD_VERSION=", "cmake", "--build", "build_web_blender6", "--target", "web_engine", "--parallel", "4" ], "cwd": ".", "id": "wasm-source-build", "kinds": [ "source_build" ], "timeoutSeconds": 1200, "continueOnFailure": true }, { "argv": [ "node", "tools/web/incremental-web-build.mjs" ], "cwd": ".", "id": "web-build", "kinds": [ "typecheck" ], "timeoutSeconds": 300, "continueOnFailure": true, "dependsOn": [ "wasm-source-build" ] }, { "id": "authoring-lint", "argv": [ "node", "node_modules/eslint/bin/eslint.js", "app/src/app/App.tsx", "tests/e2e/server-operator-native.spec.ts" ], "cwd": "web", "kinds": [ "lint" ], "timeoutSeconds": 90, "continueOnFailure": true }, { "id": "chromium-server-job", "argv": [ "env", "WEB_TEST_PORT=5407", "node", "node_modules/@playwright/test/cli.js", "test", "tests/e2e/server-operator-native.spec.ts", "--grep", "catalog Add Object", "--workers=1", "--max-failures=1" ], "cwd": "web", "kinds": [ "chromium", "positive", "negative", "undo_redo", "save_reopen", "determinism" ], "dependsOn": [ "wasm-source-build", "web-build", "authoring-lint" ], "timeoutSeconds": 180 } ], "dependencies": [ ".emscripten-web", "blender-5.2.0/source/blender/editors/object/object_ops.cc", "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "blender-5.2.0/source/blender/windowmanager/intern/wm_operators.cc", "build_web_blender6/CMakeCache.txt", "docs/web/deployment-contract.json", "my-tools/prepare_wbv2_server_operator_job_workflow.py", "tests/files/web/generated/WBV2-P2-003-MESH.EDIT_CORE.blend", "tests/files/web/generated/WBV2-P24-001-OBJECT_OPERATIONS.MOVE_COLLECTION.blend", "tests/files/web/generated/WBV2-P4-001-MODIFIER.DECLARED_SLICES.blend", "tests/files/web/generated/WBV2P3005Library.blend", "tools/web/check-deployment-http.mjs", "tools/web/deployment-http-server.mjs", "tools/web/emscripten-env.sh", "tools/web/incremental-web-build.mjs", "tools/web/run-incremental-typecheck.mjs", "tools/web/server-job-isolation.mjs", "tools/web/server-job-process.mjs", "tools/web/server-job-resource-budget.mjs", "tools/web/server-operator-job-server.mjs", "tools/web/server-operator-job.py", "tools/web/web-build-fingerprint.mjs", "web/app/src/app/App.tsx", "web/app/src/capabilities/blender-feature-route-catalog.json", "web/app/src/engine-client/WebEngineClient.ts", "web/app/src/workers/web-engine.worker.ts", "web/app/vite.config.ts", "web/package.json", "web/playwright.config.ts", "web/protocol/blender-operator.ts", "web/protocol/scene-ir.ts", "web/protocol/server-operator-job.ts", "web/protocol/web-engine.ts", "web/tests/e2e/server-blend-cross-abi.spec.ts", "web/tests/e2e/server-operator-native.spec.ts", "web/tests/e2e/server-operator-polling.spec.ts", "web/tests/fixtures/server-main-snapshots.py", "web/tests/fixtures/server-operator-runner.py", "web/tests/unit/server-job-process.test.mjs", "web/tests/unit/server-job-resource-budget.test.mjs", "web/tests/unit/server-operator-http.test.mjs", "web/tsconfig.json" ], "routeIds": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ], "sourceReferences": [ "blender-5.2.0/source/blender/editors/object/object_ops.cc", "blender-5.2.0/source/blender/windowmanager/intern/wm_operators.cc", "blender-5.2.0/source/blender/web_engine/web_engine_api.cpp", "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp" ], "sourceUnits": [ "operator:OBJECT_OT_add", "operator:WM_OT_open_mainfile", "operator:WM_OT_save_as_mainfile" ], "status": "ready", "summary": "Disposable HTTP Blender operator job mutates Main and writes fresh server receipts", "workflow": "Submit catalog Add Object through a disposable deployment, poll native Blender, reject malformed properties, verify Main history, save/reopen and deterministic replay" } }