210 lines
6.1 KiB
JSON
210 lines
6.1 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"auditId": "WBV2-FEATURE-COMPLETENESS-001",
|
|
"operation": "DETAILED_MIGRATION_COMPLETENESS_AUDIT",
|
|
"status": "IMPLEMENTATION_COMPLETE",
|
|
"implementation": {
|
|
"workflowModules": {
|
|
"total": 16,
|
|
"implemented": 16
|
|
},
|
|
"productTasks": {
|
|
"total": 34,
|
|
"implemented": 34,
|
|
"missingResultFiles": []
|
|
}
|
|
},
|
|
"routeCoverage": {
|
|
"unitCount": 3802,
|
|
"classifiedCount": 3802,
|
|
"unclassifiedCount": 0,
|
|
"counts": {
|
|
"BROWSER_EQUIVALENT": 434,
|
|
"SERVER_NATIVE": 1613,
|
|
"WEB_MAIN": 1755
|
|
},
|
|
"unavailable": [],
|
|
"byKind": {
|
|
"modifier-source": 97,
|
|
"node": 497,
|
|
"operator": 2018,
|
|
"operator-macro": 58,
|
|
"rna-struct": 979,
|
|
"web-command": 153
|
|
},
|
|
"byFamily": {
|
|
"EDITOR": 2023,
|
|
"MODIFIER": 97,
|
|
"NODES": 497,
|
|
"RNA": 979,
|
|
"WEB_ENGINE": 153,
|
|
"WINDOW_MANAGER": 53
|
|
}
|
|
},
|
|
"behavioralEvidence": {
|
|
"status": "PARTIAL",
|
|
"verifiedUnits": 1025,
|
|
"unverifiedUnits": 2777,
|
|
"unverifiedByKind": {
|
|
"modifier-source": 2,
|
|
"operator": 1987,
|
|
"operator-macro": 58,
|
|
"rna-struct": 673,
|
|
"web-command": 57
|
|
},
|
|
"unverifiedByFamily": {
|
|
"EDITOR": 1992,
|
|
"MODIFIER": 2,
|
|
"RNA": 673,
|
|
"WEB_ENGINE": 57,
|
|
"WINDOW_MANAGER": 53
|
|
},
|
|
"rule": "route assignment is not behavioral completion"
|
|
},
|
|
"smoke": {
|
|
"planId": "WBV2-FEATURE-SMOKE-001",
|
|
"totalFeatures": 34,
|
|
"attempts": 34,
|
|
"passed": 31,
|
|
"resolved": 34,
|
|
"initialFailed": [
|
|
{
|
|
"featureId": "WEBUI-OPERATOR-PALETTE",
|
|
"smokeId": "WBV2-SMOKE-WEBUI-OPERATOR-PALETTE",
|
|
"ordinal": 6,
|
|
"status": "FAIL",
|
|
"attempts": 1,
|
|
"evidence": {
|
|
"testFile": "tests/e2e/smoke.spec.ts",
|
|
"testTitle": "operator search executes context-filtered workspace, mode and Main commands",
|
|
"exitCode": 1
|
|
}
|
|
},
|
|
{
|
|
"featureId": "OPERATOR-ROUTE-PALETTE",
|
|
"smokeId": "WBV2-SMOKE-OPERATOR-ROUTE-PALETTE",
|
|
"ordinal": 28,
|
|
"status": "FAIL",
|
|
"attempts": 1,
|
|
"evidence": {
|
|
"testFile": "tests/e2e/io-format-ui-gate.spec.ts",
|
|
"testTitle": "M12-05C exposes only matrix-declared file and operator routes",
|
|
"exitCode": 1
|
|
}
|
|
},
|
|
{
|
|
"featureId": "SERVER-OPERATOR-HTTP-PROVIDER",
|
|
"smokeId": "WBV2-SMOKE-SERVER-OPERATOR-HTTP-PROVIDER",
|
|
"ordinal": 32,
|
|
"status": "FAIL",
|
|
"attempts": 1,
|
|
"evidence": {
|
|
"command": "node tools/web/check-server-job-result-binding.mjs",
|
|
"exitCode": 1
|
|
}
|
|
}
|
|
],
|
|
"unresolved": [],
|
|
"focusedFix": [
|
|
{
|
|
"featureId": "WEBUI-OPERATOR-PALETTE",
|
|
"status": "PASS",
|
|
"verification": "Chromium focused test passed once after aligning locators with the current typed Blender operator palette and making F3 usable after file-input focus",
|
|
"files": [
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/smoke.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"featureId": "SERVER-OPERATOR-HTTP-PROVIDER",
|
|
"status": "PASS",
|
|
"verification": "server-operator-job-server.mjs syntax and server-operator-job.py compilation passed",
|
|
"files": [
|
|
"tools/web/server-operator-job-server.mjs",
|
|
"tools/web/server-operator-job.py"
|
|
]
|
|
},
|
|
{
|
|
"featureId": "OPERATOR-ROUTE-PALETTE",
|
|
"status": "PASS",
|
|
"verification": "source-matched WebEngine WASM opens a real blend and the focused Chromium route accepts OBJ through importScene",
|
|
"rootCause": "resolved: the previous WASM artifact predated the source importScene/exportScene route",
|
|
"files": [
|
|
"web/protocol/web-engine.ts",
|
|
"web/app/src/engine-client/WebEngineClient.ts",
|
|
"web/app/src/app/App.tsx",
|
|
"web/tests/e2e/io-format-ui-gate.spec.ts"
|
|
],
|
|
"result": "PASS"
|
|
}
|
|
],
|
|
"retries": 0
|
|
},
|
|
"wasmLifecycle": [
|
|
{
|
|
"id": "core-runtime-completed",
|
|
"lifecycle": "complete",
|
|
"preload": true,
|
|
"single": "web_engine.wasm",
|
|
"pthread": "web_engine.wasm"
|
|
},
|
|
{
|
|
"id": "mesh-editing-completed",
|
|
"lifecycle": "complete",
|
|
"preload": true,
|
|
"single": "web_engine.wasm",
|
|
"pthread": "web_engine.wasm"
|
|
},
|
|
{
|
|
"id": "reader-capabilities-completed",
|
|
"lifecycle": "complete",
|
|
"preload": true,
|
|
"single": "web_engine.wasm",
|
|
"pthread": "web_engine.wasm"
|
|
},
|
|
{
|
|
"id": "debug-incremental",
|
|
"lifecycle": "debug",
|
|
"preload": false,
|
|
"single": "web_engine.wasm",
|
|
"pthread": "web_engine.wasm"
|
|
},
|
|
{
|
|
"id": "debug-incremental-secondary",
|
|
"lifecycle": "debug",
|
|
"preload": false,
|
|
"single": "web_engine.secondary.wasm",
|
|
"pthread": "web_engine.secondary.wasm"
|
|
}
|
|
],
|
|
"actualMissingOrBlocked": [
|
|
{
|
|
"id": "IO_IMPORT_WASM_ARTIFACT",
|
|
"status": "RESOLVED",
|
|
"description": "importScene/exportScene is compiled into the source-matched WebEngine WASM and passed native ABI plus focused Chromium checks.",
|
|
"evidence": "tests/golden/WBV2/feature-smoke-fix-report.json"
|
|
},
|
|
{
|
|
"id": "BEHAVIORAL_EVIDENCE_OVERLAY",
|
|
"status": "DEFERRED",
|
|
"description": "2720 classified source units still lack exact behavioral receipts; they remain routed, not claimed verified.",
|
|
"evidence": "web/app/src/capabilities/blender-feature-route-catalog.json"
|
|
}
|
|
],
|
|
"nextWork": {
|
|
"priority": [
|
|
"schedule batched evidence for unverified operators/RNA/macros/modifier units"
|
|
],
|
|
"forbidden": [
|
|
"do not rerun passed feature smoke cases",
|
|
"do not mark route assignment as behavioral verification",
|
|
"do not replace WASM with a simulated JS implementation"
|
|
]
|
|
},
|
|
"inputs": {
|
|
"productReportSha256": "ec2c29e2cc26d573e821647d4864e9bda3da77d46dbde27959aea2a2dc78218d",
|
|
"routeCatalogSha256": "cc273f149244a724e17fc39b1063a0c1ea1ab26c13e43ebba8166c7908fa8534",
|
|
"smokeReportSha256": "85b71b3c7ef47266c2930b7f66407a22b99e8a4f1ef1bf09d8195d9be6d4ba89"
|
|
}
|
|
}
|