feat: advance FreeCAD exact parity evidence
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-14 22:39:16 -04:00
parent e3373c9d6c
commit 5bbd7b9d4f
64 changed files with 113069 additions and 21074 deletions

View File

@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"status": "failed",
"status": "pass",
"stages": [
"CAD",
"OCL",
@@ -29,7 +29,105 @@
"hasC359": true,
"hasC361": true
},
"error": "Error: LinuxCNC WASM bridge timed out waiting for parser/controller acceptance.\n at http://127.0.0.1:5201/src/facade/camPipeline.ts:103:18",
"machine": {
"backend": "linuxcnc-wasm",
"status": "accepted",
"dryRunStatus": "dry-run",
"parserAuthority": "linuxcnc-wasm",
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"dryRunMachineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"lines": 65,
"blocks": 138,
"trajectorySegments": 48
},
"runtime": {
"server": "managed-vite-preview",
"worktreeRevision": "58f50e6d66287bc31e6d906e5c33658a348658e4",
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"artifacts": [
{
"role": "entry-html",
"path": "index.html",
"runtimeLoaded": true,
"bytes": 61728,
"sha256": "7087d2ccfb9eb2b4967fa75a7d4069cc97ab62a58d4af4f18a7a449ddc1aa536"
},
{
"role": "case-registry",
"path": "linuxcnc/cases.json",
"runtimeLoaded": true,
"bytes": 2108501,
"sha256": "b9c614d3f139de57277d02944a3cb8d0e54f68da054021ac375be9ffbb4f95db"
},
{
"role": "machine-config",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"runtimeLoaded": true,
"bytes": 7179,
"sha256": "43c26a58030b6ec4a4319cde23e847cff0134e9f2777eef30848aa477bb87d38"
},
{
"role": "application",
"path": "assets/simulator-D-5Qaz4x.js",
"runtimeLoaded": true,
"bytes": 852452,
"sha256": "a429e0b7297fb169255a30acc48274ed17bbeb168fc1d90a13cf4b4e2c6db42f"
},
{
"role": "controller-worker",
"path": "assets/controller.worker-C1K9_tWf.js",
"runtimeLoaded": true,
"bytes": 365084,
"sha256": "7ac06534c9f270411f02efc56b31b9b862855f90ed31470f2dd22c66d631368f"
},
{
"role": "wasm-loader",
"path": "assets/linuxcnc-core-DHKZgRAr.js",
"runtimeLoaded": false,
"bytes": 320852,
"sha256": "fa73fa21a449efc18bbbf5e33e5ce4035bd8d8699f1cb7c72b88e280d362813a"
},
{
"role": "wasm-core",
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
"runtimeLoaded": true,
"bytes": 53030753,
"sha256": "5c1bb5f7648b7ced4ede192485d37aeee1d9e0dec4a86f2c235aeb3d8c3b647e"
}
],
"loadedArtifacts": [
{
"role": "entry-html",
"path": "index.html",
"status": 200
},
{
"role": "case-registry",
"path": "linuxcnc/cases.json",
"status": 200
},
{
"role": "machine-config",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"status": 200
},
{
"role": "application",
"path": "assets/simulator-D-5Qaz4x.js",
"status": 200
},
{
"role": "controller-worker",
"path": "assets/controller.worker-C1K9_tWf.js",
"status": 200
},
{
"role": "wasm-core",
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
"status": 200
}
]
},
"browserId": "chrome",
"browser": {
"product": "150.0.7871.128",

View File

@@ -21,7 +21,7 @@
"multiAxis": true
},
"geometry": {
"sourceShape": "shape-mst1ison-1",
"sourceShape": "shape-msthz6ws-1",
"valid": true,
"volume": 30
},

View File

