{ "schema": "freecad-web-p6-reverseengineering-action-03-persistence/v1", "taskId": "FW-P6-REV-ACT-03-G", "module": "ReverseEngineering", "action": "python-api", "result": "pass_boundary", "applicable": false, "reason": "ReverseEngineering python-api executes a pure in-memory geometry API and does not create an App::Document or FCStd payload; save/reopen is not applicable to this action.", "state": { "documentMutation": false, "localFcstdRoundTrip": false, "readOnly": true, "resourcesReleased": true }, "evidence": { "kernel": { "first": { "sourceValidated": 1, "executed": 1, "apiNames": "approxCurve,approxSurface", "apiCount": 2, "curveValid": 1, "error": "" }, "second": { "sourceValidated": 1, "executed": 1, "apiNames": "approxCurve,approxSurface", "apiCount": 2, "curveValid": 1, "error": "" }, "invalid": { "sourceValidated": 0, "error": "revision_mismatch" }, "deterministic": true, "pass": true, "resultSha256": "99652a7def4e4cbfb264e3bf6c625002f626b12ddf27181c68957481143d4b09" }, "recovery": { "beforeSha256": "8133465da123023484f8f0a72e68508e6a5fb2948bb2e05290735b36ba035ef7", "afterSha256": "8133465da123023484f8f0a72e68508e6a5fb2948bb2e05290735b36ba035ef7", "unchangedAfterReject": true, "repeatedErrorStable": true }, "facade": { "requestCount": 6, "responseCount": 6, "maxActive": 1, "cancelAccepted": true }, "chrome": { "result": "pass", "externalRequests": 0, "exceptions": 0 }, "resultSha256": "8192ce47dc844b7585d2df9f1c38dfa812502616a10d203c018842db5af8b41c" }, "commands": [ "node tools/run_p6_reverseengineering_action03_persistence.mjs" ], "artifacts": { "kernel": "docs/p6/reverseengineering-action-03-kernel.json", "recovery": "docs/p6/reverseengineering-action-03-recovery.json", "facade": "docs/p6/reverseengineering-action-03-facade.json", "chrome": "docs/p6/reverseengineering-action-03-chrome.json", "workerLog": "docs/freecad-p6-reverseengineering-action-03-g-persistence.log" }, "boundaries": [ "This boundary applies only to python-api; ReverseEngineering save/reopen remains a separate ACT-04 contract." ] }