172 lines
4.5 KiB
JSON
172 lines
4.5 KiB
JSON
{
|
|
"schema": "freecad-web-p6-document-contract-gate/v1",
|
|
"taskId": "FW-P6-FPA-C",
|
|
"result": "pass",
|
|
"contracts": {
|
|
"document-ready": {
|
|
"status": "pass",
|
|
"stage": "ready",
|
|
"responseKind": null,
|
|
"error": null,
|
|
"progressEvents": 0
|
|
},
|
|
"document-action": {
|
|
"status": "pass",
|
|
"stage": "success",
|
|
"responseKind": "result",
|
|
"error": null,
|
|
"progressEvents": 5
|
|
},
|
|
"document-duplicate": {
|
|
"status": "pass",
|
|
"stage": "success",
|
|
"responseKind": "error",
|
|
"error": "duplicate_request",
|
|
"progressEvents": 5
|
|
},
|
|
"document-expected-error": {
|
|
"status": "pass",
|
|
"stage": "expected-error",
|
|
"responseKind": "error",
|
|
"error": "unknown_command",
|
|
"progressEvents": 5
|
|
},
|
|
"document-cancel": {
|
|
"status": "pass",
|
|
"stage": "cancelled",
|
|
"responseKind": "error",
|
|
"error": "cancelled",
|
|
"progressEvents": 0
|
|
},
|
|
"document-reset": {
|
|
"status": "pass",
|
|
"stage": "reset",
|
|
"responseKind": null,
|
|
"error": null,
|
|
"progressEvents": 0
|
|
},
|
|
"document-repeat": {
|
|
"status": "pass",
|
|
"stage": "success",
|
|
"responseKind": "result",
|
|
"error": null,
|
|
"progressEvents": 5
|
|
}
|
|
},
|
|
"semantic": {
|
|
"action": {
|
|
"schema": "freecad-web-core-document-full-result/v1",
|
|
"command": "document.full",
|
|
"document": {
|
|
"id": "full-document",
|
|
"name": "Full Web Document",
|
|
"revision": 1,
|
|
"dirty": true,
|
|
"objects": 1,
|
|
"transactionDepth": 0
|
|
},
|
|
"recovery": {
|
|
"invalidError": "Length of box too small",
|
|
"invalidVolume": 23.999999999999996,
|
|
"recoveredVolume": 23.999999999999996,
|
|
"hasError": 0
|
|
},
|
|
"save": {
|
|
"path": "/tmp/WebBox.FCStd",
|
|
"size": 2436,
|
|
"volume": 23.999999999999996
|
|
},
|
|
"opened": {
|
|
"documentCount": 1,
|
|
"objectCount": 1,
|
|
"objectType": "Part::Box",
|
|
"dimensions": [
|
|
2,
|
|
3,
|
|
4
|
|
],
|
|
"volume": 23.999999999999996
|
|
},
|
|
"transaction": {
|
|
"id": 1,
|
|
"beforeVolume": 23.999999999999996,
|
|
"afterVolume": 47.99999999999999,
|
|
"undoVolume": 23.999999999999996,
|
|
"redoVolume": 47.99999999999999,
|
|
"abortVolume": 47.99999999999999,
|
|
"undoResult": 1,
|
|
"redoResult": 1
|
|
},
|
|
"semanticRoundTrip": true,
|
|
"resourcesReleased": true
|
|
},
|
|
"repeat": {
|
|
"schema": "freecad-web-core-document-full-result/v1",
|
|
"command": "document.full",
|
|
"document": {
|
|
"id": "full-document",
|
|
"name": "Full Web Document",
|
|
"revision": 1,
|
|
"dirty": true,
|
|
"objects": 1,
|
|
"transactionDepth": 0
|
|
},
|
|
"recovery": {
|
|
"invalidError": "Length of box too small",
|
|
"invalidVolume": 23.999999999999996,
|
|
"recoveredVolume": 23.999999999999996,
|
|
"hasError": 0
|
|
},
|
|
"save": {
|
|
"path": "/tmp/WebBox.FCStd",
|
|
"size": 2435,
|
|
"volume": 23.999999999999996
|
|
},
|
|
"opened": {
|
|
"documentCount": 1,
|
|
"objectCount": 1,
|
|
"objectType": "Part::Box",
|
|
"dimensions": [
|
|
2,
|
|
3,
|
|
4
|
|
],
|
|
"volume": 23.999999999999996
|
|
},
|
|
"transaction": {
|
|
"id": 3,
|
|
"beforeVolume": 23.999999999999996,
|
|
"afterVolume": 47.99999999999999,
|
|
"undoVolume": 23.999999999999996,
|
|
"redoVolume": 47.99999999999999,
|
|
"abortVolume": 47.99999999999999,
|
|
"undoResult": 1,
|
|
"redoResult": 1
|
|
},
|
|
"semanticRoundTrip": true,
|
|
"resourcesReleased": true
|
|
},
|
|
"compares": [
|
|
"objectType",
|
|
"dimensions",
|
|
"volume",
|
|
"recovery",
|
|
"transaction"
|
|
]
|
|
},
|
|
"chrome": {
|
|
"artifact": "docs/p6/document-contract-chrome.json",
|
|
"sha256": "372a099e1247db9e4b48c744bd102f01619e687615153fa97d345a2c12296fca",
|
|
"screenshot": "FreeCAD/docs/p6/document-contract-chrome.png",
|
|
"screenshotSha256": "4854121a86d964ac50f4bec37aa25947de17d5fbf594ec227915a1df71fb4adf",
|
|
"browser": "Google Chrome 151.0.7922.137",
|
|
"externalRequests": 0,
|
|
"exceptions": 0
|
|
},
|
|
"boundaries": [
|
|
"C proves one native Part::Box document semantic round-trip and transaction/recovery contract; it does not close the 403 object inventory.",
|
|
"FCStd acceptance compares semantic fields, not archive bytes.",
|
|
"Cross-module links and larger object graphs remain explicit D/C follow-up work."
|
|
]
|
|
}
|