{ "schema": "freecad-web-p6-reverseengineering-action-02-persistence/v1", "taskId": "FW-P6-REV-ACT-02-G", "module": "ReverseEngineering", "action": "inspect/source-inventory", "result": "pass_boundary", "applicable": false, "reason": "inspect/source-inventory is a read-only App/Python source inventory and creates no 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": { "returnCode": 1, "sourceEntry": "src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp", "summary": "ReverseEngineering App; Part/Mesh/Points dependencies; GUI excluded", "registeredTypeCount": 0, "pythonBindingCount": 2, "pythonApiNames": "", "resourcesReleased": 1, "error": "" }, "second": { "returnCode": 1, "sourceEntry": "src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp", "summary": "ReverseEngineering App; Part/Mesh/Points dependencies; GUI excluded", "registeredTypeCount": 0, "pythonBindingCount": 2, "pythonApiNames": "", "resourcesReleased": 1, "error": "" }, "rejected": { "returnCode": 0, "error": "revision_mismatch" }, "recovered": { "returnCode": 1, "sourceEntry": "src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp", "summary": "ReverseEngineering App; Part/Mesh/Points dependencies; GUI excluded", "registeredTypeCount": 0, "pythonBindingCount": 2, "pythonApiNames": "", "resourcesReleased": 1, "error": "" }, "deterministic": true, "recoveryStable": true, "pass": true, "baselineSha256": "084260c494ca11f3aa45d4ca43d9f07dd79c4133c898e476474db8798ae164b0", "recoveredSha256": "084260c494ca11f3aa45d4ca43d9f07dd79c4133c898e476474db8798ae164b0", "resultSha256": "567cddf923f6b251646c5e7e77f49ed2088a187d8c1f4ede3b1e3e4a46e7764e" }, "recovery": { "beforeSha256": "8017e9f5800ab03c01d87ce3ed034c1e03f8f44f177dbd5b2b4ce41705832275", "afterSha256": "8017e9f5800ab03c01d87ce3ed034c1e03f8f44f177dbd5b2b4ce41705832275", "unchangedAfterReject": true, "repeatedErrorStable": true, "resourcesReleased": true }, "facade": { "requestCount": 6, "responseCount": 6, "maxActive": 1, "cancelAccepted": true }, "chrome": { "result": "pass", "externalRequests": 0, "exceptions": 0 }, "resultSha256": "11b5862843642cbbcaf13de35d8091135b0a4e53c297292993c4f9023da05982" }, "commands": [ "node tools/run_p6_reverseengineering_action02_persistence.mjs" ], "artifacts": { "kernel": "docs/p6/reverseengineering-action-02-kernel.json", "recovery": "docs/p6/reverseengineering-action-02-recovery.json", "facade": "docs/p6/reverseengineering-action-02-facade.json", "chrome": "docs/p6/reverseengineering-action-02-chrome.json", "workerLog": "docs/freecad-p6-reverseengineering-action-02-g-persistence.log" }, "boundaries": [ "This boundary closes persistence applicability for inspect/source-inventory only; ReverseEngineering save/reopen remains a separate action contract." ] }