Files
FreeCADWasmDev/docs/p6/sandbox-recovery.json
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

54 lines
2.5 KiB
JSON

{
"schema": "freecad-web-p6-sandbox-recovery/v1",
"taskId": "FW-P6-SDB-D",
"module": "Sandbox",
"action": "create/recompute",
"result": "pass",
"sourceRevision": "0644133717ebc04fae2194bb5ef9eec06880f909",
"invalidInput": {
"field": "objectType",
"value": "Sandbox::Missing",
"expectedError": {
"code": "type_not_found",
"message": "objectType: Sandbox::Missing"
},
"inputSha256": "241d414dfa74ca41a940126c488d9e0ce9f4de4edad1912b12f6093893884eb9"
},
"state": {
"before": "type=Sandbox::SandboxObject;integer=42;count=1",
"afterReject": "type=Sandbox::SandboxObject;integer=42;count=1",
"afterRecovery": "type=Sandbox::SandboxObject;integer=42;count=1",
"snapshotSha256": "91728fc7a6ecf6abcd8290f8055bcec1684141217430b5be53820a2fb121326d",
"combinedStateSha256": "4b74290aeef79da40d65aca00f9022841422d6d9f3e37a6f11465f319ff08e50",
"unchangedAfterReject": true,
"repeatedErrorStable": true,
"recoveredStateEqualsBefore": true
},
"execution": {
"recovery": 1,
"invalidReturn": 0,
"resourcesReleased": 1,
"initializationRuns": 1,
"initializationCalls": 7
},
"commands": [
"EM_CONFIG=$PWD/build-web/emscripten-config.py env -u EM_FROZEN_CACHE ninja -C build-web/configure FreeCADWebSandboxRuntimeProbe -j8",
"node src/WebAssembly/FreeCADCoreProbe/sandbox-runtime-smoke.js build-web/configure/bin"
],
"artifacts": {
"wasm": "freecad-source/build-web/configure/bin/FreeCADWebSandboxRuntimeProbe.wasm",
"wasmSha256": "a3895df42a6862be0a86217cfef1834180ff191ba61a139e691ca2e1c1e7e3ac",
"js": "freecad-source/build-web/configure/bin/FreeCADWebSandboxRuntimeProbe.js",
"jsSha256": "56cfbd6e2c19ee78cd2b28e4370a910ec97582b9ae69cbcaeea27754381b35cb",
"sourceProbeSha256": "8112b789686df95325803dd34f1e10399e1bc7311ae77684ae6a287bbc7c5f1d",
"smokeSha256": "a7ec73220e74d8e40a7af096c647db74fdcd991735136ef888e478e3d56b130e",
"buildLog": "docs/freecad-p6-sandbox-d-build.log",
"smokeLog": "docs/freecad-p6-sandbox-d-smoke.log"
},
"boundaries": [
"The invalid path is a native Document::addObject lookup for a missing type; no synthetic JavaScript validation is used.",
"This recovery covers one document and one missing object type. Cross-document transactions, concurrency, persistence, Facade, and browser behavior remain out of scope.",
"The main valid object remains unchanged after rejection and is recomputed successfully before resource release."
]
}