feat: classify chamfer cut pair and expand roadmap
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-16 01:30:04 -04:00
parent 03339a6360
commit 27db1a8f93
7 changed files with 360 additions and 22 deletions

View File

@@ -24,12 +24,12 @@
],
"followUpProgress": "config/freecad-follow-up-task-progress.json"
},
"nextTask": "TSN-PAIR-chamfer-cut",
"nextTask": "TSN-PAIR-chamfer-common",
"summary": {
"tasks": 1756,
"completed": 337,
"completed": 338,
"inProgress": 1,
"pending": 1418
"pending": 1417
},
"milestones": [
{
@@ -4474,17 +4474,20 @@
{
"id": "TSN-PAIR-chamfer-cut",
"title": "Classify ordered operation pair chamfer->cut",
"status": "in_progress",
"dependencies": [
"TSN-PROD-DRIFT-001"
],
"status": "completed",
"dependencies": [],
"pair": "chamfer->cut",
"classification": "accepted",
"evidence": [
"config/freecad-ordered-operation-pair-classification.json",
"native-builders-mutation-naming-and-fcstd-resave-pass"
],
"exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence"
},
{
"id": "TSN-PAIR-chamfer-common",
"title": "Classify ordered operation pair chamfer->common",
"status": "pending",
"status": "in_progress",
"dependencies": [
"TSN-PROD-DRIFT-001"
],

View File

@@ -10,8 +10,8 @@
"nativeProbe": {
"executor": {
"path": "scripts/run-freecad-ordered-operation-pair-classification.mjs",
"bytes": 44852,
"sha256": "53c2c0bf200a5c8c5edd2a8f6f1c9816ea8784b671a76d9d1df344efcd531280"
"bytes": 45030,
"sha256": "4a2c54aa5ce03746cb32401ce8ec2c6db008a6e5a805f9fd061c14f9d4ff23ea"
},
"matrix": {
"path": "scripts/freecad-naming-production-matrix.mjs",
@@ -55935,14 +55935,241 @@
"schemaVersion": 1,
"status": "pass"
}
},
{
"taskId": "TSN-PAIR-chamfer-cut",
"pair": "chamfer->cut",
"classification": "accepted",
"reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass",
"nativeDecision": "accepted",
"first": {
"operation": "chamfer",
"builder": "BRepFilletAPI_MakeChamfer",
"inputCount": 1,
"historyProvider": "occt-native",
"namingStatus": "ambiguous",
"summary": {
"isValid": true,
"solids": 1,
"faces": 26,
"edges": 48,
"vertices": 24,
"volume": 990.7413333,
"area": 571.4001834,
"bounds": [
-1e-7,
-1e-7,
-1e-7,
10.0000001,
10.0000001,
10.0000001
]
},
"historyRecords": 150,
"selectedRecords": 6,
"ambiguousResults": 20,
"historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62",
"namingEvidenceSha256": "0bf7f1fb6ffe846efe899fa69af12bbf8d95bfcb9c40ed1ea28b89daa3b96c51",
"namingSemanticSha256": "7dea70fa2fe706e79931dd739ed66b4663a362876f48587e59688fb301fe1c2d"
},
"second": {
"operation": "cut",
"builder": "BRepAlgoAPI_Cut",
"inputCount": 2,
"historyProvider": "occt-native",
"namingStatus": "ambiguous",
"summary": {
"isValid": true,
"solids": 1,
"faces": 31,
"edges": 63,
"vertices": 34,
"volume": 927.0613333,
"area": 604.1774417,
"bounds": [
-2e-7,
-2e-7,
-2e-7,
10.0000002,
10.0000002,
10.0000001
]
},
"historyRecords": 42,
"selectedRecords": 4,
"ambiguousResults": 12,
"historySha256": "065e5143698c6477697ab38dddeb64dedbb2b35f779015c2b94da5bdf39d0b2d",
"namingEvidenceSha256": "fbd3e2b6c707e2dc43c552ceaeb004f09e4faa46210b8af3187b3b51f758bb33",
"namingSemanticSha256": "8119d7f6bed1f84ad3c688149d03816d4956a60036f78546e2dd5f698b074054"
},
"mutation": {
"scope": "second-operation-only",
"parameter": "toolSize",
"trajectory": [
4,
3,
4
],
"beforeValue": 4,
"editedValue": 3,
"restoredValue": 4,
"changed": true,
"restoredExactly": true,
"editedEvidence": {
"operation": "cut",
"builder": "BRepAlgoAPI_Cut",
"inputCount": 2,
"historyProvider": "occt-native",
"namingStatus": "ambiguous",
"summary": {
"isValid": true,
"solids": 1,
"faces": 31,
"edges": 63,
"vertices": 34,
"volume": 963.9813333,
"area": 589.9431272,
"bounds": [
-2e-7,
-2e-7,
-2e-7,
10.0000002,
10.0000002,
10.0000001
]
},
"historyRecords": 42,
"selectedRecords": 4,
"ambiguousResults": 12,
"historySha256": "065e5143698c6477697ab38dddeb64dedbb2b35f779015c2b94da5bdf39d0b2d",
"namingEvidenceSha256": "14374ce9ae9e777e9e3f322f37eab826db4c0491a77d893b7242f41e594ff197",
"namingSemanticSha256": "8119d7f6bed1f84ad3c688149d03816d4956a60036f78546e2dd5f698b074054"
},
"restoredEvidence": {
"operation": "cut",
"builder": "BRepAlgoAPI_Cut",
"inputCount": 2,
"historyProvider": "occt-native",
"namingStatus": "ambiguous",
"summary": {
"isValid": true,
"solids": 1,
"faces": 31,
"edges": 63,
"vertices": 34,
"volume": 927.0613333,
"area": 604.1774417,
"bounds": [
-2e-7,
-2e-7,
-2e-7,
10.0000002,
10.0000002,
10.0000001
]
},
"historyRecords": 42,
"selectedRecords": 4,
"ambiguousResults": 12,
"historySha256": "065e5143698c6477697ab38dddeb64dedbb2b35f779015c2b94da5bdf39d0b2d",
"namingEvidenceSha256": "28dcc861cb88d2ee7c12bbf5a5c11533db8876ddd6a1b9d331606db0cbcb54a4",
"namingSemanticSha256": "8119d7f6bed1f84ad3c688149d03816d4956a60036f78546e2dd5f698b074054"
}
},
"naming": {
"upstreamEvidenceRestored": true,
"downstreamEvidence": true,
"jsonRoundtripStable": true
},
"persistence": {
"baselineId": "freecad-1.1.1-ordered-operation-pair-resave",
"checks": {
"namingEvidenceStable": true,
"shapeStable": true
},
"decision": "accepted",
"freecadVersion": "1.1.1",
"gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
"pair": "chamfer->cut",
"phases": {
"initial": {
"namingEvidenceBytes": 5936,
"namingEvidenceSha256": "fbd3e2b6c707e2dc43c552ceaeb004f09e4faa46210b8af3187b3b51f758bb33",
"pair": "chamfer->cut",
"shape": {
"area": 604.1774417,
"bounds": [
0,
0,
0,
10,
10,
10
],
"edges": 63,
"faces": 31,
"solids": 1,
"valid": true,
"vertices": 34,
"volume": 927.0613333
}
},
"reopened": {
"namingEvidenceBytes": 5936,
"namingEvidenceSha256": "fbd3e2b6c707e2dc43c552ceaeb004f09e4faa46210b8af3187b3b51f758bb33",
"pair": "chamfer->cut",
"shape": {
"area": 604.1774417,
"bounds": [
0,
0,
0,
10,
10,
10
],
"edges": 63,
"faces": 31,
"solids": 1,
"valid": true,
"vertices": 34,
"volume": 927.0613333
}
},
"resaved": {
"namingEvidenceBytes": 5936,
"namingEvidenceSha256": "fbd3e2b6c707e2dc43c552ceaeb004f09e4faa46210b8af3187b3b51f758bb33",
"pair": "chamfer->cut",
"shape": {
"area": 604.1774417,
"bounds": [
0,
0,
0,
10,
10,
10
],
"edges": 63,
"faces": 31,
"solids": 1,
"valid": true,
"vertices": 34,
"volume": 927.0613333
}
}
},
"schemaVersion": 1,
"status": "pass"
}
}
],
"summary": {
"registeredOperations": 19,
"orderedPairs": 361,
"classifiedPairs": 207,
"accepted": 155,
"classifiedPairs": 208,
"accepted": 156,
"rejected": 52,
"unknown": 154
"unknown": 153
}
}

View File

@@ -390,7 +390,7 @@
{
"path": "sw.js",
"bytes": 1390,
"sha256": "8b0477955514535bb11cef3733135b67422cc8c085b4331c3b9cb1a1adc9d852"
"sha256": "98ec667a774f8370ed654e457b86d4943b2f1eb89e228bd4e7e652b31a51b982"
},
{
"path": "vendor/camotics/camotics-sweep.wasm",
@@ -412,7 +412,7 @@
"status": "signed",
"algorithm": "Ed25519",
"keyId": "bitbybit-local-release-2026",
"payloadSha256": "ad5f25aeb7e1382b3172d9919357a9831ac198841e54304a6789665cd21cda31",
"signature": "c8xaS8E7BOThrQKOK9WlCLpMazuqlBZ6eMKbCTt+tzeC0b4TyEEaiVvjelUtFDjo5PK0fVYPeYISrS2895LTDA=="
"payloadSha256": "5172b35d4d194483ac1934a1653259b1c7f5bb78c5ab4a68f7e5033cf2a22b86",
"signature": "FoaYFhliT+/njf8hXECKj5IoCeHPj1MnpbTBIw/FxzYpfyrgQ01nuPkwslM4okUk3d97cncjaXnEkDA7lZBtDw=="
}
}