Files
FreeCADWasmDev/docs/p6/sandbox-action-02-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

39 lines
2.1 KiB
JSON

{
"schema": "freecad-web-p6-sandbox-action-02-recovery/v1",
"taskId": "FW-P6-SDB-ACT-02-D",
"module": "Sandbox",
"action": "inspect/source-inventory",
"result": "pass",
"sourceRevision": "0644133717ebc04fae2194bb5ef9eec06880f909",
"invalidInput": {
"field": "sourceEntry",
"value": "src/Mod/Sandbox/Missing.cpp",
"inputSha256": "794b23c25abe6e2d8c990894e7cd327e06e55600dfca78501a64db6969c3673a",
"expectedError": { "code": "revision_mismatch", "message": "sourceEntry is not locked: src/Mod/Sandbox/Missing.cpp" }
},
"state": {
"before": { "sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp", "registeredTypes": 1, "pythonBindings": 3, "readOnly": 1, "resourcesReleased": 1 },
"afterReject": { "sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp", "registeredTypes": 1, "pythonBindings": 3, "readOnly": 1, "resourcesReleased": 1 },
"afterRecovery": { "sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp", "registeredTypes": 1, "pythonBindings": 3, "readOnly": 1, "resourcesReleased": 1 },
"snapshotSha256": "b8015ed134f82d812f231bd139d44f81845cc5a15ca906d50dc261f10ed28c00",
"unchangedAfterReject": true,
"repeatedErrorStable": true,
"recoveredStateEqualsBefore": true
},
"execution": { "firstReject": 0, "secondReject": 0, "recovery": 1 },
"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-action-02-recovery-smoke.js build-web/configure/bin"
],
"artifacts": {
"wasm": "freecad-source/build-web/configure/bin/FreeCADWebSandboxRuntimeProbe.wasm",
"wasmSha256": "f1a5aacb8e24b1015518dcf7c02152db7c3abe5dea2090b32f88d170e0d61a26",
"buildLog": "docs/freecad-p6-sandbox-action-02-d-build.log",
"smokeLog": "docs/freecad-p6-sandbox-action-02-d-recovery.log"
},
"boundaries": [
"Recovery validates only the sourceEntry lock and read-only inventory state; it does not claim action execution or API parity.",
"No native pointers or document mutations are introduced by the invalid path."
]
}