2938 lines
147 KiB
JSON
2938 lines
147 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"baseline": {
|
|
"freecadVersion": "1.1.1",
|
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
|
|
"oracleId": "freecad-1.1.1-composite-history-elementmap2"
|
|
},
|
|
"generatedBy": "./npmw run probe:freecad-recovered-naming-classification",
|
|
"checkedBy": "./npmw run check:freecad-recovered-naming-classification",
|
|
"nativeProbe": {
|
|
"path": "scripts/freecad-composite-history-elementmap-oracle.py",
|
|
"bytes": 30202,
|
|
"sha256": "8ceef2f0df37706381babcc19240465c9a6863cfcd490e37d2be3738e69cc10b",
|
|
"independentRuns": 2
|
|
},
|
|
"classifications": [
|
|
{
|
|
"taskId": "TSN-DRIFT-000",
|
|
"caseId": "partdesign-plain",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD changes the Body and Pad naming history after the first Length edit/restore while restoring geometry exactly; the evolved names repeat deterministically and remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-plain",
|
|
"contract": {
|
|
"targetObject": "Pad10",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad10"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body10",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "fa52eaf3d694f274c37bedfaa576d883eb04d15a8bb4c46b5070dd249e4f77e4",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "48e9b7d748311a779d2c3e84d882ebb0b3023bf33000015f57ed19cbc5a209ac",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad10",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "66fe58ac4a4e582e5ce5026f59af7afcfbc8b12bd8efc233e66d36e716fea025",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "c87b2a99e65ad7ca1f7f42863c6c75ef21b92a7cd5fb04722a9d7fe5fb61509d",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-plain",
|
|
"contract": {
|
|
"targetObject": "Pad10",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad10"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body10",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "fa52eaf3d694f274c37bedfaa576d883eb04d15a8bb4c46b5070dd249e4f77e4",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "48e9b7d748311a779d2c3e84d882ebb0b3023bf33000015f57ed19cbc5a209ac",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "df337229bd80a0b7942ecc9c4fbb7146cbe9eb3dca9459c093674f02eaee3c65",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad10",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "66fe58ac4a4e582e5ce5026f59af7afcfbc8b12bd8efc233e66d36e716fea025",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "c87b2a99e65ad7ca1f7f42863c6c75ef21b92a7cd5fb04722a9d7fe5fb61509d",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "999099e645e2fe946dcc016eb3ee0271821854853545306b3d1c06a22f32ad2c",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-001",
|
|
"caseId": "partdesign-midplane",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies the same deterministic history evolution to a Midplane Pad Length edit/restore: Body and Pad geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-midplane",
|
|
"contract": {
|
|
"targetObject": "Pad11",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad11"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body11",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "0af3ea2e0a408ecb48e05cdb6fe9d8c902448a0fcd5de032b9d277fc18c3506c",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "8c54f6f4cca5d847f3a5573265e141a6ba9b073523f7e9bfc2b534c122ac262b",
|
|
"relationDigest": "c582774f25bda9641a075a0dd0849138d58a4964f47d9ac23af2e7296e20dfe6",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad11",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "85322bc9601e07fd55571161c64c91950e5f57303c3d349aeaac2d3f3f1b6dd8",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "8c54f6f4cca5d847f3a5573265e141a6ba9b073523f7e9bfc2b534c122ac262b",
|
|
"relationDigest": "b37bd6d5a67f283d645e407f4f2a71bb9676d8d61fe37ab694ec5b524e6a233c",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-midplane",
|
|
"contract": {
|
|
"targetObject": "Pad11",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad11"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body11",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "0af3ea2e0a408ecb48e05cdb6fe9d8c902448a0fcd5de032b9d277fc18c3506c",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "8c54f6f4cca5d847f3a5573265e141a6ba9b073523f7e9bfc2b534c122ac262b",
|
|
"relationDigest": "c582774f25bda9641a075a0dd0849138d58a4964f47d9ac23af2e7296e20dfe6",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9a9b06f6a9ed4e0960ca994e30be5dcc46b106c040fb3de214c1ad9e04a32df6",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad11",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "85322bc9601e07fd55571161c64c91950e5f57303c3d349aeaac2d3f3f1b6dd8",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "8c54f6f4cca5d847f3a5573265e141a6ba9b073523f7e9bfc2b534c122ac262b",
|
|
"relationDigest": "b37bd6d5a67f283d645e407f4f2a71bb9676d8d61fe37ab694ec5b524e6a233c",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "cd9766573816715b02d2f470bf39f7d25903d9ebd899216f4ca0b1e5b7f5ec61",
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9681bb9e87e6ac36a624592e0758a16ebca09dcb2a784da2c068ab4d0471e833",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-002",
|
|
"caseId": "partdesign-reverse",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies the same deterministic history evolution to a Reversed Pad Length edit/restore: Body and Pad geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-reverse",
|
|
"contract": {
|
|
"targetObject": "Pad12",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad12"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body12",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "e5094c572330a098908aabe7047c163026096652e5eef291b7d438a46af49955",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b01ed7440010d6ff6a3cfd002737c054513eafb31757242a682772912d81fa49",
|
|
"relationDigest": "1cc745e53301b34028a8b810bb65331a342ef32ea114eae576e9cd17c5e475f0",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad12",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "777b3cde8c5e5fd54e03ba3a4f89612415087a47349201967d83589b1aca9bfb",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b01ed7440010d6ff6a3cfd002737c054513eafb31757242a682772912d81fa49",
|
|
"relationDigest": "b02fd8e7404a2faddc2314ca0bf0c557346240b297e6e937f3fed19c8de9ec4e",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-reverse",
|
|
"contract": {
|
|
"targetObject": "Pad12",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad12"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body12",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "e5094c572330a098908aabe7047c163026096652e5eef291b7d438a46af49955",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b01ed7440010d6ff6a3cfd002737c054513eafb31757242a682772912d81fa49",
|
|
"relationDigest": "1cc745e53301b34028a8b810bb65331a342ef32ea114eae576e9cd17c5e475f0",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "a2d55ed21d24d20effd45ed424a6e966cacdd4c969b08bb10ab4803faf7abafe",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad12",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "777b3cde8c5e5fd54e03ba3a4f89612415087a47349201967d83589b1aca9bfb",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b01ed7440010d6ff6a3cfd002737c054513eafb31757242a682772912d81fa49",
|
|
"relationDigest": "b02fd8e7404a2faddc2314ca0bf0c557346240b297e6e937f3fed19c8de9ec4e",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "1d18d5cd35549d2267badf37b169396a7bb407637ccbe83cf6534693b765e178",
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "d113fe585dc1913aae2ba0d927e8edfbc6d25f480f69bc5d2cf78a61ef3a6e39",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-003",
|
|
"caseId": "partdesign-taper",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies the same deterministic history evolution to a Tapered Pad Length edit/restore: Body and Pad geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-taper",
|
|
"contract": {
|
|
"targetObject": "Pad13",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad13"
|
|
},
|
|
"values": {
|
|
"before": 6,
|
|
"edited": 6.75,
|
|
"restored": 6
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body13",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "08b9fb139630c4cbcdbbd86c810c493d7b068fc3c70ee65d09599b03a24de703",
|
|
"semanticNameDigest": "a0ea88793db765666d6d85bdfac03518a89fd5415d07c07d5f9b72c7c4088e84"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b5eea2c55dc24ef23543b472055f3498e8b5aa274751a503e8d54cc1cd901148",
|
|
"relationDigest": "1bbcb81bab6eceea180d654583de5afb4a159326b73356bf3ebd399991160a90",
|
|
"semanticNameDigest": "dd2a001da0ba39760fb9973e695e17e86f8f5b4adabd5aea0fc77ed0cc1d66d6"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad13",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "5c5b9d2c1b6b0cea37d174cdc69406197a6dd328715965a55399e3e4767a3695",
|
|
"semanticNameDigest": "7dc0f4040b82a73371cb402ee0c3853827ad242adeeec6ed59fd9928a5493241"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b5eea2c55dc24ef23543b472055f3498e8b5aa274751a503e8d54cc1cd901148",
|
|
"relationDigest": "d45aa90cd64ea173630f7ec64b56266fe91c1f545e4359aa34df50788324a3b7",
|
|
"semanticNameDigest": "8e2b16b17b111fcc149e3c70ccc002bd01ee72aa3bf043281d31004822f7a50a"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-taper",
|
|
"contract": {
|
|
"targetObject": "Pad13",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad13"
|
|
},
|
|
"values": {
|
|
"before": 6,
|
|
"edited": 6.75,
|
|
"restored": 6
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body13",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "08b9fb139630c4cbcdbbd86c810c493d7b068fc3c70ee65d09599b03a24de703",
|
|
"semanticNameDigest": "a0ea88793db765666d6d85bdfac03518a89fd5415d07c07d5f9b72c7c4088e84"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b5eea2c55dc24ef23543b472055f3498e8b5aa274751a503e8d54cc1cd901148",
|
|
"relationDigest": "1bbcb81bab6eceea180d654583de5afb4a159326b73356bf3ebd399991160a90",
|
|
"semanticNameDigest": "dd2a001da0ba39760fb9973e695e17e86f8f5b4adabd5aea0fc77ed0cc1d66d6"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "543c95a92cd252d827e669645866548928c0b22945f5d1a3be33fd2745d95712",
|
|
"semanticNameDigest": "4b7706afa7b318162eab8e9d3223f84acaf520d15a170d80dc35c8a6d3a6a26b"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad13",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "5c5b9d2c1b6b0cea37d174cdc69406197a6dd328715965a55399e3e4767a3695",
|
|
"semanticNameDigest": "7dc0f4040b82a73371cb402ee0c3853827ad242adeeec6ed59fd9928a5493241"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "b5eea2c55dc24ef23543b472055f3498e8b5aa274751a503e8d54cc1cd901148",
|
|
"relationDigest": "d45aa90cd64ea173630f7ec64b56266fe91c1f545e4359aa34df50788324a3b7",
|
|
"semanticNameDigest": "8e2b16b17b111fcc149e3c70ccc002bd01ee72aa3bf043281d31004822f7a50a"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "c05c3502a01b573722a3f86b2e5e64839f0a890421528288e086cb03f7b8c5a8",
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "b58c23cc399d11a1eb9a64a307c9e325ff49671a1df6925890c552ee8025656f",
|
|
"semanticNameDigest": "5eeeb5e7bf485ee4aa447b478eb3bbe111f1498777964dadcec5877bba468408"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-004",
|
|
"caseId": "partdesign-twoside",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies the same deterministic history evolution to a Two Lengths Pad Length edit/restore: Body and Pad geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-twoside",
|
|
"contract": {
|
|
"targetObject": "Pad14",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad14"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body14",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "c12a5e737c4ceb635d3b816638bbee537b67c44d467f700bbddd60b4fa4dfbc0",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "804546aa8c9b1d6c1da2fb40dfe48ea428b1fea35dc01b413d20c6417b319e4f",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad14",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "1170dc13ef4dfcac346e9890a7e6a4bace0274d9944cea12dde5f575b4f1034b",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "a05760355028c6df0ec3e4c2587297c8096239cea16684547af72036cd82bb5c",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-twoside",
|
|
"contract": {
|
|
"targetObject": "Pad14",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pad14"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body14",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "c12a5e737c4ceb635d3b816638bbee537b67c44d467f700bbddd60b4fa4dfbc0",
|
|
"semanticNameDigest": "e07d8f0ab682e495d52c97a9d6b90e5118a60b25266785f1fc5b9cf85744ef7d"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "804546aa8c9b1d6c1da2fb40dfe48ea428b1fea35dc01b413d20c6417b319e4f",
|
|
"semanticNameDigest": "8f307d5ca4c52c1887be472b56e18442b32d61713c815ca48ca5ab42c49b1ce4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "5015ae56df1c5ce36525016b8bf938c154cfca2ff2d3d1cc97b99cd44063e095",
|
|
"semanticNameDigest": "0aea366491ac416aec8e6e055434063d2e0645f1f347b1f3b60363ac135c3e85"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad14",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "1170dc13ef4dfcac346e9890a7e6a4bace0274d9944cea12dde5f575b4f1034b",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "a05760355028c6df0ec3e4c2587297c8096239cea16684547af72036cd82bb5c",
|
|
"semanticNameDigest": "e60c184158a6d432b63a52e686588e64b204949b19118add959d63c15895a2b4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "a15dbcc85c15b1cd15ea8d51e321d75faca0af30c1a4a80b73cdb929ae4c37c7",
|
|
"semanticNameDigest": "6590487bf8f5e5962b6c640db274d950f0fa6d6a44fa97231e72d7587e3aac3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-005",
|
|
"caseId": "partdesign-pocket",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution to an upstream Pad Length edit/restore: Body, Pad, and downstream Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket",
|
|
"contract": {
|
|
"targetObject": "Pad15",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket15"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body15",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "1e344a294bc92cc93416c280347e8bb83c95dda2374a7af898d7016f679fac4a",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "ea5a15cc998e0626e6f1e5a8ec9c1e03272656e920f8b32df2a4e50c4fcb9550",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad15",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "d8708cae7aa61b2b888b3eb5b6529061fc2b984cefdd15313a7779752d0343d1",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "14a7d2af0ccc862011b83efa94b5a31de96ed928c5e2da9fc5e6c7bc27847dce",
|
|
"relationDigest": "aba7cfa7c09710094b72467c3bbae3e9c1b428b9fbfa5820b42b4b2c6077189f",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket15",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "ed7205331a4271f3a7535adda719ebe9994bf698e2dee21ff12d26dc4c1b5c46",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "6492a11febe39da11df809f50ccdd7c741f8a469df740dec6dd55ab9f6682751",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket",
|
|
"contract": {
|
|
"targetObject": "Pad15",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket15"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body15",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "1e344a294bc92cc93416c280347e8bb83c95dda2374a7af898d7016f679fac4a",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "ea5a15cc998e0626e6f1e5a8ec9c1e03272656e920f8b32df2a4e50c4fcb9550",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "083f7d4c5bb5d23dfa0a08d635131a8abb5b9b832d549630156b66cdc161832f",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad15",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "d8708cae7aa61b2b888b3eb5b6529061fc2b984cefdd15313a7779752d0343d1",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "14a7d2af0ccc862011b83efa94b5a31de96ed928c5e2da9fc5e6c7bc27847dce",
|
|
"relationDigest": "aba7cfa7c09710094b72467c3bbae3e9c1b428b9fbfa5820b42b4b2c6077189f",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "e97281f38a54f85f3efd545921005513575cc9de7482a0822585214bc5edd954",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket15",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "ed7205331a4271f3a7535adda719ebe9994bf698e2dee21ff12d26dc4c1b5c46",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "6492a11febe39da11df809f50ccdd7c741f8a469df740dec6dd55ab9f6682751",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "6a0f6dcfc8e94125d60f130d24b9490ecabe0747294e9ca9ce100052135fc49d",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-006",
|
|
"caseId": "partdesign-pocket-through",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution through a Through All Pocket after an upstream Pad Length edit/restore: Body, Pad, and Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket-through",
|
|
"contract": {
|
|
"targetObject": "Pad16",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket16"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body16",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "0be125b20e18f81cc0cb5be8c0b12dbfd87b25a7ff245c544ddfb7078024e054",
|
|
"semanticNameDigest": "30ff423cf8036ad5bc8f59b98d4c8c56d3f5caf126e53a459421d4ab9cea1b33"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "cde8c6faedccd7982afbe32c73870e22f99f8c9134c7bc095a5869f47f97b771",
|
|
"relationDigest": "b735869b1eaee4abc0098dbdcc95d04fce96aed48b43d58a1678113bef113647",
|
|
"semanticNameDigest": "030b86907fbcf1a04d0a629364dad2d8093c7fd4f890d94300d5c57e844a0404"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad16",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e93e05d9bd740bbaa9b8613b6be300315b160824f4bcf3a384072b9cf351eecc",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "74d5c7543c8efb703f2af1623c3b56cac817251b796344aa3cd0fdfbb34879da",
|
|
"relationDigest": "32444cecf558a13781ba92d0c40c379a4fb94147262f8f73ab224f76a8c9004d",
|
|
"semanticNameDigest": "fa2f79d7557e02ea1403c7dde552c68b6ac9e93cc83ff517bd96d7edabbaea39"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket16",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "406306a00b62c08e8402caf9b434c1a1e1e2c559b3c7a4ccf2a5385f0b4f0076",
|
|
"semanticNameDigest": "9946df59f15e9e464ad052b070e992577a3d0bc6c49325fb40eac7656645dfb2"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "cde8c6faedccd7982afbe32c73870e22f99f8c9134c7bc095a5869f47f97b771",
|
|
"relationDigest": "264a292edce634c843901b47abc2f2616ada2c975447db8d50259a4daa5d9f3b",
|
|
"semanticNameDigest": "f6d1c5dff2b47b703ecb63adea4f544b9409f9e8b9dab1e6aaa94f6242455d66"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket-through",
|
|
"contract": {
|
|
"targetObject": "Pad16",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket16"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body16",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "0be125b20e18f81cc0cb5be8c0b12dbfd87b25a7ff245c544ddfb7078024e054",
|
|
"semanticNameDigest": "30ff423cf8036ad5bc8f59b98d4c8c56d3f5caf126e53a459421d4ab9cea1b33"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "cde8c6faedccd7982afbe32c73870e22f99f8c9134c7bc095a5869f47f97b771",
|
|
"relationDigest": "b735869b1eaee4abc0098dbdcc95d04fce96aed48b43d58a1678113bef113647",
|
|
"semanticNameDigest": "030b86907fbcf1a04d0a629364dad2d8093c7fd4f890d94300d5c57e844a0404"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "9f5f0cf8bcfa9cfa4d5bc181fc77e00cf357779f0bc911453c5e3298cd315280",
|
|
"semanticNameDigest": "88fa663eb0c658c3a5053bbf387295d860160c090e152dc4e7e5e56649f0dfc4"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad16",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e93e05d9bd740bbaa9b8613b6be300315b160824f4bcf3a384072b9cf351eecc",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "74d5c7543c8efb703f2af1623c3b56cac817251b796344aa3cd0fdfbb34879da",
|
|
"relationDigest": "32444cecf558a13781ba92d0c40c379a4fb94147262f8f73ab224f76a8c9004d",
|
|
"semanticNameDigest": "fa2f79d7557e02ea1403c7dde552c68b6ac9e93cc83ff517bd96d7edabbaea39"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "e294b273bf95cb39444ca87931043876a9812625eeadc08d9115f13fe99e42c1",
|
|
"semanticNameDigest": "8abf4b9c70768ed85307d35287bef12870d6139d09f13966b6daf8149cc0945a"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket16",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "406306a00b62c08e8402caf9b434c1a1e1e2c559b3c7a4ccf2a5385f0b4f0076",
|
|
"semanticNameDigest": "9946df59f15e9e464ad052b070e992577a3d0bc6c49325fb40eac7656645dfb2"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "cde8c6faedccd7982afbe32c73870e22f99f8c9134c7bc095a5869f47f97b771",
|
|
"relationDigest": "264a292edce634c843901b47abc2f2616ada2c975447db8d50259a4daa5d9f3b",
|
|
"semanticNameDigest": "f6d1c5dff2b47b703ecb63adea4f544b9409f9e8b9dab1e6aaa94f6242455d66"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "7af30493d106e0bc76fefed0b35974945b9221da76a1bacd447d7ba36dfd0bc7",
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "6243b4a96b360c27acefa6e7f3d33c0028fb399764ed25618ca02b815859576c",
|
|
"semanticNameDigest": "18fffcdaa360c13dd3279890d0b061e1a55e998933329ea37445ca0ec7487c7b"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-007",
|
|
"caseId": "partdesign-pocket-midplane",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution through a Midplane Pocket after an upstream Pad Length edit/restore: Body, Pad, and Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket-midplane",
|
|
"contract": {
|
|
"targetObject": "Pad17",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket17"
|
|
},
|
|
"values": {
|
|
"before": 6,
|
|
"edited": 6.75,
|
|
"restored": 6
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body17",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "eba5d9bd3b0518b36549a4e20bb71a5270fd0cfa1e3cc0c51afc868f71a39f26",
|
|
"semanticNameDigest": "249e1ecb590b053d1dc91d07b16aba5c2743807a08460bfded78f47cb80dd3cf"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "9bb4e9ec6ab06c0e0979e0a01cd80bd6b77b0ccf0dc798fb2a97daee75e39280",
|
|
"relationDigest": "8f59e7ae94a4b86bfa3277da38f462b2ef81c9fe47dcc3ccfec22f3751d5f7aa",
|
|
"semanticNameDigest": "1a132ae79133d8686371688c69841c68db49631c63509fb13c52163bc5f0eabe"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad17",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "6520fc9e1245066040d463e7cf5628b58b9a05e41d9aa6c857e4bc5fcf6c5e70",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "675811212aac24325abe74640f6bfa949174c578fac2fa1b935ae8c1866c9c95",
|
|
"relationDigest": "abc4faa6f5bf280b2e05269a4adad122325bbd552c3e5c90d65ef54e50c12f70",
|
|
"semanticNameDigest": "47304b9879aac442780b0985ced9d496875c356776e4a9ed8497cc8a128567d9"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket17",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "a68d621abf9dfa92a474b7b6d48adc138db306573cd13c817124370150bb1115",
|
|
"semanticNameDigest": "8965448f0545d0f32df9e48cd071273cc4aa5a81bffcf298e64605f98d83d36f"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "9bb4e9ec6ab06c0e0979e0a01cd80bd6b77b0ccf0dc798fb2a97daee75e39280",
|
|
"relationDigest": "305a81605b565e92bed33bbd4fe3fe1e6beb603c92f22b8a1d73629e29714325",
|
|
"semanticNameDigest": "db6c50aa1b514cee8a1507e6847d0ff104c6fb96fb4f0471e4a782296b0a1c8d"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket-midplane",
|
|
"contract": {
|
|
"targetObject": "Pad17",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket17"
|
|
},
|
|
"values": {
|
|
"before": 6,
|
|
"edited": 6.75,
|
|
"restored": 6
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body17",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "eba5d9bd3b0518b36549a4e20bb71a5270fd0cfa1e3cc0c51afc868f71a39f26",
|
|
"semanticNameDigest": "249e1ecb590b053d1dc91d07b16aba5c2743807a08460bfded78f47cb80dd3cf"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "9bb4e9ec6ab06c0e0979e0a01cd80bd6b77b0ccf0dc798fb2a97daee75e39280",
|
|
"relationDigest": "8f59e7ae94a4b86bfa3277da38f462b2ef81c9fe47dcc3ccfec22f3751d5f7aa",
|
|
"semanticNameDigest": "1a132ae79133d8686371688c69841c68db49631c63509fb13c52163bc5f0eabe"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "67afcfff404e1e4bce3c08f4c5be3993e4160c462194b3005c6926880b592b06",
|
|
"semanticNameDigest": "1ec30f3d1fe50691136139ba972738e93d5a7ffd5c026a90ca78568a200acafb"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad17",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "6520fc9e1245066040d463e7cf5628b58b9a05e41d9aa6c857e4bc5fcf6c5e70",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "675811212aac24325abe74640f6bfa949174c578fac2fa1b935ae8c1866c9c95",
|
|
"relationDigest": "abc4faa6f5bf280b2e05269a4adad122325bbd552c3e5c90d65ef54e50c12f70",
|
|
"semanticNameDigest": "47304b9879aac442780b0985ced9d496875c356776e4a9ed8497cc8a128567d9"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "eb8470c20e1ba0010c97d146b04d47381be407845fd327ba38a19c4cc204da76",
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "f54d0fbb396fae621163c58f047ed35d7e9d5c185487e07d2ae254c208f16220",
|
|
"semanticNameDigest": "b15da8ac5d7c0413cdaf3dd82d545c3cc84c131ce25b8c27726ce43406868a59"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket17",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "a68d621abf9dfa92a474b7b6d48adc138db306573cd13c817124370150bb1115",
|
|
"semanticNameDigest": "8965448f0545d0f32df9e48cd071273cc4aa5a81bffcf298e64605f98d83d36f"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "9bb4e9ec6ab06c0e0979e0a01cd80bd6b77b0ccf0dc798fb2a97daee75e39280",
|
|
"relationDigest": "305a81605b565e92bed33bbd4fe3fe1e6beb603c92f22b8a1d73629e29714325",
|
|
"semanticNameDigest": "db6c50aa1b514cee8a1507e6847d0ff104c6fb96fb4f0471e4a782296b0a1c8d"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2c5b47b085e3da4923fc22ca9a25edf6db4784848966322eecf8391d79deae71",
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "2068b7180d47301a2953579c7c04ca0a969d9b17363453523161ed6cb9377887",
|
|
"semanticNameDigest": "fdf43eda27a3f13ebf1102a380b5f0cc0a8ec24b8176b5d919fdac1928c84037"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-008",
|
|
"caseId": "partdesign-pocket-twoside",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution through a Two Lengths Pocket after an upstream Pad Length edit/restore: Body, Pad, and Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket-twoside",
|
|
"contract": {
|
|
"targetObject": "Pad18",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket18"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body18",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "669bf3f6f552b2b15c64db69b6d16ca581632699ab4424b4d52b7171c0d6e33d",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "3e2c331a8c968f3ce8f42371759763386d459670eb902c0b0d71da72e405a7a2",
|
|
"relationDigest": "5b1575a236c07ab029b2c0836d01427472e90f76afbcd73a22b3a25875f3b7b4",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad18",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "f602880accbff293e2a2f5e009f1ea470b8a4ccc6c5ee2379a1d54ee433897a4",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "a47f77860bf97980e4994c7665c7756776741f0838b2df86ae69acce318088e6",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket18",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "97e664079dda6c77c0e1093866fe5e158acc53e12dde523a48872600196ed471",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "3e2c331a8c968f3ce8f42371759763386d459670eb902c0b0d71da72e405a7a2",
|
|
"relationDigest": "f1dc7d1942e2112131e8aa603b56ba25917452d0a7bd97b3d662ee1aef68daf4",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket-twoside",
|
|
"contract": {
|
|
"targetObject": "Pad18",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket18"
|
|
},
|
|
"values": {
|
|
"before": 7,
|
|
"edited": 7.75,
|
|
"restored": 7
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body18",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "669bf3f6f552b2b15c64db69b6d16ca581632699ab4424b4d52b7171c0d6e33d",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "3e2c331a8c968f3ce8f42371759763386d459670eb902c0b0d71da72e405a7a2",
|
|
"relationDigest": "5b1575a236c07ab029b2c0836d01427472e90f76afbcd73a22b3a25875f3b7b4",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "467a57582389ca941f33368c79920ed41d828935cea47995883c404002051134",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad18",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "f602880accbff293e2a2f5e009f1ea470b8a4ccc6c5ee2379a1d54ee433897a4",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "fed2b972ec166149c219536523b05f1741885d073a6c5dbc7c36e92e047c2a85",
|
|
"relationDigest": "a47f77860bf97980e4994c7665c7756776741f0838b2df86ae69acce318088e6",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2470d037ef123af6ca1a5ff874a20f55d07a66bf56cd92bf3235b3029511be94",
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "b4db7dd81f88db0d147e3390ce2cc8d1dc407ffd22ad4939f081b8d90524bf60",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket18",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "97e664079dda6c77c0e1093866fe5e158acc53e12dde523a48872600196ed471",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "3e2c331a8c968f3ce8f42371759763386d459670eb902c0b0d71da72e405a7a2",
|
|
"relationDigest": "f1dc7d1942e2112131e8aa603b56ba25917452d0a7bd97b3d662ee1aef68daf4",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "2d5233507695621846d3d51212c3c101f501fb9a92729fa2a6d5e021544014c9",
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "509fccfd3fde5e4a826da07c1afd0b534e3e72eed3c658576fbe7bee0be35b19",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-009",
|
|
"caseId": "partdesign-pocket-taper",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution through a Tapered Pocket after an upstream Pad Length edit/restore: Body, Pad, and Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket-taper",
|
|
"contract": {
|
|
"targetObject": "Pad19",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket19"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body19",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0ee4b0c4a5ca82d4871c4d63b1b9882a97811bcfc23804c8c29058a859bce90b",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "eb664bb03bce7a3d33f7a98cac96284475f786a3d1343127ba42d277f6c8f25d",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad19",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "196a584de7bdfd5f261977034159e7c37ae79033adf747df0edf80dd43fd4d8e",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "14a7d2af0ccc862011b83efa94b5a31de96ed928c5e2da9fc5e6c7bc27847dce",
|
|
"relationDigest": "2879e8881b895a8c8182a6018834453c036fde9483ba649e36cb98b3d90c5682",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket19",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "915ba41a5e12876a07b8fa43643e668f393c6d35521a57b138e1ddb1fd66e7fe",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "85ca6d5a22080bf92d8bb5d6386ada38224c9bc1a52bd12eb8182c649ef55427",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket-taper",
|
|
"contract": {
|
|
"targetObject": "Pad19",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket19"
|
|
},
|
|
"values": {
|
|
"before": 8,
|
|
"edited": 8.75,
|
|
"restored": 8
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body19",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0ee4b0c4a5ca82d4871c4d63b1b9882a97811bcfc23804c8c29058a859bce90b",
|
|
"semanticNameDigest": "b6b4b73b57c5417ba863a73e8ec41b9c0b7f55613ddb4227ac0862ad4b3dcc78"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "eb664bb03bce7a3d33f7a98cac96284475f786a3d1343127ba42d277f6c8f25d",
|
|
"semanticNameDigest": "5b51f72d61ce39c483986658a308c8963e285b46060c2734f5a8564408110449"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "0c39abf77a575312d9bf82d11f956e956a8418e1a9ef5045c899e47a3438f98c",
|
|
"semanticNameDigest": "4b0ca170becae0ee3509ec4745823ceafc605fd45e1339b915dd108412117d48"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad19",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "196a584de7bdfd5f261977034159e7c37ae79033adf747df0edf80dd43fd4d8e",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "14a7d2af0ccc862011b83efa94b5a31de96ed928c5e2da9fc5e6c7bc27847dce",
|
|
"relationDigest": "2879e8881b895a8c8182a6018834453c036fde9483ba649e36cb98b3d90c5682",
|
|
"semanticNameDigest": "14b22a1488b0ec4a49010c5a65a0cdb568599add0570eae14ebe3a08579fbed0"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "4d9bac34ef00223e0ad79ac8343db5ad41db344865e328d2af08af39e54d6cdc",
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "7c7844f8ec2ee61487968f0ee99c93ef080468b1670dfbbd4e16fda3327ba051",
|
|
"semanticNameDigest": "1ad387ac4fc1fb2045270b799033db9445c8f46a19f4bded5bcc37708ff73c6c"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket19",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "915ba41a5e12876a07b8fa43643e668f393c6d35521a57b138e1ddb1fd66e7fe",
|
|
"semanticNameDigest": "51f5899120010eb4a0f913afcd23096742187b0943f371325ed1bb74bd81ae46"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "90eadfc7f0435be3e16d7311111443f4fddc5df89ceff54539d8257dbe22d96a",
|
|
"relationDigest": "85ca6d5a22080bf92d8bb5d6386ada38224c9bc1a52bd12eb8182c649ef55427",
|
|
"semanticNameDigest": "6627baad9bb6166e382fc4bdbc5e9a71832717d8e31a67568797059ca787bb37"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b77b908042633ea0a8a879356d0607d230c6d8477fbc4646e7a75ccf28f4bc9e",
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "3d3142e1b5d42846f9bcab93a054b34904539ab49d91a6a113c710fe3d32d759",
|
|
"semanticNameDigest": "e8d011101c491aeafae69eed47885e8919345e8dd4dcc501d987df316c58c3a1"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
},
|
|
{
|
|
"taskId": "TSN-DRIFT-010",
|
|
"caseId": "partdesign-pocket-up-to-face",
|
|
"classification": "allowed_evolution",
|
|
"reasonCode": "native-history-stabilizes-after-edit-restore",
|
|
"rationale": "FreeCAD applies deterministic history evolution through an Up To Face Pocket after an upstream Pad Length edit/restore: Body, Pad, and Pocket geometry returns exactly, and the evolved names remain stable through save, reopen, and resave.",
|
|
"reference": {
|
|
"caseId": "partdesign-pocket-up-to-face",
|
|
"contract": {
|
|
"targetObject": "Pad20",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket20"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body20",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "877cecbec9dffc0cc7288d39134bc11fdf43af9e33210123e87b358bff39e805",
|
|
"semanticNameDigest": "2256cb13c66f88418ae2b23dbe2899e94abb542dab74b399f46adc5f378744a4"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "2890c63ab19766348dc92f42399ce52ebb3ec8f41e9040cc51f07856c727d966",
|
|
"relationDigest": "52ef43b96dac9a02f6b509fc133118cfef884f6236bf0a9acbb6276adb97ed54",
|
|
"semanticNameDigest": "2174be2013eed3ac2c0699f1ae3ba56530ad9c6344b272ca37e56894f5b53253"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad20",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "c838de8850fe0100924143d18086c975949be1cf026f2b1ef1c7e79f7b52445c",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "74d5c7543c8efb703f2af1623c3b56cac817251b796344aa3cd0fdfbb34879da",
|
|
"relationDigest": "5d47ed72a136e12ddf4656fdaaf0960d45b65083f504ad6c6f7d2317ca0c1c5a",
|
|
"semanticNameDigest": "bc8b38bad6baec721c1ba9025582721cd5ae3c2908a4d5b60ddcfa9b237e6bd5"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket20",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "1252292065dbc791914afea02f3a7e38398fe5ebc6655952fe4ecb7701c0322c",
|
|
"semanticNameDigest": "834d50a6694b20d740de6166c35dcf34e1ab20b6b0d0d9229c24e92992c86073"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "2890c63ab19766348dc92f42399ce52ebb3ec8f41e9040cc51f07856c727d966",
|
|
"relationDigest": "c256af88287e5aa4f533b11bda77901c50f1a7b01e3496eea9c3413e4d203f61",
|
|
"semanticNameDigest": "cb57fe722ef521a21ea0b101269b6a86d4c5f7e3d66027c24127486108de60e4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replay": {
|
|
"caseId": "partdesign-pocket-up-to-face",
|
|
"contract": {
|
|
"targetObject": "Pad20",
|
|
"targetTypeId": "PartDesign::Pad",
|
|
"propertyPath": "Length",
|
|
"propertyType": "App::PropertyLength",
|
|
"finalObject": "Pocket20"
|
|
},
|
|
"values": {
|
|
"before": 5,
|
|
"edited": 5.75,
|
|
"restored": 5
|
|
},
|
|
"driftOrdinals": [
|
|
0,
|
|
9,
|
|
11
|
|
],
|
|
"stages": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "Body20",
|
|
"typeId": "PartDesign::Body",
|
|
"nominal": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "877cecbec9dffc0cc7288d39134bc11fdf43af9e33210123e87b358bff39e805",
|
|
"semanticNameDigest": "2256cb13c66f88418ae2b23dbe2899e94abb542dab74b399f46adc5f378744a4"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "2890c63ab19766348dc92f42399ce52ebb3ec8f41e9040cc51f07856c727d966",
|
|
"relationDigest": "52ef43b96dac9a02f6b509fc133118cfef884f6236bf0a9acbb6276adb97ed54",
|
|
"semanticNameDigest": "2174be2013eed3ac2c0699f1ae3ba56530ad9c6344b272ca37e56894f5b53253"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "24551d9d0227423408c974d0638a74838fc3cc3f33f78b3ca9fee3c16f1f9b09",
|
|
"semanticNameDigest": "b3afa5b1f6f8b298e668c00e3235faa9aa6f250a26ec96535dc8386f6a9e09e8"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "Pad20",
|
|
"typeId": "PartDesign::Pad",
|
|
"nominal": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "c838de8850fe0100924143d18086c975949be1cf026f2b1ef1c7e79f7b52445c",
|
|
"semanticNameDigest": "7016833e7f7d1ea833c88070c3976df629b312251c0b45da355b937ca2425eaa"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "74d5c7543c8efb703f2af1623c3b56cac817251b796344aa3cd0fdfbb34879da",
|
|
"relationDigest": "5d47ed72a136e12ddf4656fdaaf0960d45b65083f504ad6c6f7d2317ca0c1c5a",
|
|
"semanticNameDigest": "bc8b38bad6baec721c1ba9025582721cd5ae3c2908a4d5b60ddcfa9b237e6bd5"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "b86fad46c20d2107571ef4050aae588e9738c277c2adca4ed5eb4087df945821",
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "04b3fd400cc0a8ea650338f821fcd66006e82edfb1484a28044f91eaf7a66490",
|
|
"semanticNameDigest": "c67dd33a8c461a6aa91ab27ae9e2635b5475a21bceff8b6a08a758efe7415a8e"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "Pocket20",
|
|
"typeId": "PartDesign::Pocket",
|
|
"nominal": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"before": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "1252292065dbc791914afea02f3a7e38398fe5ebc6655952fe4ecb7701c0322c",
|
|
"semanticNameDigest": "834d50a6694b20d740de6166c35dcf34e1ab20b6b0d0d9229c24e92992c86073"
|
|
},
|
|
"edited": {
|
|
"geometryDigest": "2890c63ab19766348dc92f42399ce52ebb3ec8f41e9040cc51f07856c727d966",
|
|
"relationDigest": "c256af88287e5aa4f533b11bda77901c50f1a7b01e3496eea9c3413e4d203f61",
|
|
"semanticNameDigest": "cb57fe722ef521a21ea0b101269b6a86d4c5f7e3d66027c24127486108de60e4"
|
|
},
|
|
"restored": {
|
|
"geometryDigest": "ffd3a0bf0794831dd695efdf16c135abf39bfbf5471e51af2325bcd2a2b45adc",
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"persistence": {
|
|
"initial": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"reopened": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
},
|
|
"resaved": {
|
|
"relationDigest": "3d923d29d8d60a27f1da5cdfa1e95148911e6f2028d7fe4f07629fcfe15d58e6",
|
|
"semanticNameDigest": "3eb604a3dc43243edc0fab1433ff6eef9b6a970d474a160df8b7a6485658df3e"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": {
|
|
"propertyRestored": true,
|
|
"geometryRestored": true,
|
|
"namingEvolved": true,
|
|
"restoredMatchesNominal": true,
|
|
"persistenceStable": true
|
|
}
|
|
},
|
|
"replayStable": true,
|
|
"implementationDefect": false
|
|
}
|
|
],
|
|
"summary": {
|
|
"classifiedCases": 11,
|
|
"classifiedStages": 28,
|
|
"stableSemantics": 0,
|
|
"allowedEvolution": 11,
|
|
"implementationDefects": 0,
|
|
"unknown": 0
|
|
}
|
|
}
|