@@ -90,7 +90,7 @@
}
],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -139,7 +139,7 @@
"binder": {
"support": [],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -237,7 +237,7 @@
}
],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -286,7 +286,7 @@
"binder": {
"support": [],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -335,7 +335,7 @@
"binder": {
"support": [],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -433,7 +433,7 @@
}
],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -531,7 +531,7 @@
}
],
"area": 54,
"shapeId": "shape-mss2ywwz-3",
"shapeId": "shape-mstl5fv3-3",
"state": [
"Up-to-date"
],
@@ -629,7 +629,7 @@
}
],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -727,7 +727,7 @@
}
],
"area": 54,
"shapeId": "shape-mss2ywwz-3",
"shapeId": "shape-mstl5fv3-3",
"state": [
"Up-to-date"
],
@@ -825,7 +825,7 @@
}
],
"area": 54,
"shapeId": "shape-mss2ywwz-3",
"shapeId": "shape-mstl5fv3-3",
"state": [
"Up-to-date"
],
@@ -923,7 +923,7 @@
}
],
"area": 30,
"shapeId": "shape-mss2yww8-1",
"shapeId": "shape-mstl5fuc-1",
"state": [
"Up-to-date"
],
@@ -1021,7 +1021,7 @@
}
],
"area": 54,
"shapeId": "shape-mss2ywwz-3",
"shapeId": "shape-mstl5fv3-3",
"state": [
"Up-to-date"
],
@@ -1059,8 +1059,8 @@
},
{
"path": "src/facade/mockFacade.ts",
"bytes": 150952,
"sha256": "a17f5c80c4f523776211e2ae341a60c2a55b06afd86369a3d2d71b888e75f48b"
"bytes": 160856,
"sha256": "998605cd6b17b82a2567006e6e34fba89f0a425afd383abad541dae03aebf478"
},
{
"path": "src/facade/geometryRuntime.ts",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,14 @@
"wrongBindings": 0,
"unexplainedRelations": 0,
"roundtripNameDrift": 0,
"resaveNameDrift": 0,
"mutationCases": 30,
"mutationFailures": 0,
"mutationStageRecords": 219,
"mutationStageRestoreFailures": 0,
"mutationFinalPropagationFailures": 0,
"mutationNamingRestoreDriftCases": 11,
"mutationNamingRestoreDriftStages": 28,
"elementMap2ParseFailures": 0,
"elementMap2SemanticFailures": 0,
"elementMap2TokenWriterFailures": 0,

View File

@@ -0,0 +1,40 @@
{
"schemaVersion": 1,
"baseline": {
"freecadVersion": "1.1.1",
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
},
"isolatedWorkbenchOracle": {
"report": ".cache/freecad/reference-desktop-gui-commands.json",
"reportSha256": "56da6a1bc360e76b9e36c0acc967d54d5fd28b7628056aba7af0c0ff84fb4e82",
"commandCount": 1111,
"commandUniverseSha256": "82901c576ef4b4cea1182f6505f5282a70b84ee8420105e83e58f65c0fb9685f",
"shardCount": 100,
"bimFirstTimeWelcome": "suppressed-before-workbench-activation"
},
"legacyAmbientReport": {
"report": ".cache/freecad/reference-desktop.json",
"reportSha256": "30ffbbdb4139a682486e6fed482a8d8d8a88c287a38dfec8d814e38f4e70fc80",
"commandCount": 1113
},
"contextOnlyCommands": [
{
"id": "Import_ReadBREP",
"classification": "explicit-module-import-command",
"sourceEvidence": [
"src/Mod/Import/Gui/Command.cpp:173"
],
"runtimeExpectation": "not-registered-by-workbench-activation;requires-explicit-ImportGui-command-initialization",
"exactTask": "EX-FMT-01"
},
{
"id": "NaviCubeDraggableCmd",
"classification": "context-menu-lazy-command",
"sourceEvidence": [
"src/Gui/NaviCube.cpp:1370"
],
"runtimeExpectation": "registered-only-when-the-navigation-cube-context-menu-is-first-created",
"exactTask": "EX-UI-04"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,242 @@
{
"schemaVersion": 1,
"baseline": {
"freecadVersion": "1.1.1",
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
"profile": "desktop-xvfb-isolated-config"
},
"generatedBy": "./npmw run probe:freecad-gui-workflow",
"checkedBy": "./npmw run check:freecad-gui-workflow",
"family": {
"id": "partdesign-pad-task",
"primaryCommand": "PartDesign_Pad",
"exactTask": "EX-UI-03",
"source": ".cache/freecad/FreeCAD/src/Mod/PartDesign/Gui/Command.cpp"
},
"workflows": {
"success": {
"after": {
"acceptClicked": true,
"bodyGroup": [
"Sketch",
"Pad"
],
"bodyTip": "Pad",
"objectNames": [
"Body",
"Origin",
"X_Axis",
"Y_Axis",
"Z_Axis",
"XY_Plane",
"XZ_Plane",
"YZ_Plane",
"Origin001",
"Sketch",
"Pad"
],
"pad": {
"edgeCount": 12,
"faceCount": 6,
"length": 10,
"name": "Pad",
"profile": "Sketch",
"shapeValid": true,
"solidCount": 1,
"state": [
"Up-to-date"
],
"typeId": "PartDesign::Pad",
"vertexCount": 8,
"volume": 120
},
"redoCount": 0,
"redoNames": [],
"selection": [],
"undoCount": 1,
"undoNames": []
},
"baselineId": "freecad-1.1.1",
"before": {
"actionCount": 1,
"actionEnabled": true,
"activeWorkbench": "PartDesignWorkbench",
"bodyTip": "",
"commandActive": true,
"commandRegistered": true,
"objectNames": [
"Body",
"Origin",
"X_Axis",
"Y_Axis",
"Z_Axis",
"XY_Plane",
"XZ_Plane",
"YZ_Plane",
"Origin001",
"Sketch"
],
"selection": [
"Sketch"
],
"undoNames": []
},
"commandId": "PartDesign_Pad",
"freecadVersion": "1.1.1",
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
"schemaVersion": 1,
"state": "success",
"success": true,
"taskPanel": {
"closed": {
"activeDialog": false,
"buttons": [
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "newFileButton",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "",
"role": "direct-push-button",
"text": "Open First Start Setup"
},
{
"default": false,
"enabled": true,
"objectName": "",
"role": "direct-push-button",
"text": "5.24 mm x 4.14 mm"
},
{
"default": false,
"enabled": true,
"objectName": "notificationArea",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "NavigationIndicator",
"role": "direct-push-button",
"text": "CAD "
}
],
"fieldClasses": [
"Gui::WorkbenchComboBox",
"QCheckBox"
],
"fieldCount": 2,
"focus": {
"className": "Gui::TaskView::TaskView",
"objectName": "Tasks"
},
"inEdit": "",
"phase": "closed"
},
"opened": {
"activeDialog": true,
"buttons": [
{
"default": false,
"enabled": true,
"objectName": "",
"role": "direct-push-button",
"text": "Done"
},
{
"default": false,
"enabled": true,
"objectName": "",
"role": "direct-push-button",
"text": "5.24 mm x 4.14 mm"
},
{
"default": false,
"enabled": true,
"objectName": "notificationArea",
"role": "direct-push-button",
"text": ""
},
{
"default": false,
"enabled": true,
"objectName": "NavigationIndicator",
"role": "direct-push-button",
"text": "CAD "
}
],
"fieldClasses": [
"Gui::WorkbenchComboBox",
"QComboBox"
],
"fieldCount": 4,
"focus": {
"className": "Gui::PrefQuantitySpinBox",
"objectName": "lengthEdit"
},
"inEdit": "Pad",
"phase": "opened"
},
"preview": {
"bodyTip": "Pad",
"length": 10,
"name": "Pad",
"profile": "Sketch",
"shapeValid": true,
"solidCount": 1,
"typeId": "PartDesign::Pad",
"volume": 120
}
},
"workflowId": "partdesign-pad-task"
}
},
"remainingStates": [
"disabled",
"failure",
"cancel",
"recovery"
],
"exactPromotionReady": false
}

View File

@@ -0,0 +1,110 @@
{
"schemaVersion": 1,
"baseline": {
"freecadVersion": "1.1.1",
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
},
"selectedAt": "2026-08-14",
"family": {
"id": "partdesign-pad-task",
"title": "Part Design Pad task lifecycle",
"workbench": "PartDesignWorkbench",
"primaryCommand": "PartDesign_Pad",
"commandIds": [
"PartDesign_Pad"
],
"primaryExactTask": "EX-UI-03",
"relatedExactTasks": [
"EX-ORA-01",
"EX-PD-01"
],
"selectionReason": "Pad is a P0 profile feature with existing native geometry, failure, history, naming and FCStd evidence. Its GUI command is document-sensitive, opens a parameter Task panel, supports preview and cancel, and can exercise success, disabled, failure and recovery without introducing a new workbench scope."
},
"sensitivityEvidence": {
"source": "config/freecad-gui-command-inventory.json",
"commandId": "PartDesign_Pad",
"documentSensitive": true,
"selectionSensitive": false,
"cases": {
"noDocument": [
false
],
"documentNoSelection": [
true
],
"selectedPartBox": [
true
]
}
},
"stateRecipes": {
"success": {
"setup": "Create a document, Body and closed rectangular Sketch; select the Sketch and invoke PartDesign_Pad.",
"action": "Set Length to 10 mm and accept the Task.",
"expected": "A Pad is committed as Body Tip, the transaction is undoable and the document recomputes valid."
},
"disabled": {
"setup": "Start the Part Design workbench with no active document.",
"action": "Query PartDesign_Pad command state without invoking it.",
"expected": "The command is inactive and no document, Task or transaction is created."
},
"failure": {
"setup": "Create an active Body with an invalid open-wire Sketch selected.",
"action": "Invoke PartDesign_Pad and attempt to accept the Task.",
"expected": "The native diagnostic is captured, no invalid Pad is committed and the last valid document state is retained."
},
"cancel": {
"setup": "Create an active Body with a valid closed Sketch and open PartDesign_Pad.",
"action": "Change Length, observe preview, then cancel the Task.",
"expected": "Preview state is discarded, no Pad is committed and selection, active Body and focus return to their pre-command state."
},
"recovery": {
"setup": "Continue from the failed or cancelled Pad workflow in the same document.",
"action": "Repair the profile or reopen Pad, enter a valid Length and accept; then undo and redo once.",
"expected": "The valid Pad is committed, Body Tip and Shape recover, undo/redo are stable and save-reopen preserves the result."
}
},
"progress": [
{
"taskId": "ORA-GUI-WF-000",
"status": "completed",
"evidence": [
"config/freecad-gui-workflow-plan.json",
"config/freecad-gui-command-inventory.json"
]
},
{
"taskId": "ORA-GUI-WF-001",
"status": "completed",
"evidence": [
"config/freecad-gui-workflow-oracle.json",
"scripts/check-freecad-gui-workflow-oracle.mjs"
]
},
{
"taskId": "ORA-GUI-WF-002",
"status": "in_progress",
"evidence": []
},
{
"taskId": "ORA-GUI-WF-003",
"status": "pending",
"evidence": []
},
{
"taskId": "ORA-GUI-WF-004",
"status": "pending",
"evidence": []
},
{
"taskId": "ORA-GUI-WF-005",
"status": "pending",
"evidence": []
},
{
"taskId": "ORA-GUI-WF-006",
"status": "pending",
"evidence": []
}
]
}

View File

@@ -7,8 +7,8 @@
},
"source": {
"path": ".cache/freecad/reference-desktop.json",
"bytes": 4030859,
"sha256": "995b495cd287cb43bed3d6a7cb69ae1f36d021a331ddf7c418304ece023e911e"
"bytes": 4699380,
"sha256": "30ffbbdb4139a682486e6fed482a8d8d8a88c287a38dfec8d814e38f4e70fc80"
},
"runtime": {
"registeredObjectTypes": 352,
@@ -37,16 +37,16 @@
},
"supportSummary": {
"native-editable-codec": {
"typeCount": 18,
"recordCount": 4135
"typeCount": 22,
"recordCount": 4304
},
"native-specialized-codec": {
"typeCount": 5,
"recordCount": 683
},
"opaque-fcstd-proxy": {
"typeCount": 62,
"recordCount": 692
"typeCount": 58,
"recordCount": 523
}
},
"types": [
@@ -195,7 +195,7 @@
},
{
"typeId": "App::PropertyFloatConstraint",
"support": "opaque-fcstd-proxy",
"support": "native-editable-codec",
"recordCount": 80,
"objectTypeCount": 64,
"statusNames": [
@@ -299,7 +299,7 @@
},
{
"typeId": "App::PropertyLinkHidden",
"support": "opaque-fcstd-proxy",
"support": "native-editable-codec",
"recordCount": 63,
"objectTypeCount": 63,
"statusNames": [
@@ -462,7 +462,7 @@
},
{
"typeId": "App::PropertyPrecision",
"support": "opaque-fcstd-proxy",
"support": "native-editable-codec",
"recordCount": 14,
"objectTypeCount": 6,
"statusNames": []
@@ -495,7 +495,7 @@
},
{
"typeId": "App::PropertyQuantityConstraint",
"support": "opaque-fcstd-proxy",
"support": "native-editable-codec",
"recordCount": 12,
"objectTypeCount": 7,
"statusNames": [
@@ -880,9 +880,11 @@
"behaviorNative": [
"Hidden",
"Immutable",
"LockDynamic",
"NoModify",
"Ordered",
"Output",
"PartialTrigger",
"PropHidden",
"PropNoPersist",
"PropNoRecompute",
@@ -892,21 +894,18 @@
"ReadOnly",
"Transient"
],
"preservedOnly": [
"LockDynamic",
"PartialTrigger"
],
"preservedOnlyRecordCount": 70,
"preservedOnly": [],
"preservedOnlyRecordCount": 0,
"proxyOnly": [],
"proxyOnlyRecordCount": 0,
"unknownNumericBits": []
},
"harness": {
"path": "scripts/run-freecad-native-property-semantics.mjs",
"bytes": 5949,
"sha256": "fb7fb74e4979b284e7a0f637d820bd183cea8e5cfb1348fd1730a891ac1306a2"
"bytes": 6166,
"sha256": "f6fcab14a46c9e7597f10808b31eb10cd5196bd90144c5b6a7a50e6993a1c3f6"
},
"exactPromotionReady": false,
"exactBlocker": "complete native document and property semantics",
"generatedAt": "2026-08-14T15:36:12.139Z"
"exactBlocker": "58 runtime property types and 523 records remain opaque-only; complete native document and property semantics",
"generatedAt": "2026-08-14T22:37:52.376Z"
}

View File

@@ -0,0 +1,233 @@
{
"schemaVersion": 1,
"baseline": {
"freecadVersion": "1.1.1",
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
},
"notBuiltModules": [
{
"name": "Cloud",
"buildOption": "BUILD_CLOUD",
"decision": "proxy",
"exactTask": "EX-PROXY-01",
"sourceEvidence": ["src/Mod/Cloud/CMakeLists.txt"],
"boundary": "Desktop network behavior is excluded; cloud payloads remain explicit resources without ambient network authority."
},
{
"name": "JtReader",
"buildOption": "BUILD_JTREADER",
"decision": "proxy",
"exactTask": "EX-FMT-04",
"sourceEvidence": ["src/Mod/JtReader/CMakeLists.txt"],
"boundary": "JT stays a lossless proxy resource until a licensed browser decoder has native differential evidence."
},
{
"name": "Sandbox",
"buildOption": "BUILD_SANDBOX",
"decision": "browser-reimplementation",
"exactTask": "EX-SCRIPT-01",
"sourceEvidence": ["src/Mod/Sandbox/CMakeLists.txt"],
"boundary": "The desktop developer sandbox is replaced by the capability-secure Facade script boundary."
},
{
"name": "TemplatePyMod",
"buildOption": "source-template-only",
"decision": "source-template",
"exactTask": "EX-SCRIPT-01",
"sourceEvidence": ["src/Mod/TemplatePyMod/CMakeLists.txt"],
"boundary": "The upstream template is source-only and is covered by the versioned Python/addon compatibility contract."
}
],
"sourceOnlyCommands": [
{
"id": "Arch_Floor",
"sourceModules": ["BIM"],
"classification": "legacy-lazy-command",
"sourceEvidence": ["src/Mod/BIM/ArchFloor.py"],
"runtimeExpectation": "registered-only-when-the-legacy-ArchFloor-module-is-imported",
"exactTask": "EX-BIM-01"
},
{
"id": "Arch_RebarTools",
"sourceModules": ["BIM"],
"classification": "optional-addon-command-group",
"sourceEvidence": ["src/Mod/BIM/InitGui.py"],
"runtimeExpectation": "registered-only-when-the-external-RebarTools-addon-imports-successfully",
"exactTask": "EX-ADDON-01"
},
{
"id": "CAM_%s",
"sourceModules": ["CAM"],
"classification": "dynamic-command-template",
"sourceEvidence": ["src/Mod/CAM/Path/Op/Gui/Base.py"],
"runtimeExpectation": "the-literal-template-must-not-register;-expanded-CAM-operation-commands-are-inventoried-separately",
"exactTask": "EX-CAM-01"
},
{
"id": "CAM_3dTools",
"sourceModules": ["CAM"],
"classification": "optional-preference-command-group",
"sourceEvidence": ["src/Mod/CAM/InitGui.py"],
"runtimeExpectation": "registered-only-when-advanced-OCL-features-are-enabled-and-the-OCL-import-succeeds",
"exactTask": "EX-CAM-01"
},
{
"id": "CAM_Camotics",
"sourceModules": ["CAM"],
"classification": "optional-executable-command",
"sourceEvidence": ["src/Mod/CAM/InitGui.py", "src/Mod/CAM/Path/Main/Gui/Camotics.py"],
"runtimeExpectation": "loaded-only-for-the-advanced-OCL-CAMotics-path-with-a-compatible-host-executable",
"exactTask": "EX-CAM-01"
},
{
"id": "CAM_Copy",
"sourceModules": ["CAM"],
"classification": "legacy-lazy-command",
"sourceEvidence": ["src/Mod/CAM/InitGui.py", "src/Mod/CAM/Path/Op/Gui/Copy.py"],
"runtimeExpectation": "the-default-workbench-uses-CAM_OperationCopy;CAM_Copy-registers-only-after-its-legacy-module-import",
"exactTask": "EX-CAM-01"
},
{
"id": "CAM_DrillingTools",
"sourceModules": ["CAM"],
"classification": "optional-preference-command-group",
"sourceEvidence": ["src/Mod/CAM/InitGui.py"],
"runtimeExpectation": "registered-only-when-experimental-features-add-CAM_Tapping-to-the-drilling-group",
"exactTask": "EX-CAM-01"
},
{
"id": "Draft_Hyperlink",
"sourceModules": ["Draft"],
"classification": "context-lazy-command",
"sourceEvidence": ["src/Mod/Draft/InitGui.py", "src/Mod/Draft/draftguitools/gui_hyperlink.py"],
"runtimeExpectation": "registered-only-after-a-text-object-context-menu-lazily-imports-the-hyperlink-module",
"exactTask": "EX-DRAFT-01"
},
{
"id": "TemplatePyCheckable",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyGroup",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyGrp_1",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyGrp_2",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyGrp_3",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd1",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd2",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd3",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd4",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd5",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
},
{
"id": "TemplatePyMod_Cmd6",
"sourceModules": ["TemplatePyMod"],
"classification": "source-template-command",
"sourceEvidence": ["src/Mod/TemplatePyMod/Commands.py", "src/Mod/TemplatePyMod/InitGui.py"],
"runtimeExpectation": "not-registered-because-TemplatePyMod-is-a-source-only-development-template",
"exactTask": "EX-SCRIPT-01"
}
],
"sourceOnlyTypeIds": [
{
"typeId": "App::DocumentObjectExtension",
"classification": "non-instantiable-extension-type",
"sourceEvidence": ["src/Mod/Test/Document.py"],
"runtimeExpectation": "must-reject-document-object-creation"
},
{
"typeId": "Assembly::Product",
"classification": "legacy-importer-type",
"sourceEvidence": ["src/Mod/Import/App/PlmXmlParser.py"],
"runtimeExpectation": "not-registered-by-locked-assembly-module"
},
{
"typeId": "Assembly::ProductRef",
"classification": "legacy-importer-type",
"sourceEvidence": ["src/Mod/Import/App/PlmXmlParser.py"],
"runtimeExpectation": "not-registered-by-locked-assembly-module"
},
{
"typeId": "Part::SketchObject",
"classification": "commented-test-reference",
"sourceEvidence": ["src/Mod/Part/TestPartGui.py"],
"runtimeExpectation": "not-a-runtime-type"
},
{
"typeId": "PartDesign::Additive",
"classification": "generated-type-prefix",
"sourceEvidence": ["src/Mod/PartDesign/Gui/CommandPrimitive.cpp"],
"runtimeExpectation": "prefix-only-additive-primitive-types-are-registered"
},
{
"typeId": "PartDesign::SketchObject",
"classification": "commented-test-reference",
"sourceEvidence": ["src/Mod/PartDesign/TestPartDesignGui.py"],
"runtimeExpectation": "not-a-runtime-type"
}
]
}

View File

@@ -167,6 +167,12 @@
],
"fcstd": {
"reopened": {
"codecValues": {
"FloatConstraint": 0.25,
"HiddenLink": "Target",
"Precision": 0.001,
"QuantityConstraint": 12.5
},
"properties": [
"Persisted",
"RuntimeTransient",
@@ -193,8 +199,12 @@
}
},
"xml": {
"floatConstraintNative": true,
"hiddenLinkNative": true,
"noPersistProperty": false,
"persistedProperty": true,
"precisionNative": true,
"quantityConstraintNative": true,
"runtimeTransientHasValue": false,
"runtimeTransientProperty": true,
"typeTransientHasValue": false,
@@ -211,13 +221,83 @@
"type": "RuntimeError"
}
},
"mutableRenameAndRemove": true,
"observerEvents": [
{
"object": "Feature",
"property": "MutableValue",
"type": "property.added"
},
{
"name": "dynamic-property-mutation",
"type": "transaction.opened"
},
{
"object": "Feature",
"property": "MutableValue",
"type": "property.before-change"
},
{
"object": "Feature",
"property": "MutableValue",
"type": "property.changed"
},
{
"object": "Feature",
"property": "RenamedValue",
"type": "property.removed"
},
{
"type": "transaction.committed"
}
],
"propertyStillPresent": true,
"renamedPropertyPresent": false,
"reportedStatus": [
"LockDynamic",
"21"
]
],
"undoAvailable": true
},
"schemaVersion": 1,
"partialTrigger": {
"observerEvents": [
{
"object": "Binder",
"property": "PartialLoad",
"type": "property.before-change"
},
{
"name": "partial-trigger-mutation",
"type": "transaction.opened"
},
{
"object": "Binder",
"property": "PartialLoad",
"type": "property.changed"
},
{
"object": "Binder",
"property": "Shape",
"type": "property.changed"
},
{
"type": "transaction.committed"
}
],
"recomputeCount": 1,
"reportedStatus": [
"PartialTrigger"
],
"state": {
"documentTouched": false,
"mustExecute": false,
"state": [
"Up-to-date"
]
},
"undoAvailable": true,
"value": true
},
"schemaVersion": 2,
"status": "pass"
}

View File

@@ -0,0 +1,764 @@
{
"baselineId": "freecad-1.1.1-tsn-stage-correlation",
"exactCorrelationReady": false,
"freecadVersion": "1.1.1",
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
"harness": {
"bytes": 15851,
"path": "scripts/freecad-tsn-stage-correlation-oracle.py",
"sha256": "051d4b048801315de7ffe15d327ed2a61a136a8e4eb9570aa142e4cc07ad0055"
},
"mutations": [
{
"beforeParameter": 2,
"beforeTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"27ce709aac9ef81f00cbabe811ce71109a4d28b2bc70781692a1786f51d2d086",
"5f02884f9407c2c2cf1f6ad556796dab596a99fc89683c46ed0c9c06f5eaa3b6",
"0c4c788ee72519d174464d55a7432d148296f2b10ef2be6d474bdd15fed39cb4"
],
"downstreamShapeChanged": true,
"editedParameter": 2.5,
"editedTopologyDigests": [
"532c5e728dba7ca5efdd5af2339775d37cf7ad09572025eb8d02dbdb29ba4769",
"e86384c9bed306a1888640149d37044815c96cd35c8adfb68fb3f922c3f143a1",
"a39fadeaddb58af242c3144ffe2ada12e37ddad9453872683a98ee83bc98cdeb",
"3fb6cbd5903dfa65a79539b97cee4292eb791fc83e5eeadc16b2f9d25d6505df",
"376fe3fbd5d581b6c666aad7b4e5c9e383bc85ab806c46d2eaaa80fe675c23e7"
],
"featureName": "CutStage",
"operation": "cut",
"parameterChanged": true,
"propertyPath": "Length",
"restoreTopologyDriftStages": 3,
"restoredExactly": true,
"restoredGeometrically": true,
"restoredParameter": 2,
"restoredTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"3bf9c75c96da8b060cddb6acc9d8328fc7c4873298a02f97e53ca295958687fa",
"eca37e791bcbd7f6f4d946a98035adb91d50c56ed257c4af409a6b3032c3434a"
],
"restoredTopologyExactly": false,
"status": "pass",
"typeId": "PartDesign::Pocket"
},
{
"beforeParameter": 15,
"beforeTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"3bf9c75c96da8b060cddb6acc9d8328fc7c4873298a02f97e53ca295958687fa",
"eca37e791bcbd7f6f4d946a98035adb91d50c56ed257c4af409a6b3032c3434a"
],
"downstreamShapeChanged": true,
"editedParameter": 22.5,
"editedTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"featureName": "RotateStage",
"operation": "rotate",
"parameterChanged": true,
"propertyPath": "Angle",
"restoreTopologyDriftStages": 2,
"restoredExactly": true,
"restoredGeometrically": true,
"restoredParameter": 15,
"restoredTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"restoredTopologyExactly": false,
"status": "pass",
"typeId": "PartDesign::Feature"
},
{
"beforeParameter": 0.2,
"beforeTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"downstreamShapeChanged": true,
"editedParameter": 0.35,
"editedTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"featureName": "FilletStage",
"operation": "fillet",
"parameterChanged": true,
"propertyPath": "Radius",
"restoreTopologyDriftStages": 0,
"restoredExactly": true,
"restoredGeometrically": true,
"restoredParameter": 0.2,
"restoredTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"restoredTopologyExactly": true,
"status": "pass",
"typeId": "PartDesign::Fillet"
},
{
"beforeParameter": [
1,
0,
0
],
"beforeTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"downstreamShapeChanged": true,
"editedParameter": [
0,
0,
1
],
"editedTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"featureName": "MirroredStage",
"operation": "mirrored",
"parameterChanged": true,
"propertyPath": "PlaneNormal",
"restoreTopologyDriftStages": 0,
"restoredExactly": true,
"restoredGeometrically": true,
"restoredParameter": [
1,
0,
0
],
"restoredTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"restoredTopologyExactly": true,
"status": "pass",
"typeId": "PartDesign::Feature"
},
{
"beforeParameter": 2,
"beforeTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"downstreamShapeChanged": true,
"editedParameter": 3,
"editedTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"9bc91dea322c2bf63a7c27a765cb3081bd2d2c7627c83b870a53d973e9266bc6"
],
"featureName": "LinearPatternStage",
"operation": "linear-pattern",
"parameterChanged": true,
"propertyPath": "Occurrences",
"restoreTopologyDriftStages": 0,
"restoredExactly": true,
"restoredGeometrically": true,
"restoredParameter": 2,
"restoredTopologyDigests": [
"e5f9cf776ddc1289887018d55af7031b7e06f2f957cf9f8f14d2df4eae3864c2",
"54909d11a0a2c03e01c5c3d1dbfe534481f0efe9cd276efafdf4803213f16578",
"d707245f8805cc7393d782837b824734cf3c45056bccb15226dbc72bd7ca169b",
"014dbe05990637566dfb1c65cc942fc1bea2ce5ad19faa667ae1fa6014082472",
"a6cbc1de1003fc26ace333e9b04db01d3bd23a1075c8314a6036401f16e43bfa"
],
"restoredTopologyExactly": true,
"status": "pass",
"typeId": "PartDesign::Feature"
}
],
"nativeDesktopResaveCovered": true,
"operations": [
"cut",
"rotate",
"fillet",
"mirrored",
"linear-pattern"
],
"reopenedStages": [
{
"historyRelations": 102,
"historySources": [
"Base",
"CutStage",
"PocketSketch"
],
"mappedNameCount": 51,
"mappedNameDigest": "d81d46fb00e09fa055ee42530b484f4483e24e89f459e91c0e160a33bb3072f3",
"name": "CutStage",
"nativeBuilder": true,
"operation": "cut",
"shape": {
"area": 672,
"bounds": [
0,
0,
0,
20,
10,
4
],
"brepSha256": "335892b4ac3ea50c7344e4831ca9e2968146130f365acd14c2955d4a5764a746",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999999
},
"status": "Valid",
"typeId": "PartDesign::Pocket"
},
{
"historyRelations": 153,
"historySources": [
"Base",
"CutStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 51,
"mappedNameDigest": "672be1f75cb3f4c636751c511b2622474fa6968101b70c6f1f00e9f69c2d7a0b",
"name": "RotateStage",
"nativeBuilder": false,
"operation": "rotate",
"shape": {
"area": 671.9999999999998,
"bounds": [
-0.953353488403289,
-2.417819582470549,
0,
20.953353488403284,
12.417819582470553,
4
],
"brepSha256": "5691e5ab95001b9f54f5cd6e5ffc2b0150e24d600b0a57cc0db0ac5deb7bc52d",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999998
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 228,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "1b534b25e27970b232f867e64d77f6864878dfd7fccfc93b233e21d779b978ed",
"name": "FilletStage",
"nativeBuilder": true,
"operation": "fillet",
"shape": {
"area": 671.6394689145077,
"bounds": [
-0.953353488403289,
-2.372870608192231,
0,
20.953353488403284,
12.417819582470553,
4
],
"brepSha256": "3c0ffd6d586a2d709f1d3ec8239a1ad9617654fe60d967059db73fb6e0ca555d",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061432
},
"status": "Valid",
"typeId": "PartDesign::Fillet"
},
{
"historyRelations": 285,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "71c33cac052826ca3f8533de7cf0eee8f27393b6b88ca82c9516c1320ec74fe2",
"name": "MirroredStage",
"nativeBuilder": false,
"operation": "mirrored",
"shape": {
"area": 671.6394689145077,
"bounds": [
-20.953353488403287,
-2.3728706081922324,
0,
0.9533534884032838,
12.417819582470546,
4
],
"brepSha256": "d500b394fe084474934ab604ecd0c35525dc4ee2f213cfe2c0b52140ca8bcf17",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061435
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 456,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"LinearPatternStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 114,
"mappedNameDigest": "dddc8d0ec7b438ea429789c7332a361d749353443b65ce4f8cda169829174d27",
"name": "LinearPatternStage",
"nativeBuilder": false,
"operation": "linear-pattern",
"shape": {
"area": 1343.2789378290156,
"bounds": [
-20.953353488403287,
-2.3728706081922324,
0,
24.953353488403284,
12.417819582470546,
4
],
"brepSha256": "19819712984960022d9329b54f338f97d3d40dd30f0429b7b5f58ab517bf46a7",
"edges": 54,
"faces": 24,
"solids": 2,
"valid": true,
"vertices": 36,
"volume": 1535.9313274122867
},
"status": "Valid",
"typeId": "PartDesign::Feature"
}
],
"resavedStages": [
{
"historyRelations": 102,
"historySources": [
"Base",
"CutStage",
"PocketSketch"
],
"mappedNameCount": 51,
"mappedNameDigest": "d81d46fb00e09fa055ee42530b484f4483e24e89f459e91c0e160a33bb3072f3",
"name": "CutStage",
"nativeBuilder": true,
"operation": "cut",
"shape": {
"area": 672,
"bounds": [
0,
0,
0,
20,
10,
4
],
"brepSha256": "335892b4ac3ea50c7344e4831ca9e2968146130f365acd14c2955d4a5764a746",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999999
},
"status": "Valid",
"typeId": "PartDesign::Pocket"
},
{
"historyRelations": 153,
"historySources": [
"Base",
"CutStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 51,
"mappedNameDigest": "672be1f75cb3f4c636751c511b2622474fa6968101b70c6f1f00e9f69c2d7a0b",
"name": "RotateStage",
"nativeBuilder": false,
"operation": "rotate",
"shape": {
"area": 671.9999999999998,
"bounds": [
-0.953353488403289,
-2.417819582470549,
0,
20.953353488403284,
12.417819582470553,
4
],
"brepSha256": "5691e5ab95001b9f54f5cd6e5ffc2b0150e24d600b0a57cc0db0ac5deb7bc52d",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999998
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 228,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "1b534b25e27970b232f867e64d77f6864878dfd7fccfc93b233e21d779b978ed",
"name": "FilletStage",
"nativeBuilder": true,
"operation": "fillet",
"shape": {
"area": 671.6394689145077,
"bounds": [
-0.953353488403289,
-2.372870608192231,
0,
20.953353488403284,
12.417819582470553,
4
],
"brepSha256": "3c0ffd6d586a2d709f1d3ec8239a1ad9617654fe60d967059db73fb6e0ca555d",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061432
},
"status": "Valid",
"typeId": "PartDesign::Fillet"
},
{
"historyRelations": 285,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "71c33cac052826ca3f8533de7cf0eee8f27393b6b88ca82c9516c1320ec74fe2",
"name": "MirroredStage",
"nativeBuilder": false,
"operation": "mirrored",
"shape": {
"area": 671.6394689145077,
"bounds": [
-20.953353488403287,
-2.3728706081922324,
0,
0.9533534884032838,
12.417819582470546,
4
],
"brepSha256": "9b374288076f597adf12a73dc7f8301a4e397b5029d467aec8f297a73d96f768",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061435
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 456,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"LinearPatternStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 114,
"mappedNameDigest": "dddc8d0ec7b438ea429789c7332a361d749353443b65ce4f8cda169829174d27",
"name": "LinearPatternStage",
"nativeBuilder": false,
"operation": "linear-pattern",
"shape": {
"area": 1343.2789378290156,
"bounds": [
-20.953353488403287,
-2.3728706081922324,
0,
24.953353488403284,
12.417819582470546,
4
],
"brepSha256": "5749cad550f0f992c68ddefc5b48f6a5e92b8d77e173ccbf69cde5ef1b50762f",
"edges": 54,
"faces": 24,
"solids": 2,
"valid": true,
"vertices": 36,
"volume": 1535.9313274122867
},
"status": "Valid",
"typeId": "PartDesign::Feature"
}
],
"schemaVersion": 1,
"stages": [
{
"historyRelations": 102,
"historySources": [
"Base",
"CutStage",
"PocketSketch"
],
"mappedNameCount": 51,
"mappedNameDigest": "d81d46fb00e09fa055ee42530b484f4483e24e89f459e91c0e160a33bb3072f3",
"name": "CutStage",
"nativeBuilder": true,
"operation": "cut",
"shape": {
"area": 672,
"bounds": [
0,
0,
0,
20,
10,
4
],
"brepSha256": "8f2d397cb59d321e5739ba0b03bd64260fdd84045dd15686de80c4444c535505",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999999
},
"status": "Valid",
"typeId": "PartDesign::Pocket"
},
{
"historyRelations": 153,
"historySources": [
"Base",
"CutStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 51,
"mappedNameDigest": "672be1f75cb3f4c636751c511b2622474fa6968101b70c6f1f00e9f69c2d7a0b",
"name": "RotateStage",
"nativeBuilder": false,
"operation": "rotate",
"shape": {
"area": 672,
"bounds": [
-0.9533534884032862,
-2.417819582470549,
0,
20.953353488403287,
12.41781958247055,
4
],
"brepSha256": "4755383c92aa47477f9ecc5148a14518206815805144857a090ddc38e5469b97",
"edges": 24,
"faces": 11,
"solids": 1,
"valid": true,
"vertices": 16,
"volume": 767.9999999999999
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 228,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "1b534b25e27970b232f867e64d77f6864878dfd7fccfc93b233e21d779b978ed",
"name": "FilletStage",
"nativeBuilder": true,
"operation": "fillet",
"shape": {
"area": 671.6394689145077,
"bounds": [
-0.9533534884032862,
-2.372870608192231,
0,
20.953353488403287,
12.41781958247055,
4
],
"brepSha256": "b9e7ad2dbe16102b831a1cd2371c598ce5abe1c21ffd51407beed33665ba9923",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061437
},
"status": "Valid",
"typeId": "PartDesign::Fillet"
},
{
"historyRelations": 285,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 57,
"mappedNameDigest": "71c33cac052826ca3f8533de7cf0eee8f27393b6b88ca82c9516c1320ec74fe2",
"name": "MirroredStage",
"nativeBuilder": false,
"operation": "mirrored",
"shape": {
"area": 671.639468914508,
"bounds": [
-20.953353488403287,
-2.3728706081922315,
0,
0.9533534884032864,
12.417819582470552,
4
],
"brepSha256": "68c7026fbd830f1249fb23ca3fba785d10b290478b12fd1255796887e576d301",
"edges": 27,
"faces": 12,
"solids": 1,
"valid": true,
"vertices": 18,
"volume": 767.9656637061439
},
"status": "Valid",
"typeId": "PartDesign::Feature"
},
{
"historyRelations": 456,
"historySources": [
"Base",
"CutStage",
"FilletStage",
"LinearPatternStage",
"MirroredStage",
"PocketSketch",
"RotateStage"
],
"mappedNameCount": 114,
"mappedNameDigest": "dddc8d0ec7b438ea429789c7332a361d749353443b65ce4f8cda169829174d27",
"name": "LinearPatternStage",
"nativeBuilder": false,
"operation": "linear-pattern",
"shape": {
"area": 1343.278937829016,
"bounds": [
-20.953353488403287,
-2.3728706081922315,
0,
24.953353488403287,
12.417819582470552,
4
],
"brepSha256": "9207500ce3fae12e57cb3a9c04537bc4bf1dbd7b4eb10bf5ad01aa7a71c62821",
"edges": 54,
"faces": 24,
"solids": 2,
"valid": true,
"vertices": 36,
"volume": 1535.9313274122874
},
"status": "Valid",
"typeId": "PartDesign::Feature"
}
],
"status": "pass",
"summary": {
"mutationCases": 5,
"mutationPassed": 5,
"mutationRestoreTopologyDriftCases": 2,
"mutationRestoreTopologyDriftStages": 5,
"nativeBuilderStages": 2,
"proxyStages": 3,
"resaveNameDrift": 0,
"roundtripNameDrift": 0,
"stages": 5,
"unexplainedRelations": 0,
"wrongBindings": 0
}
}

View File

@@ -20,7 +20,7 @@
"id": "EX01",
"title": "Exhaustive FreeCAD oracle and optional dependency baseline",
"tasks": [
{ "id": "EX-ORA-01", "title": "Capture exhaustive runtime objects, properties, commands and GUI states", "priority": "P0", "status": "in_progress", "dependencies": [], "deliverables": ["Runtime oracle for every registered TypeId and command", "Success, failure, disabled and cancel fixtures", "Source-to-runtime trace"], "acceptance": ["All inventory candidates are promoted or explicitly excluded", "No command or property has an unknown runtime state"], "evidence": ["check:freecad-inventory", "check:freecad-type-properties", "check:freecad-gui-commands", "check:freecad-oracle-coverage"], "exactBlockedBy": ["Static candidates and GUI-only states are not exhaustively runtime-probed"] },
{ "id": "EX-ORA-01", "title": "Capture exhaustive runtime objects, properties, commands and GUI states", "priority": "P0", "status": "in_progress", "dependencies": [], "deliverables": ["Runtime oracle for every registered TypeId and command", "Success, failure, disabled and cancel fixtures", "Source-to-runtime trace"], "acceptance": ["All inventory candidates are promoted or explicitly excluded", "No command or property has an unknown runtime state"], "evidence": ["check:freecad-inventory", "check:freecad-type-properties", "check:freecad-gui-commands", "check:freecad-oracle-coverage", "check:freecad-gui-workflow"], "exactBlockedBy": ["The isolated desktop oracle covers 1111 workbench-startup commands in 100 fail-closed shards, 19 source-only commands and 2 context-only commands; the PartDesign Pad success Task workflow is captured, while disabled, failure, cancel, recovery and the remaining command-family workflows are still open"] },
{ "id": "EX-ORA-02", "title": "Expand geometry, history and FCStd golden corpus to every feature family", "priority": "P0", "status": "in_progress", "dependencies": ["EX-ORA-01"], "deliverables": ["Parameterized success and failure corpus", "Native Shape, history, ElementMap2 and StringHasher evidence", "FreeCAD save-reopen-resave evidence"], "acceptance": ["Every editable feature family has boundary and mutation fixtures", "Unknown semantic differences are zero"], "evidence": ["check:freecad-golden-fixtures", "check:freecad-composite-history-elementmap", "check:freecad-golden-coverage", "check:freecad-parameter-mutations", "check:freecad-partdesign-failures", "check:freecad-partdesign-revolution-groove", "check:freecad-partdesign-transform", "check:freecad-part-builders"], "exactBlockedBy": ["Parameter mutation matrix is fail-closed until every family has explicit edit/recompute/recovery and round-trip evidence"] },
{ "id": "EX-ORA-03", "title": "Lock all optional libraries, platform capabilities and license boundaries", "priority": "P1", "status": "pending", "dependencies": ["EX-ORA-01"], "deliverables": ["Optional dependency manifest", "Browser, sidecar or proxy decision per dependency", "Reproducible hashes and licenses"], "acceptance": ["Every optional FreeCAD capability has one executable strategy", "No undeclared host-only dependency affects a claim"], "evidence": ["check:baseline", "check:sbom"], "exactBlockedBy": ["Several desktop-only optional libraries remain proxy or sidecar capabilities"] }
]
@@ -34,14 +34,14 @@
{ "id": "EX-TSN-01", "title": "Capture native stage Shape and Generated/Modified/Deleted for every builder", "priority": "P0", "status": "completed", "dependencies": ["EX-KER-01", "EX-TSN-00"], "deliverables": ["All builder-stage captures", "Multi-input and one-to-many lineage", "Local feature recompute history"], "acceptance": ["Every feature result relation has a producing native stage", "No final-result index is applied to an intermediate Shape"], "evidence": ["check:freecad-composite-history-elementmap", "check:freecad-tsn-stage-evidence"], "exactBlockedBy": [] },
{ "id": "EX-TSN-02", "title": "Expose native MappedNameRef and StringHasher decisions for every feature", "priority": "P0", "status": "completed", "dependencies": ["EX-TSN-01"], "deliverables": ["Native naming callback ABI", "Per-stage StringHasher evidence", "Lossless ElementMap2 token generation"], "acceptance": ["All new tokens originate in native evidence", "FreeCAD round-trip names remain byte and semantic stable"], "evidence": ["check:freecad-native-naming-evidence", "check:freecad-sketcher-partdesign-abi", "check:freecad-naming-sdk", "check:freecad-naming-production", "check:chrome-freecad-naming-production", "check:freecad-private-naming-boundary", "check:occt-history-artifact"], "exactBlockedBy": [] },
{ "id": "EX-TSN-03", "title": "Resolve isomorphic topology only from unique native provenance", "priority": "P0", "status": "completed", "dependencies": ["EX-TSN-01", "EX-TSN-02"], "deliverables": ["Symmetric Boolean corpus", "Candidate provenance graph", "Ambiguity repair lifecycle"], "acceptance": ["Unique native sources resolve deterministically", "Non-unique sources remain ambiguous across save, undo and recompute"], "evidence": ["test:topology-replay", "test:facade", "check:freecad-isomorphic-provenance", "check:freecad-naming-production", "check:chrome-freecad-naming-production", "check:freecad-exact-history-elementmap-gate"], "exactBlockedBy": [] },
{ "id": "EX-TSN-04", "title": "Close topology naming across all feature edits and FCStd round-trips", "priority": "P0", "status": "in_progress", "dependencies": ["EX-TSN-02", "EX-TSN-03"], "deliverables": ["Cross-feature mutation matrix", "ElementMap2 history migration", "Long-chain LinkSub stability report"], "acceptance": ["Wrong bindings, unexplained relations and name drift are zero for the exhaustive corpus"], "evidence": ["check:freecad-isomorphic-provenance", "check:freecad-composite-history-elementmap", "check:freecad-fcstd-roundtrip", "check:freecad-exact-history-elementmap-gate"], "exactBlockedBy": ["The 30-case native save-reopen-resave corpus now has zero mapped-name drift, but the exhaustive cross-feature transition matrix and production-chain desktop resave correlation remain incomplete"] }
{ "id": "EX-TSN-04", "title": "Close topology naming across all feature edits and FCStd round-trips", "priority": "P0", "status": "in_progress", "dependencies": ["EX-TSN-02", "EX-TSN-03"], "deliverables": ["Cross-feature mutation matrix", "ElementMap2 history migration", "Long-chain LinkSub stability report"], "acceptance": ["Wrong bindings, unexplained relations and name drift are zero for the exhaustive corpus"], "evidence": ["check:freecad-isomorphic-provenance", "check:freecad-composite-history-elementmap", "check:freecad-tsn-stage-correlation", "check:freecad-fcstd-roundtrip", "check:freecad-exact-history-elementmap-gate"], "exactBlockedBy": ["The locked 30-case corpus now passes 30/30 native property mutations, final-shape propagation and 219/219 geometry-stage restores, but 11 PartDesign cases evolve 28 recovered naming-stage digests; the five-stage chain still has 3/5 generic Shape proxies, no rotate mutation family, 5 semantic topology restore drifts, and only 4/361 ordered operation pairs classified"] }
]
},
{
"id": "EX03",
"title": "Application document, property and recompute semantics",
"tasks": [
{ "id": "EX-DOC-01", "title": "Implement every native property type, flag, editor and serialization rule", "priority": "P0", "status": "in_progress", "dependencies": ["EX-ORA-01"], "deliverables": ["Complete Property schema", "Status and editor metadata", "Binary and XML codecs"], "acceptance": ["Every runtime property fixture round-trips without type coercion or unknown loss"], "evidence": ["check:freecad-type-properties", "check:freecad-native-property-semantics", "check:freecad-property-status", "check:freecad-fcstd-roundtrip"], "exactBlockedBy": ["Of 85 runtime property types and 5510 records, 62 types/692 records remain opaque-only; all 15 observed status classes are represented, 13 have native behavior evidence, and LockDynamic/PartialTrigger still lack dynamic mutation and partial-document observer implementation"] },
{ "id": "EX-DOC-01", "title": "Implement every native property type, flag, editor and serialization rule", "priority": "P0", "status": "in_progress", "dependencies": ["EX-ORA-01"], "deliverables": ["Complete Property schema", "Status and editor metadata", "Binary and XML codecs"], "acceptance": ["Every runtime property fixture round-trips without type coercion or unknown loss"], "evidence": ["check:freecad-type-properties", "check:freecad-native-property-semantics", "check:freecad-property-status", "check:freecad-fcstd-roundtrip"], "exactBlockedBy": ["Of 85 runtime property types and 5510 records, 58 types/523 records remain opaque-only; all 15 observed status classes now have typed Facade behavior, including LockDynamic dynamic mutation and PartialTrigger partial-document observer transactions, but the remaining codecs, editors and complete document observer semantics are not closed"] },
{ "id": "EX-DOC-02", "title": "Match transactions, DAG recompute, partial failure and document observers", "priority": "P0", "status": "in_progress", "dependencies": ["EX-DOC-01", "EX-TSN-04"], "deliverables": ["Transaction and observer event oracle", "Partial recompute scheduler", "Failure recovery contract"], "acceptance": ["Undo, redo, abort, stale and cyclic dependency behavior matches FreeCAD"], "evidence": ["check:document-closure", "test:facade"], "exactBlockedBy": ["Observer ordering and every partial-recompute branch are not yet oracle-backed"] },
{ "id": "EX-DOC-03", "title": "Complete expressions, links, extensions, groups and App object lifecycle", "priority": "P0", "status": "in_progress", "dependencies": ["EX-DOC-01"], "deliverables": ["Expression dependency grammar", "Link and extension lifecycle", "Group and clone semantics"], "acceptance": ["Copy, clone, delete, relink and expression edits survive native round-trip"], "evidence": ["check:fcstd-closure", "check:chrome-production-document"], "exactBlockedBy": ["FeaturePython-backed extensions remain non-executable"] },
{ "id": "EX-DOC-04", "title": "Complete multi-document, external link, merge and recovery workflows", "priority": "P1", "status": "pending", "dependencies": ["EX-DOC-02", "EX-DOC-03"], "deliverables": ["Cross-document Link corpus", "Merge and conflict semantics", "Crash and autosave recovery"], "acceptance": ["Open, close, relink, merge and recovery match the native document graph"], "evidence": ["check:chrome-persistence", "check:project-migration"], "exactBlockedBy": ["Current application is project-first and does not implement every desktop multi-document workflow"] },

View File

@@ -0,0 +1,59 @@
{
"schemaVersion": 1,
"worktreeRevision": "58f50e6d66287bc31e6d906e5c33658a348658e4",
"chromeVersion": "150.0.7871.128",
"machineCase": "axis-vismach-5axis-table-rotary-tilting-xyzbc-trt",
"machineConfigPath": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"distRoot": "cnc_wams_gpt6/linuxcnc-master/web/dist",
"artifacts": [
{
"role": "entry-html",
"path": "index.html",
"runtimeLoaded": true,
"bytes": 61728,
"sha256": "7087d2ccfb9eb2b4967fa75a7d4069cc97ab62a58d4af4f18a7a449ddc1aa536"
},
{
"role": "case-registry",
"path": "linuxcnc/cases.json",
"runtimeLoaded": true,
"bytes": 2108501,
"sha256": "b9c614d3f139de57277d02944a3cb8d0e54f68da054021ac375be9ffbb4f95db"
},
{
"role": "machine-config",
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"runtimeLoaded": true,
"bytes": 7179,
"sha256": "43c26a58030b6ec4a4319cde23e847cff0134e9f2777eef30848aa477bb87d38"
},
{
"role": "application",
"path": "assets/simulator-D-5Qaz4x.js",
"runtimeLoaded": true,
"bytes": 852452,
"sha256": "a429e0b7297fb169255a30acc48274ed17bbeb168fc1d90a13cf4b4e2c6db42f"
},
{
"role": "controller-worker",
"path": "assets/controller.worker-C1K9_tWf.js",
"runtimeLoaded": true,
"bytes": 365084,
"sha256": "7ac06534c9f270411f02efc56b31b9b862855f90ed31470f2dd22c66d631368f"
},
{
"role": "wasm-loader",
"path": "assets/linuxcnc-core-DHKZgRAr.js",
"runtimeLoaded": false,
"bytes": 320852,
"sha256": "fa73fa21a449efc18bbbf5e33e5ce4035bd8d8699f1cb7c72b88e280d362813a"
},
{
"role": "wasm-core",
"path": "assets/linuxcnc-core-XJNGI6z7.wasm",
"runtimeLoaded": true,
"bytes": 53030753,
"sha256": "5c1bb5f7648b7ced4ede192485d37aeee1d9e0dec4a86f2c235aeb3d8c3b647e"
}
]
}

View File

@@ -24,7 +24,7 @@
"wrong-document-root": 77
},
"timing": {
"p95Ms": 0.209,
"maxMs": 3.268
"p95Ms": 0.126,
"maxMs": 2.592
}
}

View File

@@ -41,7 +41,7 @@
"zero-revolution-axis": 67
},
"timing": {
"p95Ms": 0.022,
"maxMs": 1.146
"p95Ms": 0.02,
"maxMs": 0.928
}
}

View File

@@ -22,7 +22,7 @@
"invalid": 800
},
"timing": {
"p95Ms": 0.061,
"maxMs": 1.509
"p95Ms": 0.029,
"maxMs": 0.662
}
}

View File

@@ -28,9 +28,9 @@
"sha256": "b8eacf86224d2705e3c27367b3a0b166f4d662a5b8142d34a8abcdeef58753ec"
},
{
"path": "assets/index-BZhOOUrh.js",
"bytes": 1135258,
"sha256": "f8d20cf0ceeb131295d21f8d9809a542aa8871a50e74a712fdc065be307fd021"
"path": "assets/index-BrkUKPvE.js",
"bytes": 1143618,
"sha256": "4324ab6351a3ef214762115d5b5ffc706883ccaf1e9b0f90577f912da1e4a223"
},
{
"path": "assets/nativeHistoryWorkerEntry-BEDB1h7o.js",
@@ -335,7 +335,7 @@
{
"path": "index.html",
"bytes": 678,
"sha256": "b78bfb7e023a1f03371b5f2c322cb367a9a05c622e45a06e37670c87cc68cd3a"
"sha256": "e3cfab4e89c7bc19c51f2529bb2c6c84a61064168029a3bdfee2260a49a71097"
},
{
"path": "manifest.webmanifest",
@@ -390,7 +390,7 @@
{
"path": "sw.js",
"bytes": 1390,
"sha256": "020250b7a88f8106b0666ad9d7070aefab28892371e4c670ab3d164b9e0922b6"
"sha256": "98ec667a774f8370ed654e457b86d4943b2f1eb89e228bd4e7e652b31a51b982"
},
{
"path": "vendor/camotics/camotics-sweep.wasm",
@@ -412,7 +412,7 @@
"status": "signed",
"algorithm": "Ed25519",
"keyId": "bitbybit-local-release-2026",
"payloadSha256": "44d3d76c20d3a5d4e691b2d98cc5dc6fa1df910e492bf811fa64133fb2f6177a",
"signature": "m2GxJ+PLZ2RcDSI9w0hUMF+ArOLKydE6ilbgRXKgJlj8qiIRrgvaFghAZQL23NGws++j/9Xv78EsaXRvZC8oDA=="
"payloadSha256": "5172b35d4d194483ac1934a1653259b1c7f5bb78c5ab4a68f7e5033cf2a22b86",
"signature": "FoaYFhliT+/njf8hXECKj5IoCeHPj1MnpbTBIw/FxzYpfyrgQ01nuPkwslM4okUk3d97cncjaXnEkDA7lZBtDw=="
}
}