diff --git a/config/freecad-active-work-queue.json b/config/freecad-active-work-queue.json index 2bca706..6021adc 100644 --- a/config/freecad-active-work-queue.json +++ b/config/freecad-active-work-queue.json @@ -24,12 +24,12 @@ ], "followUpProgress": "config/freecad-follow-up-task-progress.json" }, - "nextTask": "TSN-PAIR-pocket-fuse", + "nextTask": "TSN-PAIR-groove-multi-transform", "summary": { "tasks": 1756, - "completed": 223, + "completed": 317, "inProgress": 1, - "pending": 1532 + "pending": 1438 }, "milestones": [ { @@ -2984,947 +2984,1229 @@ { "id": "TSN-PAIR-pocket-fuse", "title": "Classify ordered operation pair pocket->fuse", - "status": "in_progress", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->fuse", + "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-pocket-cut", "title": "Classify ordered operation pair pocket->cut", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->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-pocket-common", "title": "Classify ordered operation pair pocket->common", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->common", + "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-pocket-rotate", "title": "Classify ordered operation pair pocket->rotate", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->rotate", + "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-pocket-pad", "title": "Classify ordered operation pair pocket->pad", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->pad", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pocket-pocket", "title": "Classify ordered operation pair pocket->pocket", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->pocket", + "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-pocket-loft", "title": "Classify ordered operation pair pocket->loft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->loft", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pocket-pipe", "title": "Classify ordered operation pair pocket->pipe", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->pipe", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pocket-revolution", "title": "Classify ordered operation pair pocket->revolution", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->revolution", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pocket-groove", "title": "Classify ordered operation pair pocket->groove", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->groove", + "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-pocket-fillet", "title": "Classify ordered operation pair pocket->fillet", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->fillet", + "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-pocket-chamfer", "title": "Classify ordered operation pair pocket->chamfer", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->chamfer", + "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-pocket-hole", "title": "Classify ordered operation pair pocket->hole", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->hole", + "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-pocket-draft", "title": "Classify ordered operation pair pocket->draft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->draft", + "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-pocket-thickness", "title": "Classify ordered operation pair pocket->thickness", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->thickness", + "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-pocket-linear-pattern", "title": "Classify ordered operation pair pocket->linear-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->linear-pattern", + "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-pocket-polar-pattern", "title": "Classify ordered operation pair pocket->polar-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->polar-pattern", + "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-pocket-mirrored", "title": "Classify ordered operation pair pocket->mirrored", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->mirrored", + "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-pocket-multi-transform", "title": "Classify ordered operation pair pocket->multi-transform", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pocket->multi-transform", + "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-loft-fuse", "title": "Classify ordered operation pair loft->fuse", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->fuse", + "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-loft-cut", "title": "Classify ordered operation pair loft->cut", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->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-loft-common", "title": "Classify ordered operation pair loft->common", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->common", + "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-loft-rotate", "title": "Classify ordered operation pair loft->rotate", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->rotate", + "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-loft-pad", "title": "Classify ordered operation pair loft->pad", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->pad", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-loft-pocket", "title": "Classify ordered operation pair loft->pocket", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->pocket", + "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-loft-loft", "title": "Classify ordered operation pair loft->loft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->loft", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-loft-pipe", "title": "Classify ordered operation pair loft->pipe", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->pipe", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-loft-revolution", "title": "Classify ordered operation pair loft->revolution", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->revolution", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-loft-groove", "title": "Classify ordered operation pair loft->groove", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->groove", + "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-loft-fillet", "title": "Classify ordered operation pair loft->fillet", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->fillet", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-loft-chamfer", "title": "Classify ordered operation pair loft->chamfer", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->chamfer", + "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-loft-hole", "title": "Classify ordered operation pair loft->hole", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->hole", + "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-loft-draft", "title": "Classify ordered operation pair loft->draft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->draft", + "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-loft-thickness", "title": "Classify ordered operation pair loft->thickness", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->thickness", + "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-loft-linear-pattern", "title": "Classify ordered operation pair loft->linear-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->linear-pattern", + "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-loft-polar-pattern", "title": "Classify ordered operation pair loft->polar-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->polar-pattern", + "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-loft-mirrored", "title": "Classify ordered operation pair loft->mirrored", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->mirrored", + "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-loft-multi-transform", "title": "Classify ordered operation pair loft->multi-transform", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "loft->multi-transform", + "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-pipe-fuse", "title": "Classify ordered operation pair pipe->fuse", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->fuse", + "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-pipe-cut", "title": "Classify ordered operation pair pipe->cut", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->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-pipe-common", "title": "Classify ordered operation pair pipe->common", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->common", + "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-pipe-rotate", "title": "Classify ordered operation pair pipe->rotate", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->rotate", + "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-pipe-pad", "title": "Classify ordered operation pair pipe->pad", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->pad", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pipe-pocket", "title": "Classify ordered operation pair pipe->pocket", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->pocket", + "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-pipe-loft", "title": "Classify ordered operation pair pipe->loft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->loft", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pipe-pipe", "title": "Classify ordered operation pair pipe->pipe", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->pipe", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pipe-revolution", "title": "Classify ordered operation pair pipe->revolution", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->revolution", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-pipe-groove", "title": "Classify ordered operation pair pipe->groove", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->groove", + "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-pipe-fillet", "title": "Classify ordered operation pair pipe->fillet", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->fillet", + "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-pipe-chamfer", "title": "Classify ordered operation pair pipe->chamfer", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->chamfer", + "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-pipe-hole", "title": "Classify ordered operation pair pipe->hole", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->hole", + "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-pipe-draft", "title": "Classify ordered operation pair pipe->draft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->draft", + "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-pipe-thickness", "title": "Classify ordered operation pair pipe->thickness", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->thickness", + "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-pipe-linear-pattern", "title": "Classify ordered operation pair pipe->linear-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->linear-pattern", + "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-pipe-polar-pattern", "title": "Classify ordered operation pair pipe->polar-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->polar-pattern", + "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-pipe-mirrored", "title": "Classify ordered operation pair pipe->mirrored", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->mirrored", + "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-pipe-multi-transform", "title": "Classify ordered operation pair pipe->multi-transform", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "pipe->multi-transform", + "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-revolution-fuse", "title": "Classify ordered operation pair revolution->fuse", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->fuse", + "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-revolution-cut", "title": "Classify ordered operation pair revolution->cut", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->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-revolution-common", "title": "Classify ordered operation pair revolution->common", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->common", + "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-revolution-rotate", "title": "Classify ordered operation pair revolution->rotate", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->rotate", + "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-revolution-pad", "title": "Classify ordered operation pair revolution->pad", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->pad", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-revolution-pocket", "title": "Classify ordered operation pair revolution->pocket", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->pocket", + "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-revolution-loft", "title": "Classify ordered operation pair revolution->loft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->loft", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-revolution-pipe", "title": "Classify ordered operation pair revolution->pipe", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->pipe", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-revolution-revolution", "title": "Classify ordered operation pair revolution->revolution", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->revolution", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-revolution-groove", "title": "Classify ordered operation pair revolution->groove", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->groove", + "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-revolution-fillet", "title": "Classify ordered operation pair revolution->fillet", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->fillet", + "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-revolution-chamfer", "title": "Classify ordered operation pair revolution->chamfer", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->chamfer", + "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-revolution-hole", "title": "Classify ordered operation pair revolution->hole", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->hole", + "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-revolution-draft", "title": "Classify ordered operation pair revolution->draft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->draft", + "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-revolution-thickness", "title": "Classify ordered operation pair revolution->thickness", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->thickness", + "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-revolution-linear-pattern", "title": "Classify ordered operation pair revolution->linear-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->linear-pattern", + "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-revolution-polar-pattern", "title": "Classify ordered operation pair revolution->polar-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->polar-pattern", + "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-revolution-mirrored", "title": "Classify ordered operation pair revolution->mirrored", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->mirrored", + "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-revolution-multi-transform", "title": "Classify ordered operation pair revolution->multi-transform", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "revolution->multi-transform", + "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-groove-fuse", "title": "Classify ordered operation pair groove->fuse", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->fuse", + "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-groove-cut", "title": "Classify ordered operation pair groove->cut", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->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-groove-common", "title": "Classify ordered operation pair groove->common", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->common", + "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-groove-rotate", "title": "Classify ordered operation pair groove->rotate", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->rotate", + "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-groove-pad", "title": "Classify ordered operation pair groove->pad", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->pad", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-pocket", "title": "Classify ordered operation pair groove->pocket", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->pocket", + "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-groove-loft", "title": "Classify ordered operation pair groove->loft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->loft", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-pipe", "title": "Classify ordered operation pair groove->pipe", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->pipe", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-revolution", "title": "Classify ordered operation pair groove->revolution", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->revolution", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-groove", "title": "Classify ordered operation pair groove->groove", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->groove", + "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-groove-fillet", "title": "Classify ordered operation pair groove->fillet", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->fillet", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-chamfer", "title": "Classify ordered operation pair groove->chamfer", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->chamfer", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-and-freecad-profile-reject-with-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-hole", "title": "Classify ordered operation pair groove->hole", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->hole", + "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-groove-draft", "title": "Classify ordered operation pair groove->draft", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->draft", + "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-groove-thickness", "title": "Classify ordered operation pair groove->thickness", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->thickness", + "classification": "rejected", + "evidence": [ + "config/freecad-ordered-operation-pair-classification.json", + "native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave" + ], "exit": "native acceptance or rejection is recorded; accepted pairs include builder, mutation, naming, and resave evidence" }, { "id": "TSN-PAIR-groove-linear-pattern", "title": "Classify ordered operation pair groove->linear-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->linear-pattern", + "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-groove-polar-pattern", "title": "Classify ordered operation pair groove->polar-pattern", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->polar-pattern", + "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-groove-mirrored", "title": "Classify ordered operation pair groove->mirrored", - "status": "pending", - "dependencies": [ - "TSN-PROD-DRIFT-001" - ], + "status": "completed", + "dependencies": [], "pair": "groove->mirrored", + "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-groove-multi-transform", "title": "Classify ordered operation pair groove->multi-transform", - "status": "pending", + "status": "in_progress", "dependencies": [ "TSN-PROD-DRIFT-001" ], diff --git a/config/freecad-ordered-operation-pair-classification.json b/config/freecad-ordered-operation-pair-classification.json index af90fd9..54d8806 100644 --- a/config/freecad-ordered-operation-pair-classification.json +++ b/config/freecad-ordered-operation-pair-classification.json @@ -10,8 +10,8 @@ "nativeProbe": { "executor": { "path": "scripts/run-freecad-ordered-operation-pair-classification.mjs", - "bytes": 29776, - "sha256": "b493052f5fe5f0c8f4749ee551f9c4dc9f0c9588fd86ddf181164538600b89fa" + "bytes": 42111, + "sha256": "50c092be06b50afce576d57dfc96f9e7b32218805a35749aae3ecd647e06cd9b" }, "matrix": { "path": "scripts/freecad-naming-production-matrix.mjs", @@ -20,8 +20,8 @@ }, "resave": { "path": "scripts/freecad-ordered-operation-pair-resave.py", - "bytes": 14572, - "sha256": "040b589af825f7bab1b2ece556e3e3e326d7017a4a077856ec7ded4802cc2cbf" + "bytes": 17630, + "sha256": "d2705080d26136ac635ed0031d6f93e78ff78876baaa570d4a9819e02377e6dd" }, "artifacts": [ { @@ -529,7 +529,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "a5c535af824aca6fe64a1d68c14fc1c7a9074b838df28b85fb3f7d289fd52ab5", + "namingEvidenceSha256": "af9be791d652b3a0ac5762fdecef7c936c64015330ad253d96b68eedbd5049f3", "namingSemanticSha256": "84f46e75d9855d67bc068f70650ba10932d491442cac4b36d296e49d2bf8fcf5" }, "second": { @@ -559,7 +559,7 @@ "selectedRecords": 1, "ambiguousResults": 20, "historySha256": "4cec040527a627b73017af103188173f2460dfd41dfa46d8acee005ed80eb8dc", - "namingEvidenceSha256": "7bd7934bb4bac373b9b55eae78b7e743f2b6b33642a73738cfb0666a6f4e118e", + "namingEvidenceSha256": "d04cd4d189cc9549f8ae9700a102526071281c0711f2edb0ff1e38fc27470ab5", "namingSemanticSha256": "5286bbbbd37367c6630c7ae2b59502be156b30bcd92798f775bc3c85d86a97bc" }, "mutation": { @@ -602,7 +602,7 @@ "selectedRecords": 2, "ambiguousResults": 24, "historySha256": "8f261b8808601b450505468dd5cb9f4770383aec3239298414525c39d44b8edb", - "namingEvidenceSha256": "f6a298a1208bdecc3150a9d9ee0b267c1984ef2fe31882b9e33051d142078fe1", + "namingEvidenceSha256": "d3e61c87153732e0b5b335867a995af0736365dd56f6c33d8c55997af93dd651", "namingSemanticSha256": "60cf00e28e3c1949c7d0a713755acc1cb58098afdc883f83c618b29a9b303d0e" }, "restoredEvidence": { @@ -632,7 +632,7 @@ "selectedRecords": 1, "ambiguousResults": 20, "historySha256": "4cec040527a627b73017af103188173f2460dfd41dfa46d8acee005ed80eb8dc", - "namingEvidenceSha256": "c63a0ce23cfbaab0fbaa628f63d30bd59a4f7088f3dc15352ee7e478eba49184", + "namingEvidenceSha256": "71ed437758d6e92affcc87bc92ff0a06557b8cac350cfe40e8b769099ad23af3", "namingSemanticSha256": "5286bbbbd37367c6630c7ae2b59502be156b30bcd92798f775bc3c85d86a97bc" } }, @@ -653,8 +653,8 @@ "pair": "fuse->common", "phases": { "initial": { - "namingEvidenceBytes": 10865, - "namingEvidenceSha256": "7bd7934bb4bac373b9b55eae78b7e743f2b6b33642a73738cfb0666a6f4e118e", + "namingEvidenceBytes": 10867, + "namingEvidenceSha256": "d04cd4d189cc9549f8ae9700a102526071281c0711f2edb0ff1e38fc27470ab5", "pair": "fuse->common", "shape": { "area": 110, @@ -675,8 +675,8 @@ } }, "reopened": { - "namingEvidenceBytes": 10865, - "namingEvidenceSha256": "7bd7934bb4bac373b9b55eae78b7e743f2b6b33642a73738cfb0666a6f4e118e", + "namingEvidenceBytes": 10867, + "namingEvidenceSha256": "d04cd4d189cc9549f8ae9700a102526071281c0711f2edb0ff1e38fc27470ab5", "pair": "fuse->common", "shape": { "area": 110, @@ -697,8 +697,8 @@ } }, "resaved": { - "namingEvidenceBytes": 10865, - "namingEvidenceSha256": "7bd7934bb4bac373b9b55eae78b7e743f2b6b33642a73738cfb0666a6f4e118e", + "namingEvidenceBytes": 10867, + "namingEvidenceSha256": "d04cd4d189cc9549f8ae9700a102526071281c0711f2edb0ff1e38fc27470ab5", "pair": "fuse->common", "shape": { "area": 110, @@ -756,7 +756,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "35efdeaf53772ec25ea681fe7a046e33a58aa78472f5bb7bde5015109e3af8a0", + "namingEvidenceSha256": "fd409f86f18d6fa703b61a3858c55953a1dfa14865e568a48024400d469bed15", "namingSemanticSha256": "4b26aadb2ea960138e17671468b18ee999e37f20099fc26dd39619e211fd699b" }, "second": { @@ -786,7 +786,7 @@ "selectedRecords": 11, "ambiguousResults": 49, "historySha256": "ac25647ecb694f2a760b41bcd58fcfc75ef36957a8792e13c7ec821bc93cef91", - "namingEvidenceSha256": "993ed47ce5196d63c7614e348a58b9015b97685cdc2398dceb00fde56268e8fc", + "namingEvidenceSha256": "cd2d92741d0b05d91599d1ac8709c4397db44f30c6bdab0e92815e241f5e639e", "namingSemanticSha256": "b7657ff63d563ef94469db9448bb0307b38798aa495458206884d975136fdba4" }, "mutation": { @@ -829,7 +829,7 @@ "selectedRecords": 11, "ambiguousResults": 49, "historySha256": "ac25647ecb694f2a760b41bcd58fcfc75ef36957a8792e13c7ec821bc93cef91", - "namingEvidenceSha256": "ba80d20e635027978626f4089a7231f3d0184ad3c89236d8ae9abea3029955e1", + "namingEvidenceSha256": "0e63cafe49b8cd74f5f4239e38189666a2a0c8ed99f966187eeb77d96a5047ab", "namingSemanticSha256": "b7657ff63d563ef94469db9448bb0307b38798aa495458206884d975136fdba4" }, "restoredEvidence": { @@ -859,7 +859,7 @@ "selectedRecords": 11, "ambiguousResults": 49, "historySha256": "ac25647ecb694f2a760b41bcd58fcfc75ef36957a8792e13c7ec821bc93cef91", - "namingEvidenceSha256": "cd2d92741d0b05d91599d1ac8709c4397db44f30c6bdab0e92815e241f5e639e", + "namingEvidenceSha256": "61b4ce04b159cd390a9d35eccf7d65280a9ee69edc128b60372ea4e2fb908359", "namingSemanticSha256": "b7657ff63d563ef94469db9448bb0307b38798aa495458206884d975136fdba4" } }, @@ -881,7 +881,7 @@ "phases": { "initial": { "namingEvidenceBytes": 23836, - "namingEvidenceSha256": "993ed47ce5196d63c7614e348a58b9015b97685cdc2398dceb00fde56268e8fc", + "namingEvidenceSha256": "cd2d92741d0b05d91599d1ac8709c4397db44f30c6bdab0e92815e241f5e639e", "pair": "fuse->rotate", "shape": { "area": 660, @@ -903,7 +903,7 @@ }, "reopened": { "namingEvidenceBytes": 23836, - "namingEvidenceSha256": "993ed47ce5196d63c7614e348a58b9015b97685cdc2398dceb00fde56268e8fc", + "namingEvidenceSha256": "cd2d92741d0b05d91599d1ac8709c4397db44f30c6bdab0e92815e241f5e639e", "pair": "fuse->rotate", "shape": { "area": 660, @@ -925,7 +925,7 @@ }, "resaved": { "namingEvidenceBytes": 23836, - "namingEvidenceSha256": "993ed47ce5196d63c7614e348a58b9015b97685cdc2398dceb00fde56268e8fc", + "namingEvidenceSha256": "cd2d92741d0b05d91599d1ac8709c4397db44f30c6bdab0e92815e241f5e639e", "pair": "fuse->rotate", "shape": { "area": 660, @@ -983,7 +983,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "4d1bc969a6f2cabae66b28305ab5a0f7e0640baa2bffdb032634b95a5d79d214", + "namingEvidenceSha256": "1169606a880655c1d1cbc55af37b4e83fe9fdbfbc089069c511c42a00f1f7440", "namingSemanticSha256": "72b04525740386718d0d2fc8b1285c47ccf0840cbc6c04279c2946057ce01f3d" }, "rejection": { @@ -1048,6 +1048,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -1337,7 +1338,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "1e0e76ab02b7c8307f2007065b2f84009c1dc1e2b0e39768f5e44224622516af", + "namingEvidenceSha256": "081b2236f2756400152fd4f8246d933bb9e91aa435f976ed98d794dc70868069", "namingSemanticSha256": "b310dc32da509dc7665d075332f8d7c6a5a8af7cdd4be3d4bb54f4822268453a" }, "second": { @@ -1367,7 +1368,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "685a9cdf1f6991b3c4dfeede67c29141ef7e010f34635c95c9ab9c43b49a9f92", - "namingEvidenceSha256": "c655f5538cdb4329089deed1d2d330a198cfa3ce552ff6e218368e6eadf8e019", + "namingEvidenceSha256": "ff118840aba4ebdc140beb3586790fbebb6fa225a42b1e99f2609c5454e22196", "namingSemanticSha256": "d72214a08c8ad4780243aa1c46c52b06347e78fe47909486ed4c7a7a359b5322" }, "mutation": { @@ -1410,7 +1411,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "685a9cdf1f6991b3c4dfeede67c29141ef7e010f34635c95c9ab9c43b49a9f92", - "namingEvidenceSha256": "ff118840aba4ebdc140beb3586790fbebb6fa225a42b1e99f2609c5454e22196", + "namingEvidenceSha256": "b46f2f85a24cabe4cf35425cbb5a541d5ea24ec776d361c3eaa3e28dd1f2bfcd", "namingSemanticSha256": "d72214a08c8ad4780243aa1c46c52b06347e78fe47909486ed4c7a7a359b5322" }, "restoredEvidence": { @@ -1440,7 +1441,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "685a9cdf1f6991b3c4dfeede67c29141ef7e010f34635c95c9ab9c43b49a9f92", - "namingEvidenceSha256": "b46f2f85a24cabe4cf35425cbb5a541d5ea24ec776d361c3eaa3e28dd1f2bfcd", + "namingEvidenceSha256": "8eb4193e10401b17950a6d900b8ffb15ee5792deeb5908b39e6a29aa882d0992", "namingSemanticSha256": "d72214a08c8ad4780243aa1c46c52b06347e78fe47909486ed4c7a7a359b5322" } }, @@ -1462,7 +1463,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4472, - "namingEvidenceSha256": "c655f5538cdb4329089deed1d2d330a198cfa3ce552ff6e218368e6eadf8e019", + "namingEvidenceSha256": "ff118840aba4ebdc140beb3586790fbebb6fa225a42b1e99f2609c5454e22196", "pair": "fuse->pocket", "shape": { "area": 660, @@ -1484,7 +1485,7 @@ }, "reopened": { "namingEvidenceBytes": 4472, - "namingEvidenceSha256": "c655f5538cdb4329089deed1d2d330a198cfa3ce552ff6e218368e6eadf8e019", + "namingEvidenceSha256": "ff118840aba4ebdc140beb3586790fbebb6fa225a42b1e99f2609c5454e22196", "pair": "fuse->pocket", "shape": { "area": 660, @@ -1506,7 +1507,7 @@ }, "resaved": { "namingEvidenceBytes": 4472, - "namingEvidenceSha256": "c655f5538cdb4329089deed1d2d330a198cfa3ce552ff6e218368e6eadf8e019", + "namingEvidenceSha256": "ff118840aba4ebdc140beb3586790fbebb6fa225a42b1e99f2609c5454e22196", "pair": "fuse->pocket", "shape": { "area": 660, @@ -1564,7 +1565,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "d1bb6f7543614b939db188a20e6c62e3488e6c70e3acaa1242ce955c783bfeb4", + "namingEvidenceSha256": "a8c49791319027adde4462940a01f0d38503ca8660790c1d461c25925fceb0a4", "namingSemanticSha256": "ed827ba5065ddca163bca634b02d30a0dd9eb1f148b0437df4e178d29827baf6" }, "rejection": { @@ -1596,13 +1597,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -1630,13 +1631,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -1664,13 +1665,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -1686,6 +1687,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -1950,7 +1952,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "69f47b70ce761b12377b7ee321c38b5442642957649aa7bd19c53fc7dc9a707c", + "namingEvidenceSha256": "96f0c7103f8b7a1964a017e24c687b287b6c9e749e08deacc722776f88f40893", "namingSemanticSha256": "dee4bbec7e0940a6035f6af3d22633f6ef0d1a574db0b5ba5872446e7ad6de15" }, "rejection": { @@ -2072,6 +2074,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -2337,7 +2340,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "6bbaa8007d77b77a557d57f5e98c68d27e19daa7bbecfa67c388b747971d1790", + "namingEvidenceSha256": "8ee29355114e453d2bbed78ffab03ed23081a44f4eba2935c5ca9fa40846e571", "namingSemanticSha256": "bfad98d0a2dc7b1d9b96dc7f5602d3af835399765c6b5f9f37d05450ed4f8123" }, "rejection": { @@ -2402,6 +2405,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -2655,7 +2659,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "2fb58028d627f7d3e7b29d6a7e2aef4fbfcd89a927597b7338dc96c600867c42", + "namingEvidenceSha256": "3eef14714bb6d16b65649278297d9002dece44b119147db48839de3607a8a49c", "namingSemanticSha256": "d8aa73e08cca6f3ba89eb416788f18b5754ef2fdd201436bcec84415805b25f3" }, "second": { @@ -2685,7 +2689,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "481ba0edb1ababe90d3d339dad84d0942c25e7910aca73221b349bff469282ac", - "namingEvidenceSha256": "5dc0b436645f50e820c99fe40dbe1261a9f7053a1a496479de07e77500902445", + "namingEvidenceSha256": "56606a6114522c665ffc36bf7ab21c037e81237861e5909270f98bfd5c102e64", "namingSemanticSha256": "5ed80477d778133512a36e6ac3e65ef27d483637711077cbdcb2f27bf66949eb" }, "mutation": { @@ -2728,7 +2732,7 @@ "selectedRecords": 1, "ambiguousResults": 5, "historySha256": "be9ba304126dca6e4c49e50947917f8823dbb5423af4530b2ae9f6e7a31c1b03", - "namingEvidenceSha256": "93e750b79d41352c1588dd7612962482962fc13eef48fa6d3b94881e5a72fee0", + "namingEvidenceSha256": "db29bac721434a1fa0876b705f474018389a2b2a6c3f6189249eb5d5f3fe2224", "namingSemanticSha256": "8d3c28342393d347fa0a7b5cc8e9ca097820e3e561962f3691ab97af2f87406c" }, "restoredEvidence": { @@ -2758,7 +2762,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "481ba0edb1ababe90d3d339dad84d0942c25e7910aca73221b349bff469282ac", - "namingEvidenceSha256": "1017be8431d49aa083d7a6f586a119424c4814e89ec5314f78d2074dae96800d", + "namingEvidenceSha256": "ba133f18278fc53b3d49a61ee9004a2b511d68d0f033a53f31205c9ced316a90", "namingSemanticSha256": "5ed80477d778133512a36e6ac3e65ef27d483637711077cbdcb2f27bf66949eb" } }, @@ -2780,7 +2784,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4766, - "namingEvidenceSha256": "5dc0b436645f50e820c99fe40dbe1261a9f7053a1a496479de07e77500902445", + "namingEvidenceSha256": "56606a6114522c665ffc36bf7ab21c037e81237861e5909270f98bfd5c102e64", "pair": "fuse->groove", "shape": { "area": 666.5663706, @@ -2802,7 +2806,7 @@ }, "reopened": { "namingEvidenceBytes": 4766, - "namingEvidenceSha256": "5dc0b436645f50e820c99fe40dbe1261a9f7053a1a496479de07e77500902445", + "namingEvidenceSha256": "56606a6114522c665ffc36bf7ab21c037e81237861e5909270f98bfd5c102e64", "pair": "fuse->groove", "shape": { "area": 666.5663706, @@ -2824,7 +2828,7 @@ }, "resaved": { "namingEvidenceBytes": 4766, - "namingEvidenceSha256": "5dc0b436645f50e820c99fe40dbe1261a9f7053a1a496479de07e77500902445", + "namingEvidenceSha256": "56606a6114522c665ffc36bf7ab21c037e81237861e5909270f98bfd5c102e64", "pair": "fuse->groove", "shape": { "area": 666.5663706, @@ -2882,7 +2886,7 @@ "selectedRecords": 8, "ambiguousResults": 24, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "a3a253e1b4e72b05b6a4744c7f24b83938d49ac60085a88567cfc5d0d94962a8", + "namingEvidenceSha256": "a35ca5536f4242fbd23a1336afc8ee199cc25f32ab71921dd67a55868813e74b", "namingSemanticSha256": "c118fbf3a56f6faef63d00535b9b0d0cb0a4d1a6f2f2ee47e72dd2d25083bb78" }, "second": { @@ -2912,7 +2916,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "b01bf01c72f4e5fb61abca83dd35acef66430b428fdb5ef52ec13f0939f7a10c", - "namingEvidenceSha256": "be91b9d4c18fb4f72f44340a2c3044f5797a2460423ebbb229d29ba9e28c8a46", + "namingEvidenceSha256": "f31e20f9d668c6cc79a1369db1fb603f878650026c8e3ae0b73002bc09bd4116", "namingSemanticSha256": "1eb2dfadaa548d7850a571291cce0bf5257e260ee6adbee04831322932b84de1" }, "mutation": { @@ -2955,7 +2959,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "b01bf01c72f4e5fb61abca83dd35acef66430b428fdb5ef52ec13f0939f7a10c", - "namingEvidenceSha256": "f31e20f9d668c6cc79a1369db1fb603f878650026c8e3ae0b73002bc09bd4116", + "namingEvidenceSha256": "574d41dae4a5ed8057b49ba13f0d25ff71c679edd39d2d4213cb926325831989", "namingSemanticSha256": "1eb2dfadaa548d7850a571291cce0bf5257e260ee6adbee04831322932b84de1" }, "restoredEvidence": { @@ -2985,7 +2989,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "b01bf01c72f4e5fb61abca83dd35acef66430b428fdb5ef52ec13f0939f7a10c", - "namingEvidenceSha256": "574d41dae4a5ed8057b49ba13f0d25ff71c679edd39d2d4213cb926325831989", + "namingEvidenceSha256": "379da73d8f93f434473b590e97ad68d100a8ed55134ad68c5212b4bc0963de16", "namingSemanticSha256": "1eb2dfadaa548d7850a571291cce0bf5257e260ee6adbee04831322932b84de1" } }, @@ -3007,7 +3011,7 @@ "phases": { "initial": { "namingEvidenceBytes": 19845, - "namingEvidenceSha256": "be91b9d4c18fb4f72f44340a2c3044f5797a2460423ebbb229d29ba9e28c8a46", + "namingEvidenceSha256": "f31e20f9d668c6cc79a1369db1fb603f878650026c8e3ae0b73002bc09bd4116", "pair": "fuse->fillet", "shape": { "area": 775.7833557, @@ -3029,7 +3033,7 @@ }, "reopened": { "namingEvidenceBytes": 19845, - "namingEvidenceSha256": "be91b9d4c18fb4f72f44340a2c3044f5797a2460423ebbb229d29ba9e28c8a46", + "namingEvidenceSha256": "f31e20f9d668c6cc79a1369db1fb603f878650026c8e3ae0b73002bc09bd4116", "pair": "fuse->fillet", "shape": { "area": 775.7833557, @@ -3051,7 +3055,7 @@ }, "resaved": { "namingEvidenceBytes": 19845, - "namingEvidenceSha256": "be91b9d4c18fb4f72f44340a2c3044f5797a2460423ebbb229d29ba9e28c8a46", + "namingEvidenceSha256": "f31e20f9d668c6cc79a1369db1fb603f878650026c8e3ae0b73002bc09bd4116", "pair": "fuse->fillet", "shape": { "area": 775.7833557, @@ -3109,7 +3113,7 @@ "selectedRecords": 8, "ambiguousResults": 24, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "ee7d3e25b885b272b0571631ea84e3ad5a773cbd5fe9b6e9428c1e7f6a99334c", + "namingEvidenceSha256": "b20593ebf73fe0819bff1d9d9c03c9ab34e7f23ae6a66855cc57896151cdcc30", "namingSemanticSha256": "2a92f0308db3d218134c4ec86fd7b6cafcbfeed7bdab0e7f2b0b10743c9f85ee" }, "second": { @@ -3139,7 +3143,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "56d637add2e2b0d88027ae046c3b460293ca96044de7f325ed32f3ba17d1542c", - "namingEvidenceSha256": "37cda66fad4e1b7a2a10149fa327f2fc3dd97af9faead82bcb174ffe4df2bf4b", + "namingEvidenceSha256": "9f59dba30d2134cfee31ae308b43551cba4442d0ae7d9e32f9e0bcb5bb7b79eb", "namingSemanticSha256": "d08ef33cffc6448954fc896515faa873600d62aff668570cbde80cd5abe75c7b" }, "mutation": { @@ -3182,7 +3186,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "56d637add2e2b0d88027ae046c3b460293ca96044de7f325ed32f3ba17d1542c", - "namingEvidenceSha256": "d5e879191f6ce0430cddb32244aa82cf678acf87c810ca37ba5fcaba9067b839", + "namingEvidenceSha256": "6f8411ad808ec687fae83ae076542e0727dc5c34b3bf1f904a4346b82a16fb05", "namingSemanticSha256": "d08ef33cffc6448954fc896515faa873600d62aff668570cbde80cd5abe75c7b" }, "restoredEvidence": { @@ -3212,7 +3216,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "56d637add2e2b0d88027ae046c3b460293ca96044de7f325ed32f3ba17d1542c", - "namingEvidenceSha256": "9f59dba30d2134cfee31ae308b43551cba4442d0ae7d9e32f9e0bcb5bb7b79eb", + "namingEvidenceSha256": "af0d37b7acbace2be8488c8858f3acdbd4ba4d1c81dca5c948c0a1b1e784e714", "namingSemanticSha256": "d08ef33cffc6448954fc896515faa873600d62aff668570cbde80cd5abe75c7b" } }, @@ -3234,7 +3238,7 @@ "phases": { "initial": { "namingEvidenceBytes": 20008, - "namingEvidenceSha256": "37cda66fad4e1b7a2a10149fa327f2fc3dd97af9faead82bcb174ffe4df2bf4b", + "namingEvidenceSha256": "9f59dba30d2134cfee31ae308b43551cba4442d0ae7d9e32f9e0bcb5bb7b79eb", "pair": "fuse->chamfer", "shape": { "area": 766.7138919, @@ -3256,7 +3260,7 @@ }, "reopened": { "namingEvidenceBytes": 20008, - "namingEvidenceSha256": "37cda66fad4e1b7a2a10149fa327f2fc3dd97af9faead82bcb174ffe4df2bf4b", + "namingEvidenceSha256": "9f59dba30d2134cfee31ae308b43551cba4442d0ae7d9e32f9e0bcb5bb7b79eb", "pair": "fuse->chamfer", "shape": { "area": 766.7138919, @@ -3278,7 +3282,7 @@ }, "resaved": { "namingEvidenceBytes": 20008, - "namingEvidenceSha256": "37cda66fad4e1b7a2a10149fa327f2fc3dd97af9faead82bcb174ffe4df2bf4b", + "namingEvidenceSha256": "9f59dba30d2134cfee31ae308b43551cba4442d0ae7d9e32f9e0bcb5bb7b79eb", "pair": "fuse->chamfer", "shape": { "area": 766.7138919, @@ -3336,7 +3340,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "2a14c796a19af15dcaed1cfaf68a6bbc13f1bb4076f0c15d8d623e8767c2cdc0", + "namingEvidenceSha256": "ec5a75e8be74c8411d3b3a6cb589537204bd83832a4d5524d4f782f2601dba21", "namingSemanticSha256": "50a50c045b7842a649a5e06039a43c492b27bb905e67e37c97c44813155e0cef" }, "second": { @@ -3563,7 +3567,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "481657d83b41cf44be27b8cb79aa24df37ed83df3ce7d9dca6a18c1a60f3a61c", + "namingEvidenceSha256": "aae2813c3dbcf122f907c9cf2481740f40ece1ee0366839d3e11fa16cb13e031", "namingSemanticSha256": "a6302fe6a8ba67344afb9b460abf370a32d9f82b9e96043f336a524184a5f592" }, "second": { @@ -4017,7 +4021,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "b3858bd5280d5f9c42785531903ed9aa739f2b61c517ec047a7e7b2be78a1797", + "namingEvidenceSha256": "86720ae23d4bb8becf5e8c400c38769d8a66f06830fca428d0343aebcc27a885", "namingSemanticSha256": "46436ea2ef40c9644f582e2658cfc6fcc92e8ff2bcaceae4e0fc97d4266500ae" }, "second": { @@ -4244,7 +4248,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "b23eb9a55c6a7b0001f614f341c968f60b0a7cfd45808201d016116bc3ac9f17", + "namingEvidenceSha256": "5920108baf8160273bf8b99cb9ea8de34f591ba39d878a17a1aa242458ee0b68", "namingSemanticSha256": "b95ba6267525491c77939ae29e8d6abe84ec43ac54193df8d8918f0d85ce5f18" }, "second": { @@ -4274,7 +4278,7 @@ "selectedRecords": 12, "ambiguousResults": 22, "historySha256": "e9af10beed68d7df93060477c5c9af31877bbc29418b4093db3e6876352423e2", - "namingEvidenceSha256": "85bc79c221c96171661a049ab3def10ef6a83105306ea7349df8fcaed0eba4f4", + "namingEvidenceSha256": "f3828b6b9f4e75bdf8fb5cc7b1e9faf8fdd6cb5c040fbb95739e57726ab79dc1", "namingSemanticSha256": "14ccc88e134ad54323a2b653ed3a65b4a3fb43669809fda95ccc1cf08fc959da" }, "mutation": { @@ -4317,7 +4321,7 @@ "selectedRecords": 8, "ambiguousResults": 13, "historySha256": "942333ff25f5c877c53eaf00c174a8103470a42337b7da554fb21bcd8ff0879c", - "namingEvidenceSha256": "a6dcb78cd458f1844f5544355792fb8149e6e36f8b32b8303e1bb750f7182a7a", + "namingEvidenceSha256": "a259858586672f3bac13f5501c0762d7f5260b475e8c4aee9dd637f52e75d783", "namingSemanticSha256": "2f79fa241c8fffebb8a582a784138dbb6f974355d923bb69ba77e36fb1841360" }, "restoredEvidence": { @@ -4347,7 +4351,7 @@ "selectedRecords": 12, "ambiguousResults": 22, "historySha256": "e9af10beed68d7df93060477c5c9af31877bbc29418b4093db3e6876352423e2", - "namingEvidenceSha256": "4324ad9203f1ae1d76214ed516706715d532b6cbe341e5cee46477e14a54c3fa", + "namingEvidenceSha256": "536f0f596a21f9fde2fbc02b6b854b692c958e0680bae9bcc87d7b0b7369aacd", "namingSemanticSha256": "14ccc88e134ad54323a2b653ed3a65b4a3fb43669809fda95ccc1cf08fc959da" } }, @@ -4369,7 +4373,7 @@ "phases": { "initial": { "namingEvidenceBytes": 13329, - "namingEvidenceSha256": "85bc79c221c96171661a049ab3def10ef6a83105306ea7349df8fcaed0eba4f4", + "namingEvidenceSha256": "f3828b6b9f4e75bdf8fb5cc7b1e9faf8fdd6cb5c040fbb95739e57726ab79dc1", "pair": "fuse->polar-pattern", "shape": { "area": 843.1348789, @@ -4391,7 +4395,7 @@ }, "reopened": { "namingEvidenceBytes": 13329, - "namingEvidenceSha256": "85bc79c221c96171661a049ab3def10ef6a83105306ea7349df8fcaed0eba4f4", + "namingEvidenceSha256": "f3828b6b9f4e75bdf8fb5cc7b1e9faf8fdd6cb5c040fbb95739e57726ab79dc1", "pair": "fuse->polar-pattern", "shape": { "area": 843.1348789, @@ -4413,7 +4417,7 @@ }, "resaved": { "namingEvidenceBytes": 13329, - "namingEvidenceSha256": "85bc79c221c96171661a049ab3def10ef6a83105306ea7349df8fcaed0eba4f4", + "namingEvidenceSha256": "f3828b6b9f4e75bdf8fb5cc7b1e9faf8fdd6cb5c040fbb95739e57726ab79dc1", "pair": "fuse->polar-pattern", "shape": { "area": 843.1348789, @@ -4471,7 +4475,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "79e6c140d261cbe3585c76f1e9743bf818c4b5c5c68238cd3c7bf9a13741c6ea", + "namingEvidenceSha256": "f15dea70fd50a4c10a37ec7350b7cad8f96e23d7276ba25b2cc4f14daf7bc388", "namingSemanticSha256": "0ab7099aa86177ae767c87a0dc5512da9bed3529b2298917e432122aad029cae" }, "second": { @@ -4501,7 +4505,7 @@ "selectedRecords": 10, "ambiguousResults": 35, "historySha256": "b3bbb472b469962c36db0ae2cf8035ec742a7f3240b21f5e54a5c310ee32f014", - "namingEvidenceSha256": "9b828e70bd8a10758aafb2c9814ee69ae61774b643046ef4f96cea1865936eaa", + "namingEvidenceSha256": "44aa164ad10bb54aa1d89110d05de6cb754034bfc7349930be7717ffb6ca041a", "namingSemanticSha256": "5a492b29243696d04e95f3f9c18261ee40d4fdad3f8b3620a54bd828499c0e18" }, "mutation": { @@ -4544,7 +4548,7 @@ "selectedRecords": 19, "ambiguousResults": 33, "historySha256": "b34097cafc06909b14bbbb465ee975e7c5628bb6902d6c5f1f9333d074222d23", - "namingEvidenceSha256": "eeec5fc4fed27f5ec6687f49540d77af1b58c1009e26c39dac5a81460c86562a", + "namingEvidenceSha256": "a2003e2840303198b193be5ecbf63969a1ef15eb554ea274ec95bf36246997a1", "namingSemanticSha256": "70abf0dcbdab8dd8bb8b7ce2bb75a4602956451d991eadadac3b02f8714940b4" }, "restoredEvidence": { @@ -4574,7 +4578,7 @@ "selectedRecords": 10, "ambiguousResults": 35, "historySha256": "b3bbb472b469962c36db0ae2cf8035ec742a7f3240b21f5e54a5c310ee32f014", - "namingEvidenceSha256": "551982d527808f3c3b9f34b52d861e8dc4e040410509763cf591d5818b40ab63", + "namingEvidenceSha256": "725a4dee83fc45f126975f637af6f2be0d90d83d4a40c993366d25ef0dcb0011", "namingSemanticSha256": "5a492b29243696d04e95f3f9c18261ee40d4fdad3f8b3620a54bd828499c0e18" } }, @@ -4596,7 +4600,7 @@ "phases": { "initial": { "namingEvidenceBytes": 17364, - "namingEvidenceSha256": "9b828e70bd8a10758aafb2c9814ee69ae61774b643046ef4f96cea1865936eaa", + "namingEvidenceSha256": "44aa164ad10bb54aa1d89110d05de6cb754034bfc7349930be7717ffb6ca041a", "pair": "fuse->mirrored", "shape": { "area": 720, @@ -4618,7 +4622,7 @@ }, "reopened": { "namingEvidenceBytes": 17364, - "namingEvidenceSha256": "9b828e70bd8a10758aafb2c9814ee69ae61774b643046ef4f96cea1865936eaa", + "namingEvidenceSha256": "44aa164ad10bb54aa1d89110d05de6cb754034bfc7349930be7717ffb6ca041a", "pair": "fuse->mirrored", "shape": { "area": 720, @@ -4640,7 +4644,7 @@ }, "resaved": { "namingEvidenceBytes": 17364, - "namingEvidenceSha256": "9b828e70bd8a10758aafb2c9814ee69ae61774b643046ef4f96cea1865936eaa", + "namingEvidenceSha256": "44aa164ad10bb54aa1d89110d05de6cb754034bfc7349930be7717ffb6ca041a", "pair": "fuse->mirrored", "shape": { "area": 720, @@ -4698,7 +4702,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "3c9d5be39dd201d2a637810cc9ae644ee5c056f7eab523ab3480a74c7dc5c427", - "namingEvidenceSha256": "8582ce724a6ce2aa4be5817fb3ff0cfe1500467f796122611fd36ca73ce1c814", + "namingEvidenceSha256": "10588042714864648cef720ac3270ae55bf75ee01f9fa4f295b447461d81394f", "namingSemanticSha256": "4605465189e1d1dce7ff971ec755fbc41d7455fe19838dc50b31e88f94380e5e" }, "second": { @@ -4728,7 +4732,7 @@ "selectedRecords": 32, "ambiguousResults": 170, "historySha256": "5b1bf3630c545edaa009d94bb2336c28a3c1c822dc294af75951884628975d0c", - "namingEvidenceSha256": "284a2ccfe1d9d595c24df008bc1f10e448385dbb1b8bf57d92fe91a969e8f508", + "namingEvidenceSha256": "97c6a092adcaaac9dbc7f7cc41284e33f8753e6ac9c621ab6025f557d502dc64", "namingSemanticSha256": "68c85aade66f84ced8f7a5781462c2196594b1f7ba3befa719c6f350260dbba8" }, "mutation": { @@ -4771,7 +4775,7 @@ "selectedRecords": 32, "ambiguousResults": 186, "historySha256": "f091e70b07239a459502e8fc3225a1f1be8a27318374f909d6cdd02888530b91", - "namingEvidenceSha256": "4377adbfc318de45711bfb39d9c98c62851d9172cd733322173f3eee9c65a572", + "namingEvidenceSha256": "24a70f1320d9c82bdc191a0bb615711ef11c3ca41c6eeb3d0c6d2a7cf198a5ea", "namingSemanticSha256": "b731ca378662d935a09913cb39327d829970a23bbedf4397bfff7045cab20d5d" }, "restoredEvidence": { @@ -4801,7 +4805,7 @@ "selectedRecords": 32, "ambiguousResults": 170, "historySha256": "5b1bf3630c545edaa009d94bb2336c28a3c1c822dc294af75951884628975d0c", - "namingEvidenceSha256": "ba009c6d67941eaa546cb62030896258689a0e687ecf21cc5db657ff5b1b3f5f", + "namingEvidenceSha256": "9985c4ad718e448289f7d897aa3ace875fd707caff3589253cf5a5e09cced8ca", "namingSemanticSha256": "68c85aade66f84ced8f7a5781462c2196594b1f7ba3befa719c6f350260dbba8" } }, @@ -4823,7 +4827,7 @@ "phases": { "initial": { "namingEvidenceBytes": 94981, - "namingEvidenceSha256": "284a2ccfe1d9d595c24df008bc1f10e448385dbb1b8bf57d92fe91a969e8f508", + "namingEvidenceSha256": "97c6a092adcaaac9dbc7f7cc41284e33f8753e6ac9c621ab6025f557d502dc64", "pair": "fuse->multi-transform", "shape": { "area": 1360, @@ -4845,7 +4849,7 @@ }, "reopened": { "namingEvidenceBytes": 94981, - "namingEvidenceSha256": "284a2ccfe1d9d595c24df008bc1f10e448385dbb1b8bf57d92fe91a969e8f508", + "namingEvidenceSha256": "97c6a092adcaaac9dbc7f7cc41284e33f8753e6ac9c621ab6025f557d502dc64", "pair": "fuse->multi-transform", "shape": { "area": 1360, @@ -4867,7 +4871,7 @@ }, "resaved": { "namingEvidenceBytes": 94981, - "namingEvidenceSha256": "284a2ccfe1d9d595c24df008bc1f10e448385dbb1b8bf57d92fe91a969e8f508", + "namingEvidenceSha256": "97c6a092adcaaac9dbc7f7cc41284e33f8753e6ac9c621ab6025f557d502dc64", "pair": "fuse->multi-transform", "shape": { "area": 1360, @@ -4925,7 +4929,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "53dcd6c712b4430ff27734f561979dea3dd79d4037cf3c65578e95684f4a91b9", + "namingEvidenceSha256": "44b74c6442f289519b83d3b11d3ec73ca1ab9426e26b9c0ea3cdc70f4bad8823", "namingSemanticSha256": "c57d159513285c40ffeec338310a828c8061d4b5b3b04a2e4816a25f949825b8" }, "second": { @@ -4955,7 +4959,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "932999f08b09fe429f42ac6ece9354fadfd527ffe69e784353c2f29cd7a35c34", - "namingEvidenceSha256": "76a6a63fdbe69c444552a59c50bd5abf7f2a815537c8c9f60070f987706fa2e1", + "namingEvidenceSha256": "ee0b2fb0c8cf1a723e9fc3dff63513fddeb278c1287719bc2a7b54d68bfab1e7", "namingSemanticSha256": "d2b7535aa85dc6c3f00fce727900dd2a66f52342ab61366186895ba717908fd8" }, "mutation": { @@ -5028,7 +5032,7 @@ "selectedRecords": 7, "ambiguousResults": 16, "historySha256": "932999f08b09fe429f42ac6ece9354fadfd527ffe69e784353c2f29cd7a35c34", - "namingEvidenceSha256": "263638bc2d833b54a5d948af6ffc1f78165524a6c6ecbb5aad6e6c90e1f536c5", + "namingEvidenceSha256": "529eff581a1e9aa7a52a5ccfc9b0e630d2608b6d632bd348c5956e02fae00833", "namingSemanticSha256": "d2b7535aa85dc6c3f00fce727900dd2a66f52342ab61366186895ba717908fd8" } }, @@ -5050,7 +5054,7 @@ "phases": { "initial": { "namingEvidenceBytes": 8411, - "namingEvidenceSha256": "76a6a63fdbe69c444552a59c50bd5abf7f2a815537c8c9f60070f987706fa2e1", + "namingEvidenceSha256": "ee0b2fb0c8cf1a723e9fc3dff63513fddeb278c1287719bc2a7b54d68bfab1e7", "pair": "cut->fuse", "shape": { "area": 692, @@ -5072,7 +5076,7 @@ }, "reopened": { "namingEvidenceBytes": 8411, - "namingEvidenceSha256": "76a6a63fdbe69c444552a59c50bd5abf7f2a815537c8c9f60070f987706fa2e1", + "namingEvidenceSha256": "ee0b2fb0c8cf1a723e9fc3dff63513fddeb278c1287719bc2a7b54d68bfab1e7", "pair": "cut->fuse", "shape": { "area": 692, @@ -5094,7 +5098,7 @@ }, "resaved": { "namingEvidenceBytes": 8411, - "namingEvidenceSha256": "76a6a63fdbe69c444552a59c50bd5abf7f2a815537c8c9f60070f987706fa2e1", + "namingEvidenceSha256": "ee0b2fb0c8cf1a723e9fc3dff63513fddeb278c1287719bc2a7b54d68bfab1e7", "pair": "cut->fuse", "shape": { "area": 692, @@ -5152,7 +5156,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "72405b1a76e82cb14f319ad7adacf87869ec73181a52029da59fa3088fa1b07d", + "namingEvidenceSha256": "98e6a0a8f13b7a18eb12a7c1f9687ac592f2f30049c04251cb6429745b4fb47a", "namingSemanticSha256": "817bd88f5ece0904224ff747e6fe5b40f13eb48f32fc1c510a0d55f9137d06b4" }, "second": { @@ -5182,7 +5186,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "a79fe37ed2c713b596e116e583044b978e8f142f0c77bc2054c8484530e137b8", - "namingEvidenceSha256": "896168afeb17fa8c90ed82c5b65f6b9519a1efeb064f227156b1f93534eddd8b", + "namingEvidenceSha256": "d4a74138316d0010146d7d5049610341bd2574e065b1bf411a9707bd3789c5a7", "namingSemanticSha256": "080299d095f74c3206957bf8d8829bf0c61a05fd5cf087f6f96ccb312a01f4ef" }, "mutation": { @@ -5225,7 +5229,7 @@ "selectedRecords": 7, "ambiguousResults": 15, "historySha256": "45e63b956c39e58d3fce7e20c1d04a5ea77ebbd6c3a171d972e6939752924714", - "namingEvidenceSha256": "46b4c8bdf894e9ca5fb6fa5d19eec0902e9faf3a98b5fd51daee26075ae1d745", + "namingEvidenceSha256": "3944026f39b56b24253f4e56b300d9be567725da681eb6b72f840b8ae2c8295e", "namingSemanticSha256": "0fca7e13172c779f637a0914e06cd07d0a29056cebf0477812a0272049f74ba6" }, "restoredEvidence": { @@ -5255,7 +5259,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "a79fe37ed2c713b596e116e583044b978e8f142f0c77bc2054c8484530e137b8", - "namingEvidenceSha256": "3618abfac1dbbcad36961e3fc22bfb2bd4679742d81c33e53184038928ca7d5f", + "namingEvidenceSha256": "2d3cab670940ccb070b5492669548ab81403e31e81658abc1297a7b32e3fba10", "namingSemanticSha256": "080299d095f74c3206957bf8d8829bf0c61a05fd5cf087f6f96ccb312a01f4ef" } }, @@ -5277,7 +5281,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4517, - "namingEvidenceSha256": "896168afeb17fa8c90ed82c5b65f6b9519a1efeb064f227156b1f93534eddd8b", + "namingEvidenceSha256": "d4a74138316d0010146d7d5049610341bd2574e065b1bf411a9707bd3789c5a7", "pair": "cut->cut", "shape": { "area": 632, @@ -5299,7 +5303,7 @@ }, "reopened": { "namingEvidenceBytes": 4517, - "namingEvidenceSha256": "896168afeb17fa8c90ed82c5b65f6b9519a1efeb064f227156b1f93534eddd8b", + "namingEvidenceSha256": "d4a74138316d0010146d7d5049610341bd2574e065b1bf411a9707bd3789c5a7", "pair": "cut->cut", "shape": { "area": 632, @@ -5321,7 +5325,7 @@ }, "resaved": { "namingEvidenceBytes": 4517, - "namingEvidenceSha256": "896168afeb17fa8c90ed82c5b65f6b9519a1efeb064f227156b1f93534eddd8b", + "namingEvidenceSha256": "d4a74138316d0010146d7d5049610341bd2574e065b1bf411a9707bd3789c5a7", "pair": "cut->cut", "shape": { "area": 632, @@ -5379,7 +5383,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "dd5e60d1509de55ff5d61eb3370bb0476b7642bce6fbc2ffd0ac20211da2b874", + "namingEvidenceSha256": "244584d9d05e83b87f4fb9e93955212845ba4a1badaf2c793d35ca69c28be528", "namingSemanticSha256": "f89ae7f6d1ccfb38bf9cb8b18869df8dd04a18efd91a3123e18f632349a34dfb" }, "second": { @@ -5409,7 +5413,7 @@ "selectedRecords": 3, "ambiguousResults": 14, "historySha256": "52359afa03f719a679c31cd0bc0b8c387503f9a4955c1d76dd3373db3382aac9", - "namingEvidenceSha256": "927cfa109ff762298c69bcb296dc2b5f6b9dd44dc3b3e0138e3d66e1e3ffbfe0", + "namingEvidenceSha256": "206b862e0fe5a848fe072156a0f7d090e760d511438b0ffb02c9ac1b1868cee4", "namingSemanticSha256": "8159243c9790aa0bcc5e6bebccecb370044e83ecede91966d70d54f4258926a2" }, "mutation": { @@ -5452,7 +5456,7 @@ "selectedRecords": 3, "ambiguousResults": 18, "historySha256": "dae6fd5c1c30d4899034cf9e9d05056631d79be5f7f9231d44595b6718619321", - "namingEvidenceSha256": "dcf8d25b9c4dca0ed8531f6da21c2931c6359d332687ff546bdf56ac2f9f9fab", + "namingEvidenceSha256": "04c6799801c580b2e25ee1bf5a714b1b8cc9a6848bd2278556d7d61cbe48dcfe", "namingSemanticSha256": "611f12e4b31eb5b34ede93ac9f1a0f502f95db24fc897c7bc5ddf891c7f636c4" }, "restoredEvidence": { @@ -5482,7 +5486,7 @@ "selectedRecords": 3, "ambiguousResults": 14, "historySha256": "52359afa03f719a679c31cd0bc0b8c387503f9a4955c1d76dd3373db3382aac9", - "namingEvidenceSha256": "305b561e1ac070e700e9d7993d3a79c4a9eb8b5549483bfb861a5f41dd75d2c5", + "namingEvidenceSha256": "6e9d7bbc479313154ddf2ea549fbaecd7ca9f29878950060b900725ea4b7d370", "namingSemanticSha256": "8159243c9790aa0bcc5e6bebccecb370044e83ecede91966d70d54f4258926a2" } }, @@ -5504,7 +5508,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5804, - "namingEvidenceSha256": "927cfa109ff762298c69bcb296dc2b5f6b9dd44dc3b3e0138e3d66e1e3ffbfe0", + "namingEvidenceSha256": "206b862e0fe5a848fe072156a0f7d090e760d511438b0ffb02c9ac1b1868cee4", "pair": "cut->common", "shape": { "area": 150, @@ -5526,7 +5530,7 @@ }, "reopened": { "namingEvidenceBytes": 5804, - "namingEvidenceSha256": "927cfa109ff762298c69bcb296dc2b5f6b9dd44dc3b3e0138e3d66e1e3ffbfe0", + "namingEvidenceSha256": "206b862e0fe5a848fe072156a0f7d090e760d511438b0ffb02c9ac1b1868cee4", "pair": "cut->common", "shape": { "area": 150, @@ -5548,7 +5552,7 @@ }, "resaved": { "namingEvidenceBytes": 5804, - "namingEvidenceSha256": "927cfa109ff762298c69bcb296dc2b5f6b9dd44dc3b3e0138e3d66e1e3ffbfe0", + "namingEvidenceSha256": "206b862e0fe5a848fe072156a0f7d090e760d511438b0ffb02c9ac1b1868cee4", "pair": "cut->common", "shape": { "area": 150, @@ -5606,7 +5610,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "39c97b433dba29c14f1064bd016714ed48dfd437e2ed1f273aa277ccbc72cbbe", + "namingEvidenceSha256": "30844fca2e9cba83c735cfbb3618f66ae250baa5b1ae279fb13f9bc8077ad7a4", "namingSemanticSha256": "4df8a36f884005c9d05aee6582fbe6cb2f67eec67c87a02cd75c5917e0238450" }, "rejection": { @@ -5671,6 +5675,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -5960,7 +5965,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "7916ae319b528f7e93f5d0cba65637175aedec9e43732ca52000d48485695d5e", + "namingEvidenceSha256": "8b25d6829ab9b7f26cfc39cdfdee6f74955c450b4462df2c444a061c3f44a47b", "namingSemanticSha256": "550c1514ad9253b2152311cdc5777a6c35d585fcb1bd8679e00f5282f3c82d2f" }, "second": { @@ -5990,7 +5995,7 @@ "selectedRecords": 7, "ambiguousResults": 12, "historySha256": "b634a177fd6f984684cde4e6ba6fa5650bb0eff8ae954fcb40db1d94f20e0270", - "namingEvidenceSha256": "1739ccce7dd084f1548b2504e12bc8ccf0d57dcd6702dcbe6b305894123ae41b", + "namingEvidenceSha256": "1a7187ea113812bfe401e85f85f26c69c24e54c81875d85bb2874d973e103fe6", "namingSemanticSha256": "e85fc37374b1cb4248b868b9634cfe16cd26f6efbf31c3d4621fdffd23116640" }, "mutation": { @@ -6033,7 +6038,7 @@ "selectedRecords": 6, "ambiguousResults": 12, "historySha256": "efddf2a86aa431a8e43154c45d0fe32ab41c2410a6300e62f03bfbadb5f7a142", - "namingEvidenceSha256": "83bf25cba979ed34f4151fcfbfbbff08039bb4b0a1ebf3494cfd2ce4e8c32d33", + "namingEvidenceSha256": "fb4344fad5ff19bae10ea0b17bdcb52046a117cac8af87efb38bea34c590ebff", "namingSemanticSha256": "240e5801a98106b2705ca70875ca6cf367ee8f0a48e0000c453d8a0f075ba190" }, "restoredEvidence": { @@ -6063,7 +6068,7 @@ "selectedRecords": 7, "ambiguousResults": 12, "historySha256": "b634a177fd6f984684cde4e6ba6fa5650bb0eff8ae954fcb40db1d94f20e0270", - "namingEvidenceSha256": "11ca83ea71a089897df9415f474335b43bea2b130a87a2aec4dd0787dec0c13f", + "namingEvidenceSha256": "ede07072d6f25619d63c0be0fd32746c2a091a27bee7cd64a3db3e109104c9b3", "namingSemanticSha256": "e85fc37374b1cb4248b868b9634cfe16cd26f6efbf31c3d4621fdffd23116640" } }, @@ -6085,7 +6090,7 @@ "phases": { "initial": { "namingEvidenceBytes": 6793, - "namingEvidenceSha256": "1739ccce7dd084f1548b2504e12bc8ccf0d57dcd6702dcbe6b305894123ae41b", + "namingEvidenceSha256": "1a7187ea113812bfe401e85f85f26c69c24e54c81875d85bb2874d973e103fe6", "pair": "cut->pocket", "shape": { "area": 608, @@ -6107,7 +6112,7 @@ }, "reopened": { "namingEvidenceBytes": 6793, - "namingEvidenceSha256": "1739ccce7dd084f1548b2504e12bc8ccf0d57dcd6702dcbe6b305894123ae41b", + "namingEvidenceSha256": "1a7187ea113812bfe401e85f85f26c69c24e54c81875d85bb2874d973e103fe6", "pair": "cut->pocket", "shape": { "area": 608, @@ -6129,7 +6134,7 @@ }, "resaved": { "namingEvidenceBytes": 6793, - "namingEvidenceSha256": "1739ccce7dd084f1548b2504e12bc8ccf0d57dcd6702dcbe6b305894123ae41b", + "namingEvidenceSha256": "1a7187ea113812bfe401e85f85f26c69c24e54c81875d85bb2874d973e103fe6", "pair": "cut->pocket", "shape": { "area": 608, @@ -6187,7 +6192,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "69b713e03911d1147b3ba3709f85030fdd66732f9f51df3894fbb14b260596b3", + "namingEvidenceSha256": "638f47e1f4ea5990a2e0608226ea0b9dd68679e2895deb7234809a1c91f1b88e", "namingSemanticSha256": "dfedb830d08477c64a2369ac14b209398ae9efcdb45fe6d04b022d98b56499ee" }, "rejection": { @@ -6219,13 +6224,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -6253,13 +6258,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -6287,13 +6292,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 91.6666667, - "area": 293.5473231, + "volume": 750, + "area": 580.2775638, "bounds": [ -1e-7, -1e-7, -1e-7, - 2.0000001, + 10.0000001, 10.0000001, 15.0000001 ] @@ -6309,6 +6314,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -6573,7 +6579,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "f7166a5fbc8e83099fce17207635f642cdf13d181cee4e9a3e889053efe631a5", + "namingEvidenceSha256": "8cf2defa5c3bedddca10af4a2a6efd65c836e1141138bc3aa566bad159df5727", "namingSemanticSha256": "35aed6bcdbfec950e52404c6ab9ecf26ce97be3efcdf117295dab32cf8e7eb81" }, "rejection": { @@ -6695,6 +6701,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -6960,7 +6967,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "7645992efa816176f0ca91c9ead5ec20b3a2072d4964942f27b401d06866e4c6", + "namingEvidenceSha256": "5f319d17a550081198de239685b295cdebb31ce6d089d63505236d6a20be1798", "namingSemanticSha256": "dd74a49910db9993534d82db9c882016ccc43e2a290748dd077aa27e755e81f8" }, "rejection": { @@ -7025,6 +7032,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -7278,7 +7286,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "fe522c43e27764591e6f8c84a0b20c0856416729ca8e4361edb1b5bc0c96a745", + "namingEvidenceSha256": "5005cb7e6ad63dbc4db761c3d150300ddcf7c2a13e81d6b022b89f45c7744910", "namingSemanticSha256": "82b66076e2925e077194341b3ea78091e51e60ed7da30cdb8182a2587f7706cd" }, "second": { @@ -7308,7 +7316,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "e0e8541da0baff44462b0eea6973ad921aef72b76e94d3e1f1be1d04c441f43a", - "namingEvidenceSha256": "055951e919fcf58ea27946fa61c5639dd92a010e35c9515501a9368ff11a7343", + "namingEvidenceSha256": "0c9c03fbcff140edc76efdd00033a4a7efc69c945759f88d7ba2fd6065d88dad", "namingSemanticSha256": "acfc133e3d9d59c0bd1bff63716f7df37c42de92b930bb40528c56ba48dceda8" }, "mutation": { @@ -7351,7 +7359,7 @@ "selectedRecords": 1, "ambiguousResults": 5, "historySha256": "bb0d2bbff1a909d06dca894cee77dff09d31e39e01aa645aca9c965f12f2dff7", - "namingEvidenceSha256": "675617836db8f3ff87f59790e8b86d6a5a6589708af8f87ebe5aee2de2d46c20", + "namingEvidenceSha256": "91012c359832459a3eafc570d48e3f353482a669f9f91e6c6641ce40cb257a20", "namingSemanticSha256": "4f14c3b64b68e589720eaa7baba730e26ae981c74efa295eb30962543250488f" }, "restoredEvidence": { @@ -7381,7 +7389,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "e0e8541da0baff44462b0eea6973ad921aef72b76e94d3e1f1be1d04c441f43a", - "namingEvidenceSha256": "f73de93f30f6fa11c98fbc85c2a523122f0afbd268031ccefff0e152fbe1846b", + "namingEvidenceSha256": "0b65792fac0cdbd5883f565c75d13fd49f20f99608c215583addbc433b69c4a3", "namingSemanticSha256": "acfc133e3d9d59c0bd1bff63716f7df37c42de92b930bb40528c56ba48dceda8" } }, @@ -7403,7 +7411,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4744, - "namingEvidenceSha256": "055951e919fcf58ea27946fa61c5639dd92a010e35c9515501a9368ff11a7343", + "namingEvidenceSha256": "0c9c03fbcff140edc76efdd00033a4a7efc69c945759f88d7ba2fd6065d88dad", "pair": "cut->groove", "shape": { "area": 638.5663706, @@ -7425,7 +7433,7 @@ }, "reopened": { "namingEvidenceBytes": 4744, - "namingEvidenceSha256": "055951e919fcf58ea27946fa61c5639dd92a010e35c9515501a9368ff11a7343", + "namingEvidenceSha256": "0c9c03fbcff140edc76efdd00033a4a7efc69c945759f88d7ba2fd6065d88dad", "pair": "cut->groove", "shape": { "area": 638.5663706, @@ -7447,7 +7455,7 @@ }, "resaved": { "namingEvidenceBytes": 4744, - "namingEvidenceSha256": "055951e919fcf58ea27946fa61c5639dd92a010e35c9515501a9368ff11a7343", + "namingEvidenceSha256": "0c9c03fbcff140edc76efdd00033a4a7efc69c945759f88d7ba2fd6065d88dad", "pair": "cut->groove", "shape": { "area": 638.5663706, @@ -7505,7 +7513,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "9ddbf4105e7f0c46019cfe10102a097f5be02c06b9aeeff0236e41a408b2ac25", + "namingEvidenceSha256": "5a674a405bc502d97ee32fd0a63101b4ab29adc2a6403da23628e1c636990ce6", "namingSemanticSha256": "fc6b79bf5e36eea209c778d6ffbbb94e1a902292c0ba6ccd508970f2ff5693e4" }, "second": { @@ -7535,7 +7543,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "47edaaa3284f2c1330d79741443dc817e9f13ad1397c06e890e4aaaefbebc796", + "namingEvidenceSha256": "4a2de0b650fdfe86c7de6b6984327502c17e4cee7c70c893a405e813ecb74b96", "namingSemanticSha256": "afe65eb8ca732f1cd14d2820fcdd8760f983e47b3bdf5b2285ac4865be650da3" }, "mutation": { @@ -7578,7 +7586,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "4a2de0b650fdfe86c7de6b6984327502c17e4cee7c70c893a405e813ecb74b96", + "namingEvidenceSha256": "7e2dc4292234cdd28d4cc3028e5c7e52ac9063ff7835df39a3878957eedf4ef0", "namingSemanticSha256": "afe65eb8ca732f1cd14d2820fcdd8760f983e47b3bdf5b2285ac4865be650da3" }, "restoredEvidence": { @@ -7608,7 +7616,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "7e2dc4292234cdd28d4cc3028e5c7e52ac9063ff7835df39a3878957eedf4ef0", + "namingEvidenceSha256": "53c864bdaa253ff2f1c4294e8fcef5c815314b6dd52a740b729d05f4897c5f90", "namingSemanticSha256": "afe65eb8ca732f1cd14d2820fcdd8760f983e47b3bdf5b2285ac4865be650da3" } }, @@ -7630,7 +7638,7 @@ "phases": { "initial": { "namingEvidenceBytes": 20492, - "namingEvidenceSha256": "47edaaa3284f2c1330d79741443dc817e9f13ad1397c06e890e4aaaefbebc796", + "namingEvidenceSha256": "4a2de0b650fdfe86c7de6b6984327502c17e4cee7c70c893a405e813ecb74b96", "pair": "cut->fillet", "shape": { "area": 604.5855225, @@ -7652,7 +7660,7 @@ }, "reopened": { "namingEvidenceBytes": 20492, - "namingEvidenceSha256": "47edaaa3284f2c1330d79741443dc817e9f13ad1397c06e890e4aaaefbebc796", + "namingEvidenceSha256": "4a2de0b650fdfe86c7de6b6984327502c17e4cee7c70c893a405e813ecb74b96", "pair": "cut->fillet", "shape": { "area": 604.5855225, @@ -7674,7 +7682,7 @@ }, "resaved": { "namingEvidenceBytes": 20492, - "namingEvidenceSha256": "47edaaa3284f2c1330d79741443dc817e9f13ad1397c06e890e4aaaefbebc796", + "namingEvidenceSha256": "4a2de0b650fdfe86c7de6b6984327502c17e4cee7c70c893a405e813ecb74b96", "pair": "cut->fillet", "shape": { "area": 604.5855225, @@ -7732,7 +7740,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "02e8e9cc8ab8061cdf86693aade65c2dafe6eaed39047a289fcef5d3966d9a1c", + "namingEvidenceSha256": "882a2448a5c6d1bb3de02fb6dc62bf6f8fa4708dd2fb34edd27e274f36105beb", "namingSemanticSha256": "c22ceb4e25919ac45e6e2681c4306830e9e12e8b007eae6a00bf6a51835e98b8" }, "second": { @@ -7762,7 +7770,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "c811ece6a8f9f92d51d304c47bcf05139dc8635010b75c16b285d4cf737bf0c7", + "namingEvidenceSha256": "340ab981bf0a465eb7ba54698213125b751c1a4bd4ac6bbad3aa9b4be0977d8c", "namingSemanticSha256": "be977557cd79b0000e855929b6f21de4aa9b99736e467fbe9979f0e63042d2f7" }, "mutation": { @@ -7805,7 +7813,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "340ab981bf0a465eb7ba54698213125b751c1a4bd4ac6bbad3aa9b4be0977d8c", + "namingEvidenceSha256": "7897d8a8cbafdd2902b4b33820ae603e0e82296f896459e04fe944a293d153e3", "namingSemanticSha256": "be977557cd79b0000e855929b6f21de4aa9b99736e467fbe9979f0e63042d2f7" }, "restoredEvidence": { @@ -7835,7 +7843,7 @@ "selectedRecords": 10, "ambiguousResults": 40, "historySha256": "083200eaa4b34b3869f284fcf1a0c847fd354cdb0c0cf7d7c58acbc903ef7646", - "namingEvidenceSha256": "7897d8a8cbafdd2902b4b33820ae603e0e82296f896459e04fe944a293d153e3", + "namingEvidenceSha256": "57f611fb845cf5c7dc2e3b20793850a2c83838569633d8dc13bf15bd68211551", "namingSemanticSha256": "be977557cd79b0000e855929b6f21de4aa9b99736e467fbe9979f0e63042d2f7" } }, @@ -7857,7 +7865,7 @@ "phases": { "initial": { "namingEvidenceBytes": 20667, - "namingEvidenceSha256": "c811ece6a8f9f92d51d304c47bcf05139dc8635010b75c16b285d4cf737bf0c7", + "namingEvidenceSha256": "340ab981bf0a465eb7ba54698213125b751c1a4bd4ac6bbad3aa9b4be0977d8c", "pair": "cut->chamfer", "shape": { "area": 594.6540454, @@ -7879,7 +7887,7 @@ }, "reopened": { "namingEvidenceBytes": 20667, - "namingEvidenceSha256": "c811ece6a8f9f92d51d304c47bcf05139dc8635010b75c16b285d4cf737bf0c7", + "namingEvidenceSha256": "340ab981bf0a465eb7ba54698213125b751c1a4bd4ac6bbad3aa9b4be0977d8c", "pair": "cut->chamfer", "shape": { "area": 594.6540454, @@ -7901,7 +7909,7 @@ }, "resaved": { "namingEvidenceBytes": 20667, - "namingEvidenceSha256": "c811ece6a8f9f92d51d304c47bcf05139dc8635010b75c16b285d4cf737bf0c7", + "namingEvidenceSha256": "340ab981bf0a465eb7ba54698213125b751c1a4bd4ac6bbad3aa9b4be0977d8c", "pair": "cut->chamfer", "shape": { "area": 594.6540454, @@ -7959,7 +7967,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "2bf87fb283b1975d28056c353b236b0e86107b6eff9cf6f46142214d4f2c2a81", + "namingEvidenceSha256": "180369d07ac00490511b5b01f03b1b23cf55735f13ef8a292233b41138bd8d23", "namingSemanticSha256": "a1adb920d3d16519fa2a7d60c39ba1f220668f6c286231d388a2a2d6171aa58e" }, "second": { @@ -7989,7 +7997,7 @@ "selectedRecords": 5, "ambiguousResults": 4, "historySha256": "1d603c0b6c8174a38dd4717eb0d79199a789383b8efa322f0d4f39e64a6a0bf9", - "namingEvidenceSha256": "97a07ba602752dd8c80700c2dca7b90a615f7b02ec0e3c0d273fae8506063e14", + "namingEvidenceSha256": "3a3a987a7ac622fe0ccc30fc7d05f711bd140c6cc598b27d0631f8589d474971", "namingSemanticSha256": "dda9cadb0cb751c2321b36d053cb1937c446976d90368450e78247626ced89f0" }, "mutation": { @@ -8032,7 +8040,7 @@ "selectedRecords": 5, "ambiguousResults": 4, "historySha256": "87134d83a7ba22221e2597a00319af19081daded72dd3083ea5c30822eb1f5bc", - "namingEvidenceSha256": "221fe47190fd9827890eb362d21a792b7499b7f0eb9e275c48e09e235974e432", + "namingEvidenceSha256": "22ee89feafb9065e51a0c0f8f370e9222f2c0696e0cd3036e8eed2d1078f7977", "namingSemanticSha256": "a8b9030b5c89a70f20bbf1874268e4674004521d2e5bd71c4a048e498c1cc8e2" }, "restoredEvidence": { @@ -8062,7 +8070,7 @@ "selectedRecords": 5, "ambiguousResults": 4, "historySha256": "1d603c0b6c8174a38dd4717eb0d79199a789383b8efa322f0d4f39e64a6a0bf9", - "namingEvidenceSha256": "a9b3605063a6bb47ffeab7e9a1d17a622ef0dc91224a81ef43e63357159deb7b", + "namingEvidenceSha256": "e518d77d273436e56303ca7b7e15621c78f732cc7d560d57572de09b77bad420", "namingSemanticSha256": "dda9cadb0cb751c2321b36d053cb1937c446976d90368450e78247626ced89f0" } }, @@ -8084,7 +8092,7 @@ "phases": { "initial": { "namingEvidenceBytes": 3835, - "namingEvidenceSha256": "97a07ba602752dd8c80700c2dca7b90a615f7b02ec0e3c0d273fae8506063e14", + "namingEvidenceSha256": "3a3a987a7ac622fe0ccc30fc7d05f711bd140c6cc598b27d0631f8589d474971", "pair": "cut->hole", "shape": { "area": 688.5486678, @@ -8106,7 +8114,7 @@ }, "reopened": { "namingEvidenceBytes": 3835, - "namingEvidenceSha256": "97a07ba602752dd8c80700c2dca7b90a615f7b02ec0e3c0d273fae8506063e14", + "namingEvidenceSha256": "3a3a987a7ac622fe0ccc30fc7d05f711bd140c6cc598b27d0631f8589d474971", "pair": "cut->hole", "shape": { "area": 688.5486678, @@ -8128,7 +8136,7 @@ }, "resaved": { "namingEvidenceBytes": 3835, - "namingEvidenceSha256": "97a07ba602752dd8c80700c2dca7b90a615f7b02ec0e3c0d273fae8506063e14", + "namingEvidenceSha256": "3a3a987a7ac622fe0ccc30fc7d05f711bd140c6cc598b27d0631f8589d474971", "pair": "cut->hole", "shape": { "area": 688.5486678, @@ -8186,7 +8194,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "af932571d6a2aefee5011140627fa62cda0cade2ad7428db88b2fd75ecaf8a4c", + "namingEvidenceSha256": "89f11ab22e781db1a3e26865da6daec8bbda7f706d9adea02e3e21c4b4f4f7b3", "namingSemanticSha256": "5bae651c64b248b7dda976e5af9198f81cb8485513a8173c4eb786b1a15a2b10" }, "second": { @@ -8216,7 +8224,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "382606c9d5b8b29b560437d914a6e3b33f1d1a3073cd9c0c3fcb59edc8adaa14", - "namingEvidenceSha256": "e7b85af108d00c60ab768857a62a284d26cfcdf4c82b268c6b4f49853141e313", + "namingEvidenceSha256": "76e9f507eb3c6690097adb8efe9de2ca526590c4ee5d7b3b04cf10e47db377c2", "namingSemanticSha256": "9051293e9338c3c07394e762c427bdc308d2c1f6a678e5dee1059cc428e55f9b" }, "mutation": { @@ -8259,7 +8267,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "382606c9d5b8b29b560437d914a6e3b33f1d1a3073cd9c0c3fcb59edc8adaa14", - "namingEvidenceSha256": "b3c36f3e022e7b6622fbf39a37284165240709111d61d8ae1517dd87cdee75d9", + "namingEvidenceSha256": "2b5603be0d3dcbcea1235fee94e06bf636808db25a4b7c3d338f7f766dd3c9a4", "namingSemanticSha256": "9051293e9338c3c07394e762c427bdc308d2c1f6a678e5dee1059cc428e55f9b" }, "restoredEvidence": { @@ -8289,7 +8297,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "382606c9d5b8b29b560437d914a6e3b33f1d1a3073cd9c0c3fcb59edc8adaa14", - "namingEvidenceSha256": "b3c36f3e022e7b6622fbf39a37284165240709111d61d8ae1517dd87cdee75d9", + "namingEvidenceSha256": "2b5603be0d3dcbcea1235fee94e06bf636808db25a4b7c3d338f7f766dd3c9a4", "namingSemanticSha256": "9051293e9338c3c07394e762c427bdc308d2c1f6a678e5dee1059cc428e55f9b" } }, @@ -8310,8 +8318,8 @@ "pair": "cut->draft", "phases": { "initial": { - "namingEvidenceBytes": 2498, - "namingEvidenceSha256": "e7b85af108d00c60ab768857a62a284d26cfcdf4c82b268c6b4f49853141e313", + "namingEvidenceBytes": 2500, + "namingEvidenceSha256": "76e9f507eb3c6690097adb8efe9de2ca526590c4ee5d7b3b04cf10e47db377c2", "pair": "cut->draft", "shape": { "area": 614.884251, @@ -8332,8 +8340,8 @@ } }, "reopened": { - "namingEvidenceBytes": 2498, - "namingEvidenceSha256": "e7b85af108d00c60ab768857a62a284d26cfcdf4c82b268c6b4f49853141e313", + "namingEvidenceBytes": 2500, + "namingEvidenceSha256": "76e9f507eb3c6690097adb8efe9de2ca526590c4ee5d7b3b04cf10e47db377c2", "pair": "cut->draft", "shape": { "area": 614.884251, @@ -8354,8 +8362,8 @@ } }, "resaved": { - "namingEvidenceBytes": 2498, - "namingEvidenceSha256": "e7b85af108d00c60ab768857a62a284d26cfcdf4c82b268c6b4f49853141e313", + "namingEvidenceBytes": 2500, + "namingEvidenceSha256": "76e9f507eb3c6690097adb8efe9de2ca526590c4ee5d7b3b04cf10e47db377c2", "pair": "cut->draft", "shape": { "area": 614.884251, @@ -8413,7 +8421,7 @@ "selectedRecords": 4, "ambiguousResults": 8, "historySha256": "6268cfab209985176050e004c63bcad53183c965cc4cd4e5d893f06c57b8ddff", - "namingEvidenceSha256": "286e377f91a2c1ff934344aca4233243b23e8e380ff55d6b2fe61835d91faa79", + "namingEvidenceSha256": "563708c6cd8b0e7894fbc9ca05c846b10bf202a375237a53eb55dcc02b58285f", "namingSemanticSha256": "3b5e48758ebed8354c1b42b1864de3bdbc0a55997466b412a186007e29b8044c" }, "second": { @@ -8443,7 +8451,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "c5842e0aea2aae1bab3b1fb33a9891a3c7fb3822d1cb60265a27fc257c8b516a", - "namingEvidenceSha256": "437a57109d889a9874c20d4da826cb3382e64cb6ac8bc4a0fd3935437f8bf9d8", + "namingEvidenceSha256": "a5448c5147a0d490a83fc25f36ea2f65eda67b454367879f4d04f15130f721ab", "namingSemanticSha256": "c2a4fb3580d95e35eade999e7ee904858ba00eace33041c1fd977cbec04f7436" }, "mutation": { @@ -8538,7 +8546,7 @@ "phases": { "initial": { "namingEvidenceBytes": 6657, - "namingEvidenceSha256": "437a57109d889a9874c20d4da826cb3382e64cb6ac8bc4a0fd3935437f8bf9d8", + "namingEvidenceSha256": "a5448c5147a0d490a83fc25f36ea2f65eda67b454367879f4d04f15130f721ab", "pair": "cut->thickness", "shape": { "area": 657.28, @@ -8560,7 +8568,7 @@ }, "reopened": { "namingEvidenceBytes": 6657, - "namingEvidenceSha256": "437a57109d889a9874c20d4da826cb3382e64cb6ac8bc4a0fd3935437f8bf9d8", + "namingEvidenceSha256": "a5448c5147a0d490a83fc25f36ea2f65eda67b454367879f4d04f15130f721ab", "pair": "cut->thickness", "shape": { "area": 657.28, @@ -8582,7 +8590,7 @@ }, "resaved": { "namingEvidenceBytes": 6657, - "namingEvidenceSha256": "437a57109d889a9874c20d4da826cb3382e64cb6ac8bc4a0fd3935437f8bf9d8", + "namingEvidenceSha256": "a5448c5147a0d490a83fc25f36ea2f65eda67b454367879f4d04f15130f721ab", "pair": "cut->thickness", "shape": { "area": 657.28, @@ -8640,7 +8648,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "e3fdd7c5e22ed9269f25d54c4171be723aa1fc90c6237c90e99f8a7f6c2ea48c", + "namingEvidenceSha256": "45466bb8153cd2a70ea79030268295994581f1201c02d6dea8c68b4763bdcc6b", "namingSemanticSha256": "f7f7853c597167456ff5a6ecd58f7512734a97228e326e370616216dda5b7daf" }, "second": { @@ -8867,7 +8875,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "f9772e311ce07a8b32e5604f8fcd288c76978e789782d47b10e6b949b0b71c42", + "namingEvidenceSha256": "eb165d7f50572686def28d88513f65d991cb4471009a259a6141f01c1d255edf", "namingSemanticSha256": "29209683e4f1f76a4fa180c4351ba601a88da9ac99fd9b3b0147d5f4e6d25eb0" }, "second": { @@ -8940,7 +8948,7 @@ "selectedRecords": 12, "ambiguousResults": 17, "historySha256": "547f8caff20643cfd0f9dee95144e2df734625e82b863986826a9705e5bd5d89", - "namingEvidenceSha256": "30e0128b1a0b6c62cd125d2287ba5417153d2034278e41b1b6de81862c68d2e1", + "namingEvidenceSha256": "b67b6e353aad183f9075dedb21fef95f4cf1a1a654c69cd97f34339eb31b7de7", "namingSemanticSha256": "c7f88c65a7560bc02733ef686e11a41ea2141318370b3e806c4e9bf75ab2b7cc" }, "restoredEvidence": { @@ -8970,7 +8978,7 @@ "selectedRecords": 14, "ambiguousResults": 21, "historySha256": "6a114d317417c8db03eacda7d1b72a0609263bb0e3ca40e4507f1ad48325bda7", - "namingEvidenceSha256": "4a905037e5b22f14c6d3f088f82a09d6296e739dc38ec3c06dd76af0eea4b320", + "namingEvidenceSha256": "098158165b65f5aaa54881b559a9948c1ad3f4ee380400200999e013a029ffc0", "namingSemanticSha256": "75ea53f005e5488364e3f31aca759e863b519a1519469f7b6b4b95951628ea53" } }, @@ -9094,7 +9102,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "6b7ec71ad575adadd7e34154e9480fefba4ebc64b7c3467977fe751a7388cada", + "namingEvidenceSha256": "e4b30ae3e8873b6acec035f9bda775f987fdd5fba708fdf21e2e83c7cf16592c", "namingSemanticSha256": "4b439b4023b97f5b500037c72b91c5e54d41318814f0d86a8dcf18bdecbfe4ef" }, "second": { @@ -9124,7 +9132,7 @@ "selectedRecords": 10, "ambiguousResults": 31, "historySha256": "75800e886cb71f3d3a2f61c0a4830d7ebb05f55f6f55666b47208d1aace5a388", - "namingEvidenceSha256": "5ad4ff0d9d1a1bf1928965b8e549c0a5e4a7ccbba5f930e956f56e72a4fd024f", + "namingEvidenceSha256": "b189ea0a7464fc84780f556d5d9f68aa4dcbb06cf89181e6b49a2caacb98f00c", "namingSemanticSha256": "6589e7899b7d2b4eebdeed4de51beb1f05ab94127779fa855838f02c1384580b" }, "mutation": { @@ -9167,7 +9175,7 @@ "selectedRecords": 10, "ambiguousResults": 25, "historySha256": "5ed8c6a43b1910b721f344112f02a5d628b19a84552210987bba3b1707aeb441", - "namingEvidenceSha256": "5398378c0f10d4cdc2f1a487d95b69534832291636a68ec52399c6e94754ce32", + "namingEvidenceSha256": "61f1d6cc9e77969996c75a83d271c896021403bc6eb1cefcbbf6d3c04fd84070", "namingSemanticSha256": "3a48e0f2a05d854cca90f9f51277897d3c1e6627431b0637f539305797853abd" }, "restoredEvidence": { @@ -9197,7 +9205,7 @@ "selectedRecords": 10, "ambiguousResults": 31, "historySha256": "75800e886cb71f3d3a2f61c0a4830d7ebb05f55f6f55666b47208d1aace5a388", - "namingEvidenceSha256": "f0682b1ceceecbceb97816d6a3976bb175cb1dd5e28e5c92c719aa24faef5df7", + "namingEvidenceSha256": "5ad4ff0d9d1a1bf1928965b8e549c0a5e4a7ccbba5f930e956f56e72a4fd024f", "namingSemanticSha256": "6589e7899b7d2b4eebdeed4de51beb1f05ab94127779fa855838f02c1384580b" } }, @@ -9219,7 +9227,7 @@ "phases": { "initial": { "namingEvidenceBytes": 15216, - "namingEvidenceSha256": "5ad4ff0d9d1a1bf1928965b8e549c0a5e4a7ccbba5f930e956f56e72a4fd024f", + "namingEvidenceSha256": "b189ea0a7464fc84780f556d5d9f68aa4dcbb06cf89181e6b49a2caacb98f00c", "pair": "cut->mirrored", "shape": { "area": 632, @@ -9241,7 +9249,7 @@ }, "reopened": { "namingEvidenceBytes": 15216, - "namingEvidenceSha256": "5ad4ff0d9d1a1bf1928965b8e549c0a5e4a7ccbba5f930e956f56e72a4fd024f", + "namingEvidenceSha256": "b189ea0a7464fc84780f556d5d9f68aa4dcbb06cf89181e6b49a2caacb98f00c", "pair": "cut->mirrored", "shape": { "area": 632, @@ -9263,7 +9271,7 @@ }, "resaved": { "namingEvidenceBytes": 15216, - "namingEvidenceSha256": "5ad4ff0d9d1a1bf1928965b8e549c0a5e4a7ccbba5f930e956f56e72a4fd024f", + "namingEvidenceSha256": "b189ea0a7464fc84780f556d5d9f68aa4dcbb06cf89181e6b49a2caacb98f00c", "pair": "cut->mirrored", "shape": { "area": 632, @@ -9321,7 +9329,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "b65277e3e865693bad596c66f74681f349245de069db73565af5ff1944bfc7ee", - "namingEvidenceSha256": "e97500d048ca60035f1633edbf192cd1908d65a2d44b7165308f25ad736c4d8b", + "namingEvidenceSha256": "b645f9f84278e5fae026138e0d7666e9d7b03a77acf58b876228791a9e0568c7", "namingSemanticSha256": "ef8199cdb401e1d8dce811a04d925b07a66e1aaec0ed2fac01c598abc29c53c5" }, "second": { @@ -9351,7 +9359,7 @@ "selectedRecords": 36, "ambiguousResults": 138, "historySha256": "fb9bebf4dbf41b15288a2186ec9e954c46546c3c03d472c6189be67768818684", - "namingEvidenceSha256": "2d863292068ba20d89d9e2d19f8b23c6529cedd4bcfec22be1aaa4441d3c754d", + "namingEvidenceSha256": "ab926a94cc79bf72a1c4ffedb9d76b8e6d2a6fae5e093b96c767e0c790ba76e6", "namingSemanticSha256": "b08b395255e58f9ccb5d07a5573e7fb0531bff8db7c85e19ceca7b487ec7a6dd" }, "mutation": { @@ -9394,7 +9402,7 @@ "selectedRecords": 38, "ambiguousResults": 144, "historySha256": "e61b52a9e3221ad330ef73c625f659d385dc2ee174e60adb19ebaea09bd98864", - "namingEvidenceSha256": "4584f4586e65eed011610eefe82cdde09a3860f1c4cc27fde5fc8cfed0a8eb60", + "namingEvidenceSha256": "8c0e85c2d9ce077e8a187b1a26341636dce9879eb2de177cad31d987a81f2989", "namingSemanticSha256": "a780efd43d1af201741bd8bc4678cd3964dfbc3eaf5b9271865cba5ab4ebdee6" }, "restoredEvidence": { @@ -9424,7 +9432,7 @@ "selectedRecords": 36, "ambiguousResults": 138, "historySha256": "fb9bebf4dbf41b15288a2186ec9e954c46546c3c03d472c6189be67768818684", - "namingEvidenceSha256": "4c0c61adfade7aa0b61d72fc16ab2c8de16066858cab68970c6401192f760de6", + "namingEvidenceSha256": "2d863292068ba20d89d9e2d19f8b23c6529cedd4bcfec22be1aaa4441d3c754d", "namingSemanticSha256": "b08b395255e58f9ccb5d07a5573e7fb0531bff8db7c85e19ceca7b487ec7a6dd" } }, @@ -9446,7 +9454,7 @@ "phases": { "initial": { "namingEvidenceBytes": 80929, - "namingEvidenceSha256": "2d863292068ba20d89d9e2d19f8b23c6529cedd4bcfec22be1aaa4441d3c754d", + "namingEvidenceSha256": "ab926a94cc79bf72a1c4ffedb9d76b8e6d2a6fae5e093b96c767e0c790ba76e6", "pair": "cut->multi-transform", "shape": { "area": 1336, @@ -9468,7 +9476,7 @@ }, "reopened": { "namingEvidenceBytes": 80929, - "namingEvidenceSha256": "2d863292068ba20d89d9e2d19f8b23c6529cedd4bcfec22be1aaa4441d3c754d", + "namingEvidenceSha256": "ab926a94cc79bf72a1c4ffedb9d76b8e6d2a6fae5e093b96c767e0c790ba76e6", "pair": "cut->multi-transform", "shape": { "area": 1336, @@ -9490,7 +9498,7 @@ }, "resaved": { "namingEvidenceBytes": 80929, - "namingEvidenceSha256": "2d863292068ba20d89d9e2d19f8b23c6529cedd4bcfec22be1aaa4441d3c754d", + "namingEvidenceSha256": "ab926a94cc79bf72a1c4ffedb9d76b8e6d2a6fae5e093b96c767e0c790ba76e6", "pair": "cut->multi-transform", "shape": { "area": 1336, @@ -9578,7 +9586,7 @@ "selectedRecords": 6, "ambiguousResults": 26, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "d01ea272570424527bf0bda40f6bc02a7a26c590c928f2637012438f29f167ee", + "namingEvidenceSha256": "fe9a9bd2900dbd2b2d8c6ee1550350fb3806aea5e7be50e0e163a3737637e8da", "namingSemanticSha256": "09bfa14a2ecb199c5b7aced4832aaaac25c3c3788f5d01de77ff0e2e7c106dc8" }, "mutation": { @@ -9621,7 +9629,7 @@ "selectedRecords": 6, "ambiguousResults": 26, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "4f7878fc6f01d913e25b498b29d7d9eb0eec81fb378a78da54b65ef215f79e13", + "namingEvidenceSha256": "dd357830106e0b9e00f5b81d14cd29c377e10b6243f75e916cb8069895dad779", "namingSemanticSha256": "09bfa14a2ecb199c5b7aced4832aaaac25c3c3788f5d01de77ff0e2e7c106dc8" }, "restoredEvidence": { @@ -9651,7 +9659,7 @@ "selectedRecords": 6, "ambiguousResults": 26, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "63e5f4b27ce5d35f30ccbf70d33789acad432f5dffe24bc75b360ddf51d01188", + "namingEvidenceSha256": "d01ea272570424527bf0bda40f6bc02a7a26c590c928f2637012438f29f167ee", "namingSemanticSha256": "09bfa14a2ecb199c5b7aced4832aaaac25c3c3788f5d01de77ff0e2e7c106dc8" } }, @@ -9673,7 +9681,7 @@ "phases": { "initial": { "namingEvidenceBytes": 11256, - "namingEvidenceSha256": "d01ea272570424527bf0bda40f6bc02a7a26c590c928f2637012438f29f167ee", + "namingEvidenceSha256": "fe9a9bd2900dbd2b2d8c6ee1550350fb3806aea5e7be50e0e163a3737637e8da", "pair": "common->fuse", "shape": { "area": 230, @@ -9695,7 +9703,7 @@ }, "reopened": { "namingEvidenceBytes": 11256, - "namingEvidenceSha256": "d01ea272570424527bf0bda40f6bc02a7a26c590c928f2637012438f29f167ee", + "namingEvidenceSha256": "fe9a9bd2900dbd2b2d8c6ee1550350fb3806aea5e7be50e0e163a3737637e8da", "pair": "common->fuse", "shape": { "area": 230, @@ -9717,7 +9725,7 @@ }, "resaved": { "namingEvidenceBytes": 11256, - "namingEvidenceSha256": "d01ea272570424527bf0bda40f6bc02a7a26c590c928f2637012438f29f167ee", + "namingEvidenceSha256": "fe9a9bd2900dbd2b2d8c6ee1550350fb3806aea5e7be50e0e163a3737637e8da", "pair": "common->fuse", "shape": { "area": 230, @@ -9805,7 +9813,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "7b3a355251b829e20ff5828211994fdc14a11e61bfb756afae930c6c2eb79391", - "namingEvidenceSha256": "f62603211634984ca56e8f0fdc29f2fb27c51d0a16e895fb62867750cd263542", + "namingEvidenceSha256": "0ac2db06953a1efaaa75a067a639fbb1f0ccb1b355d441be272be4ccb661a2eb", "namingSemanticSha256": "21f0d26e4ac631a7b092bc73d2308d6e3460a9b2962901a65922cb5f9d782deb" }, "mutation": { @@ -9848,7 +9856,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "7b3a355251b829e20ff5828211994fdc14a11e61bfb756afae930c6c2eb79391", - "namingEvidenceSha256": "8c570a02d513d4886a66462233ddd32aa905749df31024da1c897f91775e5302", + "namingEvidenceSha256": "070985854e4b15621b39990ad5a244d4e198d8a3c7fd55c65c9298aff70924a0", "namingSemanticSha256": "21f0d26e4ac631a7b092bc73d2308d6e3460a9b2962901a65922cb5f9d782deb" }, "restoredEvidence": { @@ -9878,7 +9886,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "7b3a355251b829e20ff5828211994fdc14a11e61bfb756afae930c6c2eb79391", - "namingEvidenceSha256": "0c1b221cfc102451d66a3b44ad66dadb39d337ca02b7880e57eca89593a86159", + "namingEvidenceSha256": "f62603211634984ca56e8f0fdc29f2fb27c51d0a16e895fb62867750cd263542", "namingSemanticSha256": "21f0d26e4ac631a7b092bc73d2308d6e3460a9b2962901a65922cb5f9d782deb" } }, @@ -9900,7 +9908,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4741, - "namingEvidenceSha256": "f62603211634984ca56e8f0fdc29f2fb27c51d0a16e895fb62867750cd263542", + "namingEvidenceSha256": "0ac2db06953a1efaaa75a067a639fbb1f0ccb1b355d441be272be4ccb661a2eb", "pair": "common->cut", "shape": { "area": 150, @@ -9922,7 +9930,7 @@ }, "reopened": { "namingEvidenceBytes": 4741, - "namingEvidenceSha256": "f62603211634984ca56e8f0fdc29f2fb27c51d0a16e895fb62867750cd263542", + "namingEvidenceSha256": "0ac2db06953a1efaaa75a067a639fbb1f0ccb1b355d441be272be4ccb661a2eb", "pair": "common->cut", "shape": { "area": 150, @@ -9944,7 +9952,7 @@ }, "resaved": { "namingEvidenceBytes": 4741, - "namingEvidenceSha256": "f62603211634984ca56e8f0fdc29f2fb27c51d0a16e895fb62867750cd263542", + "namingEvidenceSha256": "0ac2db06953a1efaaa75a067a639fbb1f0ccb1b355d441be272be4ccb661a2eb", "pair": "common->cut", "shape": { "area": 150, @@ -10032,7 +10040,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "671b80def84912c5908978511baca536be2385c87a50285d7f26412124792e57", - "namingEvidenceSha256": "0e914d2b11837607d59cf29b780d2ca0d7eb8efefc9adf65cf838e811e575706", + "namingEvidenceSha256": "71c6523990cdcbe232c1748f4650393441dfad22d15f2406174249fc7a16b58d", "namingSemanticSha256": "ca8c244571bb8bc90ab3d027502a3dc4549d89167d6125f9e96e77bea40d9702" }, "mutation": { @@ -10075,7 +10083,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "671b80def84912c5908978511baca536be2385c87a50285d7f26412124792e57", - "namingEvidenceSha256": "82eb9e1a3a3790daa6e430566d334744f9e2a22ca193ca2859c6c926924ffedd", + "namingEvidenceSha256": "a8ce63acab8d3338db60ebb4c4f84a218b139660136ceec0468ab77cf6b7a92d", "namingSemanticSha256": "ca8c244571bb8bc90ab3d027502a3dc4549d89167d6125f9e96e77bea40d9702" }, "restoredEvidence": { @@ -10105,7 +10113,7 @@ "selectedRecords": 3, "ambiguousResults": 10, "historySha256": "671b80def84912c5908978511baca536be2385c87a50285d7f26412124792e57", - "namingEvidenceSha256": "a5aa40864fe58599903d627c2194fa6f4f81e109aa53d15fa44784bcf455c32c", + "namingEvidenceSha256": "cdad735978a78c5c6d90407328569dcf21d5bc8f19798f481a6d0ac421cd0a58", "namingSemanticSha256": "ca8c244571bb8bc90ab3d027502a3dc4549d89167d6125f9e96e77bea40d9702" } }, @@ -10127,7 +10135,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5072, - "namingEvidenceSha256": "0e914d2b11837607d59cf29b780d2ca0d7eb8efefc9adf65cf838e811e575706", + "namingEvidenceSha256": "71c6523990cdcbe232c1748f4650393441dfad22d15f2406174249fc7a16b58d", "pair": "common->common", "shape": { "area": 64, @@ -10149,7 +10157,7 @@ }, "reopened": { "namingEvidenceBytes": 5072, - "namingEvidenceSha256": "0e914d2b11837607d59cf29b780d2ca0d7eb8efefc9adf65cf838e811e575706", + "namingEvidenceSha256": "71c6523990cdcbe232c1748f4650393441dfad22d15f2406174249fc7a16b58d", "pair": "common->common", "shape": { "area": 64, @@ -10171,7 +10179,7 @@ }, "resaved": { "namingEvidenceBytes": 5072, - "namingEvidenceSha256": "0e914d2b11837607d59cf29b780d2ca0d7eb8efefc9adf65cf838e811e575706", + "namingEvidenceSha256": "71c6523990cdcbe232c1748f4650393441dfad22d15f2406174249fc7a16b58d", "pair": "common->common", "shape": { "area": 64, @@ -10259,7 +10267,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "42f21e3192408033867ff652b9205256a1c7f3abf8ef5549f2a5d137ed39c9a8", + "namingEvidenceSha256": "cbee3a8ed90eaa6e58ce7f7f20cb45f7c47f6fcfecb349e53510c3ca722d600c", "namingSemanticSha256": "000fc0a005cf30b9152a8a8824984e31b63346a99a804c9e4dd87476c43bbb7c" }, "mutation": { @@ -10302,7 +10310,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "b6ac5ae633363c6e4fd91f6c895897f51370325a5d793b1971a21579b5ed5031", + "namingEvidenceSha256": "428fdac3e935558fc4e50c87f14155b1a7eb242f1ffaef2d1555ccca64208a1a", "namingSemanticSha256": "000fc0a005cf30b9152a8a8824984e31b63346a99a804c9e4dd87476c43bbb7c" }, "restoredEvidence": { @@ -10332,7 +10340,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "30cf86460c3cefdff50820e8acd6a2db355a7a9d4ed3ff365a19d35661ee1c1c", + "namingEvidenceSha256": "e16c7ba469dbc1c4ec9fc8843075ced354a071a073dfcab880059a6ccedca832", "namingSemanticSha256": "000fc0a005cf30b9152a8a8824984e31b63346a99a804c9e4dd87476c43bbb7c" } }, @@ -10354,7 +10362,7 @@ "phases": { "initial": { "namingEvidenceBytes": 10584, - "namingEvidenceSha256": "42f21e3192408033867ff652b9205256a1c7f3abf8ef5549f2a5d137ed39c9a8", + "namingEvidenceSha256": "cbee3a8ed90eaa6e58ce7f7f20cb45f7c47f6fcfecb349e53510c3ca722d600c", "pair": "common->rotate", "shape": { "area": 150, @@ -10376,7 +10384,7 @@ }, "reopened": { "namingEvidenceBytes": 10584, - "namingEvidenceSha256": "42f21e3192408033867ff652b9205256a1c7f3abf8ef5549f2a5d137ed39c9a8", + "namingEvidenceSha256": "cbee3a8ed90eaa6e58ce7f7f20cb45f7c47f6fcfecb349e53510c3ca722d600c", "pair": "common->rotate", "shape": { "area": 150, @@ -10398,7 +10406,7 @@ }, "resaved": { "namingEvidenceBytes": 10584, - "namingEvidenceSha256": "42f21e3192408033867ff652b9205256a1c7f3abf8ef5549f2a5d137ed39c9a8", + "namingEvidenceSha256": "cbee3a8ed90eaa6e58ce7f7f20cb45f7c47f6fcfecb349e53510c3ca722d600c", "pair": "common->rotate", "shape": { "area": 150, @@ -10521,6 +10529,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -10840,7 +10849,7 @@ "selectedRecords": 1, "ambiguousResults": 13, "historySha256": "3fbf02e26c11e8a946f683bd822b2b3a0623ca878dd9d92a8e88a068b146cfb9", - "namingEvidenceSha256": "84a252a2741d531096584b4609a9315880331f5480bd1f47036b46af334a2b7e", + "namingEvidenceSha256": "a67d0b7e6ec11f0db67a1ec4cdd89b681e0b2c1ff900c7991259e1c542c79dd3", "namingSemanticSha256": "61337fb8b35c1b342704cc45698123a035dfce84866b733a1b4409129492bcd9" }, "mutation": { @@ -10913,7 +10922,7 @@ "selectedRecords": 1, "ambiguousResults": 13, "historySha256": "3fbf02e26c11e8a946f683bd822b2b3a0623ca878dd9d92a8e88a068b146cfb9", - "namingEvidenceSha256": "86509f84d3d569d61454acf43f9ca701944bd0a68f2ceb0dec1a857a66473d2d", + "namingEvidenceSha256": "86b82973bcff95cc80251256dbc7727fb8ba66e35bb9daa3aeedecd7bb0a9b0b", "namingSemanticSha256": "61337fb8b35c1b342704cc45698123a035dfce84866b733a1b4409129492bcd9" } }, @@ -10934,8 +10943,8 @@ "pair": "common->pocket", "phases": { "initial": { - "namingEvidenceBytes": 5023, - "namingEvidenceSha256": "84a252a2741d531096584b4609a9315880331f5480bd1f47036b46af334a2b7e", + "namingEvidenceBytes": 5021, + "namingEvidenceSha256": "a67d0b7e6ec11f0db67a1ec4cdd89b681e0b2c1ff900c7991259e1c542c79dd3", "pair": "common->pocket", "shape": { "area": 138, @@ -10956,8 +10965,8 @@ } }, "reopened": { - "namingEvidenceBytes": 5023, - "namingEvidenceSha256": "84a252a2741d531096584b4609a9315880331f5480bd1f47036b46af334a2b7e", + "namingEvidenceBytes": 5021, + "namingEvidenceSha256": "a67d0b7e6ec11f0db67a1ec4cdd89b681e0b2c1ff900c7991259e1c542c79dd3", "pair": "common->pocket", "shape": { "area": 138, @@ -10978,8 +10987,8 @@ } }, "resaved": { - "namingEvidenceBytes": 5023, - "namingEvidenceSha256": "84a252a2741d531096584b4609a9315880331f5480bd1f47036b46af334a2b7e", + "namingEvidenceBytes": 5021, + "namingEvidenceSha256": "a67d0b7e6ec11f0db67a1ec4cdd89b681e0b2c1ff900c7991259e1c542c79dd3", "pair": "common->pocket", "shape": { "area": 138, @@ -11069,14 +11078,14 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": -13.3333333, - "area": 158.6225087, + "volume": 537.5, + "area": 466.1533029, "bounds": [ -1e-7, -1e-7, -1e-7, - 4.0000001, - 5.0000001, + 10.0000001, + 10.0000001, 15.0000001 ] }, @@ -11103,14 +11112,14 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": -13.3333333, - "area": 158.6225087, + "volume": 537.5, + "area": 466.1533029, "bounds": [ -1e-7, -1e-7, -1e-7, - 4.0000001, - 5.0000001, + 10.0000001, + 10.0000001, 15.0000001 ] }, @@ -11137,14 +11146,14 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": -13.3333333, - "area": 158.6225087, + "volume": 537.5, + "area": 466.1533029, "bounds": [ -1e-7, -1e-7, -1e-7, - 4.0000001, - 5.0000001, + 10.0000001, + 10.0000001, 15.0000001 ] }, @@ -11159,6 +11168,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -11545,6 +11555,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -11875,6 +11886,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -12158,7 +12170,7 @@ "selectedRecords": 5, "ambiguousResults": 12, "historySha256": "3c4db374db56fbbd4a1a7434986a814a785553d9c5859473b3e515da2d250a7a", - "namingEvidenceSha256": "e843bf9af49298b56c6fc8a34b77939a845075046f2ec51ba103d72a1a6bb84d", + "namingEvidenceSha256": "1ae589ffbd61ce9067273677fbbef729ba4830c49c3f029210ce17a18c2d5575", "namingSemanticSha256": "28068c97c4f6620141018ff2b2c6e7b332c260afc451d3cf9483d2fa199e101b" }, "mutation": { @@ -12201,7 +12213,7 @@ "selectedRecords": 1, "ambiguousResults": 8, "historySha256": "497a0a0ff3034f377ff61341293120dbe0f3923fc3c1cf6152cf36418cd65730", - "namingEvidenceSha256": "935c134289233e64ca69d8d8c9a6a5a298765eb029e40a7d35378f4849ef315c", + "namingEvidenceSha256": "8b24f8118922d5e8c83132d8923a7efc91b97006cfda48b48a8875a6c96b679a", "namingSemanticSha256": "e24c4a8be3eeb42004db868be9b7c86d4b18971b38c36fb0538d2f98556b22ed" }, "restoredEvidence": { @@ -12231,7 +12243,7 @@ "selectedRecords": 5, "ambiguousResults": 12, "historySha256": "3c4db374db56fbbd4a1a7434986a814a785553d9c5859473b3e515da2d250a7a", - "namingEvidenceSha256": "4e18e408e9d8a9d4a1d5265b69c67dad1d19ae3379efac8d4011a4be7016cf3d", + "namingEvidenceSha256": "c813e02fcbdd056b5911a0cd48020bd3e7f869feae5cd90ea514b311b6e1dec5", "namingSemanticSha256": "28068c97c4f6620141018ff2b2c6e7b332c260afc451d3cf9483d2fa199e101b" } }, @@ -12252,8 +12264,8 @@ "pair": "common->groove", "phases": { "initial": { - "namingEvidenceBytes": 6088, - "namingEvidenceSha256": "e843bf9af49298b56c6fc8a34b77939a845075046f2ec51ba103d72a1a6bb84d", + "namingEvidenceBytes": 6086, + "namingEvidenceSha256": "1ae589ffbd61ce9067273677fbbef729ba4830c49c3f029210ce17a18c2d5575", "pair": "common->groove", "shape": { "area": 153.424778, @@ -12274,8 +12286,8 @@ } }, "reopened": { - "namingEvidenceBytes": 6088, - "namingEvidenceSha256": "e843bf9af49298b56c6fc8a34b77939a845075046f2ec51ba103d72a1a6bb84d", + "namingEvidenceBytes": 6086, + "namingEvidenceSha256": "1ae589ffbd61ce9067273677fbbef729ba4830c49c3f029210ce17a18c2d5575", "pair": "common->groove", "shape": { "area": 153.424778, @@ -12296,8 +12308,8 @@ } }, "resaved": { - "namingEvidenceBytes": 6088, - "namingEvidenceSha256": "e843bf9af49298b56c6fc8a34b77939a845075046f2ec51ba103d72a1a6bb84d", + "namingEvidenceBytes": 6086, + "namingEvidenceSha256": "1ae589ffbd61ce9067273677fbbef729ba4830c49c3f029210ce17a18c2d5575", "pair": "common->groove", "shape": { "area": 153.424778, @@ -12385,7 +12397,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "d9a8389b3667ce204da3b7b813c25fe2f2a987828c3fb95bc75b2414e5cd31ce", + "namingEvidenceSha256": "3d5e94779141fbb6e40934cacb659e8ce91b95639c7dc710bbd84251c43d58eb", "namingSemanticSha256": "61a7edb0f1b67051e7c0db0e71b0d86485c4e492d14f98a03b4a236bc6907e50" }, "mutation": { @@ -12428,7 +12440,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "8c3ae4edebc0cc3fcd5f5809c5d89499099fe4e6ebf3e0836fed61485d5a91ce", + "namingEvidenceSha256": "d735265ef0dbe8a9af4b8ffda39524877b8f450354e2790fb6d9978b2146d46d", "namingSemanticSha256": "61a7edb0f1b67051e7c0db0e71b0d86485c4e492d14f98a03b4a236bc6907e50" }, "restoredEvidence": { @@ -12458,7 +12470,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "73b466d1d9ac8914a39683b5f85332370596bb61c44869cc14d3452e04af820a", + "namingEvidenceSha256": "496634b41f48bba79a66d708941c950757f690e83b7a2d9e60c856124026b33f", "namingSemanticSha256": "61a7edb0f1b67051e7c0db0e71b0d86485c4e492d14f98a03b4a236bc6907e50" } }, @@ -12479,8 +12491,8 @@ "pair": "common->fillet", "phases": { "initial": { - "namingEvidenceBytes": 11268, - "namingEvidenceSha256": "d9a8389b3667ce204da3b7b813c25fe2f2a987828c3fb95bc75b2414e5cd31ce", + "namingEvidenceBytes": 11270, + "namingEvidenceSha256": "3d5e94779141fbb6e40934cacb659e8ce91b95639c7dc710bbd84251c43d58eb", "pair": "common->fillet", "shape": { "area": 139.5178732, @@ -12501,8 +12513,8 @@ } }, "reopened": { - "namingEvidenceBytes": 11268, - "namingEvidenceSha256": "d9a8389b3667ce204da3b7b813c25fe2f2a987828c3fb95bc75b2414e5cd31ce", + "namingEvidenceBytes": 11270, + "namingEvidenceSha256": "3d5e94779141fbb6e40934cacb659e8ce91b95639c7dc710bbd84251c43d58eb", "pair": "common->fillet", "shape": { "area": 139.5178732, @@ -12523,8 +12535,8 @@ } }, "resaved": { - "namingEvidenceBytes": 11268, - "namingEvidenceSha256": "d9a8389b3667ce204da3b7b813c25fe2f2a987828c3fb95bc75b2414e5cd31ce", + "namingEvidenceBytes": 11270, + "namingEvidenceSha256": "3d5e94779141fbb6e40934cacb659e8ce91b95639c7dc710bbd84251c43d58eb", "pair": "common->fillet", "shape": { "area": 139.5178732, @@ -12612,7 +12624,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "8042ab880950bfb8b6b915e73d0015094010120528caf6d06dd0fce3d08195c1", + "namingEvidenceSha256": "cba2382550417a681545438c499ebab6b74fd7d6383732bba4a15c34e349d429", "namingSemanticSha256": "1c29feae6bc041348183c49d73778dbc89445610e3865b3a1a30af8360517d02" }, "mutation": { @@ -12655,7 +12667,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "a2c4657986f3c61b51a5956f406bcc09f825e49ddbff58abed84d9a753ec264c", + "namingEvidenceSha256": "5fdcc51608cddaf7b4049a04bad22760ed577897f584604dd3865b6e13a95eff", "namingSemanticSha256": "1c29feae6bc041348183c49d73778dbc89445610e3865b3a1a30af8360517d02" }, "restoredEvidence": { @@ -12685,7 +12697,7 @@ "selectedRecords": 4, "ambiguousResults": 22, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "01236d314f1828ec60a43c59443f30000af018acef6c470af310a85e466bda62", + "namingEvidenceSha256": "07dd39c3739551eca3032c848eb35ef1a1727784a45b957b68fb1557e8d6a851", "namingSemanticSha256": "1c29feae6bc041348183c49d73778dbc89445610e3865b3a1a30af8360517d02" } }, @@ -12707,7 +12719,7 @@ "phases": { "initial": { "namingEvidenceBytes": 11366, - "namingEvidenceSha256": "8042ab880950bfb8b6b915e73d0015094010120528caf6d06dd0fce3d08195c1", + "namingEvidenceSha256": "cba2382550417a681545438c499ebab6b74fd7d6383732bba4a15c34e349d429", "pair": "common->chamfer", "shape": { "area": 135.4590579, @@ -12729,7 +12741,7 @@ }, "reopened": { "namingEvidenceBytes": 11366, - "namingEvidenceSha256": "8042ab880950bfb8b6b915e73d0015094010120528caf6d06dd0fce3d08195c1", + "namingEvidenceSha256": "cba2382550417a681545438c499ebab6b74fd7d6383732bba4a15c34e349d429", "pair": "common->chamfer", "shape": { "area": 135.4590579, @@ -12751,7 +12763,7 @@ }, "resaved": { "namingEvidenceBytes": 11366, - "namingEvidenceSha256": "8042ab880950bfb8b6b915e73d0015094010120528caf6d06dd0fce3d08195c1", + "namingEvidenceSha256": "cba2382550417a681545438c499ebab6b74fd7d6383732bba4a15c34e349d429", "pair": "common->chamfer", "shape": { "area": 135.4590579, @@ -12839,7 +12851,7 @@ "selectedRecords": 2, "ambiguousResults": 4, "historySha256": "d0ad9dd2eb539178bd194d8d8911c81c37694cfe3b65766b48263e90f93bc058", - "namingEvidenceSha256": "1029b16b4d4a67111ae8792f0d19e74fafaa5a8110f1288f637a8370ae65022a", + "namingEvidenceSha256": "81ef96456d4d9a3275b5902a93ec0b29c15735c561d056310612d42335733cab", "namingSemanticSha256": "3c104de8a5f885527fb0053d7a8979f8b566cd5fc7a0b64d1911320a6a54d697" }, "mutation": { @@ -12882,7 +12894,7 @@ "selectedRecords": 3, "ambiguousResults": 5, "historySha256": "e2df67eb30fd4aec007bf8a9f953bb7a5826fd193f1bcef037dfaf0fd8168594", - "namingEvidenceSha256": "0e1d77ea89202834c5e617e71974e41dc218a68bc9417ad4f0d0e0af4529b43e", + "namingEvidenceSha256": "e904c449928f4f8b43df7ce43d01e98de6e0bf594e8004862227589f40999630", "namingSemanticSha256": "15d8d2cedef3e9b9d0c79bd3f98119e6341078ab252e65168c860fa57536e803" }, "restoredEvidence": { @@ -12912,7 +12924,7 @@ "selectedRecords": 2, "ambiguousResults": 4, "historySha256": "d0ad9dd2eb539178bd194d8d8911c81c37694cfe3b65766b48263e90f93bc058", - "namingEvidenceSha256": "47c567da76e42e946f2f6bb56c4c0c27dffe649dcf0379147db543d9733d594f", + "namingEvidenceSha256": "ff6d68c777d40652dfd3116e88de5770e50c81eafca2fc506843511b91a8b13d", "namingSemanticSha256": "3c104de8a5f885527fb0053d7a8979f8b566cd5fc7a0b64d1911320a6a54d697" } }, @@ -12933,8 +12945,8 @@ "pair": "common->hole", "phases": { "initial": { - "namingEvidenceBytes": 2578, - "namingEvidenceSha256": "1029b16b4d4a67111ae8792f0d19e74fafaa5a8110f1288f637a8370ae65022a", + "namingEvidenceBytes": 2580, + "namingEvidenceSha256": "81ef96456d4d9a3275b5902a93ec0b29c15735c561d056310612d42335733cab", "pair": "common->hole", "shape": { "area": 152.5663706, @@ -12955,8 +12967,8 @@ } }, "reopened": { - "namingEvidenceBytes": 2578, - "namingEvidenceSha256": "1029b16b4d4a67111ae8792f0d19e74fafaa5a8110f1288f637a8370ae65022a", + "namingEvidenceBytes": 2580, + "namingEvidenceSha256": "81ef96456d4d9a3275b5902a93ec0b29c15735c561d056310612d42335733cab", "pair": "common->hole", "shape": { "area": 152.5663706, @@ -12977,8 +12989,8 @@ } }, "resaved": { - "namingEvidenceBytes": 2578, - "namingEvidenceSha256": "1029b16b4d4a67111ae8792f0d19e74fafaa5a8110f1288f637a8370ae65022a", + "namingEvidenceBytes": 2580, + "namingEvidenceSha256": "81ef96456d4d9a3275b5902a93ec0b29c15735c561d056310612d42335733cab", "pair": "common->hole", "shape": { "area": 152.5663706, @@ -13066,7 +13078,7 @@ "selectedRecords": 3, "ambiguousResults": 2, "historySha256": "892f032e032350527d18612c7f3a1ada59c5014cb063799a04dcb1fb8edd5dad", - "namingEvidenceSha256": "d9979c62c5d3e89afb6795f69c8bf420a94576286871549777240b1eadd02c9d", + "namingEvidenceSha256": "583db61d0d55269f7c66dd8572e9b938184ed3438f1283804426b66799f96c55", "namingSemanticSha256": "70cb60bfed12b0f6e2b97ba3f1c91699dcad303f02fc180429fbcfc88a2bbc5b" }, "mutation": { @@ -13109,7 +13121,7 @@ "selectedRecords": 3, "ambiguousResults": 2, "historySha256": "892f032e032350527d18612c7f3a1ada59c5014cb063799a04dcb1fb8edd5dad", - "namingEvidenceSha256": "c90a93e83a866fe6e82f12ebce316a9950504c1903e94d332778c5c614e3f8d8", + "namingEvidenceSha256": "f13f389eda8f01e8f3acbc464314d6571802f89617df7eb721fb9d60a44fa011", "namingSemanticSha256": "70cb60bfed12b0f6e2b97ba3f1c91699dcad303f02fc180429fbcfc88a2bbc5b" }, "restoredEvidence": { @@ -13139,7 +13151,7 @@ "selectedRecords": 3, "ambiguousResults": 2, "historySha256": "892f032e032350527d18612c7f3a1ada59c5014cb063799a04dcb1fb8edd5dad", - "namingEvidenceSha256": "28e38603af415a3ebc999564c96b8227880d88db80991f25f9e86c5a5025e169", + "namingEvidenceSha256": "e4032f7b1a155cb3783cc98fb90bca738458eeff7ac8705dd80399c0ec691d10", "namingSemanticSha256": "70cb60bfed12b0f6e2b97ba3f1c91699dcad303f02fc180429fbcfc88a2bbc5b" } }, @@ -13160,8 +13172,8 @@ "pair": "common->draft", "phases": { "initial": { - "namingEvidenceBytes": 2319, - "namingEvidenceSha256": "d9979c62c5d3e89afb6795f69c8bf420a94576286871549777240b1eadd02c9d", + "namingEvidenceBytes": 2315, + "namingEvidenceSha256": "583db61d0d55269f7c66dd8572e9b938184ed3438f1283804426b66799f96c55", "pair": "common->draft", "shape": { "area": 145.7210628, @@ -13182,8 +13194,8 @@ } }, "reopened": { - "namingEvidenceBytes": 2319, - "namingEvidenceSha256": "d9979c62c5d3e89afb6795f69c8bf420a94576286871549777240b1eadd02c9d", + "namingEvidenceBytes": 2315, + "namingEvidenceSha256": "583db61d0d55269f7c66dd8572e9b938184ed3438f1283804426b66799f96c55", "pair": "common->draft", "shape": { "area": 145.7210628, @@ -13204,8 +13216,8 @@ } }, "resaved": { - "namingEvidenceBytes": 2319, - "namingEvidenceSha256": "d9979c62c5d3e89afb6795f69c8bf420a94576286871549777240b1eadd02c9d", + "namingEvidenceBytes": 2315, + "namingEvidenceSha256": "583db61d0d55269f7c66dd8572e9b938184ed3438f1283804426b66799f96c55", "pair": "common->draft", "shape": { "area": 145.7210628, @@ -13293,7 +13305,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "a33735e85ed2d6a19a2d49931adde1c1b4dcdec6741a1d7225e355246f2b0ba7", + "namingEvidenceSha256": "f88125f4e06a837c40cecb987d9fa5a256d061ac765257188688599d1190f995", "namingSemanticSha256": "fe5cd51236a9af17b09ce1e73f6a1347c2c711cd3a79fb112f063ea66bba07d6" }, "mutation": { @@ -13336,7 +13348,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "13168767b2f670d9b5a3e3982af287b031a817982c3b48b7a23257417facb8d7", + "namingEvidenceSha256": "d871dfb4825e7dd90bc390c309a845a17d6410f3d12b549d40effba9bb2c173e", "namingSemanticSha256": "fe5cd51236a9af17b09ce1e73f6a1347c2c711cd3a79fb112f063ea66bba07d6" }, "restoredEvidence": { @@ -13366,7 +13378,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "18d556fea969a378dff566ad34fc4a488856a75f56e16773da073107d3af3790", + "namingEvidenceSha256": "a33735e85ed2d6a19a2d49931adde1c1b4dcdec6741a1d7225e355246f2b0ba7", "namingSemanticSha256": "fe5cd51236a9af17b09ce1e73f6a1347c2c711cd3a79fb112f063ea66bba07d6" } }, @@ -13388,7 +13400,7 @@ "phases": { "initial": { "namingEvidenceBytes": 6318, - "namingEvidenceSha256": "a33735e85ed2d6a19a2d49931adde1c1b4dcdec6741a1d7225e355246f2b0ba7", + "namingEvidenceSha256": "f88125f4e06a837c40cecb987d9fa5a256d061ac765257188688599d1190f995", "pair": "common->thickness", "shape": { "area": 227.28, @@ -13410,7 +13422,7 @@ }, "reopened": { "namingEvidenceBytes": 6318, - "namingEvidenceSha256": "a33735e85ed2d6a19a2d49931adde1c1b4dcdec6741a1d7225e355246f2b0ba7", + "namingEvidenceSha256": "f88125f4e06a837c40cecb987d9fa5a256d061ac765257188688599d1190f995", "pair": "common->thickness", "shape": { "area": 227.28, @@ -13432,7 +13444,7 @@ }, "resaved": { "namingEvidenceBytes": 6318, - "namingEvidenceSha256": "a33735e85ed2d6a19a2d49931adde1c1b4dcdec6741a1d7225e355246f2b0ba7", + "namingEvidenceSha256": "f88125f4e06a837c40cecb987d9fa5a256d061ac765257188688599d1190f995", "pair": "common->thickness", "shape": { "area": 227.28, @@ -13520,7 +13532,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "cfdd73f867383daf7d9f0e686144f45efe37c00cd7771f418bb3709ec9a251aa", + "namingEvidenceSha256": "7eef0c24c8ff6a602622804a625609017b156629c8697e6878d38ed1b987418f", "namingSemanticSha256": "ef1a87394da913e3b1272117e721253c03673dd31e3276b70b1f45932256e54f" }, "mutation": { @@ -13563,7 +13575,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "a1686746b0dd80bf07d86809b9e92eca63b663a22ca91b3c0a6ab1be30971001", + "namingEvidenceSha256": "ff6d57f2a0db9f4958b8e4c594559a247658c9463d90dfb9b0f68af0032b5201", "namingSemanticSha256": "ef1a87394da913e3b1272117e721253c03673dd31e3276b70b1f45932256e54f" }, "restoredEvidence": { @@ -13593,7 +13605,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "777335aae7dc5c90e6c4b998820327f02354e64ae4d2647f026d99a2a24ba6b7", - "namingEvidenceSha256": "238d1eefc6412331b33103695f5b678c1310bc200153be23839975d594cac46c", + "namingEvidenceSha256": "cfdd73f867383daf7d9f0e686144f45efe37c00cd7771f418bb3709ec9a251aa", "namingSemanticSha256": "ef1a87394da913e3b1272117e721253c03673dd31e3276b70b1f45932256e54f" } }, @@ -13615,7 +13627,7 @@ "phases": { "initial": { "namingEvidenceBytes": 7683, - "namingEvidenceSha256": "cfdd73f867383daf7d9f0e686144f45efe37c00cd7771f418bb3709ec9a251aa", + "namingEvidenceSha256": "7eef0c24c8ff6a602622804a625609017b156629c8697e6878d38ed1b987418f", "pair": "common->linear-pattern", "shape": { "area": 230, @@ -13637,7 +13649,7 @@ }, "reopened": { "namingEvidenceBytes": 7683, - "namingEvidenceSha256": "cfdd73f867383daf7d9f0e686144f45efe37c00cd7771f418bb3709ec9a251aa", + "namingEvidenceSha256": "7eef0c24c8ff6a602622804a625609017b156629c8697e6878d38ed1b987418f", "pair": "common->linear-pattern", "shape": { "area": 230, @@ -13659,7 +13671,7 @@ }, "resaved": { "namingEvidenceBytes": 7683, - "namingEvidenceSha256": "cfdd73f867383daf7d9f0e686144f45efe37c00cd7771f418bb3709ec9a251aa", + "namingEvidenceSha256": "7eef0c24c8ff6a602622804a625609017b156629c8697e6878d38ed1b987418f", "pair": "common->linear-pattern", "shape": { "area": 230, @@ -13747,7 +13759,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "f64c8f69fec5ab1c7cb842673f45b2683ef1b265ab19a6a8b433d386ab49cb3c", - "namingEvidenceSha256": "fb7f9f360c68652ab636dc35989ebcae4a5fd8486ba203d6bd5dc1b5586cd387", + "namingEvidenceSha256": "236c19ec85bd9379107d3725602480be8d48a72b2797f2e3218c8858517bf813", "namingSemanticSha256": "12295503b69126180aeb75976205c48692bb91ecb91db6e81c3e7730e8e55b12" }, "mutation": { @@ -13790,7 +13802,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "58688ab724eb333eff9960d17cfb6b56675ba38b750dea2482f396e6deb43ebe", - "namingEvidenceSha256": "80d5974529d6d17bf4aaee9aa4bf6da768707f8acca641957b3133eaecba2405", + "namingEvidenceSha256": "eebb73dda6a015277f9db88cae6cf6e164ffcef493a00e0057597ae435f0b772", "namingSemanticSha256": "06a0096eb226edb498f50d929dcc58e2f29d243a8befea9cd56777d420c3ed17" }, "restoredEvidence": { @@ -13820,7 +13832,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "f64c8f69fec5ab1c7cb842673f45b2683ef1b265ab19a6a8b433d386ab49cb3c", - "namingEvidenceSha256": "30494233908888e0d2281440e1834a496fb80da065d8522f40c6421c63dce1ff", + "namingEvidenceSha256": "ae7113005abcada5cc1692f358a42ba699d5ed3f6971b6f2f4d93b1524e0a62b", "namingSemanticSha256": "12295503b69126180aeb75976205c48692bb91ecb91db6e81c3e7730e8e55b12" } }, @@ -13842,7 +13854,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5355, - "namingEvidenceSha256": "fb7f9f360c68652ab636dc35989ebcae4a5fd8486ba203d6bd5dc1b5586cd387", + "namingEvidenceSha256": "236c19ec85bd9379107d3725602480be8d48a72b2797f2e3218c8858517bf813", "pair": "common->polar-pattern", "shape": { "area": 232.2649731, @@ -13864,7 +13876,7 @@ }, "reopened": { "namingEvidenceBytes": 5355, - "namingEvidenceSha256": "fb7f9f360c68652ab636dc35989ebcae4a5fd8486ba203d6bd5dc1b5586cd387", + "namingEvidenceSha256": "236c19ec85bd9379107d3725602480be8d48a72b2797f2e3218c8858517bf813", "pair": "common->polar-pattern", "shape": { "area": 232.2649731, @@ -13886,7 +13898,7 @@ }, "resaved": { "namingEvidenceBytes": 5355, - "namingEvidenceSha256": "fb7f9f360c68652ab636dc35989ebcae4a5fd8486ba203d6bd5dc1b5586cd387", + "namingEvidenceSha256": "236c19ec85bd9379107d3725602480be8d48a72b2797f2e3218c8858517bf813", "pair": "common->polar-pattern", "shape": { "area": 232.2649731, @@ -13974,7 +13986,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "46e785b97021d06ea4f9af648d877c82245e13d47589b3b7cce96fa3982ecda2", - "namingEvidenceSha256": "68b0e9ce7be2f62dfc39825e7f6ba15c3186ca90805f1a12ecdc600c153e858c", + "namingEvidenceSha256": "bdd1f3b9b625490c7bf4b06787fe15c90e670ace2073aab803bc90800c8fec92", "namingSemanticSha256": "49d4bc54ac38259b2dc8f4b6e912a9b206290e4628f81c99c0ecfaa45743ce3e" }, "mutation": { @@ -14017,7 +14029,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "46e785b97021d06ea4f9af648d877c82245e13d47589b3b7cce96fa3982ecda2", - "namingEvidenceSha256": "8850aed46058c19d92c4e3ee5d1b3495740e622b609d21e7461437c2e2972ef4", + "namingEvidenceSha256": "6b0164c93a2c50fd56b88db2100a4799ada690b101122217c758f286c48684bd", "namingSemanticSha256": "49d4bc54ac38259b2dc8f4b6e912a9b206290e4628f81c99c0ecfaa45743ce3e" }, "restoredEvidence": { @@ -14047,7 +14059,7 @@ "selectedRecords": 4, "ambiguousResults": 16, "historySha256": "46e785b97021d06ea4f9af648d877c82245e13d47589b3b7cce96fa3982ecda2", - "namingEvidenceSha256": "19db14cf640c96b7492100bfd8fe87934f64756bafdd399ffbe1af2cf52ba673", + "namingEvidenceSha256": "d17ef9d77ee48387b914bd49ef3ae027abde508f8e1e8c17fab5c78a06f76929", "namingSemanticSha256": "49d4bc54ac38259b2dc8f4b6e912a9b206290e4628f81c99c0ecfaa45743ce3e" } }, @@ -14069,7 +14081,7 @@ "phases": { "initial": { "namingEvidenceBytes": 7528, - "namingEvidenceSha256": "68b0e9ce7be2f62dfc39825e7f6ba15c3186ca90805f1a12ecdc600c153e858c", + "namingEvidenceSha256": "bdd1f3b9b625490c7bf4b06787fe15c90e670ace2073aab803bc90800c8fec92", "pair": "common->mirrored", "shape": { "area": 210, @@ -14091,7 +14103,7 @@ }, "reopened": { "namingEvidenceBytes": 7528, - "namingEvidenceSha256": "68b0e9ce7be2f62dfc39825e7f6ba15c3186ca90805f1a12ecdc600c153e858c", + "namingEvidenceSha256": "bdd1f3b9b625490c7bf4b06787fe15c90e670ace2073aab803bc90800c8fec92", "pair": "common->mirrored", "shape": { "area": 210, @@ -14113,7 +14125,7 @@ }, "resaved": { "namingEvidenceBytes": 7528, - "namingEvidenceSha256": "68b0e9ce7be2f62dfc39825e7f6ba15c3186ca90805f1a12ecdc600c153e858c", + "namingEvidenceSha256": "bdd1f3b9b625490c7bf4b06787fe15c90e670ace2073aab803bc90800c8fec92", "pair": "common->mirrored", "shape": { "area": 210, @@ -14201,7 +14213,7 @@ "selectedRecords": 16, "ambiguousResults": 106, "historySha256": "1f491fe07aa7343e1872d1c00ea6ee6241b5128ac0c7fcddb7c0e0627774478a", - "namingEvidenceSha256": "d4ecdd5815733e486e12b4250d6f442205246ff0b57ec83c39481a699d2b951c", + "namingEvidenceSha256": "d8f8eb86d0e018ea0f73c0001a63b7e000744048dc207e8f38bdd159056a2c91", "namingSemanticSha256": "c9bdb4a86f99cdea83bcb08fba7088c27424d444ac5f554289417f2944195b53" }, "mutation": { @@ -14244,7 +14256,7 @@ "selectedRecords": 16, "ambiguousResults": 106, "historySha256": "1f491fe07aa7343e1872d1c00ea6ee6241b5128ac0c7fcddb7c0e0627774478a", - "namingEvidenceSha256": "b26e6647b7d884a1aa8489902715a6d8b824439afb2afdedda4436199b75e05b", + "namingEvidenceSha256": "c6e7b8a54318401321c5381f3772b1df8cac678e6feccc97963afbd08096e906", "namingSemanticSha256": "c9bdb4a86f99cdea83bcb08fba7088c27424d444ac5f554289417f2944195b53" }, "restoredEvidence": { @@ -14274,7 +14286,7 @@ "selectedRecords": 16, "ambiguousResults": 106, "historySha256": "1f491fe07aa7343e1872d1c00ea6ee6241b5128ac0c7fcddb7c0e0627774478a", - "namingEvidenceSha256": "e9d7b933837b73efe2bf68f8c560969d2522ace674f337511bc3965e69910870", + "namingEvidenceSha256": "66c2a2015b152039988102e651cbca144e7563730d736ef0f078b4e19780f8ec", "namingSemanticSha256": "c9bdb4a86f99cdea83bcb08fba7088c27424d444ac5f554289417f2944195b53" } }, @@ -14296,7 +14308,7 @@ "phases": { "initial": { "namingEvidenceBytes": 53369, - "namingEvidenceSha256": "d4ecdd5815733e486e12b4250d6f442205246ff0b57ec83c39481a699d2b951c", + "namingEvidenceSha256": "d8f8eb86d0e018ea0f73c0001a63b7e000744048dc207e8f38bdd159056a2c91", "pair": "common->multi-transform", "shape": { "area": 370, @@ -14318,7 +14330,7 @@ }, "reopened": { "namingEvidenceBytes": 53369, - "namingEvidenceSha256": "d4ecdd5815733e486e12b4250d6f442205246ff0b57ec83c39481a699d2b951c", + "namingEvidenceSha256": "d8f8eb86d0e018ea0f73c0001a63b7e000744048dc207e8f38bdd159056a2c91", "pair": "common->multi-transform", "shape": { "area": 370, @@ -14340,7 +14352,7 @@ }, "resaved": { "namingEvidenceBytes": 53369, - "namingEvidenceSha256": "d4ecdd5815733e486e12b4250d6f442205246ff0b57ec83c39481a699d2b951c", + "namingEvidenceSha256": "d8f8eb86d0e018ea0f73c0001a63b7e000744048dc207e8f38bdd159056a2c91", "pair": "common->multi-transform", "shape": { "area": 370, @@ -14398,7 +14410,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "6095c8b41d64cc4bf64bf6698efc759c39436f79537d1ed460a994534d62b5c1", + "namingEvidenceSha256": "d6322e97556e87cd92af853aaab0135b7116424e55393a80015527f80d22c77c", "namingSemanticSha256": "f8766e454283bdc5d9da957b6f1fc173874defd2135187c427345b15e0604bac" }, "second": { @@ -14428,7 +14440,7 @@ "selectedRecords": 7, "ambiguousResults": 12, "historySha256": "3e7119d1cf257a55e0b26e3b670fcccfcb93d3b2afbd58aabfa8ad607944cea5", - "namingEvidenceSha256": "599088518ba60ef57aabe9039bb68f8a5561a489e08ae5c87240e2e766f9cc22", + "namingEvidenceSha256": "bb80b3db867e5a73efcfbb8ea21a8593d1ced822800fa64e69da8ec88cd55c1b", "namingSemanticSha256": "b0a61ef7bbfb28fcdcea7efaf7f5f937a7de150a87b73062651ce606d74e2489" }, "mutation": { @@ -14471,7 +14483,7 @@ "selectedRecords": 7, "ambiguousResults": 12, "historySha256": "3e7119d1cf257a55e0b26e3b670fcccfcb93d3b2afbd58aabfa8ad607944cea5", - "namingEvidenceSha256": "b220663ab1331d9da0aff6b3dcc3a2874f561194d617df94d65872b168c4e935", + "namingEvidenceSha256": "f12f2da7bccf0962bae9486e89c688b4befe1490eda738022c096b6c5f47a4db", "namingSemanticSha256": "b0a61ef7bbfb28fcdcea7efaf7f5f937a7de150a87b73062651ce606d74e2489" }, "restoredEvidence": { @@ -14501,7 +14513,7 @@ "selectedRecords": 7, "ambiguousResults": 12, "historySha256": "3e7119d1cf257a55e0b26e3b670fcccfcb93d3b2afbd58aabfa8ad607944cea5", - "namingEvidenceSha256": "fb49fc1287f6ae428c3580798f8fae4ea5f0889aa1d32bc164266864d05cbe28", + "namingEvidenceSha256": "03f6ae08dba5d5dd13a9cee63d01e31eae4b3b3d9ff34455619db6d78ce93aea", "namingSemanticSha256": "b0a61ef7bbfb28fcdcea7efaf7f5f937a7de150a87b73062651ce606d74e2489" } }, @@ -14523,7 +14535,7 @@ "phases": { "initial": { "namingEvidenceBytes": 6987, - "namingEvidenceSha256": "599088518ba60ef57aabe9039bb68f8a5561a489e08ae5c87240e2e766f9cc22", + "namingEvidenceSha256": "bb80b3db867e5a73efcfbb8ea21a8593d1ced822800fa64e69da8ec88cd55c1b", "pair": "rotate->fuse", "shape": { "area": 702.3967735, @@ -14545,7 +14557,7 @@ }, "reopened": { "namingEvidenceBytes": 6987, - "namingEvidenceSha256": "599088518ba60ef57aabe9039bb68f8a5561a489e08ae5c87240e2e766f9cc22", + "namingEvidenceSha256": "bb80b3db867e5a73efcfbb8ea21a8593d1ced822800fa64e69da8ec88cd55c1b", "pair": "rotate->fuse", "shape": { "area": 702.3967735, @@ -14567,7 +14579,7 @@ }, "resaved": { "namingEvidenceBytes": 6987, - "namingEvidenceSha256": "599088518ba60ef57aabe9039bb68f8a5561a489e08ae5c87240e2e766f9cc22", + "namingEvidenceSha256": "bb80b3db867e5a73efcfbb8ea21a8593d1ced822800fa64e69da8ec88cd55c1b", "pair": "rotate->fuse", "shape": { "area": 702.3967735, @@ -14625,7 +14637,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "be114433ced16808a8c1683073f5cf1200aab54b8c3a740b6a663b63740eb96b", + "namingEvidenceSha256": "d490c1838865f3ecfc2439f14b8b34a1ea601f1d51c814ff62f0b51f2805b59a", "namingSemanticSha256": "095db76896c5886a4d1a663cba9f10bef2ea0ac27357f630701cd46f5eedb12e" }, "second": { @@ -14655,7 +14667,7 @@ "selectedRecords": 5, "ambiguousResults": 7, "historySha256": "5c9c68b0befd8dc7f73d42ac75ffb70c0db0d3fe15f31959a6811581c7cba6b8", - "namingEvidenceSha256": "139c3e558aa4da9279c5714742cfb9818087a30afeb8bd1490f4a258f93693fa", + "namingEvidenceSha256": "33121e3a166f010f6b9b132fc9d1854e5a6a5406a939ce3425a9bac8a19afe56", "namingSemanticSha256": "428cdf2636e9697b589ddd00d307d85d07eb7cdd75a32c760159500ca8c1c8fd" }, "mutation": { @@ -14698,7 +14710,7 @@ "selectedRecords": 5, "ambiguousResults": 7, "historySha256": "5c9c68b0befd8dc7f73d42ac75ffb70c0db0d3fe15f31959a6811581c7cba6b8", - "namingEvidenceSha256": "69e7cad77235804033c2ee4991a20c01bba8a11c2ae5de684e80a2733f0a3889", + "namingEvidenceSha256": "2761b1d4c9de4dfeecf5076bfc286507cff093dac1e81b8182575be4d89495d0", "namingSemanticSha256": "428cdf2636e9697b589ddd00d307d85d07eb7cdd75a32c760159500ca8c1c8fd" }, "restoredEvidence": { @@ -14728,7 +14740,7 @@ "selectedRecords": 5, "ambiguousResults": 7, "historySha256": "5c9c68b0befd8dc7f73d42ac75ffb70c0db0d3fe15f31959a6811581c7cba6b8", - "namingEvidenceSha256": "56419382a04553702f8bb8765445f5e496f8bb0cbbdd2080641117ca13d5edb9", + "namingEvidenceSha256": "089323c7e79b692ea4d3e43b820f3a9639101357956158c7f0a78138c786b25e", "namingSemanticSha256": "428cdf2636e9697b589ddd00d307d85d07eb7cdd75a32c760159500ca8c1c8fd" } }, @@ -14749,8 +14761,8 @@ "pair": "rotate->cut", "phases": { "initial": { - "namingEvidenceBytes": 4682, - "namingEvidenceSha256": "139c3e558aa4da9279c5714742cfb9818087a30afeb8bd1490f4a258f93693fa", + "namingEvidenceBytes": 4684, + "namingEvidenceSha256": "33121e3a166f010f6b9b132fc9d1854e5a6a5406a939ce3425a9bac8a19afe56", "pair": "rotate->cut", "shape": { "area": 622.861207, @@ -14771,8 +14783,8 @@ } }, "reopened": { - "namingEvidenceBytes": 4682, - "namingEvidenceSha256": "139c3e558aa4da9279c5714742cfb9818087a30afeb8bd1490f4a258f93693fa", + "namingEvidenceBytes": 4684, + "namingEvidenceSha256": "33121e3a166f010f6b9b132fc9d1854e5a6a5406a939ce3425a9bac8a19afe56", "pair": "rotate->cut", "shape": { "area": 622.861207, @@ -14793,8 +14805,8 @@ } }, "resaved": { - "namingEvidenceBytes": 4682, - "namingEvidenceSha256": "139c3e558aa4da9279c5714742cfb9818087a30afeb8bd1490f4a258f93693fa", + "namingEvidenceBytes": 4684, + "namingEvidenceSha256": "33121e3a166f010f6b9b132fc9d1854e5a6a5406a939ce3425a9bac8a19afe56", "pair": "rotate->cut", "shape": { "area": 622.861207, @@ -14852,7 +14864,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "1c5e27df4f1c0cdde7ee3beba1fa544681905c37b83e286da7adb03550a743da", + "namingEvidenceSha256": "821680d16b8393e30eef1a03f864aec562d4c066a3abde6f5de08ba06dcfe74b", "namingSemanticSha256": "5020a51cfca5fa07e374e475a4fc8a0a3106c81baeb1eb5b18bf193d6e6ac16f" }, "second": { @@ -14882,7 +14894,7 @@ "selectedRecords": 5, "ambiguousResults": 8, "historySha256": "30b1b8c82d36c1d35422f23e5f07f0e81d56899ab09d44c33a3f783660214444", - "namingEvidenceSha256": "baa61b276f92caad3079acb7c841d8127a4bcc8ecf1c1a7c8411ef41c97fd0f2", + "namingEvidenceSha256": "0021754c7affba1a1458d97522645fa873d2c3c7866727db1588bb0313430f19", "namingSemanticSha256": "1f9e0a2831b1d9cad297cc7121c85a14a3e615f59f055fbe5c1be3e857e63695" }, "mutation": { @@ -14925,7 +14937,7 @@ "selectedRecords": 5, "ambiguousResults": 8, "historySha256": "30b1b8c82d36c1d35422f23e5f07f0e81d56899ab09d44c33a3f783660214444", - "namingEvidenceSha256": "ca77bd0b056551088f650a7db88cc267030436c06ee931d975b619663eda61e2", + "namingEvidenceSha256": "4419106d4b5e058cf5ff7823dec118b9756c10501f16acaa97a1d4c7d681a673", "namingSemanticSha256": "1f9e0a2831b1d9cad297cc7121c85a14a3e615f59f055fbe5c1be3e857e63695" }, "restoredEvidence": { @@ -14955,7 +14967,7 @@ "selectedRecords": 5, "ambiguousResults": 8, "historySha256": "30b1b8c82d36c1d35422f23e5f07f0e81d56899ab09d44c33a3f783660214444", - "namingEvidenceSha256": "7ca0acc1bea0dd9b5cc2ab91c45bcba68aa404a4dac4b7245d711c07533d6181", + "namingEvidenceSha256": "126e2590e97e2a567280fbb56ac44089d39026922f769b32e4479718a9b59677", "namingSemanticSha256": "1f9e0a2831b1d9cad297cc7121c85a14a3e615f59f055fbe5c1be3e857e63695" } }, @@ -14977,7 +14989,7 @@ "phases": { "initial": { "namingEvidenceBytes": 4998, - "namingEvidenceSha256": "baa61b276f92caad3079acb7c841d8127a4bcc8ecf1c1a7c8411ef41c97fd0f2", + "namingEvidenceSha256": "0021754c7affba1a1458d97522645fa873d2c3c7866727db1588bb0313430f19", "pair": "rotate->common", "shape": { "area": 65.1001155, @@ -14999,7 +15011,7 @@ }, "reopened": { "namingEvidenceBytes": 4998, - "namingEvidenceSha256": "baa61b276f92caad3079acb7c841d8127a4bcc8ecf1c1a7c8411ef41c97fd0f2", + "namingEvidenceSha256": "0021754c7affba1a1458d97522645fa873d2c3c7866727db1588bb0313430f19", "pair": "rotate->common", "shape": { "area": 65.1001155, @@ -15021,7 +15033,7 @@ }, "resaved": { "namingEvidenceBytes": 4998, - "namingEvidenceSha256": "baa61b276f92caad3079acb7c841d8127a4bcc8ecf1c1a7c8411ef41c97fd0f2", + "namingEvidenceSha256": "0021754c7affba1a1458d97522645fa873d2c3c7866727db1588bb0313430f19", "pair": "rotate->common", "shape": { "area": 65.1001155, @@ -15079,7 +15091,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "072bd3f3a3f0b31749aa0f7814ad20aa7b18b50544ec041fcf44346ff40ab334", + "namingEvidenceSha256": "37bd060dc39da0e1eb03d0b9de9958b64d8b50fc984af3ac7a322f37bf37ad15", "namingSemanticSha256": "2c0792cf45eecbd473e653968c55953b0100ccf96b2f768da3e12e7a2750632b" }, "second": { @@ -15109,7 +15121,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "d191b9d25f9d5b85c067d6aee4cb73b17b6f3d1556e894fed577e6b9d4e2af91", + "namingEvidenceSha256": "08eb171fbd9a0e660e071824e1204bd7c3725cc5a7f53d92030677901a75fbaf", "namingSemanticSha256": "92d8e7119cfa34cc07210577213b0a83d100f2f94ea2581cd20997f9684cfb3b" }, "mutation": { @@ -15152,7 +15164,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "f7251e3ef8a348302667a55265a6b75cf16b906bd82782a39cc1104f2ac8c7af", + "namingEvidenceSha256": "fa59390eec5a3217d34502b5e4d54ea1c7e4d7d1d85edee1dd99f3d82877080c", "namingSemanticSha256": "92d8e7119cfa34cc07210577213b0a83d100f2f94ea2581cd20997f9684cfb3b" }, "restoredEvidence": { @@ -15182,7 +15194,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "4a7881e4c0832eccbc81bf1c7be50e514fb3334d607e6cae08e367955d55a438", + "namingEvidenceSha256": "80d0fcccc63e35b7899b09eb786f3b8bc7039200cd86d7213ed70981faf9fccb", "namingSemanticSha256": "92d8e7119cfa34cc07210577213b0a83d100f2f94ea2581cd20997f9684cfb3b" } }, @@ -15203,8 +15215,8 @@ "pair": "rotate->rotate", "phases": { "initial": { - "namingEvidenceBytes": 13640, - "namingEvidenceSha256": "d191b9d25f9d5b85c067d6aee4cb73b17b6f3d1556e894fed577e6b9d4e2af91", + "namingEvidenceBytes": 13636, + "namingEvidenceSha256": "08eb171fbd9a0e660e071824e1204bd7c3725cc5a7f53d92030677901a75fbaf", "pair": "rotate->rotate", "shape": { "area": 600, @@ -15225,8 +15237,8 @@ } }, "reopened": { - "namingEvidenceBytes": 13640, - "namingEvidenceSha256": "d191b9d25f9d5b85c067d6aee4cb73b17b6f3d1556e894fed577e6b9d4e2af91", + "namingEvidenceBytes": 13636, + "namingEvidenceSha256": "08eb171fbd9a0e660e071824e1204bd7c3725cc5a7f53d92030677901a75fbaf", "pair": "rotate->rotate", "shape": { "area": 600, @@ -15247,8 +15259,8 @@ } }, "resaved": { - "namingEvidenceBytes": 13640, - "namingEvidenceSha256": "d191b9d25f9d5b85c067d6aee4cb73b17b6f3d1556e894fed577e6b9d4e2af91", + "namingEvidenceBytes": 13636, + "namingEvidenceSha256": "08eb171fbd9a0e660e071824e1204bd7c3725cc5a7f53d92030677901a75fbaf", "pair": "rotate->rotate", "shape": { "area": 600, @@ -15306,7 +15318,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "dc964cd66aaec465fcbbcfa66549cd03e118af4ee372eee2ed1f4bfcf74e0d90", + "namingEvidenceSha256": "2bc7e3661e16371e5d75541edfedf40a56b44bb38d95dcf5b8a4d0e21cbeddad", "namingSemanticSha256": "f3d285a20ed9923f066be8e3cfb3d2ea93eafbb09ac8378bdcda9e6b201eba8e" }, "rejection": { @@ -15371,6 +15383,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -15660,7 +15673,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "67da6f977ad7cb56a8ae3e4fe5091071da61cc888d84575e76b944f4c8fd0aa5", + "namingEvidenceSha256": "c0e5bdcaf37dfe17819ec42520db30d9567d0e69e63f63962e0a8f529082aef0", "namingSemanticSha256": "cd8e0b181d1ec46cdd06e690a99e71fec6a4e448fe25e6582c74262ae01a94b4" }, "second": { @@ -15690,7 +15703,7 @@ "selectedRecords": 6, "ambiguousResults": 9, "historySha256": "e483a71a1e8088efdb970e4c88dc6e284aa8cf193379abb5ea7a43c9ce4a385a", - "namingEvidenceSha256": "450c4f00d73db69b5f2207c1e9d8a2fc98a1aff55c1908626eb679dc490f7508", + "namingEvidenceSha256": "ca5848b5a6a04c427a79898b38bb1ec171725539006dd87b8b674a77b8a13179", "namingSemanticSha256": "3a614bc61c3d719f69c43fb3aa81e5fb0e337c80d61d66271a88ed3ba00dfbea" }, "mutation": { @@ -15733,7 +15746,7 @@ "selectedRecords": 6, "ambiguousResults": 9, "historySha256": "e483a71a1e8088efdb970e4c88dc6e284aa8cf193379abb5ea7a43c9ce4a385a", - "namingEvidenceSha256": "336ea09b98619d985233cb95f2a4aedc7ce4c59700e987a3b03c290b47bf890b", + "namingEvidenceSha256": "0f1a48a5872fb4641e5adcb369b232d8a5c3f3bd9a8502b80a014289072fedbb", "namingSemanticSha256": "3a614bc61c3d719f69c43fb3aa81e5fb0e337c80d61d66271a88ed3ba00dfbea" }, "restoredEvidence": { @@ -15763,7 +15776,7 @@ "selectedRecords": 6, "ambiguousResults": 9, "historySha256": "e483a71a1e8088efdb970e4c88dc6e284aa8cf193379abb5ea7a43c9ce4a385a", - "namingEvidenceSha256": "4e164e1e09a7ffbe0a5de33dd3d9a965bdfb6e7926afaa199fbf82fecf1b8f74", + "namingEvidenceSha256": "dc60cb5bf9b5465fb4f6bfc7003a326213c3dbbe791cdb81752fc965b38361c6", "namingSemanticSha256": "3a614bc61c3d719f69c43fb3aa81e5fb0e337c80d61d66271a88ed3ba00dfbea" } }, @@ -15785,7 +15798,7 @@ "phases": { "initial": { "namingEvidenceBytes": 7019, - "namingEvidenceSha256": "450c4f00d73db69b5f2207c1e9d8a2fc98a1aff55c1908626eb679dc490f7508", + "namingEvidenceSha256": "ca5848b5a6a04c427a79898b38bb1ec171725539006dd87b8b674a77b8a13179", "pair": "rotate->pocket", "shape": { "area": 626.9677463, @@ -15807,7 +15820,7 @@ }, "reopened": { "namingEvidenceBytes": 7019, - "namingEvidenceSha256": "450c4f00d73db69b5f2207c1e9d8a2fc98a1aff55c1908626eb679dc490f7508", + "namingEvidenceSha256": "ca5848b5a6a04c427a79898b38bb1ec171725539006dd87b8b674a77b8a13179", "pair": "rotate->pocket", "shape": { "area": 626.9677463, @@ -15829,7 +15842,7 @@ }, "resaved": { "namingEvidenceBytes": 7019, - "namingEvidenceSha256": "450c4f00d73db69b5f2207c1e9d8a2fc98a1aff55c1908626eb679dc490f7508", + "namingEvidenceSha256": "ca5848b5a6a04c427a79898b38bb1ec171725539006dd87b8b674a77b8a13179", "pair": "rotate->pocket", "shape": { "area": 626.9677463, @@ -15887,7 +15900,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "a193b02bbcefcf9e1957380581e131ccb11ff05eabb4d2ed8991a2c87c7324da", + "namingEvidenceSha256": "52cf9ffcf7eca20d260bf54d29665eadd4e4d7eec8f91d48c91465dd85123be1", "namingSemanticSha256": "207726b14623154a69bd993cdf6502b950dcfa678afe7ecb3a2e741335afee50" }, "rejection": { @@ -15919,13 +15932,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 650.7407283, - "area": 501.492119, + "volume": 1482.9629131, + "area": 799.5873079, "bounds": [ -2.5881906, -1e-7, -1e-7, - 9.6592584, + 10.0000001, 12.2474488, 15.0000001 ] @@ -15953,13 +15966,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 650.7407283, - "area": 501.492119, + "volume": 1482.9629131, + "area": 799.5873079, "bounds": [ -2.5881906, -1e-7, -1e-7, - 9.6592584, + 10.0000001, 12.2474488, 15.0000001 ] @@ -15987,13 +16000,13 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 650.7407283, - "area": 501.492119, + "volume": 1482.9629131, + "area": 799.5873079, "bounds": [ -2.5881906, -1e-7, -1e-7, - 9.6592584, + 10.0000001, 12.2474488, 15.0000001 ] @@ -16009,6 +16022,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -16273,7 +16287,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "2ac6c569636aa49d711344988f6cead0cf73132757dde1a16396baf734d6641b", + "namingEvidenceSha256": "d205dd314b3360c0dc8827e7f06eb1167a553e708777a08f9a0a03a4d519a533", "namingSemanticSha256": "e098860ba9aaa2da356938193b309351b7a87bf5c2bc2b18f9b6136c78b18098" }, "rejection": { @@ -16395,6 +16409,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -16660,7 +16675,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "ab1d28d4fdcabc8b89560f4ee49c49422245218237d0996348d3a6557c7bc16b", + "namingEvidenceSha256": "428dc63350ad1fe7da9244714505fcc1d50501b757d0ec26def229b5a5b6de9e", "namingSemanticSha256": "77a8ddf12775a8f60d8a04ed37f03497748c8bf5051b4d99289d40343d13971d" }, "rejection": { @@ -16725,6 +16740,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -16978,7 +16994,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "d39b3e7011a27a5b7552a0b49d41118f98c9137becddf9708d311e55f577ff96", + "namingEvidenceSha256": "e10f4c8147cd462d2a57da60fa88e8026157c63604978d04c76298084434cef2", "namingSemanticSha256": "b26d0f5e25b548c0ab23fd4e21590c0dd35460fd80078c05e9db34df64e3f4d1" }, "second": { @@ -17008,7 +17024,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "6859c3acb96cbb303577b3d00318772fc066b9f128ea712424ea0ccaf7ed4160", - "namingEvidenceSha256": "d6c07e4ff4a345a52434039ec2783b20918dbc66612c9bc648b0e808fa062d62", + "namingEvidenceSha256": "9684b5af60a4e6d35d0c163d348008e2dca5078d49f7bbfecf77a6182c27c78f", "namingSemanticSha256": "a70700be3eaa96f88f0c5d0218390fb1c473f2042598484c83e1be6625515c9b" }, "mutation": { @@ -17051,7 +17067,7 @@ "selectedRecords": 2, "ambiguousResults": 12, "historySha256": "375db222c93baa2250208d72f6bd57e8bb6b04599daa180aaf68eebbb1524007", - "namingEvidenceSha256": "39475dcb8ce083878b2417f778291828e16847eaa0e8914ce99babe96e1639ec", + "namingEvidenceSha256": "5e9e17b8134613a721fd3ebf652edcbe252fdad3d127b7e5617b4f90212c151e", "namingSemanticSha256": "11c00347014520f3ff3175a35e76bebdebd64af60f4bb37ea54680fc6d3b770b" }, "restoredEvidence": { @@ -17081,7 +17097,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "6859c3acb96cbb303577b3d00318772fc066b9f128ea712424ea0ccaf7ed4160", - "namingEvidenceSha256": "ae2b83ec1b101919b9409bc164e9aabf308beaec09cfa59617d0d7c048a41391", + "namingEvidenceSha256": "fd1cdfa55ad728b295037f64fc3282040fbdbede60c4beead4fc3bbc7fcd92ac", "namingSemanticSha256": "a70700be3eaa96f88f0c5d0218390fb1c473f2042598484c83e1be6625515c9b" } }, @@ -17103,7 +17119,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5497, - "namingEvidenceSha256": "d6c07e4ff4a345a52434039ec2783b20918dbc66612c9bc648b0e808fa062d62", + "namingEvidenceSha256": "9684b5af60a4e6d35d0c163d348008e2dca5078d49f7bbfecf77a6182c27c78f", "pair": "rotate->groove", "shape": { "area": 612.3093445, @@ -17125,7 +17141,7 @@ }, "reopened": { "namingEvidenceBytes": 5497, - "namingEvidenceSha256": "d6c07e4ff4a345a52434039ec2783b20918dbc66612c9bc648b0e808fa062d62", + "namingEvidenceSha256": "9684b5af60a4e6d35d0c163d348008e2dca5078d49f7bbfecf77a6182c27c78f", "pair": "rotate->groove", "shape": { "area": 612.3093445, @@ -17147,7 +17163,7 @@ }, "resaved": { "namingEvidenceBytes": 5497, - "namingEvidenceSha256": "d6c07e4ff4a345a52434039ec2783b20918dbc66612c9bc648b0e808fa062d62", + "namingEvidenceSha256": "9684b5af60a4e6d35d0c163d348008e2dca5078d49f7bbfecf77a6182c27c78f", "pair": "rotate->groove", "shape": { "area": 612.3093445, @@ -17205,7 +17221,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "b748ac109e1c48d50f2f2a890492fb0880a70e07c3890441faf889e4c6e7e70d", + "namingEvidenceSha256": "1ecdccc1f53111a1a8bce5c4603bbbe7f2201b667650cbb369767ba85c4a04f0", "namingSemanticSha256": "5e8960f2e01a2441d9cfa80f73d9d0e336714f83d65c5893eeec3cb23a263279" }, "second": { @@ -17235,7 +17251,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "079f8a9eb27595f0bffa6888e000baec8fa04b93bcd455d71439a72e3f341834", + "namingEvidenceSha256": "9ab37d4c6f563ee72bd107b24d9b803c3e7969bf9624acbc7a4b6262bc088b38", "namingSemanticSha256": "dcb303496d65f13739b1db20f5ce6119992d47a87d5b6e88d1e8d7cce4d3d9a0" }, "mutation": { @@ -17278,7 +17294,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "c378c9567ff0ba3afb563279eb3f410001b21c8214c5a53d89511109f9734ad1", + "namingEvidenceSha256": "51844b723a212d3dd86ea17c1ebf906b05919f8c920eb4e76e8126620855cfde", "namingSemanticSha256": "dcb303496d65f13739b1db20f5ce6119992d47a87d5b6e88d1e8d7cce4d3d9a0" }, "restoredEvidence": { @@ -17308,7 +17324,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "174a5a268c990440fa62f4ec119f35cc7514c7cdb33b8345baf0559b418dac62", - "namingEvidenceSha256": "ec767e96327ab1f3e694506b396e7a27f5998f8dcf5240897251ea2d5f829683", + "namingEvidenceSha256": "28acaa79373c949c0012746219681447ca0841a4bf80481afeff16064a0f1d51", "namingSemanticSha256": "dcb303496d65f13739b1db20f5ce6119992d47a87d5b6e88d1e8d7cce4d3d9a0" } }, @@ -17329,8 +17345,8 @@ "pair": "rotate->chamfer", "phases": { "initial": { - "namingEvidenceBytes": 14461, - "namingEvidenceSha256": "079f8a9eb27595f0bffa6888e000baec8fa04b93bcd455d71439a72e3f341834", + "namingEvidenceBytes": 14463, + "namingEvidenceSha256": "9ab37d4c6f563ee72bd107b24d9b803c3e7969bf9624acbc7a4b6262bc088b38", "pair": "rotate->chamfer", "shape": { "area": 571.4001834, @@ -17351,8 +17367,8 @@ } }, "reopened": { - "namingEvidenceBytes": 14461, - "namingEvidenceSha256": "079f8a9eb27595f0bffa6888e000baec8fa04b93bcd455d71439a72e3f341834", + "namingEvidenceBytes": 14463, + "namingEvidenceSha256": "9ab37d4c6f563ee72bd107b24d9b803c3e7969bf9624acbc7a4b6262bc088b38", "pair": "rotate->chamfer", "shape": { "area": 571.4001834, @@ -17373,8 +17389,8 @@ } }, "resaved": { - "namingEvidenceBytes": 14461, - "namingEvidenceSha256": "079f8a9eb27595f0bffa6888e000baec8fa04b93bcd455d71439a72e3f341834", + "namingEvidenceBytes": 14463, + "namingEvidenceSha256": "9ab37d4c6f563ee72bd107b24d9b803c3e7969bf9624acbc7a4b6262bc088b38", "pair": "rotate->chamfer", "shape": { "area": 571.4001834, @@ -17432,7 +17448,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "23f646f39f48a6f3b74aebd1f0008edaf412e96670391c8e2d09e175bea16221", + "namingEvidenceSha256": "6a9cc732aaabf67d636c1b9092719f1f962753e09f1243ba50a21710b1d74681", "namingSemanticSha256": "763b6c46dc519fd00af6fe62bc7c44ed02121ae9323a437ceeb84bf627b4be4a" }, "second": { @@ -17462,7 +17478,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "d1972e3483239376cb0fb991ebda681ac22a347229cbc632dba631bdcf527bb7", - "namingEvidenceSha256": "39d948de49a7a61d5c2f1dc630ddd60ec86890e8ff627f93eb9547011db69c86", + "namingEvidenceSha256": "6a2414b90a139f6eceb14b98ee9c9177ff77b84c91d81405dbfb17f99c78d7e5", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" }, "mutation": { @@ -17505,7 +17521,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "d1972e3483239376cb0fb991ebda681ac22a347229cbc632dba631bdcf527bb7", - "namingEvidenceSha256": "1ce04e879269295784875507841fcd8c015eb92d7295e4d3342c5b756c3c0220", + "namingEvidenceSha256": "39d948de49a7a61d5c2f1dc630ddd60ec86890e8ff627f93eb9547011db69c86", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" }, "restoredEvidence": { @@ -17535,7 +17551,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "d1972e3483239376cb0fb991ebda681ac22a347229cbc632dba631bdcf527bb7", - "namingEvidenceSha256": "9dd71013842dcdbcb64039b7ee8aad64b3c11552637b1bac2099411c5362cce4", + "namingEvidenceSha256": "1ce04e879269295784875507841fcd8c015eb92d7295e4d3342c5b756c3c0220", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" } }, @@ -17557,7 +17573,7 @@ "phases": { "initial": { "namingEvidenceBytes": 1532, - "namingEvidenceSha256": "39d948de49a7a61d5c2f1dc630ddd60ec86890e8ff627f93eb9547011db69c86", + "namingEvidenceSha256": "6a2414b90a139f6eceb14b98ee9c9177ff77b84c91d81405dbfb17f99c78d7e5", "pair": "rotate->hole", "shape": { "area": 656.5486678, @@ -17579,7 +17595,7 @@ }, "reopened": { "namingEvidenceBytes": 1532, - "namingEvidenceSha256": "39d948de49a7a61d5c2f1dc630ddd60ec86890e8ff627f93eb9547011db69c86", + "namingEvidenceSha256": "6a2414b90a139f6eceb14b98ee9c9177ff77b84c91d81405dbfb17f99c78d7e5", "pair": "rotate->hole", "shape": { "area": 656.5486678, @@ -17601,7 +17617,7 @@ }, "resaved": { "namingEvidenceBytes": 1532, - "namingEvidenceSha256": "39d948de49a7a61d5c2f1dc630ddd60ec86890e8ff627f93eb9547011db69c86", + "namingEvidenceSha256": "6a2414b90a139f6eceb14b98ee9c9177ff77b84c91d81405dbfb17f99c78d7e5", "pair": "rotate->hole", "shape": { "area": 656.5486678, @@ -17659,7 +17675,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "59f4b60c53893ec08f107cbd66ff787b3c8e0107d30459a35d8342ff98465547", + "namingEvidenceSha256": "d4f6b6f2b4c2c909dc8ffc7228d877f3606301cb676387fbe1d192b33e1cf9e7", "namingSemanticSha256": "8bae0dc81bc11fc8705a52888b6f3e0884aadbf952a227d2d19469f72093c62b" }, "second": { @@ -17689,7 +17705,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "892f032e032350527d18612c7f3a1ada59c5014cb063799a04dcb1fb8edd5dad", - "namingEvidenceSha256": "bbddf3352b8432130e32d7a931c667b89d893480c86a42633895465d739f7d5e", + "namingEvidenceSha256": "f217e99365a33fa215a9bede9d949dc9a6404827c70de18b570d44701381d25f", "namingSemanticSha256": "6636aed479189b16c13eb001989ae18e80bc403f90afe5fc0f09c4c439de17ff" }, "mutation": { @@ -17784,7 +17800,7 @@ "phases": { "initial": { "namingEvidenceBytes": 2571, - "namingEvidenceSha256": "bbddf3352b8432130e32d7a931c667b89d893480c86a42633895465d739f7d5e", + "namingEvidenceSha256": "f217e99365a33fa215a9bede9d949dc9a6404827c70de18b570d44701381d25f", "pair": "rotate->draft", "shape": { "area": 582.884251, @@ -17806,7 +17822,7 @@ }, "reopened": { "namingEvidenceBytes": 2571, - "namingEvidenceSha256": "bbddf3352b8432130e32d7a931c667b89d893480c86a42633895465d739f7d5e", + "namingEvidenceSha256": "f217e99365a33fa215a9bede9d949dc9a6404827c70de18b570d44701381d25f", "pair": "rotate->draft", "shape": { "area": 582.884251, @@ -17828,7 +17844,7 @@ }, "resaved": { "namingEvidenceBytes": 2571, - "namingEvidenceSha256": "bbddf3352b8432130e32d7a931c667b89d893480c86a42633895465d739f7d5e", + "namingEvidenceSha256": "f217e99365a33fa215a9bede9d949dc9a6404827c70de18b570d44701381d25f", "pair": "rotate->draft", "shape": { "area": 582.884251, @@ -17886,7 +17902,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "ea289e34da14ce07fe5e54525693358717cbdc394a882eff3f2d6e374c0d161d", + "namingEvidenceSha256": "6e2b5bcb328613393c48b2e376a4fabebb73ac6a115a2434a01ecda6e50f94f1", "namingSemanticSha256": "d1c6f32dbf4125c63757519d331621271e60f79f5ba4779b23ea405a02f17db4" }, "second": { @@ -17916,7 +17932,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "a22d67a5b8c848aa6a30b70c5064f324efef9b08668bdfee08997dae01b05218", + "namingEvidenceSha256": "5d0994506dcbb99e052c940382ca8ed18bfc64a6004a79c1369511494a639b1b", "namingSemanticSha256": "57b9db57ad346f6680a30cd08112deaf43ffb79812d8aaef193da98822b88a84" }, "mutation": { @@ -17959,7 +17975,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "0a10211a70d12a218989d68de71ce87187a06adbca57c420b8c3f635cfa51ea8", + "namingEvidenceSha256": "a22d67a5b8c848aa6a30b70c5064f324efef9b08668bdfee08997dae01b05218", "namingSemanticSha256": "57b9db57ad346f6680a30cd08112deaf43ffb79812d8aaef193da98822b88a84" }, "restoredEvidence": { @@ -17989,7 +18005,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "aa204d4aa6adb782dfbd8caa8fe653c41371d2e03c06a44a33e252a8077384b6", - "namingEvidenceSha256": "648472e30f0bce3b6a2fbcadc018dfacd32a7d24d0c3d9b0657ca19bdcf2f917", + "namingEvidenceSha256": "0a10211a70d12a218989d68de71ce87187a06adbca57c420b8c3f635cfa51ea8", "namingSemanticSha256": "57b9db57ad346f6680a30cd08112deaf43ffb79812d8aaef193da98822b88a84" } }, @@ -18011,7 +18027,7 @@ "phases": { "initial": { "namingEvidenceBytes": 8147, - "namingEvidenceSha256": "a22d67a5b8c848aa6a30b70c5064f324efef9b08668bdfee08997dae01b05218", + "namingEvidenceSha256": "5d0994506dcbb99e052c940382ca8ed18bfc64a6004a79c1369511494a639b1b", "pair": "rotate->thickness", "shape": { "area": 953.28, @@ -18033,7 +18049,7 @@ }, "reopened": { "namingEvidenceBytes": 8147, - "namingEvidenceSha256": "a22d67a5b8c848aa6a30b70c5064f324efef9b08668bdfee08997dae01b05218", + "namingEvidenceSha256": "5d0994506dcbb99e052c940382ca8ed18bfc64a6004a79c1369511494a639b1b", "pair": "rotate->thickness", "shape": { "area": 953.28, @@ -18055,7 +18071,7 @@ }, "resaved": { "namingEvidenceBytes": 8147, - "namingEvidenceSha256": "a22d67a5b8c848aa6a30b70c5064f324efef9b08668bdfee08997dae01b05218", + "namingEvidenceSha256": "5d0994506dcbb99e052c940382ca8ed18bfc64a6004a79c1369511494a639b1b", "pair": "rotate->thickness", "shape": { "area": 953.28, @@ -18113,7 +18129,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "76347a45e700b537678f7553799fa74e47201e2e24dd60a4cde7f8a5b0d7d17b", + "namingEvidenceSha256": "c9eebb97cc14b9073b072426c35e731a727d42b38995d48f44b50ec819664f0b", "namingSemanticSha256": "26e597a9110741c2727370d66fce2c39c68a0fbdbc1cf6d177cc7d829b06feaa" }, "second": { @@ -18340,7 +18356,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "b91edd44b01df7ea3ad5772f1405c06ac5ff15643739bf9db47a7d4d294361fe", + "namingEvidenceSha256": "404c8c2e5de005f895207e01883b351bce36b46b835e6cee70309cad6f2f5250", "namingSemanticSha256": "8161ddf411e59b1bced2c3b73a01a716e0a91b29d6185d8a08c599d8a950b896" }, "second": { @@ -18370,7 +18386,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "b0850da2a12eb332ca50406d24100dab526caa133add05ba8a36c44cb8c007f6", - "namingEvidenceSha256": "1ea3709b9a51096d923c266aefacad7a1ac4822e78e4a8aae6bcd74a8471e7f7", + "namingEvidenceSha256": "00b5d07180ca59f04aa9fb1fd21e1cc8430b5577f89ba9b664db340f10fd37f9", "namingSemanticSha256": "eddd2886a613dcadaa0b18039f17b7dff0d0470f5ab6ec727550c0efd98e3fa5" }, "mutation": { @@ -18413,7 +18429,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "b0850da2a12eb332ca50406d24100dab526caa133add05ba8a36c44cb8c007f6", - "namingEvidenceSha256": "b3f485d4086c52b8c9287155e1a9f58e224729b0bfb0c722ff7f6606b02b2ce9", + "namingEvidenceSha256": "1ea3709b9a51096d923c266aefacad7a1ac4822e78e4a8aae6bcd74a8471e7f7", "namingSemanticSha256": "eddd2886a613dcadaa0b18039f17b7dff0d0470f5ab6ec727550c0efd98e3fa5" }, "restoredEvidence": { @@ -18443,7 +18459,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "b0850da2a12eb332ca50406d24100dab526caa133add05ba8a36c44cb8c007f6", - "namingEvidenceSha256": "2bc5d946046b1a7898aaf08cb1c77ad99471e0491bbcb81b021f9fc29a3f7c9b", + "namingEvidenceSha256": "b3f485d4086c52b8c9287155e1a9f58e224729b0bfb0c722ff7f6606b02b2ce9", "namingSemanticSha256": "eddd2886a613dcadaa0b18039f17b7dff0d0470f5ab6ec727550c0efd98e3fa5" } }, @@ -18465,7 +18481,7 @@ "phases": { "initial": { "namingEvidenceBytes": 8309, - "namingEvidenceSha256": "1ea3709b9a51096d923c266aefacad7a1ac4822e78e4a8aae6bcd74a8471e7f7", + "namingEvidenceSha256": "00b5d07180ca59f04aa9fb1fd21e1cc8430b5577f89ba9b664db340f10fd37f9", "pair": "rotate->polar-pattern", "shape": { "area": 769.0598923, @@ -18487,7 +18503,7 @@ }, "reopened": { "namingEvidenceBytes": 8309, - "namingEvidenceSha256": "1ea3709b9a51096d923c266aefacad7a1ac4822e78e4a8aae6bcd74a8471e7f7", + "namingEvidenceSha256": "00b5d07180ca59f04aa9fb1fd21e1cc8430b5577f89ba9b664db340f10fd37f9", "pair": "rotate->polar-pattern", "shape": { "area": 769.0598923, @@ -18509,7 +18525,7 @@ }, "resaved": { "namingEvidenceBytes": 8309, - "namingEvidenceSha256": "1ea3709b9a51096d923c266aefacad7a1ac4822e78e4a8aae6bcd74a8471e7f7", + "namingEvidenceSha256": "00b5d07180ca59f04aa9fb1fd21e1cc8430b5577f89ba9b664db340f10fd37f9", "pair": "rotate->polar-pattern", "shape": { "area": 769.0598923, @@ -18567,7 +18583,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "a74e3dc93615a12c1ebbb61688b3f693ced160abff75d80ad4c246590f5ad003", + "namingEvidenceSha256": "097f7182b2421654228cb58247383b3d0d05f6748f4a9418193709f806cdb8a4", "namingSemanticSha256": "30c56741724f0258a3b1186d88c8d9e15020d177ff63b5ab2a47a42d93e3155c" }, "second": { @@ -18794,7 +18810,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "bee8c3d39b2e8d137b532235248b0ee9a41c8520722e8170cec260ce103d23e8", - "namingEvidenceSha256": "60386354c81f8bbd67ef05ff7a33c1c289794face9e11e796f61b2fbd8656f5e", + "namingEvidenceSha256": "b4087bd8c6e21780c3f61bcb36ddd604e826a07ca0ab5a3f40f7ba2a49850cf1", "namingSemanticSha256": "b04a09599d9d570168b9a3407848ab07fda02257ac2fe656ea49a1c71192b756" }, "second": { @@ -19021,7 +19037,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "8577f47d70fa4cf98b7fca4978efabcbe16334711644d7371bce6bdd23ea96d7", + "namingEvidenceSha256": "c35c3f727f9784b8dda8a693f0f2c1bcbf1cd3333d4b62f693772919c0c55abb", "namingSemanticSha256": "434b5d15e118695acc181ce1fc34bcbda2ac69a3dcf396745e00a007b78bbbbe" }, "second": { @@ -19051,7 +19067,7 @@ "selectedRecords": 8, "ambiguousResults": 21, "historySha256": "1b3a1e53a749e625b189ec1e3328f2db199a2340445901018bbec5cf06bfd360", - "namingEvidenceSha256": "649b8698c8bf1b958e40821029345f18a60175499c94cdbd51f95eff0d8f4375", + "namingEvidenceSha256": "698e36cf258ecb87f946fc9062ca2cd14c193330bfb9232da0d34508e4e8e836", "namingSemanticSha256": "92afdabef36b2477059ec0528b42aac3da77dd1104513b02de71b0bf3198324d" }, "mutation": { @@ -19094,7 +19110,7 @@ "selectedRecords": 8, "ambiguousResults": 21, "historySha256": "1b3a1e53a749e625b189ec1e3328f2db199a2340445901018bbec5cf06bfd360", - "namingEvidenceSha256": "698e36cf258ecb87f946fc9062ca2cd14c193330bfb9232da0d34508e4e8e836", + "namingEvidenceSha256": "ae9aa8e614161d61d215901e751c91377ba6fb80efa7178484c3ec5b7cc9d990", "namingSemanticSha256": "92afdabef36b2477059ec0528b42aac3da77dd1104513b02de71b0bf3198324d" }, "restoredEvidence": { @@ -19124,7 +19140,7 @@ "selectedRecords": 8, "ambiguousResults": 21, "historySha256": "1b3a1e53a749e625b189ec1e3328f2db199a2340445901018bbec5cf06bfd360", - "namingEvidenceSha256": "ae9aa8e614161d61d215901e751c91377ba6fb80efa7178484c3ec5b7cc9d990", + "namingEvidenceSha256": "2dfb4847147b8f94480350b89987163cc49ad1a623448ec78bc90a3185d20ad1", "namingSemanticSha256": "92afdabef36b2477059ec0528b42aac3da77dd1104513b02de71b0bf3198324d" } }, @@ -19146,7 +19162,7 @@ "phases": { "initial": { "namingEvidenceBytes": 9954, - "namingEvidenceSha256": "649b8698c8bf1b958e40821029345f18a60175499c94cdbd51f95eff0d8f4375", + "namingEvidenceSha256": "698e36cf258ecb87f946fc9062ca2cd14c193330bfb9232da0d34508e4e8e836", "pair": "pad->fuse", "shape": { "area": 460, @@ -19168,7 +19184,7 @@ }, "reopened": { "namingEvidenceBytes": 9954, - "namingEvidenceSha256": "649b8698c8bf1b958e40821029345f18a60175499c94cdbd51f95eff0d8f4375", + "namingEvidenceSha256": "698e36cf258ecb87f946fc9062ca2cd14c193330bfb9232da0d34508e4e8e836", "pair": "pad->fuse", "shape": { "area": 460, @@ -19190,7 +19206,7 @@ }, "resaved": { "namingEvidenceBytes": 9954, - "namingEvidenceSha256": "649b8698c8bf1b958e40821029345f18a60175499c94cdbd51f95eff0d8f4375", + "namingEvidenceSha256": "698e36cf258ecb87f946fc9062ca2cd14c193330bfb9232da0d34508e4e8e836", "pair": "pad->fuse", "shape": { "area": 460, @@ -19248,7 +19264,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "6a052802ec1b6ccd4e6c267fa02db79a0a653e4677fed35fd62dd84d7d494de4", + "namingEvidenceSha256": "690de87e49234728572991eb63c52f35cc14935fda00e73155f30400e3064321", "namingSemanticSha256": "68eb74ef0a43fd20cce122d8010a8c7ccd265f9f6d6debb85dd5bf1b8d5a775b" }, "second": { @@ -19278,7 +19294,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "779b975add5d92409c1dcff0dac0fd1401273a2be3ef47775f85e4456426c2c1", - "namingEvidenceSha256": "fad1dfe0d1bb04afc7d7b8df59586d5ed8ca009b2e91c424561555a2603382d3", + "namingEvidenceSha256": "9869f4c5b28b7d4025d6ccaed56d4bf280f3cee781016af111b003e0f2902389", "namingSemanticSha256": "abd2a19fac66b5a0b6a0bcfbe99ab5dc72603a605ea71360f0fca03d4c9a606e" }, "mutation": { @@ -19321,7 +19337,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "779b975add5d92409c1dcff0dac0fd1401273a2be3ef47775f85e4456426c2c1", - "namingEvidenceSha256": "053a4861566cdd6ca5f06a1704453446deeb9975759dafdbdbf3bec60c21d3cd", + "namingEvidenceSha256": "c5823898b4e7131f955588c437352479826c107853c2a4c2a92f99a49a37f95e", "namingSemanticSha256": "abd2a19fac66b5a0b6a0bcfbe99ab5dc72603a605ea71360f0fca03d4c9a606e" }, "restoredEvidence": { @@ -19351,7 +19367,7 @@ "selectedRecords": 2, "ambiguousResults": 8, "historySha256": "779b975add5d92409c1dcff0dac0fd1401273a2be3ef47775f85e4456426c2c1", - "namingEvidenceSha256": "9869f4c5b28b7d4025d6ccaed56d4bf280f3cee781016af111b003e0f2902389", + "namingEvidenceSha256": "5bf2f59ca620e0b2d0f9ec00be932ef06badeb18f3edd0e6e5738966048ff6a8", "namingSemanticSha256": "abd2a19fac66b5a0b6a0bcfbe99ab5dc72603a605ea71360f0fca03d4c9a606e" } }, @@ -19373,7 +19389,7 @@ "phases": { "initial": { "namingEvidenceBytes": 3751, - "namingEvidenceSha256": "fad1dfe0d1bb04afc7d7b8df59586d5ed8ca009b2e91c424561555a2603382d3", + "namingEvidenceSha256": "9869f4c5b28b7d4025d6ccaed56d4bf280f3cee781016af111b003e0f2902389", "pair": "pad->cut", "shape": { "area": 432, @@ -19395,7 +19411,7 @@ }, "reopened": { "namingEvidenceBytes": 3751, - "namingEvidenceSha256": "fad1dfe0d1bb04afc7d7b8df59586d5ed8ca009b2e91c424561555a2603382d3", + "namingEvidenceSha256": "9869f4c5b28b7d4025d6ccaed56d4bf280f3cee781016af111b003e0f2902389", "pair": "pad->cut", "shape": { "area": 432, @@ -19417,7 +19433,7 @@ }, "resaved": { "namingEvidenceBytes": 3751, - "namingEvidenceSha256": "fad1dfe0d1bb04afc7d7b8df59586d5ed8ca009b2e91c424561555a2603382d3", + "namingEvidenceSha256": "9869f4c5b28b7d4025d6ccaed56d4bf280f3cee781016af111b003e0f2902389", "pair": "pad->cut", "shape": { "area": 432, @@ -19475,7 +19491,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "b44ead5a5847f07453ec1eeab849b0cc97969b96d05ebb1efb845a7ecb66c991", + "namingEvidenceSha256": "a164deb6b3165be0fa31dfc9f1089feb930e223ed76e45780fc0f4494ef2c1d2", "namingSemanticSha256": "45c04c464bc667af59d5a487857049a191cab8aaf6a64b9163fa7d7aa4349746" }, "second": { @@ -19505,7 +19521,7 @@ "selectedRecords": 2, "ambiguousResults": 13, "historySha256": "7b96e9bc09e79a74fb878dc8f730de88f642db480b63d55f94a017d90c6e8f19", - "namingEvidenceSha256": "7303a0e92edef5c0c8e676870d32cfc81532728c7054f841f7a4743dd9fe81e5", + "namingEvidenceSha256": "00fb064abecfabf52dc92628c705f5bed6c728d8caf74b58b13dacd6a509448f", "namingSemanticSha256": "c5eb6fe8cd67bb397426157a8982d1c3c0011986ace98ca507737f4e0951cb49" }, "mutation": { @@ -19548,7 +19564,7 @@ "selectedRecords": 2, "ambiguousResults": 13, "historySha256": "7b96e9bc09e79a74fb878dc8f730de88f642db480b63d55f94a017d90c6e8f19", - "namingEvidenceSha256": "fa24c7cd021d814f876cd597bb151fb50220c6e83ee820e22c342dc990610424", + "namingEvidenceSha256": "40c39318b92af88897af0e4f8a42c337a98b1a9113d79d8483e11c412543923e", "namingSemanticSha256": "c5eb6fe8cd67bb397426157a8982d1c3c0011986ace98ca507737f4e0951cb49" }, "restoredEvidence": { @@ -19578,7 +19594,7 @@ "selectedRecords": 2, "ambiguousResults": 13, "historySha256": "7b96e9bc09e79a74fb878dc8f730de88f642db480b63d55f94a017d90c6e8f19", - "namingEvidenceSha256": "037f9e67b386c01ba1cfc6cf14e69d57ad808d2f293ea6b7d33f02740a25a4a5", + "namingEvidenceSha256": "fdf70db4abbd590f4a49ee6d7f858a1359b8781285b614cefca880f6e5b65e4f", "namingSemanticSha256": "c5eb6fe8cd67bb397426157a8982d1c3c0011986ace98ca507737f4e0951cb49" } }, @@ -19600,7 +19616,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5421, - "namingEvidenceSha256": "7303a0e92edef5c0c8e676870d32cfc81532728c7054f841f7a4743dd9fe81e5", + "namingEvidenceSha256": "00fb064abecfabf52dc92628c705f5bed6c728d8caf74b58b13dacd6a509448f", "pair": "pad->common", "shape": { "area": 110, @@ -19622,7 +19638,7 @@ }, "reopened": { "namingEvidenceBytes": 5421, - "namingEvidenceSha256": "7303a0e92edef5c0c8e676870d32cfc81532728c7054f841f7a4743dd9fe81e5", + "namingEvidenceSha256": "00fb064abecfabf52dc92628c705f5bed6c728d8caf74b58b13dacd6a509448f", "pair": "pad->common", "shape": { "area": 110, @@ -19644,7 +19660,7 @@ }, "resaved": { "namingEvidenceBytes": 5421, - "namingEvidenceSha256": "7303a0e92edef5c0c8e676870d32cfc81532728c7054f841f7a4743dd9fe81e5", + "namingEvidenceSha256": "00fb064abecfabf52dc92628c705f5bed6c728d8caf74b58b13dacd6a509448f", "pair": "pad->common", "shape": { "area": 110, @@ -19702,7 +19718,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "bcba9b9d6390c04367f114ba65c4cb8850d6bb3e0dc1cad59bf5d53f831baed3", + "namingEvidenceSha256": "e3e25eef2a8e4e128e874b42932530ad32823a16b923100f09b9636e0140f0d8", "namingSemanticSha256": "e7913d3944dcbb4c561d220e01142ad1a494507eff1b8fed87d86c8f2a1c10e7" }, "second": { @@ -19732,7 +19748,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "047fe9c02e43a0cd823e81d2a3a9ab0b08858ea1c3f93b1e0b33447244e5b419", - "namingEvidenceSha256": "e9ce94d5cefe54ef06bd73b7c24506f76e2d544bea4396c81eaf02142c7f90f5", + "namingEvidenceSha256": "58bb6e32c2461cb9d39e2fdc03b46f9974d2c8141be3800f449fe2d989e5eac3", "namingSemanticSha256": "bc2cc9dbf258b204988b6e9d146e31848e4d0f16c778749361e2cf81e6c60c00" }, "mutation": { @@ -19775,7 +19791,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "047fe9c02e43a0cd823e81d2a3a9ab0b08858ea1c3f93b1e0b33447244e5b419", - "namingEvidenceSha256": "b395d65ddbc88bb7a91098ee45bc63a53776098823f4f06440814f95b16f731a", + "namingEvidenceSha256": "4b6f7d655641797ee6b63cdfb75bd0ae60a965a079a6835417196f53dedda693", "namingSemanticSha256": "bc2cc9dbf258b204988b6e9d146e31848e4d0f16c778749361e2cf81e6c60c00" }, "restoredEvidence": { @@ -19805,7 +19821,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "047fe9c02e43a0cd823e81d2a3a9ab0b08858ea1c3f93b1e0b33447244e5b419", - "namingEvidenceSha256": "58d9fdc9eb983eb4a29d899158db054a2f7befc3096539829b1c05aac2d1e22c", + "namingEvidenceSha256": "c6bf9477864d7435536f90406bed283a28ba76fe1ad6ac8b0515f78720cbf65e", "namingSemanticSha256": "bc2cc9dbf258b204988b6e9d146e31848e4d0f16c778749361e2cf81e6c60c00" } }, @@ -19827,7 +19843,7 @@ "phases": { "initial": { "namingEvidenceBytes": 10777, - "namingEvidenceSha256": "e9ce94d5cefe54ef06bd73b7c24506f76e2d544bea4396c81eaf02142c7f90f5", + "namingEvidenceSha256": "58bb6e32c2461cb9d39e2fdc03b46f9974d2c8141be3800f449fe2d989e5eac3", "pair": "pad->rotate", "shape": { "area": 400, @@ -19849,7 +19865,7 @@ }, "reopened": { "namingEvidenceBytes": 10777, - "namingEvidenceSha256": "e9ce94d5cefe54ef06bd73b7c24506f76e2d544bea4396c81eaf02142c7f90f5", + "namingEvidenceSha256": "58bb6e32c2461cb9d39e2fdc03b46f9974d2c8141be3800f449fe2d989e5eac3", "pair": "pad->rotate", "shape": { "area": 400, @@ -19871,7 +19887,7 @@ }, "resaved": { "namingEvidenceBytes": 10777, - "namingEvidenceSha256": "e9ce94d5cefe54ef06bd73b7c24506f76e2d544bea4396c81eaf02142c7f90f5", + "namingEvidenceSha256": "58bb6e32c2461cb9d39e2fdc03b46f9974d2c8141be3800f449fe2d989e5eac3", "pair": "pad->rotate", "shape": { "area": 400, @@ -19929,7 +19945,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "9428d86c84f7a7f4a17e1f86f1d23ba23a76291bb520641da699fe496b241aab", + "namingEvidenceSha256": "f0fcdfa88648ae210f69161458eedcf8740b5fed42630f1447c42c6cdc578861", "namingSemanticSha256": "907d25d1fa501d4b4f25d7a3e9e42b57d010486f43656617955f2f0e4c3e7542" }, "rejection": { @@ -19994,6 +20010,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -20550,7 +20567,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "12918ccd95786978effe747b13c85c411b3d0e547f3f834b54152b5af9f52ecc", + "namingEvidenceSha256": "6bbccb25a8a6dc7a504cc72ba317193d295d8c7f09a18a09aa928659baf7874a", "namingSemanticSha256": "fb4c9b819a11d34699c4ac40a60427545dff17f379a954511dad73b6490d4708" }, "second": { @@ -20580,7 +20597,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "435ce9e5d43f0cadfd54c2bf9fd53a8f10eaaa6274ce66173dd284e9e8d41504", - "namingEvidenceSha256": "4c3b23da9e9666915992860e8c0034e2ac846fd79dbfa446f7f295af5e316356", + "namingEvidenceSha256": "92beac9be4f530c195bbbb24b83167aa060b60430646ef78269c3d17eb9c2aa4", "namingSemanticSha256": "407c79331c0bfb40494a7bbc18dfd30480b67189f5978f00807a8e1d2d4295a5" }, "mutation": { @@ -20623,7 +20640,7 @@ "selectedRecords": 3, "ambiguousResults": 9, "historySha256": "eedf71379721e05ac63a0648a9f9f951c4f39a9e3ba1cd12a8100ed5461b09f7", - "namingEvidenceSha256": "456efc1de12119613f8200f0d2e94acabc85b96221fc1f60fbf4484605223343", + "namingEvidenceSha256": "3da35547ecd89916cfa2032667a5d3106b32a1857a9346b3349e176a6ae89a69", "namingSemanticSha256": "ef3930e3c2d0f1a7ef93251ba6b47fc13ad152e70763875d283fe6f90349e338" }, "restoredEvidence": { @@ -20653,7 +20670,7 @@ "selectedRecords": 4, "ambiguousResults": 10, "historySha256": "435ce9e5d43f0cadfd54c2bf9fd53a8f10eaaa6274ce66173dd284e9e8d41504", - "namingEvidenceSha256": "e7ddd5b88c36ed426ea131c8a1d79ba28de184a6315fa8507a63195d00b6c7d9", + "namingEvidenceSha256": "64b4f68908b7cf199a85a8743bca7694853e5d6a68f16062ac9e4f291dc31652", "namingSemanticSha256": "407c79331c0bfb40494a7bbc18dfd30480b67189f5978f00807a8e1d2d4295a5" } }, @@ -20675,7 +20692,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5257, - "namingEvidenceSha256": "4c3b23da9e9666915992860e8c0034e2ac846fd79dbfa446f7f295af5e316356", + "namingEvidenceSha256": "92beac9be4f530c195bbbb24b83167aa060b60430646ef78269c3d17eb9c2aa4", "pair": "pad->pocket", "shape": { "area": 388, @@ -20697,7 +20714,7 @@ }, "reopened": { "namingEvidenceBytes": 5257, - "namingEvidenceSha256": "4c3b23da9e9666915992860e8c0034e2ac846fd79dbfa446f7f295af5e316356", + "namingEvidenceSha256": "92beac9be4f530c195bbbb24b83167aa060b60430646ef78269c3d17eb9c2aa4", "pair": "pad->pocket", "shape": { "area": 388, @@ -20719,7 +20736,7 @@ }, "resaved": { "namingEvidenceBytes": 5257, - "namingEvidenceSha256": "4c3b23da9e9666915992860e8c0034e2ac846fd79dbfa446f7f295af5e316356", + "namingEvidenceSha256": "92beac9be4f530c195bbbb24b83167aa060b60430646ef78269c3d17eb9c2aa4", "pair": "pad->pocket", "shape": { "area": 388, @@ -20777,7 +20794,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "aa13c72fe43e0bef691f84a5e7292a696e1d9f5572cc0794f9ca45d48e56c4e4", + "namingEvidenceSha256": "04eec36a52d5824adb6e56085f9eb5201825e3e94f6ea89ad1aa495c95f453a0", "namingSemanticSha256": "e3d6678ce767462fbac1a80001613433834a61cd75ee5929b703c593542a4639" }, "rejection": { @@ -20809,8 +20826,8 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 655, - "area": 503.3176721, + "volume": 1500, + "area": 800, "bounds": [ -1e-7, -1e-7, @@ -20843,8 +20860,8 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 655, - "area": 503.3176721, + "volume": 1500, + "area": 800, "bounds": [ -1e-7, -1e-7, @@ -20877,8 +20894,8 @@ "faces": 6, "edges": 12, "vertices": 8, - "volume": 655, - "area": 503.3176721, + "volume": 1500, + "area": 800, "bounds": [ -1e-7, -1e-7, @@ -20899,6 +20916,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -21430,7 +21448,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "c198a183e019f02c3bc7bc261c7deca9b91b0754151cf9b715ea92c1c7f1e90a", + "namingEvidenceSha256": "20493a4f56071455a6ec0b8bb6a66404bcf0d911880d42d99fc61a6558df1607", "namingSemanticSha256": "e55bc685bd698cef0451844b8a602166c6c4e42194deac44f9630cf072adfc8f" }, "rejection": { @@ -21552,6 +21570,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -22084,7 +22103,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "93f95753f66acfafc5d54560e00baf4fc64553adb6389464b30613e4e3a3ca08", + "namingEvidenceSha256": "bf70ecfd9eb3d78685eb0cd9559100b7761e60566dc17dbd3be74afa4d461b65", "namingSemanticSha256": "f929efa35a277634083d04016ec39408f509e1a1634bd1f4721058eef0a2fb97" }, "rejection": { @@ -22149,6 +22168,7 @@ "checks": { "documentStable": true, "documentUnpolluted": true, + "freecadProfileAccepted": false, "fuseSolidUsedAsInput": true, "nativeFeatureConstructed": true, "nativeFeatureRejected": true, @@ -22669,7 +22689,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "4a180fcc4b5d5cc4d04a2474cc97ea4842b266416f67d30d4d9780c1ce24abd2", + "namingEvidenceSha256": "c885389225f098400740b1648d53c1d55843d883694da8f56343704221511551", "namingSemanticSha256": "2b66ed043d67fe4e6f3e4f4db6a6f3bffaf52e3480afc4719cef5add7271ee4d" }, "second": { @@ -22699,7 +22719,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "c45123a9844477005d0b86f46fb03baa00ecdd14bf8e40fc5ead2a0b3a5ed608", - "namingEvidenceSha256": "5f4b226ec046747a79b4a11cfce28c6265c80d7b781fe47b0f9fb76741cc4e9e", + "namingEvidenceSha256": "7519a2925728affdf700fad74bf22c83df7e46a42671f132ccb14da32e75bdf3", "namingSemanticSha256": "43c929603a6949f493788b92e5cc292a22c21b11b47bace9db1aab70ff66dcd0" }, "mutation": { @@ -22742,7 +22762,7 @@ "selectedRecords": 1, "ambiguousResults": 5, "historySha256": "8af07b9662aa724cc965a854b74d64efd6ac4b7bea049f709d3d264c37233098", - "namingEvidenceSha256": "5568115eac60ee45884f27aa9c74ee9a0d51de97cf98504d63bfa0d1fb6de0fb", + "namingEvidenceSha256": "2bd34218bc14d35d7e1aeff08b62c1d5a632b7db8a1f008e26e1fa88c9adc15a", "namingSemanticSha256": "57190044fb8116a566ee01f01d1b54e2f76f793118c2d87a099cd90d13062a5f" }, "restoredEvidence": { @@ -22772,7 +22792,7 @@ "selectedRecords": 6, "ambiguousResults": 6, "historySha256": "c45123a9844477005d0b86f46fb03baa00ecdd14bf8e40fc5ead2a0b3a5ed608", - "namingEvidenceSha256": "1714b9b92a064d03cd3356411a6cc38326580c33e4a6bbae34e2b937b96fa0b3", + "namingEvidenceSha256": "3592235c9cfaf9a1394d59540fb253f099bf8326b99bd0f940a3809be36bdab5", "namingSemanticSha256": "43c929603a6949f493788b92e5cc292a22c21b11b47bace9db1aab70ff66dcd0" } }, @@ -22794,7 +22814,7 @@ "phases": { "initial": { "namingEvidenceBytes": 5019, - "namingEvidenceSha256": "5f4b226ec046747a79b4a11cfce28c6265c80d7b781fe47b0f9fb76741cc4e9e", + "namingEvidenceSha256": "7519a2925728affdf700fad74bf22c83df7e46a42671f132ccb14da32e75bdf3", "pair": "pad->groove", "shape": { "area": 406.5663706, @@ -22816,7 +22836,7 @@ }, "reopened": { "namingEvidenceBytes": 5019, - "namingEvidenceSha256": "5f4b226ec046747a79b4a11cfce28c6265c80d7b781fe47b0f9fb76741cc4e9e", + "namingEvidenceSha256": "7519a2925728affdf700fad74bf22c83df7e46a42671f132ccb14da32e75bdf3", "pair": "pad->groove", "shape": { "area": 406.5663706, @@ -22838,7 +22858,7 @@ }, "resaved": { "namingEvidenceBytes": 5019, - "namingEvidenceSha256": "5f4b226ec046747a79b4a11cfce28c6265c80d7b781fe47b0f9fb76741cc4e9e", + "namingEvidenceSha256": "7519a2925728affdf700fad74bf22c83df7e46a42671f132ccb14da32e75bdf3", "pair": "pad->groove", "shape": { "area": 406.5663706, @@ -22896,7 +22916,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "251451312c4650af83a2ad6eeccef1463e7b63b868e403de2f1b252229630010", + "namingEvidenceSha256": "fd5baa216af8f439dc9b83e71a40d5584882d57e236e147bd6435b1d3d5ab18f", "namingSemanticSha256": "b97fa63765e9d943f278d7693c39d6b998c13f82016d36eda85263af81b5ee15" }, "second": { @@ -22926,7 +22946,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "4ca7890e17caaee84c989192861c589cf2a97d952d7864817c0fc2124e4067b6", + "namingEvidenceSha256": "70744770f2c936b5a02afb4636c6176cd63295531889b8ee368b25cb62ca55a9", "namingSemanticSha256": "850819307c6369378fd442d9184f42606ef91d6adffef8b5bf5971212a9d6e4f" }, "mutation": { @@ -22969,7 +22989,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "8e348a4b3757568a9e8281597660df72f76ecc9f02e798f371118480bf63eadd", + "namingEvidenceSha256": "14eb13989d26544a7f5c2c34b8822f35d631b71a8c9fcbf380be4a7d45ec0102", "namingSemanticSha256": "850819307c6369378fd442d9184f42606ef91d6adffef8b5bf5971212a9d6e4f" }, "restoredEvidence": { @@ -22999,7 +23019,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "88bb43e8d42498a4321ab8d7d3e2ea7edaa44bd4378b1a13123856b217ec73ea", + "namingEvidenceSha256": "db8eb08faa7c594c3ba16fbd8e45088c7187811c8e2a5f5ca03151e1eb57e2d1", "namingSemanticSha256": "850819307c6369378fd442d9184f42606ef91d6adffef8b5bf5971212a9d6e4f" } }, @@ -23020,8 +23040,8 @@ "pair": "pad->fillet", "phases": { "initial": { - "namingEvidenceBytes": 11450, - "namingEvidenceSha256": "4ca7890e17caaee84c989192861c589cf2a97d952d7864817c0fc2124e4067b6", + "namingEvidenceBytes": 11452, + "namingEvidenceSha256": "70744770f2c936b5a02afb4636c6176cd63295531889b8ee368b25cb62ca55a9", "pair": "pad->fillet", "shape": { "area": 382.6506145, @@ -23042,8 +23062,8 @@ } }, "reopened": { - "namingEvidenceBytes": 11450, - "namingEvidenceSha256": "4ca7890e17caaee84c989192861c589cf2a97d952d7864817c0fc2124e4067b6", + "namingEvidenceBytes": 11452, + "namingEvidenceSha256": "70744770f2c936b5a02afb4636c6176cd63295531889b8ee368b25cb62ca55a9", "pair": "pad->fillet", "shape": { "area": 382.6506145, @@ -23064,8 +23084,8 @@ } }, "resaved": { - "namingEvidenceBytes": 11450, - "namingEvidenceSha256": "4ca7890e17caaee84c989192861c589cf2a97d952d7864817c0fc2124e4067b6", + "namingEvidenceBytes": 11452, + "namingEvidenceSha256": "70744770f2c936b5a02afb4636c6176cd63295531889b8ee368b25cb62ca55a9", "pair": "pad->fillet", "shape": { "area": 382.6506145, @@ -23123,7 +23143,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "659b6b0d6c55a17c3c71d04f9b9989d7865339a5b0391c7f52713d1b0a2205d8", + "namingEvidenceSha256": "81771ee5290173617a8f424d8e7854dbe09f6304c91f8080c39b0d1bdf660080", "namingSemanticSha256": "35b3a340e393638622ad1df7dbe9e857240ba89cafa365cd4c0a4fb3a2bcd337" }, "second": { @@ -23153,7 +23173,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "d8073be762a45bdf9e58950b84af198e1301e2decc65d96a01823e5962f98779", + "namingEvidenceSha256": "21fc3383e66e006c5a667c03f8d9be0a3dd7695e3fc988af750ef0c7dc729ca5", "namingSemanticSha256": "f324c916e3856811a18cb4bf55294d46a7c2ec98e0329a269f68490495ee6dd1" }, "mutation": { @@ -23196,7 +23216,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "2b2a405a8396c95fed46865def8fb4e53f8c65a2961fb78c816d47f4175677f7", + "namingEvidenceSha256": "494f0622bc50cd4f68ab7fb1fbd8541ef474f2b99df393db1f8c2c9959c34788", "namingSemanticSha256": "f324c916e3856811a18cb4bf55294d46a7c2ec98e0329a269f68490495ee6dd1" }, "restoredEvidence": { @@ -23226,7 +23246,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "0863879d01b4d44c385306c0698ddd6462d18de723ec49f1dc6030c09b658fa4", - "namingEvidenceSha256": "427daed4fe15c07393132f6c1afd907e17a53a588b3686c4c66b0159dfef7a80", + "namingEvidenceSha256": "c73ca2a193312246205e6a0f20b62b9a2988f1607d52bfe640f3522629d7462a", "namingSemanticSha256": "f324c916e3856811a18cb4bf55294d46a7c2ec98e0329a269f68490495ee6dd1" } }, @@ -23247,8 +23267,8 @@ "pair": "pad->chamfer", "phases": { "initial": { - "namingEvidenceBytes": 11543, - "namingEvidenceSha256": "d8073be762a45bdf9e58950b84af198e1301e2decc65d96a01823e5962f98779", + "namingEvidenceBytes": 11547, + "namingEvidenceSha256": "21fc3383e66e006c5a667c03f8d9be0a3dd7695e3fc988af750ef0c7dc729ca5", "pair": "pad->chamfer", "shape": { "area": 376.0864749, @@ -23269,8 +23289,8 @@ } }, "reopened": { - "namingEvidenceBytes": 11543, - "namingEvidenceSha256": "d8073be762a45bdf9e58950b84af198e1301e2decc65d96a01823e5962f98779", + "namingEvidenceBytes": 11547, + "namingEvidenceSha256": "21fc3383e66e006c5a667c03f8d9be0a3dd7695e3fc988af750ef0c7dc729ca5", "pair": "pad->chamfer", "shape": { "area": 376.0864749, @@ -23291,8 +23311,8 @@ } }, "resaved": { - "namingEvidenceBytes": 11543, - "namingEvidenceSha256": "d8073be762a45bdf9e58950b84af198e1301e2decc65d96a01823e5962f98779", + "namingEvidenceBytes": 11547, + "namingEvidenceSha256": "21fc3383e66e006c5a667c03f8d9be0a3dd7695e3fc988af750ef0c7dc729ca5", "pair": "pad->chamfer", "shape": { "area": 376.0864749, @@ -23350,7 +23370,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "6d376fec2a06de5b66d3de99d22beb3752b3cbc4f892307edc828ffd48f6f84b", + "namingEvidenceSha256": "948f33b69f7d3ac6cc64cf6f7424dd3bae718716444d770eda7a3e860d7d648e", "namingSemanticSha256": "c041337cf9657b848e865fe1bf0500205be6e3511c7aef5812a20dbd2881507c" }, "second": { @@ -23380,7 +23400,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "3a3a5b497c74c94bbde59f23e372a7674fb108d50c34b5fd957eebb526dda3be", - "namingEvidenceSha256": "9f94bc328dadc32780eab6ac894c084f14660e6b63e4b721e7c4d616844d2abb", + "namingEvidenceSha256": "9f307b804a897b6f22744bcbc200d7eecefcd5c6b77b5a551e8c23f80d73e87b", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" }, "mutation": { @@ -23423,7 +23443,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "3a3a5b497c74c94bbde59f23e372a7674fb108d50c34b5fd957eebb526dda3be", - "namingEvidenceSha256": "b5553bd2033833aa65d8efad754d0f1ee2777e040f164ded4a44cfb34aa37cd4", + "namingEvidenceSha256": "5544a38325088ddc7a0fc1bbf379f107a8c4d045d52ad3ad48fd38beb3846536", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" }, "restoredEvidence": { @@ -23453,7 +23473,7 @@ "selectedRecords": 2, "ambiguousResults": 0, "historySha256": "3a3a5b497c74c94bbde59f23e372a7674fb108d50c34b5fd957eebb526dda3be", - "namingEvidenceSha256": "33d09103535e173cff4da9722ec7000e28e8987828181cb4c40a757da98588f8", + "namingEvidenceSha256": "90256e32d83fccc609957d3d489a0c18762c3f6a433a29cbd05265ae14442545", "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" } }, @@ -23475,7 +23495,7 @@ "phases": { "initial": { "namingEvidenceBytes": 1513, - "namingEvidenceSha256": "9f94bc328dadc32780eab6ac894c084f14660e6b63e4b721e7c4d616844d2abb", + "namingEvidenceSha256": "9f307b804a897b6f22744bcbc200d7eecefcd5c6b77b5a551e8c23f80d73e87b", "pair": "pad->hole", "shape": { "area": 425.1327412, @@ -23497,7 +23517,7 @@ }, "reopened": { "namingEvidenceBytes": 1513, - "namingEvidenceSha256": "9f94bc328dadc32780eab6ac894c084f14660e6b63e4b721e7c4d616844d2abb", + "namingEvidenceSha256": "9f307b804a897b6f22744bcbc200d7eecefcd5c6b77b5a551e8c23f80d73e87b", "pair": "pad->hole", "shape": { "area": 425.1327412, @@ -23519,7 +23539,7 @@ }, "resaved": { "namingEvidenceBytes": 1513, - "namingEvidenceSha256": "9f94bc328dadc32780eab6ac894c084f14660e6b63e4b721e7c4d616844d2abb", + "namingEvidenceSha256": "9f307b804a897b6f22744bcbc200d7eecefcd5c6b77b5a551e8c23f80d73e87b", "pair": "pad->hole", "shape": { "area": 425.1327412, @@ -23577,7 +23597,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "3d997dd1874f72b02e51abdf9fb6e21986c69383ef005c0b1ecc19fe54a5fcfe", + "namingEvidenceSha256": "7947a39e5698c1f01e04c50e19419a580c363751a1b1c69c42d70664fad38255", "namingSemanticSha256": "6480d599d92458ad3e3302e457a491d348b9359720e786f9feff06e57127d644" }, "second": { @@ -23607,7 +23627,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", - "namingEvidenceSha256": "38bceee16869ed809a4b1304c501ad43c71a69eb42bcddde9b039cecb9ec326d", + "namingEvidenceSha256": "b00938c647e74e92939103347ed9c65e00be7c038f5289e42d630f48a5259b79", "namingSemanticSha256": "932767d9c05ef15eeb17113f1f3c900a492afac733bdba380b3c6eaec183873f" }, "mutation": { @@ -23650,7 +23670,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", - "namingEvidenceSha256": "40cf6bd230976ba94b8e7ccf3291f78bcdf8f4354a60424d62aa987ae31e8528", + "namingEvidenceSha256": "124a5e596bd00237addbeb287042186157aebd8d36be06fec21e0486cd1ecaa6", "namingSemanticSha256": "932767d9c05ef15eeb17113f1f3c900a492afac733bdba380b3c6eaec183873f" }, "restoredEvidence": { @@ -23680,7 +23700,7 @@ "selectedRecords": 5, "ambiguousResults": 0, "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", - "namingEvidenceSha256": "f90e3ef39ee193a636ae3a99b9c6574ef487adddb13631927db3c7a026863ca4", + "namingEvidenceSha256": "7066e78dabf1a8be82766c4252c8e983533ec5cf1a185921b0da8125d35a8b89", "namingSemanticSha256": "932767d9c05ef15eeb17113f1f3c900a492afac733bdba380b3c6eaec183873f" } }, @@ -23701,8 +23721,8 @@ "pair": "pad->draft", "phases": { "initial": { - "namingEvidenceBytes": 2763, - "namingEvidenceSha256": "38bceee16869ed809a4b1304c501ad43c71a69eb42bcddde9b039cecb9ec326d", + "namingEvidenceBytes": 2765, + "namingEvidenceSha256": "b00938c647e74e92939103347ed9c65e00be7c038f5289e42d630f48a5259b79", "pair": "pad->draft", "shape": { "area": 393.6293421, @@ -23723,8 +23743,8 @@ } }, "reopened": { - "namingEvidenceBytes": 2763, - "namingEvidenceSha256": "38bceee16869ed809a4b1304c501ad43c71a69eb42bcddde9b039cecb9ec326d", + "namingEvidenceBytes": 2765, + "namingEvidenceSha256": "b00938c647e74e92939103347ed9c65e00be7c038f5289e42d630f48a5259b79", "pair": "pad->draft", "shape": { "area": 393.6293421, @@ -23745,8 +23765,8 @@ } }, "resaved": { - "namingEvidenceBytes": 2763, - "namingEvidenceSha256": "38bceee16869ed809a4b1304c501ad43c71a69eb42bcddde9b039cecb9ec326d", + "namingEvidenceBytes": 2765, + "namingEvidenceSha256": "b00938c647e74e92939103347ed9c65e00be7c038f5289e42d630f48a5259b79", "pair": "pad->draft", "shape": { "area": 393.6293421, @@ -23804,7 +23824,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "18ccc4c88f0f64efd616f0a607259ea9b0ae244de1386e5972d47201c08402a1", + "namingEvidenceSha256": "38e5ee34ea6e0e826a1e39b2ba77c84aa3bd1a75e2269adbf940fd8e01461c34", "namingSemanticSha256": "70bf95c1485bc48d5e26eba1ac81856c21dc858cd81012492dfb185422e91a09" }, "second": { @@ -23834,7 +23854,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "7453258c84d9b5dab57101e393e465755ab3df33cd39a5e63cba9ebb21884eae", - "namingEvidenceSha256": "8d336729a02e594ef7e0d5d9174f547f743f681a8919194902816643ec70dd77", + "namingEvidenceSha256": "ba732f698d728823fbc9fb676cdbbaf33a0a98ceb60e749d49dfc352a7d06efa", "namingSemanticSha256": "0032e58014a856765fde94b8f747fe1633c2ede42e499f767e285cd7781815ba" }, "mutation": { @@ -23877,7 +23897,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "7453258c84d9b5dab57101e393e465755ab3df33cd39a5e63cba9ebb21884eae", - "namingEvidenceSha256": "ecd50bd122a89fc5a122e8221c0dd44d02d39799f3c6aa0b155e70aa70817508", + "namingEvidenceSha256": "3b59ed0f410d864f836b366b6be679322aac607e15c48c3e3aa618b8f91ec621", "namingSemanticSha256": "0032e58014a856765fde94b8f747fe1633c2ede42e499f767e285cd7781815ba" }, "restoredEvidence": { @@ -23907,7 +23927,7 @@ "selectedRecords": 6, "ambiguousResults": 8, "historySha256": "7453258c84d9b5dab57101e393e465755ab3df33cd39a5e63cba9ebb21884eae", - "namingEvidenceSha256": "5e1e5ba24ab5767fa42109eda8fefc34611352a08cc650bcc3252bcd4683d204", + "namingEvidenceSha256": "697a244a8998b2343f041a2f363aa2f04ac268e720a5018334d650e6bc4a6d02", "namingSemanticSha256": "0032e58014a856765fde94b8f747fe1633c2ede42e499f767e285cd7781815ba" } }, @@ -23929,7 +23949,7 @@ "phases": { "initial": { "namingEvidenceBytes": 6809, - "namingEvidenceSha256": "8d336729a02e594ef7e0d5d9174f547f743f681a8919194902816643ec70dd77", + "namingEvidenceSha256": "ba732f698d728823fbc9fb676cdbbaf33a0a98ceb60e749d49dfc352a7d06efa", "pair": "pad->thickness", "shape": { "area": 657.28, @@ -23951,7 +23971,7 @@ }, "reopened": { "namingEvidenceBytes": 6809, - "namingEvidenceSha256": "8d336729a02e594ef7e0d5d9174f547f743f681a8919194902816643ec70dd77", + "namingEvidenceSha256": "ba732f698d728823fbc9fb676cdbbaf33a0a98ceb60e749d49dfc352a7d06efa", "pair": "pad->thickness", "shape": { "area": 657.28, @@ -23973,7 +23993,7 @@ }, "resaved": { "namingEvidenceBytes": 6809, - "namingEvidenceSha256": "8d336729a02e594ef7e0d5d9174f547f743f681a8919194902816643ec70dd77", + "namingEvidenceSha256": "ba732f698d728823fbc9fb676cdbbaf33a0a98ceb60e749d49dfc352a7d06efa", "pair": "pad->thickness", "shape": { "area": 657.28, @@ -24031,7 +24051,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "58670be3b33146d4d8e1744fadf82901e265a79b1a6722726de475773783a530", + "namingEvidenceSha256": "db724a41a40a372fb845b23e649af2ce21d277e040801ee4797b1e6b4b543974", "namingSemanticSha256": "097ed2a288045ee35d46ebb3015ee714d3fb9f74c89788f6abf1e37527e317b6" }, "second": { @@ -24061,7 +24081,7 @@ "selectedRecords": 8, "ambiguousResults": 12, "historySha256": "e505b7ef7fd63bdda51741a5246e072493ebf879694611c856cfa13081d17002", - "namingEvidenceSha256": "0412508df3bfcad4af3767a7c90f5a1ddc9dd8b2b849f5b21fc312fb4da5ecae", + "namingEvidenceSha256": "868e42868c873d0ca2d3806a0df440b13d9c68775e8f17a13dd82590751db4ae", "namingSemanticSha256": "30364933f85f7bf7cff29e75d8971b28ed193de910d9e46b3dc1e067c453d379" }, "mutation": { @@ -24104,7 +24124,7 @@ "selectedRecords": 8, "ambiguousResults": 12, "historySha256": "e505b7ef7fd63bdda51741a5246e072493ebf879694611c856cfa13081d17002", - "namingEvidenceSha256": "0cab3ce51339087d8ee022329a8216ed84eb13f67e5139c941a004d8e2f3e925", + "namingEvidenceSha256": "14c282464a11d69f56e6ad0d1fa5275f7a825c489aa7a91f076240527dd10950", "namingSemanticSha256": "30364933f85f7bf7cff29e75d8971b28ed193de910d9e46b3dc1e067c453d379" }, "restoredEvidence": { @@ -24134,7 +24154,7 @@ "selectedRecords": 8, "ambiguousResults": 12, "historySha256": "e505b7ef7fd63bdda51741a5246e072493ebf879694611c856cfa13081d17002", - "namingEvidenceSha256": "3432ebfb659c02602a4e1769d1e7692f2bef1ad35c1abbcdeae18de2a95d04d9", + "namingEvidenceSha256": "7959e90a83118c0ff9d949e735249b7336078ad0c0029681e54768f502156530", "namingSemanticSha256": "30364933f85f7bf7cff29e75d8971b28ed193de910d9e46b3dc1e067c453d379" } }, @@ -24156,7 +24176,7 @@ "phases": { "initial": { "namingEvidenceBytes": 7740, - "namingEvidenceSha256": "0412508df3bfcad4af3767a7c90f5a1ddc9dd8b2b849f5b21fc312fb4da5ecae", + "namingEvidenceSha256": "868e42868c873d0ca2d3806a0df440b13d9c68775e8f17a13dd82590751db4ae", "pair": "pad->linear-pattern", "shape": { "area": 640, @@ -24178,7 +24198,7 @@ }, "reopened": { "namingEvidenceBytes": 7740, - "namingEvidenceSha256": "0412508df3bfcad4af3767a7c90f5a1ddc9dd8b2b849f5b21fc312fb4da5ecae", + "namingEvidenceSha256": "868e42868c873d0ca2d3806a0df440b13d9c68775e8f17a13dd82590751db4ae", "pair": "pad->linear-pattern", "shape": { "area": 640, @@ -24200,7 +24220,7 @@ }, "resaved": { "namingEvidenceBytes": 7740, - "namingEvidenceSha256": "0412508df3bfcad4af3767a7c90f5a1ddc9dd8b2b849f5b21fc312fb4da5ecae", + "namingEvidenceSha256": "868e42868c873d0ca2d3806a0df440b13d9c68775e8f17a13dd82590751db4ae", "pair": "pad->linear-pattern", "shape": { "area": 640, @@ -24258,7 +24278,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "4c0d7f6f75956e0ac7cbae75ebc14de51aca0925c87015ec7c67d7be82f75d9f", + "namingEvidenceSha256": "3526ff50cf8f3c24096fd85f1ec30b6a276e4ef65f4aa2dc2503f6ee8644b8a1", "namingSemanticSha256": "822e6b0a6782fd4ae1987b6f0220f2d6474a497b7bd018c4d00228143cb6ae79" }, "second": { @@ -24288,7 +24308,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "58b0f5b6f8f3dc069fd1cefb2ca0b35b1484291d1d6c165bf54cf0cab8e983f8", - "namingEvidenceSha256": "c612360c79dc377db04b335e9d011ab5218f2c70fcb7fe7122139229d18726f7", + "namingEvidenceSha256": "36b591518e6a35d7bdb6ffef7aa2a0e69f4509be5668f4bd200f36f1ea3885fc", "namingSemanticSha256": "cd05747bcc4e558ae8663c760170ccc7c555a1c6d15e141b223df00c9a79bb01" }, "mutation": { @@ -24331,7 +24351,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "58b0f5b6f8f3dc069fd1cefb2ca0b35b1484291d1d6c165bf54cf0cab8e983f8", - "namingEvidenceSha256": "9994cd1844288c6c0715df6d13e4f4f4561c29b7d40ff30949adc00b057d27f4", + "namingEvidenceSha256": "dc81d6c69644b806649e943a5af813e11ca7bccc762e6b1391eae55f01e98695", "namingSemanticSha256": "cd05747bcc4e558ae8663c760170ccc7c555a1c6d15e141b223df00c9a79bb01" }, "restoredEvidence": { @@ -24361,7 +24381,7 @@ "selectedRecords": 6, "ambiguousResults": 11, "historySha256": "58b0f5b6f8f3dc069fd1cefb2ca0b35b1484291d1d6c165bf54cf0cab8e983f8", - "namingEvidenceSha256": "ba2deb8d676207648da9da5565a324ba41c38db6fbb528c44d139a623994b236", + "namingEvidenceSha256": "0256831a92e414cb213f273fb26f7739c88410199e385456491c77c35dc72198", "namingSemanticSha256": "cd05747bcc4e558ae8663c760170ccc7c555a1c6d15e141b223df00c9a79bb01" } }, @@ -24383,7 +24403,7 @@ "phases": { "initial": { "namingEvidenceBytes": 7435, - "namingEvidenceSha256": "c612360c79dc377db04b335e9d011ab5218f2c70fcb7fe7122139229d18726f7", + "namingEvidenceSha256": "36b591518e6a35d7bdb6ffef7aa2a0e69f4509be5668f4bd200f36f1ea3885fc", "pair": "pad->polar-pattern", "shape": { "area": 526.7949192, @@ -24405,7 +24425,7 @@ }, "reopened": { "namingEvidenceBytes": 7435, - "namingEvidenceSha256": "c612360c79dc377db04b335e9d011ab5218f2c70fcb7fe7122139229d18726f7", + "namingEvidenceSha256": "36b591518e6a35d7bdb6ffef7aa2a0e69f4509be5668f4bd200f36f1ea3885fc", "pair": "pad->polar-pattern", "shape": { "area": 526.7949192, @@ -24427,7 +24447,7 @@ }, "resaved": { "namingEvidenceBytes": 7435, - "namingEvidenceSha256": "c612360c79dc377db04b335e9d011ab5218f2c70fcb7fe7122139229d18726f7", + "namingEvidenceSha256": "36b591518e6a35d7bdb6ffef7aa2a0e69f4509be5668f4bd200f36f1ea3885fc", "pair": "pad->polar-pattern", "shape": { "area": 526.7949192, @@ -24485,7 +24505,7 @@ "selectedRecords": 9, "ambiguousResults": 8, "historySha256": "d2978c5c73f14c5a48f4a3ca084d6df6dd21dcb7904fb05ade22593c763114a1", - "namingEvidenceSha256": "9f14e6ca8e360dc4a8148cdfba413eefabff2863a344355f83a5ea93b04476f8", + "namingEvidenceSha256": "af577beebc4a9b27c8c88cd62791db72c6e276fbd0bf1d0af5a8ea94d3370d9c", "namingSemanticSha256": "1f307ba450f40fe738fec043d13faabd267d7618212e041283a35056f9acebe4" }, "second": { @@ -24515,7 +24535,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "3b4266c23cdd521f4cf92019073061772001da9b0adf51738d65f5200efbb21f", - "namingEvidenceSha256": "4d0736fc9816197f119abfae66166f5d7315129972d0685527d9e401a24a3408", + "namingEvidenceSha256": "38e9c4a5605a38f6ae3c927ee479dfe1de1105f5295afbbee29411f465ee15a6", "namingSemanticSha256": "70cd585222eaf3d4fb1580ac3738b9d8d4bee3a9cbe1af2eca7c9b6b6ba47e0f" }, "mutation": { @@ -24558,7 +24578,7 @@ "selectedRecords": 8, "ambiguousResults": 12, "historySha256": "fd98ad4593aa6da5b962fae1f07f526c38ad7f0c87c3af1eba5d0cfc323c28b9", - "namingEvidenceSha256": "2545549a705cb526d75c35207b174a8927aca3ce2288d91a64fbbdb445090f16", + "namingEvidenceSha256": "5e38a4030f198144ad67fdb373cb10be3abdbf7ef9828c5316c93e37ca7e90ac", "namingSemanticSha256": "0f80dbf90c4f1022fd428079ba3add25151fc857785945215947d010c236b059" }, "restoredEvidence": { @@ -24588,7 +24608,7 @@ "selectedRecords": 6, "ambiguousResults": 20, "historySha256": "3b4266c23cdd521f4cf92019073061772001da9b0adf51738d65f5200efbb21f", - "namingEvidenceSha256": "3b5ccac02adbeba8c5ef2ca9119860f105493826c001043cb2af0a2dc882ee9d", + "namingEvidenceSha256": "c016ddac232e0dec8e6ea60a5a1b68b874f071feac257071309937bac3c9706d", "namingSemanticSha256": "70cd585222eaf3d4fb1580ac3738b9d8d4bee3a9cbe1af2eca7c9b6b6ba47e0f" } }, @@ -24610,7 +24630,7 @@ "phases": { "initial": { "namingEvidenceBytes": 10963, - "namingEvidenceSha256": "4d0736fc9816197f119abfae66166f5d7315129972d0685527d9e401a24a3408", + "namingEvidenceSha256": "38e9c4a5605a38f6ae3c927ee479dfe1de1105f5295afbbee29411f465ee15a6", "pair": "pad->mirrored", "shape": { "area": 400, @@ -24632,7 +24652,7 @@ }, "reopened": { "namingEvidenceBytes": 10963, - "namingEvidenceSha256": "4d0736fc9816197f119abfae66166f5d7315129972d0685527d9e401a24a3408", + "namingEvidenceSha256": "38e9c4a5605a38f6ae3c927ee479dfe1de1105f5295afbbee29411f465ee15a6", "pair": "pad->mirrored", "shape": { "area": 400, @@ -24654,7 +24674,7 @@ }, "resaved": { "namingEvidenceBytes": 10963, - "namingEvidenceSha256": "4d0736fc9816197f119abfae66166f5d7315129972d0685527d9e401a24a3408", + "namingEvidenceSha256": "38e9c4a5605a38f6ae3c927ee479dfe1de1105f5295afbbee29411f465ee15a6", "pair": "pad->mirrored", "shape": { "area": 400, @@ -24742,7 +24762,7 @@ "selectedRecords": 22, "ambiguousResults": 68, "historySha256": "584c98c0ccb3cd690b1c62e0e702e2c579ff320ca9c6cebbe72e16ebc1590f6d", - "namingEvidenceSha256": "e2a4f883fd65f73af7ad0ab25d716ed2b828c8f092423391a6a6e614676b89d0", + "namingEvidenceSha256": "fcef82f0a55874b3bb539acce8643f47e5e62f32dd1fca8c4c6a2b9527c5f803", "namingSemanticSha256": "25f02c3f034a55e86abd56bce3f4d3ba52b730630c18c0a5b499fbfe10fb5815" }, "mutation": { @@ -24785,7 +24805,7 @@ "selectedRecords": 22, "ambiguousResults": 68, "historySha256": "584c98c0ccb3cd690b1c62e0e702e2c579ff320ca9c6cebbe72e16ebc1590f6d", - "namingEvidenceSha256": "dca3774800e4cccc130a61011c75e0122122d886acd97f7a8a9e7c7119906432", + "namingEvidenceSha256": "69fa6aca8efef9ca9e787328fe075ac6816d526d800228ccd7c5f198b4ea092f", "namingSemanticSha256": "25f02c3f034a55e86abd56bce3f4d3ba52b730630c18c0a5b499fbfe10fb5815" }, "restoredEvidence": { @@ -24815,7 +24835,7 @@ "selectedRecords": 22, "ambiguousResults": 68, "historySha256": "584c98c0ccb3cd690b1c62e0e702e2c579ff320ca9c6cebbe72e16ebc1590f6d", - "namingEvidenceSha256": "55e42eeb8e278c53d50957600c5a94bc1459d7e146fcdd6137a37a27406c304e", + "namingEvidenceSha256": "34c78cc8b1c230f65aa373d5db7c67cce9fd6afd67824daef25016b260b2832b", "namingSemanticSha256": "25f02c3f034a55e86abd56bce3f4d3ba52b730630c18c0a5b499fbfe10fb5815" } }, @@ -24837,7 +24857,7 @@ "phases": { "initial": { "namingEvidenceBytes": 44119, - "namingEvidenceSha256": "e2a4f883fd65f73af7ad0ab25d716ed2b828c8f092423391a6a6e614676b89d0", + "namingEvidenceSha256": "fcef82f0a55874b3bb539acce8643f47e5e62f32dd1fca8c4c6a2b9527c5f803", "pair": "pad->multi-transform", "shape": { "area": 880, @@ -24859,7 +24879,7 @@ }, "reopened": { "namingEvidenceBytes": 44119, - "namingEvidenceSha256": "e2a4f883fd65f73af7ad0ab25d716ed2b828c8f092423391a6a6e614676b89d0", + "namingEvidenceSha256": "fcef82f0a55874b3bb539acce8643f47e5e62f32dd1fca8c4c6a2b9527c5f803", "pair": "pad->multi-transform", "shape": { "area": 880, @@ -24881,7 +24901,7 @@ }, "resaved": { "namingEvidenceBytes": 44119, - "namingEvidenceSha256": "e2a4f883fd65f73af7ad0ab25d716ed2b828c8f092423391a6a6e614676b89d0", + "namingEvidenceSha256": "fcef82f0a55874b3bb539acce8643f47e5e62f32dd1fca8c4c6a2b9527c5f803", "pair": "pad->multi-transform", "shape": { "area": 880, @@ -24905,14 +24925,25445 @@ "schemaVersion": 1, "status": "pass" } + }, + { + "taskId": "TSN-PAIR-pocket-fuse", + "pair": "pocket->fuse", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "7cb59005d93791fc0e96985b40bffa6f62359c39eb3f6549ec9a26f4d0b33585", + "namingSemanticSha256": "e8acf1fa5e083b3cb2f96582f96337101af231005a8a439bc763d541bf104177" + }, + "second": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 16, + "edges": 38, + "vertices": 24, + "volume": 1045, + "area": 660, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 13.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "649e43bc22250ab607b40d7c3430fea3ae53c035048ded81049577a5a902d8b2", + "namingEvidenceSha256": "1db07e97bbacba5f1a18e839a5f99624877d5ec574745ae1fe7dbe6cd70b3c4c", + "namingSemanticSha256": "11ab72eb3fda63bfe4257183c8e1bf0d331a3c37318445a3144cfc3a165b5679" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 8, + 7, + 8 + ], + "beforeValue": 8, + "editedValue": 7, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 16, + "edges": 38, + "vertices": 24, + "volume": 1020, + "area": 640, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 12.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "649e43bc22250ab607b40d7c3430fea3ae53c035048ded81049577a5a902d8b2", + "namingEvidenceSha256": "6b0a1fc504ec2cb78c4c07aeced4800b31b10d9c04cf40bd715a32bbfb06789a", + "namingSemanticSha256": "11ab72eb3fda63bfe4257183c8e1bf0d331a3c37318445a3144cfc3a165b5679" + }, + "restoredEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 16, + "edges": 38, + "vertices": 24, + "volume": 1045, + "area": 660, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 13.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "649e43bc22250ab607b40d7c3430fea3ae53c035048ded81049577a5a902d8b2", + "namingEvidenceSha256": "a57489664a05e38476fec81a28e949fd39fa515bc0e11511970eeb7c149b916a", + "namingSemanticSha256": "11ab72eb3fda63bfe4257183c8e1bf0d331a3c37318445a3144cfc3a165b5679" + } + }, + "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": "pocket->fuse", + "phases": { + "initial": { + "namingEvidenceBytes": 8413, + "namingEvidenceSha256": "1db07e97bbacba5f1a18e839a5f99624877d5ec574745ae1fe7dbe6cd70b3c4c", + "pair": "pocket->fuse", + "shape": { + "area": 660, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 38, + "faces": 16, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1045 + } + }, + "reopened": { + "namingEvidenceBytes": 8413, + "namingEvidenceSha256": "1db07e97bbacba5f1a18e839a5f99624877d5ec574745ae1fe7dbe6cd70b3c4c", + "pair": "pocket->fuse", + "shape": { + "area": 660, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 38, + "faces": 16, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1045 + } + }, + "resaved": { + "namingEvidenceBytes": 8413, + "namingEvidenceSha256": "1db07e97bbacba5f1a18e839a5f99624877d5ec574745ae1fe7dbe6cd70b3c4c", + "pair": "pocket->fuse", + "shape": { + "area": 660, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 38, + "faces": 16, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1045 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-cut", + "pair": "pocket->cut", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "df15fbb840fe9b8ae16fa2f0a8c9cf4ddecf41cc8d57d4d69137d09dc85a40c8", + "namingSemanticSha256": "58b5c01a3a46df1893afa8e4a16aa1223e20d708c08b3df779d95eb9b1d733b5" + }, + "second": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 32, + "vertices": 21, + "volume": 906, + "area": 608, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 48, + "selectedRecords": 6, + "ambiguousResults": 11, + "historySha256": "ec512060d029e3fabc674ba375053d4115d0185c2ab3567d489c694253b0be06", + "namingEvidenceSha256": "4e47cadf93d471e5e6c08c89e4dbf93af03481d7cc7af5f0a4ecbed1d6521194", + "namingSemanticSha256": "54e84d55d45e60d1172a9197948792ec7687aed888268c5b5ef1b1f650a9ec15" + }, + "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": 12, + "edges": 29, + "vertices": 19, + "volume": 943, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 62, + "selectedRecords": 5, + "ambiguousResults": 11, + "historySha256": "f85de2643ef6eda20c83f46507328273844ae8951260378b49d9c588cd78898b", + "namingEvidenceSha256": "2069c9bc35c2d5b0fd71ceadca0598c8fc1508d4f6c51a2839d1a35bd06d8520", + "namingSemanticSha256": "9d863825db7a12d971bb1325d9893a075de1bc1c2cda3faf10132b47d6f93301" + }, + "restoredEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 32, + "vertices": 21, + "volume": 906, + "area": 608, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 48, + "selectedRecords": 6, + "ambiguousResults": 11, + "historySha256": "ec512060d029e3fabc674ba375053d4115d0185c2ab3567d489c694253b0be06", + "namingEvidenceSha256": "102aad36e7928ec06310a002a53b531d824e99351de2befe1ba4f08dac6037af", + "namingSemanticSha256": "54e84d55d45e60d1172a9197948792ec7687aed888268c5b5ef1b1f650a9ec15" + } + }, + "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": "pocket->cut", + "phases": { + "initial": { + "namingEvidenceBytes": 6134, + "namingEvidenceSha256": "4e47cadf93d471e5e6c08c89e4dbf93af03481d7cc7af5f0a4ecbed1d6521194", + "pair": "pocket->cut", + "shape": { + "area": 608, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 32, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 21, + "volume": 906 + } + }, + "reopened": { + "namingEvidenceBytes": 6134, + "namingEvidenceSha256": "4e47cadf93d471e5e6c08c89e4dbf93af03481d7cc7af5f0a4ecbed1d6521194", + "pair": "pocket->cut", + "shape": { + "area": 608, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 32, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 21, + "volume": 906 + } + }, + "resaved": { + "namingEvidenceBytes": 6134, + "namingEvidenceSha256": "4e47cadf93d471e5e6c08c89e4dbf93af03481d7cc7af5f0a4ecbed1d6521194", + "pair": "pocket->cut", + "shape": { + "area": 608, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 32, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 21, + "volume": 906 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-common", + "pair": "pocket->common", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "8f4b87901359d95f14fc08652e85d4831bfb73db248378e0e66c9896d35dfad3", + "namingSemanticSha256": "669919e1a9e24429fd0f02b507a30e17844331149c91502756bb511328d2e298" + }, + "second": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 178, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "2f2de19ddaf305c24a7bcd3f0644363e2b519e210c729dcd8f477047896ab7ae", + "namingEvidenceSha256": "e883588de9e41aff59f83879ab86951ca07f482e200d71d0bd73e6b60a5558a0", + "namingSemanticSha256": "28f16105320fdeefc340b5e3a57e64f76bd2b4a10615d8e6c223f1e74dc6209a" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 7, + 6, + 7 + ], + "beforeValue": 7, + "editedValue": 6, + "restoredValue": 7, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 100, + "area": 130, + "bounds": [ + 5.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 178, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "2f2de19ddaf305c24a7bcd3f0644363e2b519e210c729dcd8f477047896ab7ae", + "namingEvidenceSha256": "730c0b656021dcef8e79e87018f987df60577cd555fed5d9068d86c16f460d11", + "namingSemanticSha256": "28f16105320fdeefc340b5e3a57e64f76bd2b4a10615d8e6c223f1e74dc6209a" + }, + "restoredEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 178, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "2f2de19ddaf305c24a7bcd3f0644363e2b519e210c729dcd8f477047896ab7ae", + "namingEvidenceSha256": "4085212de0077c1dbd3528f9ab66a1fd4cf7b573450defeef7a4a65d5bbb757f", + "namingSemanticSha256": "28f16105320fdeefc340b5e3a57e64f76bd2b4a10615d8e6c223f1e74dc6209a" + } + }, + "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": "pocket->common", + "phases": { + "initial": { + "namingEvidenceBytes": 4814, + "namingEvidenceSha256": "e883588de9e41aff59f83879ab86951ca07f482e200d71d0bd73e6b60a5558a0", + "pair": "pocket->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "reopened": { + "namingEvidenceBytes": 4814, + "namingEvidenceSha256": "e883588de9e41aff59f83879ab86951ca07f482e200d71d0bd73e6b60a5558a0", + "pair": "pocket->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "resaved": { + "namingEvidenceBytes": 4814, + "namingEvidenceSha256": "e883588de9e41aff59f83879ab86951ca07f482e200d71d0bd73e6b60a5558a0", + "pair": "pocket->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-rotate", + "pair": "pocket->rotate", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "c986e69ab3ac0b429b98bcff8866de97b4e571673b425b9a6886ba512984c052", + "namingSemanticSha256": "6cd6c8d5519dba7b24ffb9a5dc58c1f54a1366c5df5607f414a3ec2ec69600d9" + }, + "second": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 10.0000001 + ] + }, + "historyRecords": 135, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "2699a292a818bca4921b04bd37b23da2438b97204e5099f0ded33dd415d11f69", + "namingEvidenceSha256": "bd1b876ac972c4db5e60541303e1854dc465b452412eb9e28929bc0f445ce967", + "namingSemanticSha256": "f899ecdf9ce4e2c893e2a4a8905b56ebec8f6f042d0be4f861ebbac32c15ad47" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 15, + 22.5, + 15 + ], + "beforeValue": 15, + "editedValue": 22.5, + "restoredValue": 15, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -3.8268344, + -1e-7, + -1e-7, + 9.2387954, + 13.0656297, + 10.0000001 + ] + }, + "historyRecords": 135, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "2699a292a818bca4921b04bd37b23da2438b97204e5099f0ded33dd415d11f69", + "namingEvidenceSha256": "aec9c0e64cc21747e21529abdc29259e78d44db6e36e65cf86ee80358a5673c2", + "namingSemanticSha256": "f899ecdf9ce4e2c893e2a4a8905b56ebec8f6f042d0be4f861ebbac32c15ad47" + }, + "restoredEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 10.0000001 + ] + }, + "historyRecords": 135, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "2699a292a818bca4921b04bd37b23da2438b97204e5099f0ded33dd415d11f69", + "namingEvidenceSha256": "cb396e02a8992d6772387923eb0633f7bae4da478de695b4c452af0d5ffcb569", + "namingSemanticSha256": "f899ecdf9ce4e2c893e2a4a8905b56ebec8f6f042d0be4f861ebbac32c15ad47" + } + }, + "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": "pocket->rotate", + "phases": { + "initial": { + "namingEvidenceBytes": 17587, + "namingEvidenceSha256": "bd1b876ac972c4db5e60541303e1854dc465b452412eb9e28929bc0f445ce967", + "pair": "pocket->rotate", + "shape": { + "area": 600, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "reopened": { + "namingEvidenceBytes": 17587, + "namingEvidenceSha256": "bd1b876ac972c4db5e60541303e1854dc465b452412eb9e28929bc0f445ce967", + "pair": "pocket->rotate", + "shape": { + "area": 600, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "resaved": { + "namingEvidenceBytes": 17587, + "namingEvidenceSha256": "bd1b876ac972c4db5e60541303e1854dc465b452412eb9e28929bc0f445ce967", + "pair": "pocket->rotate", + "shape": { + "area": 600, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-pad", + "pair": "pocket->pad", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "1357abec1989eb0d9c4ad805bb8365c4cd0befec1af7881a5d68bd1b06c605b5", + "namingSemanticSha256": "12d702311561be13b17f30d730063456a7ecc2fbe3039c9963ea02965ac3bbe1" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "length", + "trajectory": [ + 5, + 7.5, + 5 + ], + "stable": true, + "attempts": [ + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 7.5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "nativeTypeId": "PartDesign::Pad", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Body", + "typeId": "PartDesign::Body" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "PartDesign::Pad" + } + ], + "parameter": { + "name": "length", + "value": 5 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "FeatureExtrusion: Length: Could not extrude the sketch!" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "PartDesign::Pad", + "operation": "pad", + "pair": "pocket->pad", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pocket-pocket", + "pair": "pocket->pocket", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "22d14ba296b6b2e8327729cc4145edf5a6a20ae6ab8696d7c6c0990fdbfa1b20", + "namingSemanticSha256": "234ccbfb7a93c8fdc7844da188f3e908877ed83ded1231dd256a08be8987edfc" + }, + "second": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 26, + "vertices": 17, + "volume": 955, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 111, + "selectedRecords": 5, + "ambiguousResults": 20, + "historySha256": "ea4b01b202e665b503a22b1831280666e1df2caecfec1cdc0c68c53907a5307f", + "namingEvidenceSha256": "c05314bc97cd1426f69ac4497a6174494ef6f78d192e311a634c85ac9c70f5b4", + "namingSemanticSha256": "d9822f3cd2d539f58214f20a6156be837d57757cf5d652d56b5c7105f68e5f6f" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "length", + "trajectory": [ + 5, + 4, + 5 + ], + "beforeValue": 5, + "editedValue": 4, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 31, + "vertices": 20, + "volume": 958, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 84, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "3e06d4b012b9a440aa85ea935bb9fadde7213739c801c5859e8fab50c9964ff5", + "namingEvidenceSha256": "088b81397da61e50d14720380fec534e3ed4f15b9bb991fbe55ce37a510d4e6c", + "namingSemanticSha256": "2374a3e3ff643c80eff1f2da4078f2c961fd098ea3ecc547e60da0e32b3f5f9f" + }, + "restoredEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 26, + "vertices": 17, + "volume": 955, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 111, + "selectedRecords": 5, + "ambiguousResults": 20, + "historySha256": "ea4b01b202e665b503a22b1831280666e1df2caecfec1cdc0c68c53907a5307f", + "namingEvidenceSha256": "b2f5ac5abe8d2bfbcaa592dbd250ad0c2dcad7095db81fa6e5e6f3314b92b380", + "namingSemanticSha256": "d9822f3cd2d539f58214f20a6156be837d57757cf5d652d56b5c7105f68e5f6f" + } + }, + "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": "pocket->pocket", + "phases": { + "initial": { + "namingEvidenceBytes": 11232, + "namingEvidenceSha256": "c05314bc97cd1426f69ac4497a6174494ef6f78d192e311a634c85ac9c70f5b4", + "pair": "pocket->pocket", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 26, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 17, + "volume": 955 + } + }, + "reopened": { + "namingEvidenceBytes": 11232, + "namingEvidenceSha256": "c05314bc97cd1426f69ac4497a6174494ef6f78d192e311a634c85ac9c70f5b4", + "pair": "pocket->pocket", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 26, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 17, + "volume": 955 + } + }, + "resaved": { + "namingEvidenceBytes": 11232, + "namingEvidenceSha256": "c05314bc97cd1426f69ac4497a6174494ef6f78d192e311a634c85ac9c70f5b4", + "pair": "pocket->pocket", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 26, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 17, + "volume": 955 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-loft", + "pair": "pocket->loft", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "248bcfbeaebf7ea71091be271dd51892265aaf7e4eca84702d32f3d9625d8107", + "namingSemanticSha256": "8fdef52fd47cd8505b88c14e0bf7df19512eb2d763d8fc304f05901877d2fbc7" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "ruled", + "trajectory": [ + false, + true, + false + ], + "kernelAttempts": [ + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 500, + "area": 400, + "bounds": [ + -1e-7, + -1e-7, + 9.9999999, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "de40627368a0f7a53edc2ee040aae579606181ce0992458e13b367476a640ecd", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": true, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 500, + "area": 400, + "bounds": [ + -1e-7, + -1e-7, + 9.9999999, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "de40627368a0f7a53edc2ee040aae579606181ce0992458e13b367476a640ecd", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 500, + "area": 400, + "bounds": [ + -1e-7, + -1e-7, + 9.9999999, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "de40627368a0f7a53edc2ee040aae579606181ce0992458e13b367476a640ecd", + "authority": "kernel-superset-only" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + } + ] + }, + "inputShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "nativeTypeId": "Part::Loft", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Loft" + } + ], + "parameter": { + "name": "ruled", + "value": false + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Profile shape is not a single vertex, edge, wire nor face." + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Loft", + "operation": "loft", + "pair": "pocket->loft", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pocket-pipe", + "pair": "pocket->pipe", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "531ea2e2a3e526f9f4b5f754410a5f504c14a98a32a5413976ee3bdc75cff699", + "namingSemanticSha256": "a59bbfd18fe711058b4c4c37462b9aea485a613b6c6aa1b36ec11895e807f369" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "spineLength", + "trajectory": [ + 15, + 12, + 15 + ], + "kernelAttempts": [ + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-superset-only" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 12, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1200, + "area": 680, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 12.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-superset-only" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-superset-only" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "spine": { + "name": "Spine", + "subelements": [], + "typeId": "Part::Feature" + } + }, + "inputShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "nativeTypeId": "Part::Sweep", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Spine", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Sweep" + } + ], + "parameter": { + "name": "spineLength", + "value": 15 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "A fatal error occurred when making the sweep" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Sweep", + "operation": "pipe", + "pair": "pocket->pipe", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pocket-revolution", + "pair": "pocket->revolution", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "43552378f5ff1e8df0fae681f0e17a1f4080a7b8a5a45e400dd43ba4d6dc489e", + "namingSemanticSha256": "05a6f46f00ecec685ae3d8968ca7d97a3d1114da9fd68851377defe45e4fe471" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "angle", + "trajectory": [ + 360, + 270, + 360 + ], + "stable": true, + "attempts": [ + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 270, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "nativeTypeId": "Part::Revolution", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Revolution" + } + ], + "parameter": { + "name": "angle", + "value": 360 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Solids are not Processed" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Revolution", + "operation": "revolution", + "pair": "pocket->revolution", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5d175410335de5422b7bcf25c425b038f3c9ec9bb874eadbc9c365b9212e17a1", + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 970 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pocket-groove", + "pair": "pocket->groove", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "8311a19f42dd47c8ccb055bdfaa7ae9b786c6ce82f71610a36d0d5a66d592f66", + "namingSemanticSha256": "afcdf7c40304ed5131206098b23018f450e8c4982d6c3670962bb38ccd07bed8" + }, + "second": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 33, + "vertices": 22, + "volume": 966.8584073, + "area": 602.2831853, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 7, + "ambiguousResults": 8, + "historySha256": "58cf87c5eb75520872e8c7a933d4366741bd4255983262c103abf4f030f652cf", + "namingEvidenceSha256": "4052ca5fc9c4883ba19428f162b08282a64f9008dbe177e0a6f3a3f37f022103", + "namingSemanticSha256": "f94176fa0e189613ca1cfc193835499d338c7f680e2f0c67ae649ccec3b19f4b" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 360, + 180, + 360 + ], + "beforeValue": 360, + "editedValue": 180, + "restoredValue": 360, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 26, + "vertices": 18, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 75, + "selectedRecords": 2, + "ambiguousResults": 7, + "historySha256": "bc8d6a13d068e3fac63f48071062afa7203ec348ad114cce725d858fd58f1dff", + "namingEvidenceSha256": "cdc380e1f7cec8b339cddd929a26284608bf8b49c8bfb69ce4d1cb362fad8198", + "namingSemanticSha256": "d2ec1e08a658b4178bfe675cbae677952fee53a5ebe169eec5f378b17b0b5b05" + }, + "restoredEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 33, + "vertices": 22, + "volume": 966.8584073, + "area": 602.2831853, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 7, + "ambiguousResults": 8, + "historySha256": "58cf87c5eb75520872e8c7a933d4366741bd4255983262c103abf4f030f652cf", + "namingEvidenceSha256": "996b055697d21d14c9e8498c0c8c8b7c69dbb7f98c12bcc2053d7c0f049177f7", + "namingSemanticSha256": "f94176fa0e189613ca1cfc193835499d338c7f680e2f0c67ae649ccec3b19f4b" + } + }, + "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": "pocket->groove", + "phases": { + "initial": { + "namingEvidenceBytes": 5681, + "namingEvidenceSha256": "4052ca5fc9c4883ba19428f162b08282a64f9008dbe177e0a6f3a3f37f022103", + "pair": "pocket->groove", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + }, + "reopened": { + "namingEvidenceBytes": 5681, + "namingEvidenceSha256": "4052ca5fc9c4883ba19428f162b08282a64f9008dbe177e0a6f3a3f37f022103", + "pair": "pocket->groove", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + }, + "resaved": { + "namingEvidenceBytes": 5681, + "namingEvidenceSha256": "4052ca5fc9c4883ba19428f162b08282a64f9008dbe177e0a6f3a3f37f022103", + "pair": "pocket->groove", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-fillet", + "pair": "pocket->fillet", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "d95a10e118f6a9918f1c83aa6ba93ccb5dd64ed1fc9a479db18c4bbc042f6d87", + "namingSemanticSha256": "1114267e046a26294424e2e6f903cd8111d89152a846990c95b7d9360b9b9806" + }, + "second": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 98, + "vertices": 45, + "volume": 965.9792974, + "area": 575.9602029, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "675b5e9d009612c68fdded9a5dd762805299db860598c2afe5e8c07b8201de3e", + "namingSemanticSha256": "bbefb34e9110fe0672f4d8278734b91a0ff0839f5d543d517a09a9c7f6bddc17" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 98, + "vertices": 45, + "volume": 961.0655284, + "area": 563.9370107, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "e4a1d31d20128956ef598e46c9be3675a2afef0d68f4d40b851b44bd2c7314e4", + "namingSemanticSha256": "bbefb34e9110fe0672f4d8278734b91a0ff0839f5d543d517a09a9c7f6bddc17" + }, + "restoredEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 98, + "vertices": 45, + "volume": 965.9792974, + "area": 575.9602029, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "e4a1d31d20128956ef598e46c9be3675a2afef0d68f4d40b851b44bd2c7314e4", + "namingSemanticSha256": "bbefb34e9110fe0672f4d8278734b91a0ff0839f5d543d517a09a9c7f6bddc17" + } + }, + "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": "pocket->fillet", + "phases": { + "initial": { + "namingEvidenceBytes": 18822, + "namingEvidenceSha256": "675b5e9d009612c68fdded9a5dd762805299db860598c2afe5e8c07b8201de3e", + "pair": "pocket->fillet", + "shape": { + "area": 575.9602029, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 98, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 965.9792974 + } + }, + "reopened": { + "namingEvidenceBytes": 18822, + "namingEvidenceSha256": "675b5e9d009612c68fdded9a5dd762805299db860598c2afe5e8c07b8201de3e", + "pair": "pocket->fillet", + "shape": { + "area": 575.9602029, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 98, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 965.9792974 + } + }, + "resaved": { + "namingEvidenceBytes": 18822, + "namingEvidenceSha256": "675b5e9d009612c68fdded9a5dd762805299db860598c2afe5e8c07b8201de3e", + "pair": "pocket->fillet", + "shape": { + "area": 575.9602029, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 98, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 965.9792974 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-chamfer", + "pair": "pocket->chamfer", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "e0a56734d672e2056ddc9211c91b83f2bf46204bc932aec0b1823c51190a70de", + "namingSemanticSha256": "210be86a238a2404e2c4af67687de89cbbbcdd95cd8bf3812569e86d33111e69" + }, + "second": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 87, + "vertices": 45, + "volume": 960.848, + "area": 567.1837256, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "97445dc7c51ce2489bfebf895c317082547afdccfd5290510cea23dc1de4bef6", + "namingSemanticSha256": "cb1ed56f69ea47019ae18d2fe35bf7151932d665c42a7ef3d3322ce098b46804" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "distance", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 87, + "vertices": 45, + "volume": 949.912, + "area": 550.7664131, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "c28e05835ea82a6bbc4a9003daf0b3140b1f3ff95d65bd369a2e39fcbc0d3a72", + "namingSemanticSha256": "cb1ed56f69ea47019ae18d2fe35bf7151932d665c42a7ef3d3322ce098b46804" + }, + "restoredEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 44, + "edges": 87, + "vertices": 45, + "volume": 960.848, + "area": 567.1837256, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 261, + "selectedRecords": 9, + "ambiguousResults": 35, + "historySha256": "ad432595877348627735b56987cf789d12104d886d7a5a1984942e43bb18f8e9", + "namingEvidenceSha256": "76f98fb0372b4a3b2154e0a2f8a84c4b2a80230ea931a1c5f15cefb8ebef5323", + "namingSemanticSha256": "cb1ed56f69ea47019ae18d2fe35bf7151932d665c42a7ef3d3322ce098b46804" + } + }, + "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": "pocket->chamfer", + "phases": { + "initial": { + "namingEvidenceBytes": 18980, + "namingEvidenceSha256": "97445dc7c51ce2489bfebf895c317082547afdccfd5290510cea23dc1de4bef6", + "pair": "pocket->chamfer", + "shape": { + "area": 567.1837256, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 87, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 960.848 + } + }, + "reopened": { + "namingEvidenceBytes": 18980, + "namingEvidenceSha256": "97445dc7c51ce2489bfebf895c317082547afdccfd5290510cea23dc1de4bef6", + "pair": "pocket->chamfer", + "shape": { + "area": 567.1837256, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 87, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 960.848 + } + }, + "resaved": { + "namingEvidenceBytes": 18980, + "namingEvidenceSha256": "97445dc7c51ce2489bfebf895c317082547afdccfd5290510cea23dc1de4bef6", + "pair": "pocket->chamfer", + "shape": { + "area": 567.1837256, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 87, + "faces": 44, + "solids": 1, + "valid": true, + "vertices": 45, + "volume": 960.848 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-hole", + "pair": "pocket->hole", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "38f50684f45be9e85a17038c402f5c736cfca510858f9598b592ee5face771f8", + "namingSemanticSha256": "60bd2dff2395c5122ac253eda31fc3c2b6326b9922b38c97c1532ca68efb8647" + }, + "second": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 938.5840735, + "area": 656.5486678, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "4c42edb1de35d5487b1537d84f1f7e060af1ddf933896446f21b1502bbc63fc1", + "namingEvidenceSha256": "21a6432950b31d9eb201d247df83fde85e7274618e4cae088b153062906c290a", + "namingSemanticSha256": "09bf62cc00bd3fb9f154d74d2741298a87b1eca2a8ddb134fc63234d4cdf72b3" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 1, + 1.5, + 1 + ], + "beforeValue": 1, + "editedValue": 1.5, + "restoredValue": 1, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 899.3141653, + "area": 680.1106127, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "4c42edb1de35d5487b1537d84f1f7e060af1ddf933896446f21b1502bbc63fc1", + "namingEvidenceSha256": "c9aa69009a560821f2b1ca24cab552ccdc5f348920109ccda63db6e6680b1f98", + "namingSemanticSha256": "09bf62cc00bd3fb9f154d74d2741298a87b1eca2a8ddb134fc63234d4cdf72b3" + }, + "restoredEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 938.5840735, + "area": 656.5486678, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "4c42edb1de35d5487b1537d84f1f7e060af1ddf933896446f21b1502bbc63fc1", + "namingEvidenceSha256": "5a8a981f80180d90200edb9047a037ed1123266116edd30ef95cd8d6f6c5d9ac", + "namingSemanticSha256": "09bf62cc00bd3fb9f154d74d2741298a87b1eca2a8ddb134fc63234d4cdf72b3" + } + }, + "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": "pocket->hole", + "phases": { + "initial": { + "namingEvidenceBytes": 1609, + "namingEvidenceSha256": "21a6432950b31d9eb201d247df83fde85e7274618e4cae088b153062906c290a", + "pair": "pocket->hole", + "shape": { + "area": 656.5486678, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 938.5840735 + } + }, + "reopened": { + "namingEvidenceBytes": 1609, + "namingEvidenceSha256": "21a6432950b31d9eb201d247df83fde85e7274618e4cae088b153062906c290a", + "pair": "pocket->hole", + "shape": { + "area": 656.5486678, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 938.5840735 + } + }, + "resaved": { + "namingEvidenceBytes": 1609, + "namingEvidenceSha256": "21a6432950b31d9eb201d247df83fde85e7274618e4cae088b153062906c290a", + "pair": "pocket->hole", + "shape": { + "area": 656.5486678, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 938.5840735 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-draft", + "pair": "pocket->draft", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "63a180ac2450976fc5c01c0cb033189abfb34af8284a35f1e199f877d45aef0f", + "namingSemanticSha256": "b070f2fae31bfca4d9ea31170900faf2161fb8d68e468be5ebcb611955eee89c" + }, + "second": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 929.5364931, + "area": 581.5146235, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 7, + "selectedRecords": 7, + "ambiguousResults": 0, + "historySha256": "3e1157b0b46a5c023d0fbc7153c8f72d74cb00e8f9b1c2ddc09bb7cf65d8d051", + "namingEvidenceSha256": "44e778201ac39a1206af48490232b74da4d604f976bb5af2b8720ed17fa37d2f", + "namingSemanticSha256": "be1e0214b7dac6877ad9ca3f4bb551cbdf2cbc6944c3e858763987130b267740" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 5, + 8, + 5 + ], + "beforeValue": 5, + "editedValue": 8, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 904.999864, + "area": 570.6190642, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 7, + "selectedRecords": 7, + "ambiguousResults": 0, + "historySha256": "3e1157b0b46a5c023d0fbc7153c8f72d74cb00e8f9b1c2ddc09bb7cf65d8d051", + "namingEvidenceSha256": "b9448cca1e2ea26deaf917ccbb0d10558c7d8dd912ce3c184363480d5b9393ab", + "namingSemanticSha256": "be1e0214b7dac6877ad9ca3f4bb551cbdf2cbc6944c3e858763987130b267740" + }, + "restoredEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 929.5364931, + "area": 581.5146235, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 7, + "selectedRecords": 7, + "ambiguousResults": 0, + "historySha256": "3e1157b0b46a5c023d0fbc7153c8f72d74cb00e8f9b1c2ddc09bb7cf65d8d051", + "namingEvidenceSha256": "b9448cca1e2ea26deaf917ccbb0d10558c7d8dd912ce3c184363480d5b9393ab", + "namingSemanticSha256": "be1e0214b7dac6877ad9ca3f4bb551cbdf2cbc6944c3e858763987130b267740" + } + }, + "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": "pocket->draft", + "phases": { + "initial": { + "namingEvidenceBytes": 3252, + "namingEvidenceSha256": "44e778201ac39a1206af48490232b74da4d604f976bb5af2b8720ed17fa37d2f", + "pair": "pocket->draft", + "shape": { + "area": 581.5146235, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 929.5364931 + } + }, + "reopened": { + "namingEvidenceBytes": 3252, + "namingEvidenceSha256": "44e778201ac39a1206af48490232b74da4d604f976bb5af2b8720ed17fa37d2f", + "pair": "pocket->draft", + "shape": { + "area": 581.5146235, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 929.5364931 + } + }, + "resaved": { + "namingEvidenceBytes": 3252, + "namingEvidenceSha256": "44e778201ac39a1206af48490232b74da4d604f976bb5af2b8720ed17fa37d2f", + "pair": "pocket->draft", + "shape": { + "area": 581.5146235, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 929.5364931 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-thickness", + "pair": "pocket->thickness", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 500, + "area": 400, + "bounds": [ + 4.9999999, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "93fe3125e484d1de61603ab53e417ec5d946e8d42627c85216b52c9933196c55", + "namingEvidenceSha256": "18b89d25270af7dc2d04e4a6ce7adb3f528294bf983f7f30b4fb8ef11c490252", + "namingSemanticSha256": "f8806f9afd3221cb5476a1217d12b012b9c701c7010703c888777293d48e5f41" + }, + "second": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 129.056, + "area": 657.28, + "bounds": [ + 4.9999999, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 6, + "ambiguousResults": 8, + "historySha256": "8e6ae2fed45005b14f637e30b2115fbde97bccd27ae669e1da58162362947a9b", + "namingEvidenceSha256": "b22b4a54ec19876625d991051f9d59f924de720db803b1509316457f68aee83f", + "namingSemanticSha256": "3f1d8457fca8035dc53c2fc449a08c1169f04b902a0eeb2bbe5b94ff33b0ccf7" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "offset", + "trajectory": [ + -0.4, + -0.6, + -0.4 + ], + "beforeValue": -0.4, + "editedValue": -0.6, + "restoredValue": -0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 185.664, + "area": 636.88, + "bounds": [ + 4.9999999, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 6, + "ambiguousResults": 8, + "historySha256": "8e6ae2fed45005b14f637e30b2115fbde97bccd27ae669e1da58162362947a9b", + "namingEvidenceSha256": "40ce4902fd2e0a8273d9778776cb58238eadbdc34c6ca5d9e39f736e3701acd1", + "namingSemanticSha256": "3f1d8457fca8035dc53c2fc449a08c1169f04b902a0eeb2bbe5b94ff33b0ccf7" + }, + "restoredEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 129.056, + "area": 657.28, + "bounds": [ + 4.9999999, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 6, + "ambiguousResults": 8, + "historySha256": "8e6ae2fed45005b14f637e30b2115fbde97bccd27ae669e1da58162362947a9b", + "namingEvidenceSha256": "e95692fdcc1087273a6faa9d1033c8866e5c6d98245f6e58980b84d54d855e6b", + "namingSemanticSha256": "3f1d8457fca8035dc53c2fc449a08c1169f04b902a0eeb2bbe5b94ff33b0ccf7" + } + }, + "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": "pocket->thickness", + "phases": { + "initial": { + "namingEvidenceBytes": 6738, + "namingEvidenceSha256": "b22b4a54ec19876625d991051f9d59f924de720db803b1509316457f68aee83f", + "pair": "pocket->thickness", + "shape": { + "area": 657.28, + "bounds": [ + 5, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 129.056 + } + }, + "reopened": { + "namingEvidenceBytes": 6738, + "namingEvidenceSha256": "b22b4a54ec19876625d991051f9d59f924de720db803b1509316457f68aee83f", + "pair": "pocket->thickness", + "shape": { + "area": 657.28, + "bounds": [ + 5, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 129.056 + } + }, + "resaved": { + "namingEvidenceBytes": 6738, + "namingEvidenceSha256": "b22b4a54ec19876625d991051f9d59f924de720db803b1509316457f68aee83f", + "pair": "pocket->thickness", + "shape": { + "area": 657.28, + "bounds": [ + 5, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 129.056 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-linear-pattern", + "pair": "pocket->linear-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "ae763bb50677cac84df2f9e6a908f21db29062b72e6615543d0e9da076adb6c6", + "namingSemanticSha256": "025400e788779432223d5d710a5a064d8fb6f000f646285ef2ebf6b7c1ef064d" + }, + "second": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 17, + "edges": 40, + "vertices": 25, + "volume": 1770, + "area": 920, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 111, + "selectedRecords": 8, + "ambiguousResults": 14, + "historySha256": "0e09486f95895de62e9c6cdbe48a3526209f5d4dddbcfea8b417883fb08cad4c", + "namingEvidenceSha256": "25aea376f123d58263ff4f80a5d551ec7d0201173afc84f8ae9feaa854c4f116", + "namingSemanticSha256": "fbc69130a17a73ca5eea0789a22f241b6b62a234dc581f167e3f755fc8e67b84" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "translationX", + "trajectory": [ + 8, + 9, + 8 + ], + "beforeValue": 8, + "editedValue": 9, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 21, + "edges": 49, + "vertices": 30, + "volume": 1855, + "area": 990, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 19.0000002, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 84, + "selectedRecords": 9, + "ambiguousResults": 12, + "historySha256": "e3a3393eed7c4552c7e7f00913411779ea0fee8a33339aacabc9dafdeae65551", + "namingEvidenceSha256": "358f47114fdafb84c9753c8e8f8a0091af0c3343dfe29c5b69363e4ddd511863", + "namingSemanticSha256": "bbdb87cd262de55f0764ef63e45bdb9260d00761c14cbd005d5466ed0b7055f6" + }, + "restoredEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 17, + "edges": 40, + "vertices": 25, + "volume": 1770, + "area": 920, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 111, + "selectedRecords": 8, + "ambiguousResults": 14, + "historySha256": "0e09486f95895de62e9c6cdbe48a3526209f5d4dddbcfea8b417883fb08cad4c", + "namingEvidenceSha256": "0fba0cecfac9e7acc2f07b106615a3e1583f2faac48ee1dde473059c59f47a94", + "namingSemanticSha256": "fbc69130a17a73ca5eea0789a22f241b6b62a234dc581f167e3f755fc8e67b84" + } + }, + "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": "pocket->linear-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 9075, + "namingEvidenceSha256": "25aea376f123d58263ff4f80a5d551ec7d0201173afc84f8ae9feaa854c4f116", + "pair": "pocket->linear-pattern", + "shape": { + "area": 920, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 40, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 25, + "volume": 1770 + } + }, + "reopened": { + "namingEvidenceBytes": 9075, + "namingEvidenceSha256": "25aea376f123d58263ff4f80a5d551ec7d0201173afc84f8ae9feaa854c4f116", + "pair": "pocket->linear-pattern", + "shape": { + "area": 920, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 40, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 25, + "volume": 1770 + } + }, + "resaved": { + "namingEvidenceBytes": 9075, + "namingEvidenceSha256": "25aea376f123d58263ff4f80a5d551ec7d0201173afc84f8ae9feaa854c4f116", + "pair": "pocket->linear-pattern", + "shape": { + "area": 920, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 40, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 25, + "volume": 1770 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-polar-pattern", + "pair": "pocket->polar-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "946c6e64c902bce1a317ccda006e184e1b710bc1dc49234c5c51a1e382228880", + "namingSemanticSha256": "49a75801729cad6e874ee5f7f0406adea90472776e7aefe31ce8d01c3c12d441" + }, + "second": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 23, + "edges": 53, + "vertices": 32, + "volume": 1388.0087147, + "area": 776.7949192, + "bounds": [ + -5.0000001, + -1e-7, + -1e-7, + 10.0000001, + 13.6602542, + 10.0000001 + ] + }, + "historyRecords": 136, + "selectedRecords": 12, + "ambiguousResults": 19, + "historySha256": "a37b230499cdacf5e5c2d48ad5144a08039277fedb46523bb249c679e1998828", + "namingEvidenceSha256": "8c7c9740e45565d47e7583ac6fb5098e76560ebf966b11d3f4610918f0503f95", + "namingSemanticSha256": "c53b5f6000b808fd91cc6804c1be36e54e1a06b2fe69fdae66a1a1539153468d" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 30, + 45, + 30 + ], + "beforeValue": 30, + "editedValue": 45, + "restoredValue": 30, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 46, + "vertices": 29, + "volume": 1545.7864376, + "area": 848.4567107, + "bounds": [ + -7.071068, + -1e-7, + -1e-7, + 10.0000001, + 14.1421358, + 10.0000001 + ] + }, + "historyRecords": 121, + "selectedRecords": 9, + "ambiguousResults": 16, + "historySha256": "8d402805aeea71d5be6220916eb90715e6cbe3ced184dfd0a149a2d629f11358", + "namingEvidenceSha256": "3dc0a0a877000caf77abe636b1743993e68749911fad01ac738ef0caa6b8c2db", + "namingSemanticSha256": "a3a3a481ae12d86dc9156674aa8efea547bca1d0791dc0ba9dc7819ae75445cd" + }, + "restoredEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 23, + "edges": 53, + "vertices": 32, + "volume": 1388.0087147, + "area": 776.7949192, + "bounds": [ + -5.0000001, + -1e-7, + -1e-7, + 10.0000001, + 13.6602542, + 10.0000001 + ] + }, + "historyRecords": 136, + "selectedRecords": 12, + "ambiguousResults": 19, + "historySha256": "a37b230499cdacf5e5c2d48ad5144a08039277fedb46523bb249c679e1998828", + "namingEvidenceSha256": "c8e9225a251c927983ab293d831a05d8f0a435b2c2e1e0f471a9233a87ecf21c", + "namingSemanticSha256": "c53b5f6000b808fd91cc6804c1be36e54e1a06b2fe69fdae66a1a1539153468d" + } + }, + "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": "pocket->polar-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 12141, + "namingEvidenceSha256": "8c7c9740e45565d47e7583ac6fb5098e76560ebf966b11d3f4610918f0503f95", + "pair": "pocket->polar-pattern", + "shape": { + "area": 776.7949192, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 10 + ], + "edges": 53, + "faces": 23, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 1388.0087147 + } + }, + "reopened": { + "namingEvidenceBytes": 12141, + "namingEvidenceSha256": "8c7c9740e45565d47e7583ac6fb5098e76560ebf966b11d3f4610918f0503f95", + "pair": "pocket->polar-pattern", + "shape": { + "area": 776.7949192, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 10 + ], + "edges": 53, + "faces": 23, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 1388.0087147 + } + }, + "resaved": { + "namingEvidenceBytes": 12141, + "namingEvidenceSha256": "8c7c9740e45565d47e7583ac6fb5098e76560ebf966b11d3f4610918f0503f95", + "pair": "pocket->polar-pattern", + "shape": { + "area": 776.7949192, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 10 + ], + "edges": 53, + "faces": 23, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 1388.0087147 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-mirrored", + "pair": "pocket->mirrored", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "80621f3621ee028c0774df58a6431242fafd37308c159b6ac495e99c05ab122c", + "namingSemanticSha256": "aae5af744a36c4825101b33b440f4009886946d83abc85984456bd36499fa9ef" + }, + "second": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 30, + "vertices": 20, + "volume": 1000, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 204, + "selectedRecords": 9, + "ambiguousResults": 27, + "historySha256": "6f3d3fa5e0c8150cf3744cff6f46f317f90aeab6bcd61f27e7f09e1c0f1e8698", + "namingEvidenceSha256": "9ef9b2ee5a76adae40148fb0027570ca0496da5b531622fbdafa7eec3af11870", + "namingSemanticSha256": "4c60790270d0ace5e24043f095d6dafbb35f7245906050548cd32d340fa9f18e" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "planeOriginX", + "trajectory": [ + 5, + 6, + 5 + ], + "beforeValue": 5, + "editedValue": 6, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 20, + "edges": 44, + "vertices": 26, + "volume": 1140, + "area": 680, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 12.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 112, + "selectedRecords": 10, + "ambiguousResults": 19, + "historySha256": "c439b4b0d7baee1dc732ab843bbd4d8c53272f149514a76243dcea2a86d76715", + "namingEvidenceSha256": "47eacc73c143ac1aa8e009f0a44dac76b8d6186181ec5d2d4a988c71e2cc6374", + "namingSemanticSha256": "a87c011c7b2648cb180eada1f0449056466f03856296fcfd88fbc8f9e14d8f7b" + }, + "restoredEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 30, + "vertices": 20, + "volume": 1000, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 204, + "selectedRecords": 9, + "ambiguousResults": 27, + "historySha256": "6f3d3fa5e0c8150cf3744cff6f46f317f90aeab6bcd61f27e7f09e1c0f1e8698", + "namingEvidenceSha256": "4607b4695397b37ccff2be11e7575201bed098de75f3657fcb0fd046ce50b3b3", + "namingSemanticSha256": "4c60790270d0ace5e24043f095d6dafbb35f7245906050548cd32d340fa9f18e" + } + }, + "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": "pocket->mirrored", + "phases": { + "initial": { + "namingEvidenceBytes": 13936, + "namingEvidenceSha256": "9ef9b2ee5a76adae40148fb0027570ca0496da5b531622fbdafa7eec3af11870", + "pair": "pocket->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 30, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 1000 + } + }, + "reopened": { + "namingEvidenceBytes": 13936, + "namingEvidenceSha256": "9ef9b2ee5a76adae40148fb0027570ca0496da5b531622fbdafa7eec3af11870", + "pair": "pocket->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 30, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 1000 + } + }, + "resaved": { + "namingEvidenceBytes": 13936, + "namingEvidenceSha256": "9ef9b2ee5a76adae40148fb0027570ca0496da5b531622fbdafa7eec3af11870", + "pair": "pocket->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 30, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 1000 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pocket-multi-transform", + "pair": "pocket->multi-transform", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 970, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 3, + "ambiguousResults": 9, + "historySha256": "d67425b58badaaa01a03466eae3a43f8a5d84783f971596c1bbf5e14de8ef459", + "namingEvidenceSha256": "68e52856d6684892b3447e2f42fba57b7eb036180087b3676c7a43e9d14be470", + "namingSemanticSha256": "94a9d70da5718e967e5a9c65a070f0a7c653d6422c6eb3d364f4bf6bf6f5ad65" + }, + "second": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 56, + "vertices": 32, + "volume": 2600, + "area": 1240, + "bounds": [ + -8.0000001, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 512, + "selectedRecords": 26, + "ambiguousResults": 88, + "historySha256": "5d8dbcf34bcf145ff19cbdd58e27cb7d66833bc7b9bc52d8e7f49443587354d9", + "namingEvidenceSha256": "33cbc4fa239238932a6bce533d0f25ec6f0a3c1b02fd2caef8e86d0ec78d7e33", + "namingSemanticSha256": "c9c08a04e6c2da202b849fd1da6da96f1b029de5894cbdb4429eaec58c6252be" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "multiTranslationX", + "trajectory": [ + 8, + 9, + 8 + ], + "beforeValue": 8, + "editedValue": 9, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 34, + "edges": 78, + "vertices": 46, + "volume": 2770, + "area": 1380, + "bounds": [ + -9.0000001, + -1e-7, + -1e-7, + 19.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 555, + "selectedRecords": 34, + "ambiguousResults": 124, + "historySha256": "eb285a1874099b3a520a366f238dd91f23a97e46226e1253bd03f08e063dd5f2", + "namingEvidenceSha256": "f99da2523071d0b23639a1e7fdd3c259e6d0528dcd18d65751eb070df208e662", + "namingSemanticSha256": "10eef356cdac3cf27e18c729df52e5d6e3ea97c40f36d3292970a4e9ff3cb2cd" + }, + "restoredEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 56, + "vertices": 32, + "volume": 2600, + "area": 1240, + "bounds": [ + -8.0000001, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 512, + "selectedRecords": 26, + "ambiguousResults": 88, + "historySha256": "5d8dbcf34bcf145ff19cbdd58e27cb7d66833bc7b9bc52d8e7f49443587354d9", + "namingEvidenceSha256": "61684ef0f79eae606012d13048ab6915b873dccf01cc520b3e076e6c190538ed", + "namingSemanticSha256": "c9c08a04e6c2da202b849fd1da6da96f1b029de5894cbdb4429eaec58c6252be" + } + }, + "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": "pocket->multi-transform", + "phases": { + "initial": { + "namingEvidenceBytes": 60173, + "namingEvidenceSha256": "33cbc4fa239238932a6bce533d0f25ec6f0a3c1b02fd2caef8e86d0ec78d7e33", + "pair": "pocket->multi-transform", + "shape": { + "area": 1240, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 2600 + } + }, + "reopened": { + "namingEvidenceBytes": 60173, + "namingEvidenceSha256": "33cbc4fa239238932a6bce533d0f25ec6f0a3c1b02fd2caef8e86d0ec78d7e33", + "pair": "pocket->multi-transform", + "shape": { + "area": 1240, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 2600 + } + }, + "resaved": { + "namingEvidenceBytes": 60173, + "namingEvidenceSha256": "33cbc4fa239238932a6bce533d0f25ec6f0a3c1b02fd2caef8e86d0ec78d7e33", + "pair": "pocket->multi-transform", + "shape": { + "area": 1240, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 32, + "volume": 2600 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-fuse", + "pair": "loft->fuse", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "e3a873a1ed4e3dbe25e56dd97169ef1fb454986515bf00125f470512586f8901", + "namingSemanticSha256": "f3ea95b441270eafa984b0305024bc6a4a5a3c3176cf2fd28fee2c7bd05e4f38" + }, + "second": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 29, + "vertices": 18, + "volume": 1575, + "area": 860, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 13.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 5, + "ambiguousResults": 18, + "historySha256": "f432a643bca20ff79c17b4f329165ae3adc2b7251301ad62d02c59c88696c871", + "namingEvidenceSha256": "049ae945752568bd1b25d09750da2a25934857d1049573a802535a906ed6a3b2", + "namingSemanticSha256": "a1c2a78f3bbb423fd3e3c7b732850666b2469c180ce6c2af9afc99cc7a16b442" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 8, + 7, + 8 + ], + "beforeValue": 8, + "editedValue": 7, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 29, + "vertices": 18, + "volume": 1550, + "area": 840, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 12.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 5, + "ambiguousResults": 18, + "historySha256": "f432a643bca20ff79c17b4f329165ae3adc2b7251301ad62d02c59c88696c871", + "namingEvidenceSha256": "fd29ad0be5f0345bdc8259832de03223237b48d2034dd6462ca139a8a313dd27", + "namingSemanticSha256": "a1c2a78f3bbb423fd3e3c7b732850666b2469c180ce6c2af9afc99cc7a16b442" + }, + "restoredEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 29, + "vertices": 18, + "volume": 1575, + "area": 860, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 13.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 5, + "ambiguousResults": 18, + "historySha256": "f432a643bca20ff79c17b4f329165ae3adc2b7251301ad62d02c59c88696c871", + "namingEvidenceSha256": "adab8172d54067bb8a6131c6c0406a71270e4403647ed38476b7d726f9ca6ccd", + "namingSemanticSha256": "a1c2a78f3bbb423fd3e3c7b732850666b2469c180ce6c2af9afc99cc7a16b442" + } + }, + "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": "loft->fuse", + "phases": { + "initial": { + "namingEvidenceBytes": 8394, + "namingEvidenceSha256": "049ae945752568bd1b25d09750da2a25934857d1049573a802535a906ed6a3b2", + "pair": "loft->fuse", + "shape": { + "area": 860, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 15 + ], + "edges": 29, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 1575 + } + }, + "reopened": { + "namingEvidenceBytes": 8394, + "namingEvidenceSha256": "049ae945752568bd1b25d09750da2a25934857d1049573a802535a906ed6a3b2", + "pair": "loft->fuse", + "shape": { + "area": 860, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 15 + ], + "edges": 29, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 1575 + } + }, + "resaved": { + "namingEvidenceBytes": 8394, + "namingEvidenceSha256": "049ae945752568bd1b25d09750da2a25934857d1049573a802535a906ed6a3b2", + "pair": "loft->fuse", + "shape": { + "area": 860, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 15 + ], + "edges": 29, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 1575 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-cut", + "pair": "loft->cut", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "433757be6e69e004d0d752af7e5ae1ce7829a458d3fcb65e8b363ea69fdd2e93", + "namingSemanticSha256": "d9389c8f001df75213dd2cf310ef22f94d18feed63571f8371bedab4d5d23f39" + }, + "second": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 1436, + "area": 832, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 1, + "ambiguousResults": 9, + "historySha256": "488685b9512ca1ce6a7ab28536760c86914d5de96c3b8d0269ceac39eb0ba6eb", + "namingEvidenceSha256": "6a6c34f7458413a3c07e247f130c4bcf98401be4c6ef62834b35c89905e2e5ea", + "namingSemanticSha256": "e47c18aa7a2fe586a1f99cb95d9de93084ba6ae77a59db29b65e1bc24c181078" + }, + "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": 10, + "edges": 24, + "vertices": 16, + "volume": 1473, + "area": 818, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 1, + "ambiguousResults": 9, + "historySha256": "488685b9512ca1ce6a7ab28536760c86914d5de96c3b8d0269ceac39eb0ba6eb", + "namingEvidenceSha256": "5655dcf97a4a33d3d6084556c139f18c7c466666bf56944e21a202b17ca78b8f", + "namingSemanticSha256": "e47c18aa7a2fe586a1f99cb95d9de93084ba6ae77a59db29b65e1bc24c181078" + }, + "restoredEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 1436, + "area": 832, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 1, + "ambiguousResults": 9, + "historySha256": "488685b9512ca1ce6a7ab28536760c86914d5de96c3b8d0269ceac39eb0ba6eb", + "namingEvidenceSha256": "544839827ce66de91fe9fd3970a3be7e2278e4593c7bb37dc31f3c8678cdc348", + "namingSemanticSha256": "e47c18aa7a2fe586a1f99cb95d9de93084ba6ae77a59db29b65e1bc24c181078" + } + }, + "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": "loft->cut", + "phases": { + "initial": { + "namingEvidenceBytes": 3378, + "namingEvidenceSha256": "6a6c34f7458413a3c07e247f130c4bcf98401be4c6ef62834b35c89905e2e5ea", + "pair": "loft->cut", + "shape": { + "area": 832, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1436 + } + }, + "reopened": { + "namingEvidenceBytes": 3378, + "namingEvidenceSha256": "6a6c34f7458413a3c07e247f130c4bcf98401be4c6ef62834b35c89905e2e5ea", + "pair": "loft->cut", + "shape": { + "area": 832, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1436 + } + }, + "resaved": { + "namingEvidenceBytes": 3378, + "namingEvidenceSha256": "6a6c34f7458413a3c07e247f130c4bcf98401be4c6ef62834b35c89905e2e5ea", + "pair": "loft->cut", + "shape": { + "area": 832, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1436 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-common", + "pair": "loft->common", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "53939f8756f63bc92f937c42cffe017fbda594830b1979699341e702dccea0ac", + "namingSemanticSha256": "d71ab8345d72f18d038c2a5cf68a5c1602995b31c145c83692243c07f24b0421" + }, + "second": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000002 + ] + }, + "historyRecords": 121, + "selectedRecords": 2, + "ambiguousResults": 11, + "historySha256": "3854f7ce89389e87b628f39fd9413ac6f865041e66761afc521a0d44fde4a9bb", + "namingEvidenceSha256": "3555a220b5feb778c1fc40f9bac2101c711653d682b7f9ed97a5cb460eaacc7f", + "namingSemanticSha256": "4873853e6ce282ab01d82619222e06ef70c4532e05004737fa6b541cce811e40" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 7, + 6, + 7 + ], + "beforeValue": 7, + "editedValue": 6, + "restoredValue": 7, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 100, + "area": 130, + "bounds": [ + 5.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000002 + ] + }, + "historyRecords": 121, + "selectedRecords": 2, + "ambiguousResults": 11, + "historySha256": "3854f7ce89389e87b628f39fd9413ac6f865041e66761afc521a0d44fde4a9bb", + "namingEvidenceSha256": "7245d00c3c86ceb4238190acf1a852e73fde581b075fd549d63bb53d899ff266", + "namingSemanticSha256": "4873853e6ce282ab01d82619222e06ef70c4532e05004737fa6b541cce811e40" + }, + "restoredEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000002 + ] + }, + "historyRecords": 121, + "selectedRecords": 2, + "ambiguousResults": 11, + "historySha256": "3854f7ce89389e87b628f39fd9413ac6f865041e66761afc521a0d44fde4a9bb", + "namingEvidenceSha256": "e60ae0e1c264a32f37c53935bbc17dfcd32a5a3f1ff480dbae39794dbbbde47f", + "namingSemanticSha256": "4873853e6ce282ab01d82619222e06ef70c4532e05004737fa6b541cce811e40" + } + }, + "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": "loft->common", + "phases": { + "initial": { + "namingEvidenceBytes": 4993, + "namingEvidenceSha256": "3555a220b5feb778c1fc40f9bac2101c711653d682b7f9ed97a5cb460eaacc7f", + "pair": "loft->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "reopened": { + "namingEvidenceBytes": 4993, + "namingEvidenceSha256": "3555a220b5feb778c1fc40f9bac2101c711653d682b7f9ed97a5cb460eaacc7f", + "pair": "loft->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "resaved": { + "namingEvidenceBytes": 4993, + "namingEvidenceSha256": "3555a220b5feb778c1fc40f9bac2101c711653d682b7f9ed97a5cb460eaacc7f", + "pair": "loft->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-rotate", + "pair": "loft->rotate", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "197665e1e43d2c4cb52db02231f55dd7f7e2478761374b401ec231b4178dfb61", + "namingSemanticSha256": "74c3f291c8fc89ecf0bced0d2d85e763aec32a012237ec193b0ebd4711cf47ce" + }, + "second": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "fe96e4c0c6edc1dfbe10c7a919f90d3d293cf2e4da774b37ca3aaadb3d5e1bf9", + "namingEvidenceSha256": "8cff475fdf6a366f085b7842e2838db80e1e27b8771e2f50ea8007ac66cf8b5e", + "namingSemanticSha256": "00e8a14139058cc33ea578fde2c106db43d8666127ce1a714e2c40d24ebee058" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 15, + 22.5, + 15 + ], + "beforeValue": 15, + "editedValue": 22.5, + "restoredValue": 15, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -3.8268344, + -1e-7, + -1e-7, + 9.2387954, + 13.0656297, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "fe96e4c0c6edc1dfbe10c7a919f90d3d293cf2e4da774b37ca3aaadb3d5e1bf9", + "namingEvidenceSha256": "0a3bf4d27cac6c52dc4e064b9531d5fd1a7fcffd8c1eb8314374c8d02e5866cd", + "namingSemanticSha256": "00e8a14139058cc33ea578fde2c106db43d8666127ce1a714e2c40d24ebee058" + }, + "restoredEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "fe96e4c0c6edc1dfbe10c7a919f90d3d293cf2e4da774b37ca3aaadb3d5e1bf9", + "namingEvidenceSha256": "ebb4a35c1582cf42826e2683ed0485990940e582de2bad3f2e360684e8de43d3", + "namingSemanticSha256": "00e8a14139058cc33ea578fde2c106db43d8666127ce1a714e2c40d24ebee058" + } + }, + "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": "loft->rotate", + "phases": { + "initial": { + "namingEvidenceBytes": 10539, + "namingEvidenceSha256": "8cff475fdf6a366f085b7842e2838db80e1e27b8771e2f50ea8007ac66cf8b5e", + "pair": "loft->rotate", + "shape": { + "area": 800, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "reopened": { + "namingEvidenceBytes": 10539, + "namingEvidenceSha256": "8cff475fdf6a366f085b7842e2838db80e1e27b8771e2f50ea8007ac66cf8b5e", + "pair": "loft->rotate", + "shape": { + "area": 800, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "resaved": { + "namingEvidenceBytes": 10539, + "namingEvidenceSha256": "8cff475fdf6a366f085b7842e2838db80e1e27b8771e2f50ea8007ac66cf8b5e", + "pair": "loft->rotate", + "shape": { + "area": 800, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-pad", + "pair": "loft->pad", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "56e469f3ab00f3110d96242c14b370574836b507b3ed2cc3e9efc5d60724583b", + "namingSemanticSha256": "dc96cfcd3d672cc9b33e040f4b8dae6ae5537e462a99f1a5c57deef048f98cc4" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "length", + "trajectory": [ + 5, + 7.5, + 5 + ], + "stable": true, + "attempts": [ + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 7.5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "nativeTypeId": "PartDesign::Pad", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Body", + "typeId": "PartDesign::Body" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "PartDesign::Pad" + } + ], + "parameter": { + "name": "length", + "value": 5 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "FeatureExtrusion: Length: Could not extrude the sketch!" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "PartDesign::Pad", + "operation": "pad", + "pair": "loft->pad", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-loft-pocket", + "pair": "loft->pocket", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "6b4d347ae6d64611e2f7f0de3e9b6aebac8ddee392057295b266b1e2a77f7433", + "namingSemanticSha256": "552dc180560b06b326f90e166af190b9514f12a35ca64ba11bd06ff9fec0ecfa" + }, + "second": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 1470, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 1, + "ambiguousResults": 11, + "historySha256": "02cba07b8c895544c7a56a08ad466c5a870c31deb9ef57b84ab13f18eb976ae7", + "namingEvidenceSha256": "c9dc8bc86046d2971d7129ab17405171056aced18ffcea37289f0d07fa389f3a", + "namingSemanticSha256": "4001e88d52a56930cf435b970ce96c8260a27633f53c09b06bcf13da6ce18441" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "length", + "trajectory": [ + 5, + 4, + 5 + ], + "beforeValue": 5, + "editedValue": 4, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 1476, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 1, + "ambiguousResults": 11, + "historySha256": "02cba07b8c895544c7a56a08ad466c5a870c31deb9ef57b84ab13f18eb976ae7", + "namingEvidenceSha256": "8765f3ac4848febd76a0e06ee75e198c0ff624a42b4f42c0d73954ff0964f1e8", + "namingSemanticSha256": "4001e88d52a56930cf435b970ce96c8260a27633f53c09b06bcf13da6ce18441" + }, + "restoredEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 9, + "edges": 21, + "vertices": 14, + "volume": 1470, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 42, + "selectedRecords": 1, + "ambiguousResults": 11, + "historySha256": "02cba07b8c895544c7a56a08ad466c5a870c31deb9ef57b84ab13f18eb976ae7", + "namingEvidenceSha256": "4b4c5ed24e09b6e5f3109211873b3e6fe9d1281d9fbe5ed1b907324b64eb3541", + "namingSemanticSha256": "4001e88d52a56930cf435b970ce96c8260a27633f53c09b06bcf13da6ce18441" + } + }, + "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": "loft->pocket", + "phases": { + "initial": { + "namingEvidenceBytes": 4278, + "namingEvidenceSha256": "c9dc8bc86046d2971d7129ab17405171056aced18ffcea37289f0d07fa389f3a", + "pair": "loft->pocket", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 1470 + } + }, + "reopened": { + "namingEvidenceBytes": 4278, + "namingEvidenceSha256": "c9dc8bc86046d2971d7129ab17405171056aced18ffcea37289f0d07fa389f3a", + "pair": "loft->pocket", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 1470 + } + }, + "resaved": { + "namingEvidenceBytes": 4278, + "namingEvidenceSha256": "c9dc8bc86046d2971d7129ab17405171056aced18ffcea37289f0d07fa389f3a", + "pair": "loft->pocket", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 21, + "faces": 9, + "solids": 1, + "valid": true, + "vertices": 14, + "volume": 1470 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-loft", + "pair": "loft->loft", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "29fcab243947bb4cc7f241b17ae629702dc56d252fa8d4ddc1a2a3be0f633ed0", + "namingSemanticSha256": "51477a8da4e425d4687efe990733e86a76b8c6f17078eadb796a8caed2071ae0" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "ruled", + "trajectory": [ + false, + true, + false + ], + "kernelAttempts": [ + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 598.8608302, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "435210b3466c790aac5606d0d340adbb33e2d35d5de4482cfdc9cd4ee0cc9000", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": true, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 598.8608302, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "435210b3466c790aac5606d0d340adbb33e2d35d5de4482cfdc9cd4ee0cc9000", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 598.8608302, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "435210b3466c790aac5606d0d340adbb33e2d35d5de4482cfdc9cd4ee0cc9000", + "authority": "kernel-superset-only" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + } + ] + }, + "inputShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "nativeTypeId": "Part::Loft", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Loft" + } + ], + "parameter": { + "name": "ruled", + "value": false + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Profile shape is not a single vertex, edge, wire nor face." + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Loft", + "operation": "loft", + "pair": "loft->loft", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-loft-pipe", + "pair": "loft->pipe", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "fd2a3c50c2769e1282ded45e42597318c9ac5a6ef3c69465bbf7e92f8ae43013", + "namingSemanticSha256": "a16910b6805915a35d4c56bdb99807931f91cd931c10f79c1447bcb212fc9a60" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "spineLength", + "trajectory": [ + 15, + 12, + 15 + ], + "kernelAttempts": [ + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 16, + "vertices": 8, + "volume": 0, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 30.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "7d02f9892408d81b8f20730f2ab03f9da2e80485d9248086d8f15e44d36da854", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 12, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 540, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 27.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "7d02f9892408d81b8f20730f2ab03f9da2e80485d9248086d8f15e44d36da854", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 16, + "vertices": 8, + "volume": 0, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 30.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "7d02f9892408d81b8f20730f2ab03f9da2e80485d9248086d8f15e44d36da854", + "authority": "kernel-invalid-result" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "spine": { + "name": "Spine", + "subelements": [], + "typeId": "Part::Feature" + } + }, + "inputShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "nativeTypeId": "Part::Sweep", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Spine", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Sweep" + } + ], + "parameter": { + "name": "spineLength", + "value": 15 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "A fatal error occurred when making the sweep" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Sweep", + "operation": "pipe", + "pair": "loft->pipe", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-loft-revolution", + "pair": "loft->revolution", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "008b846ada0b48aacfabef95a55d4057e4c53ee7518f086c1110bda43a822ee5", + "namingSemanticSha256": "a030d1e800e6933bf64113df729981f98c94b68a940716a0465a0529abe18209" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "angle", + "trajectory": [ + 360, + 270, + 360 + ], + "stable": true, + "attempts": [ + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 270, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "nativeTypeId": "Part::Revolution", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Revolution" + } + ], + "parameter": { + "name": "angle", + "value": 360 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Solids are not Processed" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Revolution", + "operation": "revolution", + "pair": "loft->revolution", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-loft-groove", + "pair": "loft->groove", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "8444bbba0ecb091c08efb0093ac0050e44fab8a727029fa4ced998cb32000826", + "namingSemanticSha256": "94eacb997be54e990aa3a0ec8c3317bb87c2a663b955d745f7be16dc7997910f" + }, + "second": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 1495.287611, + "area": 806.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 5, + "ambiguousResults": 7, + "historySha256": "6764f6a337b4ef71b78057ff27cce7f6ec9e45cdb3c8b6a11867f8304acde1ca", + "namingEvidenceSha256": "73e16cf74771c6b6db88881363eff72cc04236656c6e59922e1f8cb0d1877014", + "namingSemanticSha256": "724440902857976ab6df058111303acac2e73826f6e6680fc39ca5c2d8192831" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 360, + 180, + 360 + ], + "beforeValue": 360, + "editedValue": 180, + "restoredValue": 360, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 16, + "vertices": 12, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 56, + "selectedRecords": 1, + "ambiguousResults": 5, + "historySha256": "80fde899039e10802f858f25da1d1403b82677fdc049d9c209f6b85bd6cf47c0", + "namingEvidenceSha256": "8aed7b06398f46fb80f10713a8794c7f891f16cf1d17dcf1ee7956e179145d0d", + "namingSemanticSha256": "5ff9c404baa2db4a70dafd23e0287e09374b534362c50af57b7aa1edc20ce621" + }, + "restoredEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 1495.287611, + "area": 806.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 5, + "ambiguousResults": 7, + "historySha256": "6764f6a337b4ef71b78057ff27cce7f6ec9e45cdb3c8b6a11867f8304acde1ca", + "namingEvidenceSha256": "590e2f6e410f7319b196a105ba5a45cd6707c5db6e35e1d752e4193a2de9300d", + "namingSemanticSha256": "724440902857976ab6df058111303acac2e73826f6e6680fc39ca5c2d8192831" + } + }, + "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": "loft->groove", + "phases": { + "initial": { + "namingEvidenceBytes": 4528, + "namingEvidenceSha256": "73e16cf74771c6b6db88881363eff72cc04236656c6e59922e1f8cb0d1877014", + "pair": "loft->groove", + "shape": { + "area": 806.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1495.287611 + } + }, + "reopened": { + "namingEvidenceBytes": 4528, + "namingEvidenceSha256": "73e16cf74771c6b6db88881363eff72cc04236656c6e59922e1f8cb0d1877014", + "pair": "loft->groove", + "shape": { + "area": 806.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1495.287611 + } + }, + "resaved": { + "namingEvidenceBytes": 4528, + "namingEvidenceSha256": "73e16cf74771c6b6db88881363eff72cc04236656c6e59922e1f8cb0d1877014", + "pair": "loft->groove", + "shape": { + "area": 806.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 1495.287611 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-fillet", + "pair": "loft->fillet", + "classification": "rejected", + "reasonCode": "native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "e6f55bc095bbd8998411607266a74db9bb04fd442038e36eeee1dcadb23f00b0", + "namingSemanticSha256": "474b34e20def72bb20d6b1013d3c1b01f1f75c0c85ac9984cad6b55991b3040d" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "stable": true, + "attempts": [ + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "table index is out of bounds" + }, + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.6, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "table index is out of bounds" + }, + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "table index is out of bounds" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": true, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": false, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "nativeTypeId": "Part::Fillet", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Fillet" + } + ], + "parameter": { + "name": "radius", + "value": 0.4 + }, + "recomputeResult": true, + "shapeNull": false, + "shapeValid": true, + "state": [ + "Up-to-date" + ], + "statusString": "Valid" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Fillet", + "operation": "fillet", + "pair": "loft->fillet", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "brepSha256": "08adab60ec2a140c231ebcc15dd64d0600983d8250594091f38345b539466db6", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-loft-chamfer", + "pair": "loft->chamfer", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "ad37d2b5c22a8502c793262b82f95b6ca304cb84093da1549f53ae874106218a", + "namingSemanticSha256": "84b1e2d8ac19b0e14ae294bc40e257fba48355503eaaa29f3fd76824d54afd39" + }, + "second": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 1489.1413333, + "area": 766.7138919, + "bounds": [ + -1e-7, + -1e-7, + -0.2662201, + 10.0000001, + 10.0000001, + 15.2662201 + ] + }, + "historyRecords": 150, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "c85bdbb68eb350f873c654cdd0cb9c72df1e21e169debfb2acfd45772a5c4a03", + "namingEvidenceSha256": "e29550191dbfa44f5a36f7804ac233aa6b8cc09500a1c907e76b3d95a38c722a", + "namingSemanticSha256": "9e1139e962bccd06cd257e73609e230b224f76c047a647a03bf0073ff6d5ee1f" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "distance", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 1475.952, + "area": 749.7092872, + "bounds": [ + -1e-7, + -1e-7, + -0.2845801, + 10.0000001, + 10.0000001, + 15.2845801 + ] + }, + "historyRecords": 150, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "c85bdbb68eb350f873c654cdd0cb9c72df1e21e169debfb2acfd45772a5c4a03", + "namingEvidenceSha256": "293e66957dd7c7ea9ab29c31e49f894a37530c275b56941dd1974133c1e9e3ff", + "namingSemanticSha256": "9e1139e962bccd06cd257e73609e230b224f76c047a647a03bf0073ff6d5ee1f" + }, + "restoredEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 1489.1413333, + "area": 766.7138919, + "bounds": [ + -1e-7, + -1e-7, + -0.2662201, + 10.0000001, + 10.0000001, + 15.2662201 + ] + }, + "historyRecords": 150, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "c85bdbb68eb350f873c654cdd0cb9c72df1e21e169debfb2acfd45772a5c4a03", + "namingEvidenceSha256": "275079167acd2429e05ae3e64489494c88bb31fa5401d2d477422b91aba0eae4", + "namingSemanticSha256": "9e1139e962bccd06cd257e73609e230b224f76c047a647a03bf0073ff6d5ee1f" + } + }, + "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": "loft->chamfer", + "phases": { + "initial": { + "namingEvidenceBytes": 10893, + "namingEvidenceSha256": "e29550191dbfa44f5a36f7804ac233aa6b8cc09500a1c907e76b3d95a38c722a", + "pair": "loft->chamfer", + "shape": { + "area": 766.7138919, + "bounds": [ + 0, + 0, + -0.26622, + 10, + 10, + 15.26622 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1489.1413333 + } + }, + "reopened": { + "namingEvidenceBytes": 10893, + "namingEvidenceSha256": "e29550191dbfa44f5a36f7804ac233aa6b8cc09500a1c907e76b3d95a38c722a", + "pair": "loft->chamfer", + "shape": { + "area": 766.7138919, + "bounds": [ + 0, + 0, + -0.26622, + 10, + 10, + 15.26622 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1489.1413333 + } + }, + "resaved": { + "namingEvidenceBytes": 10893, + "namingEvidenceSha256": "e29550191dbfa44f5a36f7804ac233aa6b8cc09500a1c907e76b3d95a38c722a", + "pair": "loft->chamfer", + "shape": { + "area": 766.7138919, + "bounds": [ + 0, + 0, + -0.26622, + 10, + 10, + 15.26622 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1489.1413333 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-hole", + "pair": "loft->hole", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "fa9e2aa982d14b16201cc1d71a122c3ccb51d5e246c212d10206ade28422a530", + "namingSemanticSha256": "c90144f9bb090b07a77404df4c889d7da7a32a8e0efcb0f04c4f29f112d84a5e" + }, + "second": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 15, + "vertices": 10, + "volume": 1462.3008882, + "area": 875.3982237, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 13, + "selectedRecords": 1, + "ambiguousResults": 0, + "historySha256": "260432cb43d14201412572c70c6b06ed268b336d60fee71f8b493ec14a0c5514", + "namingEvidenceSha256": "13708c6f4cf7806fbc7bc670d206c595e7e3fa4187c5dd964754e9577f9f0729", + "namingSemanticSha256": "4862fd8647610bf3054df82df4d8dd39c9ebd4f20f2dd8952532d6347d6d9766" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 1, + 1.5, + 1 + ], + "beforeValue": 1, + "editedValue": 1.5, + "restoredValue": 1, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 15, + "vertices": 10, + "volume": 1415.1769984, + "area": 913.0973355, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 13, + "selectedRecords": 1, + "ambiguousResults": 0, + "historySha256": "260432cb43d14201412572c70c6b06ed268b336d60fee71f8b493ec14a0c5514", + "namingEvidenceSha256": "13708c6f4cf7806fbc7bc670d206c595e7e3fa4187c5dd964754e9577f9f0729", + "namingSemanticSha256": "4862fd8647610bf3054df82df4d8dd39c9ebd4f20f2dd8952532d6347d6d9766" + }, + "restoredEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 15, + "vertices": 10, + "volume": 1462.3008882, + "area": 875.3982237, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 13, + "selectedRecords": 1, + "ambiguousResults": 0, + "historySha256": "260432cb43d14201412572c70c6b06ed268b336d60fee71f8b493ec14a0c5514", + "namingEvidenceSha256": "bf4c263271133043d580fa3f4174b2feb6d48533b4c09ab3c0eaa2731ad43eef", + "namingSemanticSha256": "4862fd8647610bf3054df82df4d8dd39c9ebd4f20f2dd8952532d6347d6d9766" + } + }, + "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": "loft->hole", + "phases": { + "initial": { + "namingEvidenceBytes": 860, + "namingEvidenceSha256": "13708c6f4cf7806fbc7bc670d206c595e7e3fa4187c5dd964754e9577f9f0729", + "pair": "loft->hole", + "shape": { + "area": 875.3982237, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 15, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 1462.3008882 + } + }, + "reopened": { + "namingEvidenceBytes": 860, + "namingEvidenceSha256": "13708c6f4cf7806fbc7bc670d206c595e7e3fa4187c5dd964754e9577f9f0729", + "pair": "loft->hole", + "shape": { + "area": 875.3982237, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 15, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 1462.3008882 + } + }, + "resaved": { + "namingEvidenceBytes": 860, + "namingEvidenceSha256": "13708c6f4cf7806fbc7bc670d206c595e7e3fa4187c5dd964754e9577f9f0729", + "pair": "loft->hole", + "shape": { + "area": 875.3982237, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 15, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 1462.3008882 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-draft", + "pair": "loft->draft", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "54436b20cc6aaf45ebb19ab7be5f139f8332c0374e10fb99545c7a620772d3aa", + "namingSemanticSha256": "0aa66327da942af1321287866f3f76cc460fbbf03f7524ded4e4c66841decc46" + }, + "second": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1401.5752535, + "area": 767.7647268, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 2, + "ambiguousResults": 3, + "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", + "namingEvidenceSha256": "1510e1a0ded77755132be57ff51ac84c2fd2723af8a1224052ec73386f55a770", + "namingSemanticSha256": "b34a1d11e18c8882d655b0feaba947f7a8dd669d5e25169858dfcc5f310a8843" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 5, + 8, + 5 + ], + "beforeValue": 5, + "editedValue": 8, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1341.891561, + "area": 748.7713229, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 2, + "ambiguousResults": 3, + "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", + "namingEvidenceSha256": "0ff98e22793c46f847c5dd4644955d76c0e082d2255e6e58b9b003886f035fb8", + "namingSemanticSha256": "b34a1d11e18c8882d655b0feaba947f7a8dd669d5e25169858dfcc5f310a8843" + }, + "restoredEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1401.5752535, + "area": 767.7647268, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 2, + "ambiguousResults": 3, + "historySha256": "b25dea0c4ebd456fbac5d48e880c03fa08167ebddd527a76e86a54c300ff7d7a", + "namingEvidenceSha256": "98f7e4bd843f6c05c2bf2ab8ff343f95ca5d68dd5f98015bc77da3075c2e551f", + "namingSemanticSha256": "b34a1d11e18c8882d655b0feaba947f7a8dd669d5e25169858dfcc5f310a8843" + } + }, + "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": "loft->draft", + "phases": { + "initial": { + "namingEvidenceBytes": 2216, + "namingEvidenceSha256": "1510e1a0ded77755132be57ff51ac84c2fd2723af8a1224052ec73386f55a770", + "pair": "loft->draft", + "shape": { + "area": 767.7647268, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1401.5752535 + } + }, + "reopened": { + "namingEvidenceBytes": 2216, + "namingEvidenceSha256": "1510e1a0ded77755132be57ff51ac84c2fd2723af8a1224052ec73386f55a770", + "pair": "loft->draft", + "shape": { + "area": 767.7647268, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1401.5752535 + } + }, + "resaved": { + "namingEvidenceBytes": 2216, + "namingEvidenceSha256": "1510e1a0ded77755132be57ff51ac84c2fd2723af8a1224052ec73386f55a770", + "pair": "loft->draft", + "shape": { + "area": 767.7647268, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1401.5752535 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-thickness", + "pair": "loft->thickness", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "47cf96cd6e024d16cb9b7501dcc01d4d0e496cf937fab04809f1cb98047960ea", + "namingSemanticSha256": "9e1f1b3208672574ba09309e4d148e39a6819db7f9fad3d146c2f75e1dbd8409" + }, + "second": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 245.856, + "area": 1249.28, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 2, + "ambiguousResults": 12, + "historySha256": "93d85ae046e13ee353f6ec2c6166a0ec5a51626f0081b6df57743230be2125a6", + "namingEvidenceSha256": "34c453f9e112514e329f326d635f39a4e7e0b6993f893a7342160f74753c2eb1", + "namingSemanticSha256": "812c19d05a1a45170cb8c163bdf8ff5c62fc9469fa0d6eeebd216df4153ac1c1" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "offset", + "trajectory": [ + -0.4, + -0.6, + -0.4 + ], + "beforeValue": -0.4, + "editedValue": -0.6, + "restoredValue": -0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 358.464, + "area": 1224.88, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 2, + "ambiguousResults": 12, + "historySha256": "93d85ae046e13ee353f6ec2c6166a0ec5a51626f0081b6df57743230be2125a6", + "namingEvidenceSha256": "0cb520171102e76ffd511bd05db66368785767c1a088d80e138c84f4db7c8909", + "namingSemanticSha256": "812c19d05a1a45170cb8c163bdf8ff5c62fc9469fa0d6eeebd216df4153ac1c1" + }, + "restoredEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 245.856, + "area": 1249.28, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 2, + "ambiguousResults": 12, + "historySha256": "93d85ae046e13ee353f6ec2c6166a0ec5a51626f0081b6df57743230be2125a6", + "namingEvidenceSha256": "ff7e9b65eb4996557db7492f155652c85b767b51f764905ccdc2a2e2eebfd3ad", + "namingSemanticSha256": "812c19d05a1a45170cb8c163bdf8ff5c62fc9469fa0d6eeebd216df4153ac1c1" + } + }, + "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": "loft->thickness", + "phases": { + "initial": { + "namingEvidenceBytes": 6553, + "namingEvidenceSha256": "34c453f9e112514e329f326d635f39a4e7e0b6993f893a7342160f74753c2eb1", + "pair": "loft->thickness", + "shape": { + "area": 1249.28, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 245.856 + } + }, + "reopened": { + "namingEvidenceBytes": 6553, + "namingEvidenceSha256": "34c453f9e112514e329f326d635f39a4e7e0b6993f893a7342160f74753c2eb1", + "pair": "loft->thickness", + "shape": { + "area": 1249.28, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 245.856 + } + }, + "resaved": { + "namingEvidenceBytes": 6553, + "namingEvidenceSha256": "34c453f9e112514e329f326d635f39a4e7e0b6993f893a7342160f74753c2eb1", + "pair": "loft->thickness", + "shape": { + "area": 1249.28, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 245.856 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-linear-pattern", + "pair": "loft->linear-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "f0d3a8d4d4171c4122463af335464a5724370d33ec8c66a2fd0e7fe5a74c8a4f", + "namingSemanticSha256": "a8b852a04127517c4302c056e0e490d6420c1fc71e046d8c9af8a4f5068aff62" + }, + "second": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 2700, + "area": 1200, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "25ac412308d22b820630f14ec73700cd333732817c6da177230a0d68729f6d91", + "namingEvidenceSha256": "442532a44713411da2c8e5619e82e0cc8eebd840781f9ad8f3cf623575e31d98", + "namingSemanticSha256": "d0e93468124034831378e8e0876afc6436c7ae2c21919de3e6b87dda055cb08b" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "translationX", + "trajectory": [ + 8, + 9, + 8 + ], + "beforeValue": 8, + "editedValue": 9, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 2850, + "area": 1250, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 19.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "25ac412308d22b820630f14ec73700cd333732817c6da177230a0d68729f6d91", + "namingEvidenceSha256": "6e9e2a2e7c2cd5f5cf3916f9615f2f766cce60f5216bf7eb3e72edb994912d2d", + "namingSemanticSha256": "d0e93468124034831378e8e0876afc6436c7ae2c21919de3e6b87dda055cb08b" + }, + "restoredEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 2700, + "area": 1200, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "25ac412308d22b820630f14ec73700cd333732817c6da177230a0d68729f6d91", + "namingEvidenceSha256": "455957a377f605f1d6d8a76c3824680ca891c6ff7a6fda3d3a2557c6d1ec18b0", + "namingSemanticSha256": "d0e93468124034831378e8e0876afc6436c7ae2c21919de3e6b87dda055cb08b" + } + }, + "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": "loft->linear-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 7435, + "namingEvidenceSha256": "442532a44713411da2c8e5619e82e0cc8eebd840781f9ad8f3cf623575e31d98", + "pair": "loft->linear-pattern", + "shape": { + "area": 1200, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2700 + } + }, + "reopened": { + "namingEvidenceBytes": 7435, + "namingEvidenceSha256": "442532a44713411da2c8e5619e82e0cc8eebd840781f9ad8f3cf623575e31d98", + "pair": "loft->linear-pattern", + "shape": { + "area": 1200, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2700 + } + }, + "resaved": { + "namingEvidenceBytes": 7435, + "namingEvidenceSha256": "442532a44713411da2c8e5619e82e0cc8eebd840781f9ad8f3cf623575e31d98", + "pair": "loft->linear-pattern", + "shape": { + "area": 1200, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2700 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-polar-pattern", + "pair": "loft->polar-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "ca7cd1e212f7ff44c684f4b7d8f9d60ec5edb0ec771787fa16651f194fbd830c", + "namingSemanticSha256": "1eba7c061316efc7de28933a68162bf80b51f6fef3c9731bad3a30434a8eb12e" + }, + "second": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 16, + "volume": 2133.9745962, + "area": 1011.3248654, + "bounds": [ + -5.0000001, + -1e-7, + -1e-7, + 10.0000001, + 13.6602542, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 4, + "ambiguousResults": 13, + "historySha256": "19fa9626cedaaa23b0711f8230d4f21a242c24ed6d854c71eb7bf0f68e7fd5d7", + "namingEvidenceSha256": "8b0ecea0c47a514354853177fae94bb13a0024abcffd12bbf7534603fa86ac65", + "namingSemanticSha256": "bf6b5016d10a079c0f4fd988e1608cd786a1500fd010514a68db56ea83713707" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 30, + 45, + 30 + ], + "beforeValue": 30, + "editedValue": 45, + "restoredValue": 30, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 16, + "volume": 2378.6796564, + "area": 1092.8932188, + "bounds": [ + -7.071068, + -1e-7, + -1e-7, + 10.0000001, + 14.1421358, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 4, + "ambiguousResults": 13, + "historySha256": "19fa9626cedaaa23b0711f8230d4f21a242c24ed6d854c71eb7bf0f68e7fd5d7", + "namingEvidenceSha256": "2432338c276baf285d9e1076dde50f61f7e91dbd63cfd7ccb77a2afd222e7025", + "namingSemanticSha256": "bf6b5016d10a079c0f4fd988e1608cd786a1500fd010514a68db56ea83713707" + }, + "restoredEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 16, + "volume": 2133.9745962, + "area": 1011.3248654, + "bounds": [ + -5.0000001, + -1e-7, + -1e-7, + 10.0000001, + 13.6602542, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 4, + "ambiguousResults": 13, + "historySha256": "19fa9626cedaaa23b0711f8230d4f21a242c24ed6d854c71eb7bf0f68e7fd5d7", + "namingEvidenceSha256": "7953c1e6fa0f3796172c54456488836aa06e40514f17ef7af27aeab22b12a2f0", + "namingSemanticSha256": "bf6b5016d10a079c0f4fd988e1608cd786a1500fd010514a68db56ea83713707" + } + }, + "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": "loft->polar-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 6583, + "namingEvidenceSha256": "8b0ecea0c47a514354853177fae94bb13a0024abcffd12bbf7534603fa86ac65", + "pair": "loft->polar-pattern", + "shape": { + "area": 1011.3248654, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2133.9745962 + } + }, + "reopened": { + "namingEvidenceBytes": 6583, + "namingEvidenceSha256": "8b0ecea0c47a514354853177fae94bb13a0024abcffd12bbf7534603fa86ac65", + "pair": "loft->polar-pattern", + "shape": { + "area": 1011.3248654, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2133.9745962 + } + }, + "resaved": { + "namingEvidenceBytes": 6583, + "namingEvidenceSha256": "8b0ecea0c47a514354853177fae94bb13a0024abcffd12bbf7534603fa86ac65", + "pair": "loft->polar-pattern", + "shape": { + "area": 1011.3248654, + "bounds": [ + -5, + 0, + 0, + 10, + 13.660254, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 2133.9745962 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-mirrored", + "pair": "loft->mirrored", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "ee7b5c70e8273b502212558ef0a420fc6ede7398379fdb119175b25ff728cd4d", + "namingSemanticSha256": "064165f6d16917ed7b537c311407838f0541a8fb2ca907a6c63ccdecbe737b8a" + }, + "second": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 156, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "260b871b6972a76d076ef392259de8644ce6d177d00e18cc703843d880f4e8b8", + "namingEvidenceSha256": "ba4aca2aa4d55aa2b3ed7254ddbf68ec7a771b2403c74a9ac57205ad0cbf8fa2", + "namingSemanticSha256": "29c71c3481df176051de139e1db25bdf89459e775604673f3018895f58c171d9" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "planeOriginX", + "trajectory": [ + 5, + 6, + 5 + ], + "beforeValue": 5, + "editedValue": 6, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 1800, + "area": 900, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 12.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "c53c909f40564d6faa62bc9c457c909f8485551ffeccc7ae1b4dd94d1608a977", + "namingEvidenceSha256": "0a413cc8ccc63a6688fd33961e6498936bfa69a6fd2da3709a160b688b6136e9", + "namingSemanticSha256": "35623cc865790115afff10f390985a0fa23a43b53ef8bccaa84038298ffefa9c" + }, + "restoredEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 156, + "selectedRecords": 2, + "ambiguousResults": 24, + "historySha256": "260b871b6972a76d076ef392259de8644ce6d177d00e18cc703843d880f4e8b8", + "namingEvidenceSha256": "d1aca20dfcbc0500c18204b47624c50c79d4f0d05659a4b19614b52e5d409264", + "namingSemanticSha256": "29c71c3481df176051de139e1db25bdf89459e775604673f3018895f58c171d9" + } + }, + "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": "loft->mirrored", + "phases": { + "initial": { + "namingEvidenceBytes": 10667, + "namingEvidenceSha256": "ba4aca2aa4d55aa2b3ed7254ddbf68ec7a771b2403c74a9ac57205ad0cbf8fa2", + "pair": "loft->mirrored", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "reopened": { + "namingEvidenceBytes": 10667, + "namingEvidenceSha256": "ba4aca2aa4d55aa2b3ed7254ddbf68ec7a771b2403c74a9ac57205ad0cbf8fa2", + "pair": "loft->mirrored", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + }, + "resaved": { + "namingEvidenceBytes": 10667, + "namingEvidenceSha256": "ba4aca2aa4d55aa2b3ed7254ddbf68ec7a771b2403c74a9ac57205ad0cbf8fa2", + "pair": "loft->mirrored", + "shape": { + "area": 800, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 1500 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-loft-multi-transform", + "pair": "loft->multi-transform", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 1500, + "area": 800, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "selectedRecords": 0, + "ambiguousResults": 7, + "historySha256": "b6432dd06f213055f68f98a7eff2cfb55981bdb0efe570cd4810f519941c74a1", + "namingEvidenceSha256": "2a4b0ed431ea7f9e9948a8f2eb1e1589d9903a03e9268e89609951e737f9aa8d", + "namingSemanticSha256": "25530d145335564b3df18d9181506dedfddc5eb4b2bf5b8719b4257ed25c453f" + }, + "second": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 22, + "edges": 44, + "vertices": 24, + "volume": 3900, + "area": 1600, + "bounds": [ + -8.0000001, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 355, + "selectedRecords": 10, + "ambiguousResults": 80, + "historySha256": "2e245379dc8ce440da18a04edb498c164132c00d813f199edf81d65b4c7ce030", + "namingEvidenceSha256": "8d22ecfee83113c941bbdee1557d0b87a17f64aa0e5f1e57dc6a62ba62cab5f3", + "namingSemanticSha256": "b49e5b6d2b4935de69a4f51427dea7dcbb423afd872c340e088cb7f46c13ce74" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "multiTranslationX", + "trajectory": [ + 8, + 9, + 8 + ], + "beforeValue": 8, + "editedValue": 9, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 22, + "edges": 44, + "vertices": 24, + "volume": 4200, + "area": 1700, + "bounds": [ + -9.0000001, + -1e-7, + -1e-7, + 19.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 355, + "selectedRecords": 10, + "ambiguousResults": 80, + "historySha256": "2e245379dc8ce440da18a04edb498c164132c00d813f199edf81d65b4c7ce030", + "namingEvidenceSha256": "99ec337bf965215c9b339936297890c1c21d227324068923bdf5231a434ce68e", + "namingSemanticSha256": "b49e5b6d2b4935de69a4f51427dea7dcbb423afd872c340e088cb7f46c13ce74" + }, + "restoredEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 22, + "edges": 44, + "vertices": 24, + "volume": 3900, + "area": 1600, + "bounds": [ + -8.0000001, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 355, + "selectedRecords": 10, + "ambiguousResults": 80, + "historySha256": "2e245379dc8ce440da18a04edb498c164132c00d813f199edf81d65b4c7ce030", + "namingEvidenceSha256": "6b4798e1d4edd3216b71ad7dcb3104bce02da76c99c4f29103801e141c384d21", + "namingSemanticSha256": "b49e5b6d2b4935de69a4f51427dea7dcbb423afd872c340e088cb7f46c13ce74" + } + }, + "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": "loft->multi-transform", + "phases": { + "initial": { + "namingEvidenceBytes": 45251, + "namingEvidenceSha256": "8d22ecfee83113c941bbdee1557d0b87a17f64aa0e5f1e57dc6a62ba62cab5f3", + "pair": "loft->multi-transform", + "shape": { + "area": 1600, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 44, + "faces": 22, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 3900 + } + }, + "reopened": { + "namingEvidenceBytes": 45251, + "namingEvidenceSha256": "8d22ecfee83113c941bbdee1557d0b87a17f64aa0e5f1e57dc6a62ba62cab5f3", + "pair": "loft->multi-transform", + "shape": { + "area": 1600, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 44, + "faces": 22, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 3900 + } + }, + "resaved": { + "namingEvidenceBytes": 45251, + "namingEvidenceSha256": "8d22ecfee83113c941bbdee1557d0b87a17f64aa0e5f1e57dc6a62ba62cab5f3", + "pair": "loft->multi-transform", + "shape": { + "area": 1600, + "bounds": [ + -8, + 0, + 0, + 18, + 10, + 15 + ], + "edges": 44, + "faces": 22, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 3900 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-fuse", + "pair": "pipe->fuse", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "6d28a0bca05af9cbed8483db283e241e076ba237f89e310ef9b9612c25065967", + "namingSemanticSha256": "891305e5de224393fb046741a1d88dc9cd49bf3bc1b7329eca2e48ae1be41480" + }, + "second": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 30, + "vertices": 18, + "volume": 185, + "area": 250, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 5.0000001, + 5.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 25, + "historySha256": "6cb0c451cf7d1146d29dc4faabc2c17bf535e2a545b24bff17a116ccfce3c04f", + "namingEvidenceSha256": "d9f7059cef40949663fac22474f7e3d82edce5256b6f199bfd89495382c98ffa", + "namingSemanticSha256": "881f3aaf8945a084aa0edda3656cb70722a1b1e58c81612b5bb431241e5ab0ad" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 32, + "vertices": 20, + "volume": 192.5, + "area": 258, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 5.5000001, + 5.0000001, + 15.0000001 + ] + }, + "historyRecords": 44, + "selectedRecords": 4, + "ambiguousResults": 21, + "historySha256": "9c1b844d077bf51c98bc6000a8f028bbdbf664d9c481d8681b800aa4515fe58f", + "namingEvidenceSha256": "d2c7fd942e646bbdfb402aa1e37120b5b3b4c377be1849a560f2a5e64c7b5cfc", + "namingSemanticSha256": "1acc3650b5e1cfd96416564e97f18b8e54806adc0aab322277db7ee16f3e6a50" + }, + "restoredEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 30, + "vertices": 18, + "volume": 185, + "area": 250, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 5.0000001, + 5.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 4, + "ambiguousResults": 25, + "historySha256": "6cb0c451cf7d1146d29dc4faabc2c17bf535e2a545b24bff17a116ccfce3c04f", + "namingEvidenceSha256": "30dd72925ec6c221c1079ccccc0ee6a799f8ed99d326e381535d65dfb5f933f2", + "namingSemanticSha256": "881f3aaf8945a084aa0edda3656cb70722a1b1e58c81612b5bb431241e5ab0ad" + } + }, + "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": "pipe->fuse", + "phases": { + "initial": { + "namingEvidenceBytes": 10824, + "namingEvidenceSha256": "d9f7059cef40949663fac22474f7e3d82edce5256b6f199bfd89495382c98ffa", + "pair": "pipe->fuse", + "shape": { + "area": 250, + "bounds": [ + 0, + 0, + 0, + 5, + 5, + 15 + ], + "edges": 30, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 185 + } + }, + "reopened": { + "namingEvidenceBytes": 10824, + "namingEvidenceSha256": "d9f7059cef40949663fac22474f7e3d82edce5256b6f199bfd89495382c98ffa", + "pair": "pipe->fuse", + "shape": { + "area": 250, + "bounds": [ + 0, + 0, + 0, + 5, + 5, + 15 + ], + "edges": 30, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 185 + } + }, + "resaved": { + "namingEvidenceBytes": 10824, + "namingEvidenceSha256": "d9f7059cef40949663fac22474f7e3d82edce5256b6f199bfd89495382c98ffa", + "pair": "pipe->fuse", + "shape": { + "area": 250, + "bounds": [ + 0, + 0, + 0, + 5, + 5, + 15 + ], + "edges": 30, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 185 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-cut", + "pair": "pipe->cut", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "418a514fddfdb513a3444aed0931dc5c907d13b550b12c0403e39df714e114e8", + "namingSemanticSha256": "1278c86de824119d555082835a0a31a2353fcfe151357d70a17299c47839dc72" + }, + "second": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 66, + "area": 122, + "bounds": [ + -1e-7, + -1e-7, + 3.9999999, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 117, + "selectedRecords": 1, + "ambiguousResults": 10, + "historySha256": "3166ee51e3ed2efa5c9eb077655ce1e66eb2865f45805ea3287bae67515d89f2", + "namingEvidenceSha256": "2c75589d0d2d446602aba70a82c8f9cf414bd8d61b7ac16b49a0fb3ab1dd539f", + "namingSemanticSha256": "7979fdc51115d2f0d8f41118499d73aadebf816273b3392739e35399399ab319" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 18, + "vertices": 12, + "volume": 72, + "area": 150, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 92, + "selectedRecords": 2, + "ambiguousResults": 12, + "historySha256": "1b3342488319e909df4795de818dc0a6c2283a34375d304ea0c20eb4b9ede820", + "namingEvidenceSha256": "aeafcfcca395ef9eb1b3ca65da35398717f3bcd2c3e4b4067c94a8dede596bf2", + "namingSemanticSha256": "084d9f0f7a2c4a1c3b333023a43033008a26c2a3ebca07a372657efff3f10cfb" + }, + "restoredEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 66, + "area": 122, + "bounds": [ + -1e-7, + -1e-7, + 3.9999999, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 117, + "selectedRecords": 1, + "ambiguousResults": 10, + "historySha256": "3166ee51e3ed2efa5c9eb077655ce1e66eb2865f45805ea3287bae67515d89f2", + "namingEvidenceSha256": "260353806a13a8711a64a84dfaec770677ac9a4008071184be2f7215439a957c", + "namingSemanticSha256": "7979fdc51115d2f0d8f41118499d73aadebf816273b3392739e35399399ab319" + } + }, + "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": "pipe->cut", + "phases": { + "initial": { + "namingEvidenceBytes": 4079, + "namingEvidenceSha256": "2c75589d0d2d446602aba70a82c8f9cf414bd8d61b7ac16b49a0fb3ab1dd539f", + "pair": "pipe->cut", + "shape": { + "area": 122, + "bounds": [ + 0, + 0, + 4, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 66 + } + }, + "reopened": { + "namingEvidenceBytes": 4079, + "namingEvidenceSha256": "2c75589d0d2d446602aba70a82c8f9cf414bd8d61b7ac16b49a0fb3ab1dd539f", + "pair": "pipe->cut", + "shape": { + "area": 122, + "bounds": [ + 0, + 0, + 4, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 66 + } + }, + "resaved": { + "namingEvidenceBytes": 4079, + "namingEvidenceSha256": "2c75589d0d2d446602aba70a82c8f9cf414bd8d61b7ac16b49a0fb3ab1dd539f", + "pair": "pipe->cut", + "shape": { + "area": 122, + "bounds": [ + 0, + 0, + 4, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 66 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-common", + "pair": "pipe->common", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "95af08f55083747cba659ab38425ae6f34080393bdf223f7e30762970a60d88b", + "namingSemanticSha256": "1f38c022f0c6304606889af63539dfc13edf330d9228918f7897e35b583cd348" + }, + "second": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 24, + "area": 52, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 4.0000001 + ] + }, + "historyRecords": 132, + "selectedRecords": 1, + "ambiguousResults": 16, + "historySha256": "b03a82feff90eef72ad70514982cd5a4ef5afd82aaef09df1ad562dc98b341c3", + "namingEvidenceSha256": "efdfe4f1527c3c25a94c10976597089a19739389f0ded682014ce6cf5c91b6ae", + "namingSemanticSha256": "6d746043cad9a9107a94095d98091a776bb90e88a2c7e7f34fdd09abd4c138f6" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 18, + "area": 45, + "bounds": [ + 0.4999999, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 4.0000001 + ] + }, + "historyRecords": 132, + "selectedRecords": 2, + "ambiguousResults": 13, + "historySha256": "82a9313a9588ecbcbe1d0e35d10926c2c84b66c6c26c15487a492ee7e706a532", + "namingEvidenceSha256": "6cfedb19ef024979d6684472afc1087922415c79085d1115c45aeb358e24c0f4", + "namingSemanticSha256": "b115030b91c1a262fce1793703cffdaacf3881d5da58db3f29955d50a3def745" + }, + "restoredEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 24, + "area": 52, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 4.0000001 + ] + }, + "historyRecords": 132, + "selectedRecords": 1, + "ambiguousResults": 16, + "historySha256": "b03a82feff90eef72ad70514982cd5a4ef5afd82aaef09df1ad562dc98b341c3", + "namingEvidenceSha256": "0c37936a8586d5d0fb79a9634977b955f2de8a4f2a46934cdb4e63c525c0fdb9", + "namingSemanticSha256": "6d746043cad9a9107a94095d98091a776bb90e88a2c7e7f34fdd09abd4c138f6" + } + }, + "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": "pipe->common", + "phases": { + "initial": { + "namingEvidenceBytes": 7022, + "namingEvidenceSha256": "efdfe4f1527c3c25a94c10976597089a19739389f0ded682014ce6cf5c91b6ae", + "pair": "pipe->common", + "shape": { + "area": 52, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 4 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 24 + } + }, + "reopened": { + "namingEvidenceBytes": 7022, + "namingEvidenceSha256": "efdfe4f1527c3c25a94c10976597089a19739389f0ded682014ce6cf5c91b6ae", + "pair": "pipe->common", + "shape": { + "area": 52, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 4 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 24 + } + }, + "resaved": { + "namingEvidenceBytes": 7022, + "namingEvidenceSha256": "efdfe4f1527c3c25a94c10976597089a19739389f0ded682014ce6cf5c91b6ae", + "pair": "pipe->common", + "shape": { + "area": 52, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 4 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 24 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-rotate", + "pair": "pipe->rotate", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "cd797a884d44d535e96ae17e2561bb53ea0b04503e0ea6007f9294f6cb75190f", + "namingSemanticSha256": "363b764f16c86980fe8a9c7f61bd0c071e358450b799b1fb9fcd47f19565002f" + }, + "second": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -0.7764572, + -1e-7, + -1e-7, + 1.9318518, + 3.4154157, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "1038c3346b921276046d1c0471b41e5e053195b8e77e542d0a19df219c34c91f", + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "namingSemanticSha256": "b70d0435062ab9fb4dfd6c0556fc3fb963f3b658c5dd4431247be466b52b985d" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 15, + 22.5, + 15 + ], + "beforeValue": 15, + "editedValue": 22.5, + "restoredValue": 15, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1.1480504, + -1e-7, + -1e-7, + 1.8477592, + 3.5370056, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "1038c3346b921276046d1c0471b41e5e053195b8e77e542d0a19df219c34c91f", + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "namingSemanticSha256": "b70d0435062ab9fb4dfd6c0556fc3fb963f3b658c5dd4431247be466b52b985d" + }, + "restoredEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -0.7764572, + -1e-7, + -1e-7, + 1.9318518, + 3.4154157, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "1038c3346b921276046d1c0471b41e5e053195b8e77e542d0a19df219c34c91f", + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "namingSemanticSha256": "b70d0435062ab9fb4dfd6c0556fc3fb963f3b658c5dd4431247be466b52b985d" + } + }, + "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": "pipe->rotate", + "phases": { + "initial": { + "namingEvidenceBytes": 9466, + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "pair": "pipe->rotate", + "shape": { + "area": 162, + "bounds": [ + -0.7764571, + 0, + 0, + 1.9318517, + 3.4154156, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "reopened": { + "namingEvidenceBytes": 9466, + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "pair": "pipe->rotate", + "shape": { + "area": 162, + "bounds": [ + -0.7764571, + 0, + 0, + 1.9318517, + 3.4154156, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "resaved": { + "namingEvidenceBytes": 9466, + "namingEvidenceSha256": "9e1b89bbe2b1fd9833ac4e73b998ef31d66b1fd2ba59e12f3401dfcc8565fe74", + "pair": "pipe->rotate", + "shape": { + "area": 162, + "bounds": [ + -0.7764571, + 0, + 0, + 1.9318517, + 3.4154156, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-pad", + "pair": "pipe->pad", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "2f0d385e2c77e4d9e5f54736f06658e11679b56376b63db0c8e6545fcea99b2f", + "namingSemanticSha256": "7c3b65ae5b954c5b38d1eb0eec457a16e4f6a8a9bf99d44ead2de6a833b4e28f" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "length", + "trajectory": [ + 5, + 7.5, + 5 + ], + "stable": true, + "attempts": [ + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 7.5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "nativeTypeId": "PartDesign::Pad", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Body", + "typeId": "PartDesign::Body" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "PartDesign::Pad" + } + ], + "parameter": { + "name": "length", + "value": 5 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "FeatureExtrusion: Length: Could not extrude the sketch!" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "PartDesign::Pad", + "operation": "pad", + "pair": "pipe->pad", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pipe-pocket", + "pair": "pipe->pocket", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "913378c0218c364736b1badd40cc8c3f03a37965fa642bfb8b7783a3e830ee1d", + "namingSemanticSha256": "ea978bfad1d495993fb2e43d44c79b163f906b82918f479ba341401f75ec21af" + }, + "second": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 60, + "area": 112, + "bounds": [ + -1e-7, + -1e-7, + 4.9999999, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 0, + "ambiguousResults": 12, + "historySha256": "d3f1f70f39b47d6e57665fa4d8cdab54faeb4c3a82f2f0dd7ae565044b79e512", + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "namingSemanticSha256": "91bb8d107aeef3649a990087ffaf8917146dcda7f62dc27e4dd925e28462e3d8" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "length", + "trajectory": [ + 5, + 4, + 5 + ], + "beforeValue": 5, + "editedValue": 4, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 66, + "area": 122, + "bounds": [ + -1e-7, + -1e-7, + 3.9999999, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 0, + "ambiguousResults": 12, + "historySha256": "d3f1f70f39b47d6e57665fa4d8cdab54faeb4c3a82f2f0dd7ae565044b79e512", + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "namingSemanticSha256": "91bb8d107aeef3649a990087ffaf8917146dcda7f62dc27e4dd925e28462e3d8" + }, + "restoredEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 60, + "area": 112, + "bounds": [ + -1e-7, + -1e-7, + 4.9999999, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 0, + "ambiguousResults": 12, + "historySha256": "d3f1f70f39b47d6e57665fa4d8cdab54faeb4c3a82f2f0dd7ae565044b79e512", + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "namingSemanticSha256": "91bb8d107aeef3649a990087ffaf8917146dcda7f62dc27e4dd925e28462e3d8" + } + }, + "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": "pipe->pocket", + "phases": { + "initial": { + "namingEvidenceBytes": 3868, + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "pair": "pipe->pocket", + "shape": { + "area": 112, + "bounds": [ + 0, + 0, + 5, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 60 + } + }, + "reopened": { + "namingEvidenceBytes": 3868, + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "pair": "pipe->pocket", + "shape": { + "area": 112, + "bounds": [ + 0, + 0, + 5, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 60 + } + }, + "resaved": { + "namingEvidenceBytes": 3868, + "namingEvidenceSha256": "a2d7548654ba5d2a6ee07384a9ee1784a2daaec22cfbb9fa81ecadc7e685fdde", + "pair": "pipe->pocket", + "shape": { + "area": 112, + "bounds": [ + 0, + 0, + 5, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 60 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-loft", + "pair": "pipe->loft", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "3267203aa35040a4b858b5ba1c96a620810a30b66c06d2db45c3b2881a818b5b", + "namingSemanticSha256": "30459edefd758a9bd24c9545706eac290f96e439eb8c10312485d46906eb72f3" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "ruled", + "trajectory": [ + false, + true, + false + ], + "kernelAttempts": [ + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 407.5, + "area": 431.1537335, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "9f0ec53f6c7b6a6704cd926e6d16c24c51625ef328c2d89275f86d0ccda2ace7", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": true, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 407.5, + "area": 431.1537335, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "9f0ec53f6c7b6a6704cd926e6d16c24c51625ef328c2d89275f86d0ccda2ace7", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 407.5, + "area": 431.1537335, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "9f0ec53f6c7b6a6704cd926e6d16c24c51625ef328c2d89275f86d0ccda2ace7", + "authority": "kernel-superset-only" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + } + ] + }, + "inputShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "nativeTypeId": "Part::Loft", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Loft" + } + ], + "parameter": { + "name": "ruled", + "value": false + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Profile shape is not a single vertex, edge, wire nor face." + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Loft", + "operation": "loft", + "pair": "pipe->loft", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pipe-pipe", + "pair": "pipe->pipe", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "5bf8b841d6166453753ef9749e30d723c5df8cf833c6f1eb05f2e41e389a3639", + "namingSemanticSha256": "ac7e856368d56e09023d567d0c2f456771db553424af895717ca992d84497973" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "spineLength", + "trajectory": [ + 15, + 12, + 15 + ], + "kernelAttempts": [ + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 16, + "vertices": 8, + "volume": 0, + "area": 180, + "bounds": [ + 1.9999999, + -1e-7, + -15.0000001, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 12, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 162, + "bounds": [ + 1.9999999, + -1e-7, + -12.0000001, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 16, + "vertices": 8, + "volume": 0, + "area": 180, + "bounds": [ + 1.9999999, + -1e-7, + -15.0000001, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "ad682ce8340b8e2d1d1322e16d97c5e10739ec1f7ab48e99071f78123ea1242c", + "authority": "kernel-invalid-result" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "spine": { + "name": "Spine", + "subelements": [], + "typeId": "Part::Feature" + } + }, + "inputShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "nativeTypeId": "Part::Sweep", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Spine", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Sweep" + } + ], + "parameter": { + "name": "spineLength", + "value": 15 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "A fatal error occurred when making the sweep" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Sweep", + "operation": "pipe", + "pair": "pipe->pipe", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pipe-revolution", + "pair": "pipe->revolution", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "540df6ae39d8890e9f3f812a05a65f67aa32b43e4455b65383c917127691f141", + "namingSemanticSha256": "6408adf63540e7f739949034089cc894ed58427e7a65295583d749cf0c8f6332" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "angle", + "trajectory": [ + 360, + 270, + 360 + ], + "stable": true, + "attempts": [ + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 270, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "nativeTypeId": "Part::Revolution", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Revolution" + } + ], + "parameter": { + "name": "angle", + "value": 360 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Solids are not Processed" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Revolution", + "operation": "revolution", + "pair": "pipe->revolution", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "brepSha256": "ae2826223f6cf110844f037d76ef98b2e9a4c823803c651abb2a7b41f008ca18", + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-pipe-groove", + "pair": "pipe->groove", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "74719d0b07d1a6702c3d01c1ca6f43f48426b201b5a37cafc778d374b7099afb", + "namingSemanticSha256": "5487c0c5fa73dd1852c01533a3cbeca3103e22f4076021482d784b4c82253336" + }, + "second": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 88.4292037, + "area": 163.1415927, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 3, + "ambiguousResults": 12, + "historySha256": "8bd45bf4a9db0619efd6e3e4e70591d775ece63302023450c2122ea8c1f27c2d", + "namingEvidenceSha256": "674ea2275d4922747c61b1ec7b91dcd59d3f9162f90007a9601cb7df9cf5a2f5", + "namingSemanticSha256": "a2ace020ef60aba786d91ed81ada1747d47f432ab44d2483f57dfeddb713e2e1" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 360, + 180, + 360 + ], + "beforeValue": 360, + "editedValue": 180, + "restoredValue": 360, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 17, + "vertices": 12, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 75, + "selectedRecords": 0, + "ambiguousResults": 9, + "historySha256": "4a7449430141af29f7c56e7eacdd568b83432fc2b1d8adc153aa2b5d80a5cb3f", + "namingEvidenceSha256": "9062811f17081369b2778b3789852cdb90a218097545f89fee3f7737ff4472df", + "namingSemanticSha256": "0ec2a572655dc2bd2373533003cf18c2db54c4641907e565e6f837b7f5068da7" + }, + "restoredEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 88.4292037, + "area": 163.1415927, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 3, + "ambiguousResults": 12, + "historySha256": "8bd45bf4a9db0619efd6e3e4e70591d775ece63302023450c2122ea8c1f27c2d", + "namingEvidenceSha256": "052b27e3a5473547cab4ca74b1c79599b2e8e89204ac077160eb246cf76767c5", + "namingSemanticSha256": "a2ace020ef60aba786d91ed81ada1747d47f432ab44d2483f57dfeddb713e2e1" + } + }, + "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": "pipe->groove", + "phases": { + "initial": { + "namingEvidenceBytes": 5177, + "namingEvidenceSha256": "674ea2275d4922747c61b1ec7b91dcd59d3f9162f90007a9601cb7df9cf5a2f5", + "pair": "pipe->groove", + "shape": { + "area": 163.1415927, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 88.4292037 + } + }, + "reopened": { + "namingEvidenceBytes": 5177, + "namingEvidenceSha256": "674ea2275d4922747c61b1ec7b91dcd59d3f9162f90007a9601cb7df9cf5a2f5", + "pair": "pipe->groove", + "shape": { + "area": 163.1415927, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 88.4292037 + } + }, + "resaved": { + "namingEvidenceBytes": 5177, + "namingEvidenceSha256": "674ea2275d4922747c61b1ec7b91dcd59d3f9162f90007a9601cb7df9cf5a2f5", + "pair": "pipe->groove", + "shape": { + "area": 163.1415927, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 88.4292037 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-fillet", + "pair": "pipe->fillet", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "7f9967546992be3a8e3be5bca57dc8e2f889f901773dc05ff19313e30c63894c", + "namingSemanticSha256": "e74fe33eaebf4edffa1454279cf26f262416e9ad11b4dcabe0fb29b31d936ca8" + }, + "second": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 56, + "vertices": 24, + "volume": 87.3388075, + "area": 148.0842439, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "namingSemanticSha256": "03c082a3b5289c12b61d11bac781bd0d9b8a4e9d8ed6fb12b554fee801020c4b" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 56, + "vertices": 24, + "volume": 84.1087417, + "area": 140.9904368, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "namingSemanticSha256": "03c082a3b5289c12b61d11bac781bd0d9b8a4e9d8ed6fb12b554fee801020c4b" + }, + "restoredEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 56, + "vertices": 24, + "volume": 87.3388075, + "area": 148.0842439, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "namingSemanticSha256": "03c082a3b5289c12b61d11bac781bd0d9b8a4e9d8ed6fb12b554fee801020c4b" + } + }, + "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": "pipe->fillet", + "phases": { + "initial": { + "namingEvidenceBytes": 9442, + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "pair": "pipe->fillet", + "shape": { + "area": 148.0842439, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 87.3388075 + } + }, + "reopened": { + "namingEvidenceBytes": 9442, + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "pair": "pipe->fillet", + "shape": { + "area": 148.0842439, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 87.3388075 + } + }, + "resaved": { + "namingEvidenceBytes": 9442, + "namingEvidenceSha256": "42e4f56775f7ed8db3bb829257e51961ab4b1d88060c5cd649f0bafeb4cc336d", + "pair": "pipe->fillet", + "shape": { + "area": 148.0842439, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 56, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 87.3388075 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-chamfer", + "pair": "pipe->chamfer", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "99e75ee1b4c1d1e46c6bef4ff64cf32443deac8597189e6d42f70f84e56c8e88", + "namingSemanticSha256": "f08dada70cc92b142e21cda641b8916f860b52ce7cbf72a43e04d170e7c9eefb" + }, + "second": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 83.9413333, + "area": 142.7727664, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "namingSemanticSha256": "c56e7afc4d0357904fceac916acdd96397c72eb732d504d655a59ccd931cec71" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "distance", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 76.752, + "area": 132.797599, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "namingSemanticSha256": "c56e7afc4d0357904fceac916acdd96397c72eb732d504d655a59ccd931cec71" + }, + "restoredEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 26, + "edges": 48, + "vertices": 24, + "volume": 83.9413333, + "area": 142.7727664, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 150, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "566ff6d3558d1517f5ff8b01587fe54fbfadd642d8f93d8fa36b0cfe0c7c19e6", + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "namingSemanticSha256": "c56e7afc4d0357904fceac916acdd96397c72eb732d504d655a59ccd931cec71" + } + }, + "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": "pipe->chamfer", + "phases": { + "initial": { + "namingEvidenceBytes": 9536, + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "pair": "pipe->chamfer", + "shape": { + "area": 142.7727664, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 83.9413333 + } + }, + "reopened": { + "namingEvidenceBytes": 9536, + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "pair": "pipe->chamfer", + "shape": { + "area": 142.7727664, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 83.9413333 + } + }, + "resaved": { + "namingEvidenceBytes": 9536, + "namingEvidenceSha256": "61ce52380e484389ac1a132db2ced316ce1c643ad4838e3e77036bf6b7f57f80", + "pair": "pipe->chamfer", + "shape": { + "area": 142.7727664, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 48, + "faces": 26, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 83.9413333 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-hole", + "pair": "pipe->hole", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "7b2bd9f382f10b926abc059f28de3ef848b633e17c6ba5ab2fbb9ad4873d71d2", + "namingSemanticSha256": "b6e9889a7aceb2dcf4a452015845a988961541cf26b4f3b73a01af9c4817b44b" + }, + "second": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 15, + "vertices": 10, + "volume": 82.4601776, + "area": 198.6938022, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 0, + "ambiguousResults": 2, + "historySha256": "b504c14ac7207f84f640314d399a94f9b6a6bb3490277f9918c86e4de926dcba", + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "namingSemanticSha256": "4f8dda8406d21cb04981372b81b7ab623500cb41b209a28065bb7a51c8cc1198" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 15, + "vertices": 10, + "volume": 73.0353997, + "area": 216.2867211, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 0, + "ambiguousResults": 2, + "historySha256": "b504c14ac7207f84f640314d399a94f9b6a6bb3490277f9918c86e4de926dcba", + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "namingSemanticSha256": "4f8dda8406d21cb04981372b81b7ab623500cb41b209a28065bb7a51c8cc1198" + }, + "restoredEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 15, + "vertices": 10, + "volume": 82.4601776, + "area": 198.6938022, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 0, + "ambiguousResults": 2, + "historySha256": "b504c14ac7207f84f640314d399a94f9b6a6bb3490277f9918c86e4de926dcba", + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "namingSemanticSha256": "4f8dda8406d21cb04981372b81b7ab623500cb41b209a28065bb7a51c8cc1198" + } + }, + "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": "pipe->hole", + "phases": { + "initial": { + "namingEvidenceBytes": 740, + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "pair": "pipe->hole", + "shape": { + "area": 198.6938022, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 15, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 82.4601776 + } + }, + "reopened": { + "namingEvidenceBytes": 740, + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "pair": "pipe->hole", + "shape": { + "area": 198.6938022, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 15, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 82.4601776 + } + }, + "resaved": { + "namingEvidenceBytes": 740, + "namingEvidenceSha256": "902927f13950e993e51a81e5685e2a58033cb8945b9d57fcde72e82deb5b08ef", + "pair": "pipe->hole", + "shape": { + "area": 198.6938022, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 15, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 82.4601776 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-draft", + "pair": "pipe->draft", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "e19c32d59b4c26181533015f602492f9772bdc33274524c345ee727788d63897", + "namingSemanticSha256": "43851fb890576a1f9613e1fa6a180b88b68ebcb00cbfedd558359ee9c774f694" + }, + "second": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 70.3150507, + "area": 139.8049859, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 0, + "ambiguousResults": 5, + "historySha256": "92907cd248dbb533f15f69068fab2c872772fd2f50fd064cff9a8fb008b6cd27", + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "namingSemanticSha256": "f1454be3ce526ec6852379f96a4bce8c422237b53f7c4cdc884837595d5ef929" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 5, + 8, + 5 + ], + "beforeValue": 5, + "editedValue": 8, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 58.3783122, + "area": 126.4569143, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 0, + "ambiguousResults": 5, + "historySha256": "92907cd248dbb533f15f69068fab2c872772fd2f50fd064cff9a8fb008b6cd27", + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "namingSemanticSha256": "f1454be3ce526ec6852379f96a4bce8c422237b53f7c4cdc884837595d5ef929" + }, + "restoredEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 70.3150507, + "area": 139.8049859, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 5, + "selectedRecords": 0, + "ambiguousResults": 5, + "historySha256": "92907cd248dbb533f15f69068fab2c872772fd2f50fd064cff9a8fb008b6cd27", + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "namingSemanticSha256": "f1454be3ce526ec6852379f96a4bce8c422237b53f7c4cdc884837595d5ef929" + } + }, + "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": "pipe->draft", + "phases": { + "initial": { + "namingEvidenceBytes": 1505, + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "pair": "pipe->draft", + "shape": { + "area": 139.8049859, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 70.3150507 + } + }, + "reopened": { + "namingEvidenceBytes": 1505, + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "pair": "pipe->draft", + "shape": { + "area": 139.8049859, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 70.3150507 + } + }, + "resaved": { + "namingEvidenceBytes": 1505, + "namingEvidenceSha256": "0d7d512f46bb961b542b0f096fec84baa61a20e7720c417f395ef0259994c7aa", + "pair": "pipe->draft", + "shape": { + "area": 139.8049859, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 70.3150507 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-thickness", + "pair": "pipe->thickness", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "9dbcddec14da2ae2559c424f4fff4756cd132d069d9f854da1d85b0fe9b3d26c", + "namingSemanticSha256": "ac4b22590484e05ad0c6dc01b09de61c90492d75a15744635a6676298296183d" + }, + "second": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 45.696, + "area": 242.08, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 0, + "ambiguousResults": 14, + "historySha256": "d66963e0cba34fe75621f86dc13a83c708c106211da49d3d2103d6034fe44cc6", + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "namingSemanticSha256": "b89493439bf8041cc7652c42bc24c0fff47bed9bc213bbcac0197e7cbcd60722" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "offset", + "trajectory": [ + -0.4, + -0.6, + -0.4 + ], + "beforeValue": -0.4, + "editedValue": -0.6, + "restoredValue": -0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 63.504, + "area": 232.08, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 0, + "ambiguousResults": 14, + "historySha256": "d66963e0cba34fe75621f86dc13a83c708c106211da49d3d2103d6034fe44cc6", + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "namingSemanticSha256": "b89493439bf8041cc7652c42bc24c0fff47bed9bc213bbcac0197e7cbcd60722" + }, + "restoredEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 16, + "volume": 45.696, + "area": 242.08, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 38, + "selectedRecords": 0, + "ambiguousResults": 14, + "historySha256": "d66963e0cba34fe75621f86dc13a83c708c106211da49d3d2103d6034fe44cc6", + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "namingSemanticSha256": "b89493439bf8041cc7652c42bc24c0fff47bed9bc213bbcac0197e7cbcd60722" + } + }, + "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": "pipe->thickness", + "phases": { + "initial": { + "namingEvidenceBytes": 5280, + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "pair": "pipe->thickness", + "shape": { + "area": 242.08, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 45.696 + } + }, + "reopened": { + "namingEvidenceBytes": 5280, + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "pair": "pipe->thickness", + "shape": { + "area": 242.08, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 45.696 + } + }, + "resaved": { + "namingEvidenceBytes": 5280, + "namingEvidenceSha256": "0c2a5747c79ace1a4241b2ef05fac22528de27000e174e3533946e82db2e29a7", + "pair": "pipe->thickness", + "shape": { + "area": 242.08, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 45.696 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-linear-pattern", + "pair": "pipe->linear-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "c5abf38a5244e97bf4de8cbb8400a26a95fc9a3dcd4790049f049f3800810e9a", + "namingSemanticSha256": "0c96275871c8014efad92bfd54b66e224949a5c6618b23148d9d140277698488" + }, + "second": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 157.5, + "area": 216, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 3.5000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 0, + "ambiguousResults": 20, + "historySha256": "674f18b0913de5b0b0b0a8aacf92b41804ff0ad747824aa2e92ebb4cc1a70fcd", + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "namingSemanticSha256": "6966aeae198b71957b0c0cdad61ab885023d3909be0b650b2f4c3c47bde46fa7" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "translationX", + "trajectory": [ + 1.5, + 1, + 1.5 + ], + "beforeValue": 1.5, + "editedValue": 1, + "restoredValue": 1.5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 135, + "area": 198, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 3.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 0, + "ambiguousResults": 20, + "historySha256": "674f18b0913de5b0b0b0a8aacf92b41804ff0ad747824aa2e92ebb4cc1a70fcd", + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "namingSemanticSha256": "6966aeae198b71957b0c0cdad61ab885023d3909be0b650b2f4c3c47bde46fa7" + }, + "restoredEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 157.5, + "area": 216, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 3.5000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 0, + "ambiguousResults": 20, + "historySha256": "674f18b0913de5b0b0b0a8aacf92b41804ff0ad747824aa2e92ebb4cc1a70fcd", + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "namingSemanticSha256": "6966aeae198b71957b0c0cdad61ab885023d3909be0b650b2f4c3c47bde46fa7" + } + }, + "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": "pipe->linear-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 5957, + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "pair": "pipe->linear-pattern", + "shape": { + "area": 216, + "bounds": [ + 0, + 0, + 0, + 3.5, + 3, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 157.5 + } + }, + "reopened": { + "namingEvidenceBytes": 5957, + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "pair": "pipe->linear-pattern", + "shape": { + "area": 216, + "bounds": [ + 0, + 0, + 0, + 3.5, + 3, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 157.5 + } + }, + "resaved": { + "namingEvidenceBytes": 5957, + "namingEvidenceSha256": "6768ac8d74c35b259c52d19a1352e30a99edacc8c71a05878c0775608589248f", + "pair": "pipe->linear-pattern", + "shape": { + "area": 216, + "bounds": [ + 0, + 0, + 0, + 3.5, + 3, + 15 + ], + "edges": 28, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 157.5 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-polar-pattern", + "pair": "pipe->polar-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "faa6121b4024264ce03ad00606f0f27bf53b82d9161687a66c2a4f586d05f843", + "namingSemanticSha256": "371abf75f03c5eb47e04b8ef1cfb175de57ecd61db2df3fa5bbc4256352daea3" + }, + "second": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 16, + "volume": 132.3686028, + "area": 199.3478768, + "bounds": [ + -1.5000001, + -1e-7, + -1e-7, + 2.0000001, + 3.5980764, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 0, + "ambiguousResults": 17, + "historySha256": "0f3647564af9f9f8b1a901c4ce0d83c036da0ccd53662926e46a90af37f714a9", + "namingEvidenceSha256": "00fbea20cddb33f2e58a0ff7f19a3dd4f1f93ab5c585807f8969ff73cbefef62", + "namingSemanticSha256": "f96061d31b3b724e8eda229a3093de49b31e5580350be47b3dd75024060441f5" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 30, + 45, + 30 + ], + "beforeValue": 30, + "editedValue": 45, + "restoredValue": 30, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 27, + "vertices": 16, + "volume": 150, + "area": 217.5735931, + "bounds": [ + -2.1213205, + -1e-7, + -1e-7, + 2.0000001, + 3.5355341, + 15.0000001 + ] + }, + "historyRecords": 71, + "selectedRecords": 0, + "ambiguousResults": 15, + "historySha256": "bab8cd063f9d2b56e97a5d9f05066327cd60804a4dab42ed221ed832036042c4", + "namingEvidenceSha256": "ec04bf5e8ab016944e863bb494c623c7785fc939dd4ba2b02b6141034c7f51de", + "namingSemanticSha256": "d9a7272627c22efffc6bd238df953cc792bd4da38d9a68cf1788d390354ad83e" + }, + "restoredEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 16, + "volume": 132.3686028, + "area": 199.3478768, + "bounds": [ + -1.5000001, + -1e-7, + -1e-7, + 2.0000001, + 3.5980764, + 15.0000001 + ] + }, + "historyRecords": 78, + "selectedRecords": 0, + "ambiguousResults": 17, + "historySha256": "0f3647564af9f9f8b1a901c4ce0d83c036da0ccd53662926e46a90af37f714a9", + "namingEvidenceSha256": "00fbea20cddb33f2e58a0ff7f19a3dd4f1f93ab5c585807f8969ff73cbefef62", + "namingSemanticSha256": "f96061d31b3b724e8eda229a3093de49b31e5580350be47b3dd75024060441f5" + } + }, + "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": "pipe->polar-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 5543, + "namingEvidenceSha256": "00fbea20cddb33f2e58a0ff7f19a3dd4f1f93ab5c585807f8969ff73cbefef62", + "pair": "pipe->polar-pattern", + "shape": { + "area": 199.3478768, + "bounds": [ + -1.5, + 0, + 0, + 2, + 3.5980762, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 132.3686028 + } + }, + "reopened": { + "namingEvidenceBytes": 5543, + "namingEvidenceSha256": "00fbea20cddb33f2e58a0ff7f19a3dd4f1f93ab5c585807f8969ff73cbefef62", + "pair": "pipe->polar-pattern", + "shape": { + "area": 199.3478768, + "bounds": [ + -1.5, + 0, + 0, + 2, + 3.5980762, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 132.3686028 + } + }, + "resaved": { + "namingEvidenceBytes": 5543, + "namingEvidenceSha256": "00fbea20cddb33f2e58a0ff7f19a3dd4f1f93ab5c585807f8969ff73cbefef62", + "pair": "pipe->polar-pattern", + "shape": { + "area": 199.3478768, + "bounds": [ + -1.5, + 0, + 0, + 2, + 3.5980762, + 15 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 132.3686028 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-mirrored", + "pair": "pipe->mirrored", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "2eec85710b2035c5517d5e73099c85e479acf6bf4ad0e954748c2472b871cbcb", + "namingSemanticSha256": "4c514b03e77a8fab6e8a69c043e9ffb972ee9746e01a1e791df20f64528ee043" + }, + "second": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 156, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "b02af4202ccedecf124a242a0c8a065d62a33331338fcee990f9a6416df5da06", + "namingEvidenceSha256": "a7d986e9eedd85e436d20e0d9e8013e17598139d9a22144efe45046defd71ef0", + "namingSemanticSha256": "9293d8c7e0fa09f94ddff88ad0c3fd63cacc10eaa56d3d2bb539cc65e00128fe" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "planeOriginX", + "trajectory": [ + 1, + 1.5, + 1 + ], + "beforeValue": 1, + "editedValue": 1.5, + "restoredValue": 1, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 28, + "vertices": 16, + "volume": 135, + "area": 198, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 3.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 0, + "ambiguousResults": 20, + "historySha256": "8de4279183764eaf7764e83ec22b7e429d6b7758f9b7a3fdda06b6484a864568", + "namingEvidenceSha256": "4a28e9c0925ef23eb85817972eb6b423b78e82e2e1befae5a00a70eadf41e873", + "namingSemanticSha256": "4dc74b3dda3b947fa6430f6b5ceddc475ddcf0af11c26626a9da8048ec768173" + }, + "restoredEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 156, + "selectedRecords": 0, + "ambiguousResults": 26, + "historySha256": "b02af4202ccedecf124a242a0c8a065d62a33331338fcee990f9a6416df5da06", + "namingEvidenceSha256": "a7d986e9eedd85e436d20e0d9e8013e17598139d9a22144efe45046defd71ef0", + "namingSemanticSha256": "9293d8c7e0fa09f94ddff88ad0c3fd63cacc10eaa56d3d2bb539cc65e00128fe" + } + }, + "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": "pipe->mirrored", + "phases": { + "initial": { + "namingEvidenceBytes": 9654, + "namingEvidenceSha256": "a7d986e9eedd85e436d20e0d9e8013e17598139d9a22144efe45046defd71ef0", + "pair": "pipe->mirrored", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "reopened": { + "namingEvidenceBytes": 9654, + "namingEvidenceSha256": "a7d986e9eedd85e436d20e0d9e8013e17598139d9a22144efe45046defd71ef0", + "pair": "pipe->mirrored", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + }, + "resaved": { + "namingEvidenceBytes": 9654, + "namingEvidenceSha256": "a7d986e9eedd85e436d20e0d9e8013e17598139d9a22144efe45046defd71ef0", + "pair": "pipe->mirrored", + "shape": { + "area": 162, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 15 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 90 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-pipe-multi-transform", + "pair": "pipe->multi-transform", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 90, + "area": 162, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 28, + "selectedRecords": 0, + "ambiguousResults": 10, + "historySha256": "929a8fbdad7f89c330b5f070754745aedf7424a4f76b6307bdc0096948d2c79f", + "namingEvidenceSha256": "7d334815c60f991224ab834658ccf76b6d5f498d044625a3ae0cb88bd93f3f98", + "namingSemanticSha256": "d7fdfddad24e36f0d76cf0a4ca3b955f98825db0015aca9100edcba7ca5c6e01" + }, + "second": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 2, + "faces": 12, + "edges": 24, + "vertices": 16, + "volume": 180, + "area": 324, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 300, + "selectedRecords": 0, + "ambiguousResults": 52, + "historySha256": "96ed92d8b2bd62db8ecccbb558c33dede0be2c1e3a315e6f87cb8ad440da2f16", + "namingEvidenceSha256": "c8dd5ba216d0031defb0f15bb0e1d0dfcf22d50047838fa3f956e7f191f769a2", + "namingSemanticSha256": "73caa327e051c35b4857bc6d9ea974c06e071030923fdc1389eb9a8770b932f9" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "multiTranslationX", + "trajectory": [ + 8, + 7, + 8 + ], + "beforeValue": 8, + "editedValue": 7, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 2, + "faces": 28, + "edges": 56, + "vertices": 32, + "volume": 270, + "area": 396, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 345, + "selectedRecords": 0, + "ambiguousResults": 116, + "historySha256": "ec7eabf11f1dfd2140d98afd5a0fbaea56410aa7181f97b0ddcc7f6336cbf0e8", + "namingEvidenceSha256": "67ff5a01cf6da23a71e81c08b5113a98646837a3e7fc5746963e2c355158809b", + "namingSemanticSha256": "adb580f2d6030b074499e02ba33b78b3824962ecf0cf0db6f3451b96d359708e" + }, + "restoredEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 2, + "faces": 12, + "edges": 24, + "vertices": 16, + "volume": 180, + "area": 324, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 3.0000001, + 15.0000001 + ] + }, + "historyRecords": 300, + "selectedRecords": 0, + "ambiguousResults": 52, + "historySha256": "96ed92d8b2bd62db8ecccbb558c33dede0be2c1e3a315e6f87cb8ad440da2f16", + "namingEvidenceSha256": "c8dd5ba216d0031defb0f15bb0e1d0dfcf22d50047838fa3f956e7f191f769a2", + "namingSemanticSha256": "73caa327e051c35b4857bc6d9ea974c06e071030923fdc1389eb9a8770b932f9" + } + }, + "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": "pipe->multi-transform", + "phases": { + "initial": { + "namingEvidenceBytes": 32114, + "namingEvidenceSha256": "c8dd5ba216d0031defb0f15bb0e1d0dfcf22d50047838fa3f956e7f191f769a2", + "pair": "pipe->multi-transform", + "shape": { + "area": 324, + "bounds": [ + 0, + 0, + 0, + 10, + 3, + 15 + ], + "edges": 24, + "faces": 12, + "solids": 2, + "valid": true, + "vertices": 16, + "volume": 180 + } + }, + "reopened": { + "namingEvidenceBytes": 32114, + "namingEvidenceSha256": "c8dd5ba216d0031defb0f15bb0e1d0dfcf22d50047838fa3f956e7f191f769a2", + "pair": "pipe->multi-transform", + "shape": { + "area": 324, + "bounds": [ + 0, + 0, + 0, + 10, + 3, + 15 + ], + "edges": 24, + "faces": 12, + "solids": 2, + "valid": true, + "vertices": 16, + "volume": 180 + } + }, + "resaved": { + "namingEvidenceBytes": 32114, + "namingEvidenceSha256": "c8dd5ba216d0031defb0f15bb0e1d0dfcf22d50047838fa3f956e7f191f769a2", + "pair": "pipe->multi-transform", + "shape": { + "area": 324, + "bounds": [ + 0, + 0, + 0, + 10, + 3, + 15 + ], + "edges": 24, + "faces": 12, + "solids": 2, + "valid": true, + "vertices": 16, + "volume": 180 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-fuse", + "pair": "revolution->fuse", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "0c1d0365322235637914f8f921c29549276f3e33a9b3fa772318e61db94f58fd", + "namingSemanticSha256": "67d8db7588d654ee8bbb910350d6a22d035e466fccfc61d6579573a98712dba7" + }, + "second": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 13, + "volume": 188.0229122, + "area": 241.8495824, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 5.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 45, + "selectedRecords": 7, + "ambiguousResults": 13, + "historySha256": "6896be385802ea74b597b2c2e5741764e67f6ce1a5fe5e19163cf49aac87d77e", + "namingEvidenceSha256": "7a6399dd229a11fb94a8b751b0b2516a7e69210052ff48fe1761e7344c227606", + "namingSemanticSha256": "318ea1b6580bb57ec741e68d4da267599321f49e610610cf4517980907ebf234" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 15, + "volume": 192.1067282, + "area": 248.4170359, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 5.5000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 26, + "selectedRecords": 6, + "ambiguousResults": 10, + "historySha256": "c66fb91831cec344f0f2b0c336b2b4f434a7b8421e8a73a4760eba6a0d04ba52", + "namingEvidenceSha256": "0fb5aad76a9d3f81716c84e2d639ef82c5243632d6b286be1e7fac0765dc1da6", + "namingSemanticSha256": "3ec1eb56216b2c6e971589245abf72ea255757615e522d495377bf8e662c33b4" + }, + "restoredEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 24, + "vertices": 13, + "volume": 188.0229122, + "area": 241.8495824, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 5.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 45, + "selectedRecords": 7, + "ambiguousResults": 13, + "historySha256": "6896be385802ea74b597b2c2e5741764e67f6ce1a5fe5e19163cf49aac87d77e", + "namingEvidenceSha256": "43ab02ee3197c4f5ced8d81112b580e75172daa3e0a4c96fb6d62dba16dbc68f", + "namingSemanticSha256": "318ea1b6580bb57ec741e68d4da267599321f49e610610cf4517980907ebf234" + } + }, + "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": "revolution->fuse", + "phases": { + "initial": { + "namingEvidenceBytes": 8166, + "namingEvidenceSha256": "7a6399dd229a11fb94a8b751b0b2516a7e69210052ff48fe1761e7344c227606", + "pair": "revolution->fuse", + "shape": { + "area": 241.8495824, + "bounds": [ + -4, + 0, + -3, + 5, + 5, + 5 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 13, + "volume": 188.0229122 + } + }, + "reopened": { + "namingEvidenceBytes": 8166, + "namingEvidenceSha256": "7a6399dd229a11fb94a8b751b0b2516a7e69210052ff48fe1761e7344c227606", + "pair": "revolution->fuse", + "shape": { + "area": 241.8495824, + "bounds": [ + -4, + 0, + -3, + 5, + 5, + 5 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 13, + "volume": 188.0229122 + } + }, + "resaved": { + "namingEvidenceBytes": 8166, + "namingEvidenceSha256": "7a6399dd229a11fb94a8b751b0b2516a7e69210052ff48fe1761e7344c227606", + "pair": "revolution->fuse", + "shape": { + "area": 241.8495824, + "bounds": [ + -4, + 0, + -3, + 5, + 5, + 5 + ], + "edges": 24, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 13, + "volume": 188.0229122 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-cut", + "pair": "revolution->cut", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "7405ffe5ed8eb06ee70a69271f2e5933b3b7ace0c91ae7f954f9a60d0b301361", + "namingSemanticSha256": "6eddc7c4c0e7f8105a96617dfb53e3f0c49538df007cd9f2082a33082a3d1b18" + }, + "second": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 10, + "volume": 68.3585388, + "area": 131.7574762, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 75, + "selectedRecords": 7, + "ambiguousResults": 12, + "historySha256": "76b2f3511569a7ffc1641e4b5b1729415bfd8e4c7eb5b9934292826c6ac1aef4", + "namingEvidenceSha256": "6e322353b389560c229368b35691dabbf23fb1f651b52ffe1eb982422c260096", + "namingSemanticSha256": "107d490ba149fa81610123e71a1efd4e3390cd100a830850ec0093e77778743a" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 11, + "volume": 70.3585388, + "area": 129.7574762, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 55, + "selectedRecords": 5, + "ambiguousResults": 8, + "historySha256": "ef08f9cc2f81a95294ceab6a37177b51a07037c1e7d3e727fc3e20eee8b7f44d", + "namingEvidenceSha256": "647c3d28e72a6f0ca78c0a4c4e1516f1e83434bdc23b17df82a5b71f1537c85a", + "namingSemanticSha256": "9d32ddefaca669c51c38320c7f13db39fb74adf7d9d47636d20c78b1f40e1e00" + }, + "restoredEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 10, + "volume": 68.3585388, + "area": 131.7574762, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 75, + "selectedRecords": 7, + "ambiguousResults": 12, + "historySha256": "76b2f3511569a7ffc1641e4b5b1729415bfd8e4c7eb5b9934292826c6ac1aef4", + "namingEvidenceSha256": "1d72a2335dcb4b0174ab96fea770666f2b3a78a4ed581127c48413108994cf30", + "namingSemanticSha256": "107d490ba149fa81610123e71a1efd4e3390cd100a830850ec0093e77778743a" + } + }, + "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": "revolution->cut", + "phases": { + "initial": { + "namingEvidenceBytes": 8699, + "namingEvidenceSha256": "6e322353b389560c229368b35691dabbf23fb1f651b52ffe1eb982422c260096", + "pair": "revolution->cut", + "shape": { + "area": 131.7574762, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 68.3585388 + } + }, + "reopened": { + "namingEvidenceBytes": 8699, + "namingEvidenceSha256": "6e322353b389560c229368b35691dabbf23fb1f651b52ffe1eb982422c260096", + "pair": "revolution->cut", + "shape": { + "area": 131.7574762, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 68.3585388 + } + }, + "resaved": { + "namingEvidenceBytes": 8699, + "namingEvidenceSha256": "6e322353b389560c229368b35691dabbf23fb1f651b52ffe1eb982422c260096", + "pair": "revolution->cut", + "shape": { + "area": 131.7574762, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 68.3585388 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-common", + "pair": "revolution->common", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "17f7399d542bf3329b039741322c0221acb3d23534f1844aa55a1fa4b3c09791", + "namingSemanticSha256": "5c127176a20acc063e0ac8ff17a75ecb0b48966c45561f1bf038ead4ec447978" + }, + "second": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 5, + "edges": 9, + "vertices": 6, + "volume": 12.3753114, + "area": 33.8141238, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 2.8284273 + ] + }, + "historyRecords": 100, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "0f02d55e2ce01d65673b3553c24fc3ef07d34d17293fd3c329b3ba6b4295f09f", + "namingEvidenceSha256": "f8bb3ec7daa8a663b670045cf2d8f22f233ae74d75a22f5801685a4384c1dd1d", + "namingSemanticSha256": "be22e5f5f3884ac3c603ae716a89f4f2336986cb0901620ff63b09957b25b9ec" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 5, + "edges": 9, + "vertices": 6, + "volume": 8.2914955, + "area": 27.2466702, + "bounds": [ + 0.4999998, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 2.5980764 + ] + }, + "historyRecords": 100, + "selectedRecords": 4, + "ambiguousResults": 7, + "historySha256": "fc5edbd45acb577c31f68ad816ff0fe68b959d9a0cfc478731f89e68d441c71f", + "namingEvidenceSha256": "4fa090f62fc90420ad3b66366e7b65c57cafc7ad3fba9fb81acd88bf05af5536", + "namingSemanticSha256": "b225444036f4b6f3e5204c21c12e3cbba0f58786d01beee4400f19c7abe4e6cd" + }, + "restoredEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 5, + "edges": 9, + "vertices": 6, + "volume": 12.3753114, + "area": 33.8141238, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 2.0000001, + 3.0000001, + 2.8284273 + ] + }, + "historyRecords": 100, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "0f02d55e2ce01d65673b3553c24fc3ef07d34d17293fd3c329b3ba6b4295f09f", + "namingEvidenceSha256": "a08b0090cac8442b89c0430bd0bc8eeac819771583322e854bed4e0bb660472a", + "namingSemanticSha256": "be22e5f5f3884ac3c603ae716a89f4f2336986cb0901620ff63b09957b25b9ec" + } + }, + "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": "revolution->common", + "phases": { + "initial": { + "namingEvidenceBytes": 5600, + "namingEvidenceSha256": "f8bb3ec7daa8a663b670045cf2d8f22f233ae74d75a22f5801685a4384c1dd1d", + "pair": "revolution->common", + "shape": { + "area": 33.8141238, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 2.8284271 + ], + "edges": 9, + "faces": 5, + "solids": 1, + "valid": true, + "vertices": 6, + "volume": 12.3753114 + } + }, + "reopened": { + "namingEvidenceBytes": 5600, + "namingEvidenceSha256": "f8bb3ec7daa8a663b670045cf2d8f22f233ae74d75a22f5801685a4384c1dd1d", + "pair": "revolution->common", + "shape": { + "area": 33.8141238, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 2.8284271 + ], + "edges": 9, + "faces": 5, + "solids": 1, + "valid": true, + "vertices": 6, + "volume": 12.3753114 + } + }, + "resaved": { + "namingEvidenceBytes": 5600, + "namingEvidenceSha256": "f8bb3ec7daa8a663b670045cf2d8f22f233ae74d75a22f5801685a4384c1dd1d", + "pair": "revolution->common", + "shape": { + "area": 33.8141238, + "bounds": [ + 0, + 0, + 0, + 2, + 3, + 2.8284271 + ], + "edges": 9, + "faces": 5, + "solids": 1, + "valid": true, + "vertices": 6, + "volume": 12.3753114 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-rotate", + "pair": "revolution->rotate", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "ae1a0ef03f48da4c266ed201051dc86143c8ed4a7f38ec30012ee3299adbaef7", + "namingSemanticSha256": "bbe3f86e98c6d104c0254f756d19567c57ad18ed51566f45d33478e11341a460" + }, + "second": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.6401605, + -1.0352763, + -3.0000001, + 1.9318518, + 3.4154157, + 3.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 4, + "ambiguousResults": 10, + "historySha256": "08457dab5674950126f8759cd12704f4e0058d0b59feb4797b4f5878b42e8342", + "namingEvidenceSha256": "41dcd9a123036d560d4ca02f683dfb5e6bbd010eeb6b384c5bbcca1a2ced1f42", + "namingSemanticSha256": "dfab29f6994eb86b04d79a19777c9b19b86f646ef3217334275d01ecdcdbd7e3" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 15, + 22.5, + 15 + ], + "beforeValue": 15, + "editedValue": 22.5, + "restoredValue": 15, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.8435685, + -1.5307338, + -3.0000001, + 1.8477592, + 3.5370056, + 3.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 4, + "ambiguousResults": 10, + "historySha256": "08457dab5674950126f8759cd12704f4e0058d0b59feb4797b4f5878b42e8342", + "namingEvidenceSha256": "86f50127c16011efa3d7ae12ed51ae08859a9739ed954239595517c1542e3707", + "namingSemanticSha256": "dfab29f6994eb86b04d79a19777c9b19b86f646ef3217334275d01ecdcdbd7e3" + }, + "restoredEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.6401605, + -1.0352763, + -3.0000001, + 1.9318518, + 3.4154157, + 3.0000001 + ] + }, + "historyRecords": 40, + "selectedRecords": 4, + "ambiguousResults": 10, + "historySha256": "08457dab5674950126f8759cd12704f4e0058d0b59feb4797b4f5878b42e8342", + "namingEvidenceSha256": "16bcc66dba1cea14c359878f748c1974191ac97d99b06e84dc8977869230d1de", + "namingSemanticSha256": "dfab29f6994eb86b04d79a19777c9b19b86f646ef3217334275d01ecdcdbd7e3" + } + }, + "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": "revolution->rotate", + "phases": { + "initial": { + "namingEvidenceBytes": 6627, + "namingEvidenceSha256": "41dcd9a123036d560d4ca02f683dfb5e6bbd010eeb6b384c5bbcca1a2ced1f42", + "pair": "revolution->rotate", + "shape": { + "area": 125.6637061, + "bounds": [ + -4.6401604, + -1.0352762, + -3, + 1.9318517, + 3.4154156, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "reopened": { + "namingEvidenceBytes": 6627, + "namingEvidenceSha256": "41dcd9a123036d560d4ca02f683dfb5e6bbd010eeb6b384c5bbcca1a2ced1f42", + "pair": "revolution->rotate", + "shape": { + "area": 125.6637061, + "bounds": [ + -4.6401604, + -1.0352762, + -3, + 1.9318517, + 3.4154156, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "resaved": { + "namingEvidenceBytes": 6627, + "namingEvidenceSha256": "41dcd9a123036d560d4ca02f683dfb5e6bbd010eeb6b384c5bbcca1a2ced1f42", + "pair": "revolution->rotate", + "shape": { + "area": 125.6637061, + "bounds": [ + -4.6401604, + -1.0352762, + -3, + 1.9318517, + 3.4154156, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-pad", + "pair": "revolution->pad", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "49c8255e45b18ce698b33f92023b61e7401da64455ef2fe76c22a277de7d96e3", + "namingSemanticSha256": "55a135a89852a0eac2eed592dc297505c975cb13677d109aba7362146b292282" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "length", + "trajectory": [ + 5, + 7.5, + 5 + ], + "stable": true, + "attempts": [ + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 7.5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "nativeTypeId": "PartDesign::Pad", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "Body", + "typeId": "PartDesign::Body" + }, + { + "name": "Origin002", + "typeId": "App::Origin" + }, + { + "name": "X_Axis001", + "typeId": "App::Line" + }, + { + "name": "Y_Axis001", + "typeId": "App::Line" + }, + { + "name": "Z_Axis001", + "typeId": "App::Line" + }, + { + "name": "XY_Plane001", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane001", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane001", + "typeId": "App::Plane" + }, + { + "name": "Origin003", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "PartDesign::Pad" + } + ], + "parameter": { + "name": "length", + "value": 5 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "FeatureExtrusion: Length: Could not extrude the sketch!" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "PartDesign::Pad", + "operation": "pad", + "pair": "revolution->pad", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1011", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-revolution-pocket", + "pair": "revolution->pocket", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "9ff9b4efd21d9fb6adde8ca983c04db534f2626109363e8e59576b53662a0010", + "namingSemanticSha256": "8e249a8e4097ae899056aad5e159309a1ddd183851ab297142834459aa377c9a" + }, + "second": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 14, + "vertices": 8, + "volume": 64.8386964, + "area": 127.7646763, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 104, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "92f1ace4689d4322138e9cd6fb2d59168e8b15bcc009e0a5a4f6dec65bcc05ce", + "namingEvidenceSha256": "4fad1b569b4c8f0bdc466fbba0d2866a62d60e898f48ef5a35b56b67f55257fd", + "namingSemanticSha256": "1bb4cc7ab390e1263dd4a7cdd7ab1e3ffe565ca1c4f5268da575caba0033d65c" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "length", + "trajectory": [ + 2, + 1, + 2 + ], + "beforeValue": 2, + "editedValue": 1, + "restoredValue": 2, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 14, + "vertices": 8, + "volume": 69.5677847, + "area": 133.203496, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 104, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "92f1ace4689d4322138e9cd6fb2d59168e8b15bcc009e0a5a4f6dec65bcc05ce", + "namingEvidenceSha256": "4937c43110c04b3dd21de7337ec5bb21d799c6c1d2499c7e09e9a9deca7438e4", + "namingSemanticSha256": "1bb4cc7ab390e1263dd4a7cdd7ab1e3ffe565ca1c4f5268da575caba0033d65c" + }, + "restoredEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 7, + "edges": 14, + "vertices": 8, + "volume": 64.8386964, + "area": 127.7646763, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 104, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "92f1ace4689d4322138e9cd6fb2d59168e8b15bcc009e0a5a4f6dec65bcc05ce", + "namingEvidenceSha256": "84136f5c8b04574a032d87fd8f1340bcd6b3896596ee06ecb2035cdaeaba7f43", + "namingSemanticSha256": "1bb4cc7ab390e1263dd4a7cdd7ab1e3ffe565ca1c4f5268da575caba0033d65c" + } + }, + "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": "revolution->pocket", + "phases": { + "initial": { + "namingEvidenceBytes": 11684, + "namingEvidenceSha256": "4fad1b569b4c8f0bdc466fbba0d2866a62d60e898f48ef5a35b56b67f55257fd", + "pair": "revolution->pocket", + "shape": { + "area": 127.7646763, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 64.8386964 + } + }, + "reopened": { + "namingEvidenceBytes": 11684, + "namingEvidenceSha256": "4fad1b569b4c8f0bdc466fbba0d2866a62d60e898f48ef5a35b56b67f55257fd", + "pair": "revolution->pocket", + "shape": { + "area": 127.7646763, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 64.8386964 + } + }, + "resaved": { + "namingEvidenceBytes": 11684, + "namingEvidenceSha256": "4fad1b569b4c8f0bdc466fbba0d2866a62d60e898f48ef5a35b56b67f55257fd", + "pair": "revolution->pocket", + "shape": { + "area": 127.7646763, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 7, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 64.8386964 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-loft", + "pair": "revolution->loft", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "fda20703d3ce5896a93b066e725af1be4e55859dc52f7a362a0ea4bc1f53e155", + "namingSemanticSha256": "36e814cece5f52a80531f5f37c54d7f842b90dd50cb6ac03197d5ff2ca6e9512" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "ruled", + "trajectory": [ + false, + true, + false + ], + "kernelAttempts": [ + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 4, + "edges": 12, + "vertices": 6, + "volume": -230.7522222, + "area": 494.1408156, + "bounds": [ + -5.4511, + -1e-7, + -4.0652749, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "ce6fffe47c8119b188cec22edf2949cba4d9124fbcf6db102a37837d8145e593", + "authority": "kernel-invalid-result" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": true, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 4, + "edges": 12, + "vertices": 6, + "volume": -230.7522222, + "area": 494.1408156, + "bounds": [ + -5.4511, + -1e-7, + -4.0652749, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "ce6fffe47c8119b188cec22edf2949cba4d9124fbcf6db102a37837d8145e593", + "authority": "kernel-invalid-result" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 4, + "edges": 12, + "vertices": 6, + "volume": -230.7522222, + "area": 494.1408156, + "bounds": [ + -5.4511, + -1e-7, + -4.0652749, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "ce6fffe47c8119b188cec22edf2949cba4d9124fbcf6db102a37837d8145e593", + "authority": "kernel-invalid-result" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + } + ] + }, + "inputShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "nativeTypeId": "Part::Loft", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "Section", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Loft" + } + ], + "parameter": { + "name": "ruled", + "value": false + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Profile shape is not a single vertex, edge, wire nor face." + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Loft", + "operation": "loft", + "pair": "revolution->loft", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1021", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-revolution-pipe", + "pair": "revolution->pipe", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "60a6f6b46ae21d78f67998e04b142626de4f79bdc43067613f523e80f2cf764e", + "namingSemanticSha256": "cfe10d5110f0f5e1a9d89ae3ee7275575c017c27ce3bdb887a6c0f6ac2e49aed" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "spineLength", + "trajectory": [ + 15, + 12, + 15 + ], + "stable": true, + "attempts": [ + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 12, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "spine": { + "name": "Spine", + "subelements": [], + "typeId": "Part::Feature" + } + }, + "inputShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "nativeTypeId": "Part::Sweep", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "Spine", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Sweep" + } + ], + "parameter": { + "name": "spineLength", + "value": 15 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "A fatal error occurred when making the sweep" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Sweep", + "operation": "pipe", + "pair": "revolution->pipe", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1029", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-revolution-revolution", + "pair": "revolution->revolution", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "bcf1733892b5b2a6d8600ba8d1bff979d1835be4831dfec2c8b5b967017a075d", + "namingSemanticSha256": "5c87226545efecbdb89525d7bd30226c22c417ebc70c960517c83eea06b60b90" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "angle", + "trajectory": [ + 360, + 270, + 360 + ], + "stable": true, + "attempts": [ + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 270, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "nativeTypeId": "Part::Revolution", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "Part::Revolution" + } + ], + "parameter": { + "name": "angle", + "value": 360 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Solids are not Processed" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Revolution", + "operation": "revolution", + "pair": "revolution->revolution", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Open_CASCADE_STEP_translator_8_0_1034", + "typeId": "App::Part" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + } + ], + "sourceShape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 125.6637061, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "brepSha256": "dc42ef09f60facf8a01e27f020f63a1f318e8947405b40bba9989ff4b0a99942", + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982237 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-revolution-groove", + "pair": "revolution->groove", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "1a8d511c983f4cb419bc5b29781006ebe81b9b3966cbdeb8589a1cea6bd3a472", + "namingSemanticSha256": "e30632600e5cdcacb1eda25612a222e3afd79eff7de44616c8e9b7133336fcff" + }, + "second": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 71.0943912, + "area": 132.3622306, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 43, + "selectedRecords": 8, + "ambiguousResults": 9, + "historySha256": "b77224da55bde363eee44ac3f9f810fe4c1cf357dc3041ed3a6e0fd68e2aba5a", + "namingEvidenceSha256": "e786e920846d8ae88e3803dfdcbf285c76df60c4485a3c034b3ab2608baa3118", + "namingSemanticSha256": "51554796e26a360f9cb874f88c620e1abd8b55d76d99f2902cfc5c9dd1474ae8" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 360, + 180, + 360 + ], + "beforeValue": 360, + "editedValue": 180, + "restoredValue": 360, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 18, + "vertices": 12, + "volume": 73.2463075, + "area": 130.0129684, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 70, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "e8ec5c2e1f50106a1bf0c5355fc8ebdf327adf21ac5661dfae08e0cd9a66c617", + "namingEvidenceSha256": "190a69a688ea7d2a98d164666bbacfdb26919a47287e17e8accfa25b5a1e93ef", + "namingSemanticSha256": "f14a0ec06a20e76b52ee7495a99581e4f07d786e2ecba3ddcfde4304502a1636" + }, + "restoredEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 71.0943912, + "area": 132.3622306, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 43, + "selectedRecords": 8, + "ambiguousResults": 9, + "historySha256": "b77224da55bde363eee44ac3f9f810fe4c1cf357dc3041ed3a6e0fd68e2aba5a", + "namingEvidenceSha256": "b284e06812463716d12cb08ca8f82285b3cde8bd60b895135603771a6f603fc2", + "namingSemanticSha256": "51554796e26a360f9cb874f88c620e1abd8b55d76d99f2902cfc5c9dd1474ae8" + } + }, + "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": "revolution->groove", + "phases": { + "initial": { + "namingEvidenceBytes": 6668, + "namingEvidenceSha256": "e786e920846d8ae88e3803dfdcbf285c76df60c4485a3c034b3ab2608baa3118", + "pair": "revolution->groove", + "shape": { + "area": 132.3622306, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 71.0943912 + } + }, + "reopened": { + "namingEvidenceBytes": 6668, + "namingEvidenceSha256": "e786e920846d8ae88e3803dfdcbf285c76df60c4485a3c034b3ab2608baa3118", + "pair": "revolution->groove", + "shape": { + "area": 132.3622306, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 71.0943912 + } + }, + "resaved": { + "namingEvidenceBytes": 6668, + "namingEvidenceSha256": "e786e920846d8ae88e3803dfdcbf285c76df60c4485a3c034b3ab2608baa3118", + "pair": "revolution->groove", + "shape": { + "area": 132.3622306, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 71.0943912 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-fillet", + "pair": "revolution->fillet", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "3aa5b4e9930d0a6a97bce63593da3f4c540c12e5df86b9ddd10d12e61a2a82ba", + "namingSemanticSha256": "54174eb236b1f7fa4cac1d583a2af0708eba244721d17526d92d871739a4a75d" + }, + "second": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 73.6722933, + "area": 117.0340543, + "bounds": [ + -4.2471767, + -1e-7, + -3.2471767, + 2.2471767, + 3.0000001, + 3.2471767 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "44bb9966adf752e76bd06eb5467660452dd656206fac4c098cc045eb3defe750", + "namingSemanticSha256": "dcb91dd7f94b3edeed310203cb995cdb0b8a6cdf793d32967c4443ddd680f194" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 71.5148803, + "area": 112.7192283, + "bounds": [ + -4.2471767, + -1e-7, + -3.2471767, + 2.2471767, + 3.0000001, + 3.2471767 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "9cdda3159eec8a4bba825a3acf40c4865614e753e239e45cac00c1e683ea56b4", + "namingSemanticSha256": "dcb91dd7f94b3edeed310203cb995cdb0b8a6cdf793d32967c4443ddd680f194" + }, + "restoredEvidence": { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 73.6722933, + "area": 117.0340543, + "bounds": [ + -4.2471767, + -1e-7, + -3.2471767, + 2.2471767, + 3.0000001, + 3.2471767 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "701bee1f4dd0b401aae41722e7833a4b051949597cc1e851d5dfdbdb8f6354d2", + "namingSemanticSha256": "dcb91dd7f94b3edeed310203cb995cdb0b8a6cdf793d32967c4443ddd680f194" + } + }, + "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": "revolution->fillet", + "phases": { + "initial": { + "namingEvidenceBytes": 4312, + "namingEvidenceSha256": "44bb9966adf752e76bd06eb5467660452dd656206fac4c098cc045eb3defe750", + "pair": "revolution->fillet", + "shape": { + "area": 117.0340543, + "bounds": [ + -4.2471766, + 0, + -3.2471766, + 2.2471766, + 3, + 3.2471766 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 73.6722933 + } + }, + "reopened": { + "namingEvidenceBytes": 4312, + "namingEvidenceSha256": "44bb9966adf752e76bd06eb5467660452dd656206fac4c098cc045eb3defe750", + "pair": "revolution->fillet", + "shape": { + "area": 117.0340543, + "bounds": [ + -4.2471766, + 0, + -3.2471766, + 2.2471766, + 3, + 3.2471766 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 73.6722933 + } + }, + "resaved": { + "namingEvidenceBytes": 4312, + "namingEvidenceSha256": "44bb9966adf752e76bd06eb5467660452dd656206fac4c098cc045eb3defe750", + "pair": "revolution->fillet", + "shape": { + "area": 117.0340543, + "bounds": [ + -4.2471766, + 0, + -3.2471766, + 2.2471766, + 3, + 3.2471766 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 73.6722933 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-chamfer", + "pair": "revolution->chamfer", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "df8831002e2cb5ac150b0666c9ecdbf876743d0602f196b9fa1b8926387d577d", + "namingSemanticSha256": "b1d35635667297e8e5d5b78eacd499d3242ad9dc51e139cd139c32c38dfbcd82" + }, + "second": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 71.3769851, + "area": 113.885771, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "7dcb64da6b817993787620aff29755276305efd67464317bc4311f9bf0a7c4ec", + "namingSemanticSha256": "03f5c885c1ff775ef944ad88cf0807e3372c0f8f530bb77e38c214afa9042ae7" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "distance", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 66.3504368, + "area": 107.9968034, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "cc2aefc7347635ff5e5ea2dbcca8e6467f24354bc145b95778b3f1192279b951", + "namingSemanticSha256": "03f5c885c1ff775ef944ad88cf0807e3372c0f8f530bb77e38c214afa9042ae7" + }, + "restoredEvidence": { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 14, + "vertices": 8, + "volume": 71.3769851, + "area": 113.885771, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 48, + "selectedRecords": 4, + "ambiguousResults": 6, + "historySha256": "afbec1b3da27516aff09e3041d8fefcffc98b592e386357220909a68cf02d06d", + "namingEvidenceSha256": "5e7df870a735f8f8c91379bfb7b084c0dd58ac1a88b30f78cd64a95f7c279393", + "namingSemanticSha256": "03f5c885c1ff775ef944ad88cf0807e3372c0f8f530bb77e38c214afa9042ae7" + } + }, + "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": "revolution->chamfer", + "phases": { + "initial": { + "namingEvidenceBytes": 4339, + "namingEvidenceSha256": "7dcb64da6b817993787620aff29755276305efd67464317bc4311f9bf0a7c4ec", + "pair": "revolution->chamfer", + "shape": { + "area": 113.885771, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 71.3769851 + } + }, + "reopened": { + "namingEvidenceBytes": 4339, + "namingEvidenceSha256": "7dcb64da6b817993787620aff29755276305efd67464317bc4311f9bf0a7c4ec", + "pair": "revolution->chamfer", + "shape": { + "area": 113.885771, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 71.3769851 + } + }, + "resaved": { + "namingEvidenceBytes": 4339, + "namingEvidenceSha256": "7dcb64da6b817993787620aff29755276305efd67464317bc4311f9bf0a7c4ec", + "pair": "revolution->chamfer", + "shape": { + "area": 113.885771, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 14, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 71.3769851 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-hole", + "pair": "revolution->hole", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "b0c01e31822e70d4488ee3f5d8d8951e03767493d6a645fdb7056044f45ae120", + "namingSemanticSha256": "0bf421b35a811f5b4ea8ef2f7c41c42b8853e63589f63885a1d2f10dd0b2ece3" + }, + "second": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 11, + "volume": 75.3729574, + "area": 126.2162358, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 19, + "selectedRecords": 1, + "ambiguousResults": 3, + "historySha256": "8e06d3bbe0d22984854c61f1f907068ea89698dc4d965515f5e403b2c431993d", + "namingEvidenceSha256": "fda20258555c2ed8fd6de5e29b89019105225950da86664c95ba5a28c09e836c", + "namingSemanticSha256": "eeab65e88c0394f684f2b4c4ac8cd470502302776c5b7bda3603538bae8cc947" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "beforeValue": 0.4, + "editedValue": 0.6, + "restoredValue": 0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 11, + "volume": 75.3414747, + "area": 126.8693238, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 19, + "selectedRecords": 1, + "ambiguousResults": 3, + "historySha256": "8e06d3bbe0d22984854c61f1f907068ea89698dc4d965515f5e403b2c431993d", + "namingEvidenceSha256": "f6318043d5326e55b04b6e622dc5826c6eadb9baa7bfefb6fc62037bf4758eca", + "namingSemanticSha256": "eeab65e88c0394f684f2b4c4ac8cd470502302776c5b7bda3603538bae8cc947" + }, + "restoredEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 17, + "vertices": 11, + "volume": 75.3729574, + "area": 126.2162358, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 19, + "selectedRecords": 1, + "ambiguousResults": 3, + "historySha256": "8e06d3bbe0d22984854c61f1f907068ea89698dc4d965515f5e403b2c431993d", + "namingEvidenceSha256": "d2b1a3ed0f107d5a3bbd7078574e4400ce2b733cef1773d57ce93d58cf7271ef", + "namingSemanticSha256": "eeab65e88c0394f684f2b4c4ac8cd470502302776c5b7bda3603538bae8cc947" + } + }, + "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": "revolution->hole", + "phases": { + "initial": { + "namingEvidenceBytes": 2006, + "namingEvidenceSha256": "fda20258555c2ed8fd6de5e29b89019105225950da86664c95ba5a28c09e836c", + "pair": "revolution->hole", + "shape": { + "area": 126.2162358, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 11, + "volume": 75.3729574 + } + }, + "reopened": { + "namingEvidenceBytes": 2006, + "namingEvidenceSha256": "fda20258555c2ed8fd6de5e29b89019105225950da86664c95ba5a28c09e836c", + "pair": "revolution->hole", + "shape": { + "area": 126.2162358, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 11, + "volume": 75.3729574 + } + }, + "resaved": { + "namingEvidenceBytes": 2006, + "namingEvidenceSha256": "fda20258555c2ed8fd6de5e29b89019105225950da86664c95ba5a28c09e836c", + "pair": "revolution->hole", + "shape": { + "area": 126.2162358, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 17, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 11, + "volume": 75.3729574 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-draft", + "pair": "revolution->draft", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "8ac56d14955987620e50a85ec9f0bccb8cc3c176261463be8998501482f634a1", + "namingSemanticSha256": "6e41c141d1aca3b3f04b1324e0d62c0e85868ed10ba0599d01b6780bb39d701e" + }, + "second": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982238, + "area": 125.7597093, + "bounds": [ + -4.0000001, + -0.3154313, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 3, + "selectedRecords": 3, + "ambiguousResults": 0, + "historySha256": "148d9e969e513c9e8b79293035ea63db23d1603919a4bcef76fb40882051f950", + "namingEvidenceSha256": "0ce5c784e8160ccefb8de6b199d1fca6bf24a59c385cb9ce0b4ad6b652f3f877", + "namingSemanticSha256": "9d3e52b0728b04ebe72f9836578bc753a0c5e898b8c817a482ea061e37a43950" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 5, + 8, + 5 + ], + "beforeValue": 5, + "editedValue": 8, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982239, + "area": 125.9107002, + "bounds": [ + -4.0000001, + -0.5067054, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 3, + "selectedRecords": 3, + "ambiguousResults": 0, + "historySha256": "148d9e969e513c9e8b79293035ea63db23d1603919a4bcef76fb40882051f950", + "namingEvidenceSha256": "914ac5af217deabd037d9c2acda95a363d008d7815ba07c0e4d5d36c9d929adc", + "namingSemanticSha256": "9d3e52b0728b04ebe72f9836578bc753a0c5e898b8c817a482ea061e37a43950" + }, + "restoredEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982238, + "area": 125.7597093, + "bounds": [ + -4.0000001, + -0.3154313, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 3, + "selectedRecords": 3, + "ambiguousResults": 0, + "historySha256": "148d9e969e513c9e8b79293035ea63db23d1603919a4bcef76fb40882051f950", + "namingEvidenceSha256": "609366d04803a1177beee69248b2bfb0797dcb9d6889210ac5000fb242e67d10", + "namingSemanticSha256": "9d3e52b0728b04ebe72f9836578bc753a0c5e898b8c817a482ea061e37a43950" + } + }, + "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": "revolution->draft", + "phases": { + "initial": { + "namingEvidenceBytes": 1874, + "namingEvidenceSha256": "0ce5c784e8160ccefb8de6b199d1fca6bf24a59c385cb9ce0b4ad6b652f3f877", + "pair": "revolution->draft", + "shape": { + "area": 125.7597093, + "bounds": [ + -4, + -0.3154312, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982238 + } + }, + "reopened": { + "namingEvidenceBytes": 1874, + "namingEvidenceSha256": "0ce5c784e8160ccefb8de6b199d1fca6bf24a59c385cb9ce0b4ad6b652f3f877", + "pair": "revolution->draft", + "shape": { + "area": 125.7597093, + "bounds": [ + -4, + -0.3154312, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982238 + } + }, + "resaved": { + "namingEvidenceBytes": 1874, + "namingEvidenceSha256": "0ce5c784e8160ccefb8de6b199d1fca6bf24a59c385cb9ce0b4ad6b652f3f877", + "pair": "revolution->draft", + "shape": { + "area": 125.7597093, + "bounds": [ + -4, + -0.3154312, + -3, + 2, + 3, + 3 + ], + "edges": 6, + "faces": 4, + "solids": 1, + "valid": true, + "vertices": 4, + "volume": 75.3982238 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-thickness", + "pair": "revolution->thickness", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "dd6c4a3b113e6c4d1f216f284b3e4f587b407bd7a153f0aac9a901bb06e1a946", + "namingSemanticSha256": "f190710b17fcc6565a6f8140e558b189f0afb0c81f31c28baf9279ef34c55844" + }, + "second": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 12, + "vertices": 8, + "volume": 26.7412367, + "area": 147.7805184, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 39, + "selectedRecords": 5, + "ambiguousResults": 6, + "historySha256": "cb8a9834f48240a36409a61389abf9cb8db666ca0cef8bc2458fa4db4caefd54", + "namingEvidenceSha256": "3eb2f354954ce73255f84056978eeb915ad80a53e2b1df8cd22ac5a6db80dc9e", + "namingSemanticSha256": "e8b0dcfb828e6ad6ba4e5ea5e7d1adaa84c4682ee37791bc02803b4b1d9e1380" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "offset", + "trajectory": [ + -0.4, + -0.6, + -0.4 + ], + "beforeValue": -0.4, + "editedValue": -0.6, + "restoredValue": -0.4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 12, + "vertices": 8, + "volume": 38.9808816, + "area": 150.2937925, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 39, + "selectedRecords": 5, + "ambiguousResults": 6, + "historySha256": "cb8a9834f48240a36409a61389abf9cb8db666ca0cef8bc2458fa4db4caefd54", + "namingEvidenceSha256": "602aba3b9b52e023787912289fe801faaa28fedd5a9b2c480b334e261f902970", + "namingSemanticSha256": "e8b0dcfb828e6ad6ba4e5ea5e7d1adaa84c4682ee37791bc02803b4b1d9e1380" + }, + "restoredEvidence": { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 8, + "edges": 12, + "vertices": 8, + "volume": 26.7412367, + "area": 147.7805184, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 39, + "selectedRecords": 5, + "ambiguousResults": 6, + "historySha256": "cb8a9834f48240a36409a61389abf9cb8db666ca0cef8bc2458fa4db4caefd54", + "namingEvidenceSha256": "0f3e865dafdb1d2a7757131e7a1c2e666d1bd107ea2587674498ec816e0c16d4", + "namingSemanticSha256": "e8b0dcfb828e6ad6ba4e5ea5e7d1adaa84c4682ee37791bc02803b4b1d9e1380" + } + }, + "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": "revolution->thickness", + "phases": { + "initial": { + "namingEvidenceBytes": 6200, + "namingEvidenceSha256": "3eb2f354954ce73255f84056978eeb915ad80a53e2b1df8cd22ac5a6db80dc9e", + "pair": "revolution->thickness", + "shape": { + "area": 147.7805184, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 12, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 26.7412367 + } + }, + "reopened": { + "namingEvidenceBytes": 6200, + "namingEvidenceSha256": "3eb2f354954ce73255f84056978eeb915ad80a53e2b1df8cd22ac5a6db80dc9e", + "pair": "revolution->thickness", + "shape": { + "area": 147.7805184, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 12, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 26.7412367 + } + }, + "resaved": { + "namingEvidenceBytes": 6200, + "namingEvidenceSha256": "3eb2f354954ce73255f84056978eeb915ad80a53e2b1df8cd22ac5a6db80dc9e", + "pair": "revolution->thickness", + "shape": { + "area": 147.7805184, + "bounds": [ + -4, + 0, + -3, + 2, + 3, + 3 + ], + "edges": 12, + "faces": 8, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 26.7412367 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-linear-pattern", + "pair": "revolution->linear-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "67581c816d28cfc6c9bb24ba89e35d6ce573b426696dbe48caf86f0d76e76391", + "namingSemanticSha256": "49aca4c6418931eb63a50938da5e8b02fefb071cb08d612641cdc26ba1638e71" + }, + "second": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 12, + "volume": 132.2115549, + "area": 208.6590118, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 6.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 53, + "selectedRecords": 5, + "ambiguousResults": 8, + "historySha256": "d552ab8e479989deeb120e8471cc7f37d5cb6c13bd675e692beac06ac85a51ce", + "namingEvidenceSha256": "51ec6cd86b74db10aef19beeda2a813cba35127b34986e174570396f19db49c4", + "namingSemanticSha256": "e6f415732221c0dc30640d2d3f8acd9164aa82519fcfe734a04da8adcc965f53" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "translationX", + "trajectory": [ + 4, + 3, + 4 + ], + "beforeValue": 4, + "editedValue": 3, + "restoredValue": 4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 41, + "vertices": 20, + "volume": 126.3867082, + "area": 192.5712237, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 5.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 87, + "selectedRecords": 10, + "ambiguousResults": 16, + "historySha256": "8b170be692481f3f9c53cd76851fa6eef3cf7a9f5002598a3a3d7e67be27ed90", + "namingEvidenceSha256": "be531aab31941b77a7c71eec16e525664d188b431a77bf7337fb7cd07b9abc65", + "namingSemanticSha256": "6d5e52772e5e326523f32b9457d79f06c027b02b0d17780d7f2dbc018d3ac7ce" + }, + "restoredEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 12, + "edges": 26, + "vertices": 12, + "volume": 132.2115549, + "area": 208.6590118, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 6.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 53, + "selectedRecords": 5, + "ambiguousResults": 8, + "historySha256": "d552ab8e479989deeb120e8471cc7f37d5cb6c13bd675e692beac06ac85a51ce", + "namingEvidenceSha256": "fdcaa2d80016090b6da6164f21a120fc7bc3914e46a82a3a2ba45ecb80c351a6", + "namingSemanticSha256": "e6f415732221c0dc30640d2d3f8acd9164aa82519fcfe734a04da8adcc965f53" + } + }, + "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": "revolution->linear-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 5633, + "namingEvidenceSha256": "51ec6cd86b74db10aef19beeda2a813cba35127b34986e174570396f19db49c4", + "pair": "revolution->linear-pattern", + "shape": { + "area": 208.6589138, + "bounds": [ + -4, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 12, + "volume": 132.2115059 + } + }, + "reopened": { + "namingEvidenceBytes": 5633, + "namingEvidenceSha256": "51ec6cd86b74db10aef19beeda2a813cba35127b34986e174570396f19db49c4", + "pair": "revolution->linear-pattern", + "shape": { + "area": 208.6589138, + "bounds": [ + -4, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 12, + "volume": 132.2115059 + } + }, + "resaved": { + "namingEvidenceBytes": 5633, + "namingEvidenceSha256": "51ec6cd86b74db10aef19beeda2a813cba35127b34986e174570396f19db49c4", + "pair": "revolution->linear-pattern", + "shape": { + "area": 208.6589138, + "bounds": [ + -4, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 26, + "faces": 12, + "solids": 1, + "valid": true, + "vertices": 12, + "volume": 132.2115059 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-polar-pattern", + "pair": "revolution->polar-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "cd5db75e8cf443aede6c5be75a6d70fd8200545697c2d6596b68ed7b888cb61c", + "namingSemanticSha256": "09cd1fbd64cd9e3297f8c186bbf20dac11aff9fb2001e8ec08c0feadc333ef31" + }, + "second": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 33, + "vertices": 20, + "volume": 87.2727929, + "area": 136.4509661, + "bounds": [ + -4.4601757, + -0.6945929, + -3.0000001, + 2.0000001, + 3.3017198, + 3.0000001 + ] + }, + "historyRecords": 70, + "selectedRecords": 7, + "ambiguousResults": 7, + "historySha256": "82e4ddf4118379e8321760981dafa4a11079079f0ccc035529fc06a74b425baa", + "namingEvidenceSha256": "a489447b829036e44a72ba289b932e42b73beb69eb0f8f613239ab6b50646b31", + "namingSemanticSha256": "f05b925f794680c4e9f4be62ee77bc0459f7854e1feab1a782153545573f1556" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 10, + 15, + 10 + ], + "beforeValue": 10, + "editedValue": 15, + "restoredValue": 10, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 33, + "vertices": 20, + "volume": 92.4535717, + "area": 141.1274402, + "bounds": [ + -4.6401606, + -1.0352763, + -3.0000001, + 2.0000001, + 3.4154157, + 3.0000001 + ] + }, + "historyRecords": 70, + "selectedRecords": 7, + "ambiguousResults": 7, + "historySha256": "82e4ddf4118379e8321760981dafa4a11079079f0ccc035529fc06a74b425baa", + "namingEvidenceSha256": "d67dbed3059eeba30d8f4ebb6a5783ec6db432784bba7c565c1ade6aa6600b62", + "namingSemanticSha256": "f05b925f794680c4e9f4be62ee77bc0459f7854e1feab1a782153545573f1556" + }, + "restoredEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 33, + "vertices": 20, + "volume": 87.2727929, + "area": 136.4509661, + "bounds": [ + -4.4601757, + -0.6945929, + -3.0000001, + 2.0000001, + 3.3017198, + 3.0000001 + ] + }, + "historyRecords": 70, + "selectedRecords": 7, + "ambiguousResults": 7, + "historySha256": "82e4ddf4118379e8321760981dafa4a11079079f0ccc035529fc06a74b425baa", + "namingEvidenceSha256": "fa8ef5589dc1351d118854dd1beb7612cf0295c86e10b2a38c7948d1b92fb639", + "namingSemanticSha256": "f05b925f794680c4e9f4be62ee77bc0459f7854e1feab1a782153545573f1556" + } + }, + "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": "revolution->polar-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 6618, + "namingEvidenceSha256": "a489447b829036e44a72ba289b932e42b73beb69eb0f8f613239ab6b50646b31", + "pair": "revolution->polar-pattern", + "shape": { + "area": 136.4509661, + "bounds": [ + -4.4601755, + -0.6945927, + -3, + 2, + 3.3017196, + 3 + ], + "edges": 33, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 87.2727929 + } + }, + "reopened": { + "namingEvidenceBytes": 6618, + "namingEvidenceSha256": "a489447b829036e44a72ba289b932e42b73beb69eb0f8f613239ab6b50646b31", + "pair": "revolution->polar-pattern", + "shape": { + "area": 136.4509661, + "bounds": [ + -4.4601755, + -0.6945927, + -3, + 2, + 3.3017196, + 3 + ], + "edges": 33, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 87.2727929 + } + }, + "resaved": { + "namingEvidenceBytes": 6618, + "namingEvidenceSha256": "a489447b829036e44a72ba289b932e42b73beb69eb0f8f613239ab6b50646b31", + "pair": "revolution->polar-pattern", + "shape": { + "area": 136.4509661, + "bounds": [ + -4.4601755, + -0.6945927, + -3, + 2, + 3.3017196, + 3 + ], + "edges": 33, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 20, + "volume": 87.2727929 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-mirrored", + "pair": "revolution->mirrored", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "9984f6becb9401a153c61693fcd689cce85c1618df7c6cc8a1cee83ad726650c", + "namingSemanticSha256": "82b036817c1d473ff352e8a8335856d9fcd00571d96134c39ade5437c920ccd1" + }, + "second": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 22, + "vertices": 10, + "volume": 120.1447575, + "area": 148.8793015, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 4.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 92, + "selectedRecords": 9, + "ambiguousResults": 12, + "historySha256": "4945e37703b9a206d18ba2c8ba99fa265fe310c80dba2281c44643a47c9d5d40", + "namingEvidenceSha256": "b6333ff71528d96dada77c81f25865e9bb4b5596e774cdeb97f6837eaca74b3c", + "namingSemanticSha256": "9231f43f0790636067d08fba5d1a9bd57b84b1b02128eee94b7d5e649d765bb2" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "planeOriginX", + "trajectory": [ + 0, + 0.5, + 0 + ], + "beforeValue": 0, + "editedValue": 0.5, + "restoredValue": 0, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 18, + "edges": 40, + "vertices": 20, + "volume": 126.3867082, + "area": 192.5712237, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 5.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 88, + "selectedRecords": 10, + "ambiguousResults": 16, + "historySha256": "d251ba729ad2c8c9dfa22bf85a7a1c9991fee18fbbb709cf04de9737aecf7af7", + "namingEvidenceSha256": "febd5551dc2b974ef1831f15cd4fac2539e25f42b9fa9c52ebf35d0d77703cd7", + "namingSemanticSha256": "1e130f29b578a91c0ed314a34158a98dd95bcefcd51483bd50f48d0428935107" + }, + "restoredEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 22, + "vertices": 10, + "volume": 120.1447575, + "area": 148.8793015, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 4.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 92, + "selectedRecords": 9, + "ambiguousResults": 12, + "historySha256": "4945e37703b9a206d18ba2c8ba99fa265fe310c80dba2281c44643a47c9d5d40", + "namingEvidenceSha256": "a2f37e796c53f22b5a82e2e59c13dde4097012caf0cb0eea4ad00231cef700c6", + "namingSemanticSha256": "9231f43f0790636067d08fba5d1a9bd57b84b1b02128eee94b7d5e649d765bb2" + } + }, + "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": "revolution->mirrored", + "phases": { + "initial": { + "namingEvidenceBytes": 8877, + "namingEvidenceSha256": "b6333ff71528d96dada77c81f25865e9bb4b5596e774cdeb97f6837eaca74b3c", + "pair": "revolution->mirrored", + "shape": { + "area": 148.8793015, + "bounds": [ + -4, + 0, + -3, + 4, + 3, + 3 + ], + "edges": 22, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 120.1447575 + } + }, + "reopened": { + "namingEvidenceBytes": 8877, + "namingEvidenceSha256": "b6333ff71528d96dada77c81f25865e9bb4b5596e774cdeb97f6837eaca74b3c", + "pair": "revolution->mirrored", + "shape": { + "area": 148.8793015, + "bounds": [ + -4, + 0, + -3, + 4, + 3, + 3 + ], + "edges": 22, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 120.1447575 + } + }, + "resaved": { + "namingEvidenceBytes": 8877, + "namingEvidenceSha256": "b6333ff71528d96dada77c81f25865e9bb4b5596e774cdeb97f6837eaca74b3c", + "pair": "revolution->mirrored", + "shape": { + "area": 148.8793015, + "bounds": [ + -4, + 0, + -3, + 4, + 3, + 3 + ], + "edges": 22, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 10, + "volume": 120.1447575 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-revolution-multi-transform", + "pair": "revolution->multi-transform", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 4, + "edges": 6, + "vertices": 4, + "volume": 75.3982237, + "area": 125.6637061, + "bounds": [ + -4.0000001, + -1e-7, + -3.0000001, + 2.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 4, + "ambiguousResults": 8, + "historySha256": "384e78061b133e61c886d1cb59395a6b8cbc9c85eb92124450df139d5570646b", + "namingEvidenceSha256": "5f0966d5b69daf90d567bc76652ad68671f70fee5e5ced61bbad12ae88301069", + "namingSemanticSha256": "f6abdbf090f4249dfdc6c82408470529a25295860039fbb8a5e2281ccf717a4d" + }, + "second": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 48, + "edges": 80, + "vertices": 34, + "volume": 190.7882692, + "area": 220.4432335, + "bounds": [ + -6.0000001, + -1e-7, + -3.0000001, + 6.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 313, + "selectedRecords": 48, + "ambiguousResults": 88, + "historySha256": "7f6100499b23dd64037ba960801e84293de24bc5f44ac1cb5cd8c2779201a62a", + "namingEvidenceSha256": "1b2a40e71cb3f70719e69ab20f5d0f19d3b667170cbf46124dc125233e76f26d", + "namingSemanticSha256": "66974fac907e565af1937bd26df40b09e6620bc8c76cb52603e64569fae95670" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "multiTranslationX", + "trajectory": [ + 4, + 3, + 4 + ], + "beforeValue": 4, + "editedValue": 3, + "restoredValue": 4, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 68, + "edges": 132, + "vertices": 66, + "volume": 155.9773894, + "area": 184.8239845, + "bounds": [ + -5.0000001, + -1e-7, + -3.0000001, + 5.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 451, + "selectedRecords": 68, + "ambiguousResults": 140, + "historySha256": "ed50b42d234654dbc2a79b144c1157ea69b2d2ce5d5c21876c12c49aeb74bfb7", + "namingEvidenceSha256": "f68f3e2893d7ad7dd6ee7bfc1f26586e6701970b79b84124a87c48ef87d705c1", + "namingSemanticSha256": "c804cb51ea0cf652b40f95ec13b2fa9862fd75a7dffdf9f06e491aff1a18b194" + }, + "restoredEvidence": { + "operation": "multi-transform", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 48, + "edges": 80, + "vertices": 34, + "volume": 190.7882692, + "area": 220.4432335, + "bounds": [ + -6.0000001, + -1e-7, + -3.0000001, + 6.0000001, + 3.0000001, + 3.0000001 + ] + }, + "historyRecords": 313, + "selectedRecords": 48, + "ambiguousResults": 88, + "historySha256": "7f6100499b23dd64037ba960801e84293de24bc5f44ac1cb5cd8c2779201a62a", + "namingEvidenceSha256": "3fce7058c0d83096159f9290a8b285c1d11a611ebf75ab4eeae72ee157ef603a", + "namingSemanticSha256": "66974fac907e565af1937bd26df40b09e6620bc8c76cb52603e64569fae95670" + } + }, + "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": "revolution->multi-transform", + "phases": { + "initial": { + "namingEvidenceBytes": 55533, + "namingEvidenceSha256": "1b2a40e71cb3f70719e69ab20f5d0f19d3b667170cbf46124dc125233e76f26d", + "pair": "revolution->multi-transform", + "shape": { + "area": 220.4432335, + "bounds": [ + -6, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 80, + "faces": 48, + "solids": 1, + "valid": true, + "vertices": 34, + "volume": 190.7882692 + } + }, + "reopened": { + "namingEvidenceBytes": 55533, + "namingEvidenceSha256": "1b2a40e71cb3f70719e69ab20f5d0f19d3b667170cbf46124dc125233e76f26d", + "pair": "revolution->multi-transform", + "shape": { + "area": 220.4432335, + "bounds": [ + -6, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 80, + "faces": 48, + "solids": 1, + "valid": true, + "vertices": 34, + "volume": 190.7882692 + } + }, + "resaved": { + "namingEvidenceBytes": 55533, + "namingEvidenceSha256": "1b2a40e71cb3f70719e69ab20f5d0f19d3b667170cbf46124dc125233e76f26d", + "pair": "revolution->multi-transform", + "shape": { + "area": 220.4432335, + "bounds": [ + -6, + 0, + -3, + 6, + 3, + 3 + ], + "edges": 80, + "faces": 48, + "solids": 1, + "valid": true, + "vertices": 34, + "volume": 190.7882692 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-fuse", + "pair": "groove->fuse", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "f33085706ddea54ee57a991b9472176397e2e48278f2b089a97e32cb224621a3", + "namingSemanticSha256": "6ef21279570330a77808c623f6b54cc85256bd6c8211fee36cad6089d4597943" + }, + "second": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 17, + "edges": 41, + "vertices": 26, + "volume": 1070.287611, + "area": 666.5663706, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 13.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "3aea6a397d61fbd06e602668aac78f90cb05fd5f17d9151674c251a4d2469189", + "namingEvidenceSha256": "e9a92985a773e905713540a5c86d35f98475b45d1e42afd2af47ddf6736d2747", + "namingSemanticSha256": "02f0438f8ce67542cd9d43361bf2e53d33f75e128cb693e3b10f24e453f791a7" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 8, + 7, + 8 + ], + "beforeValue": 8, + "editedValue": 7, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 17, + "edges": 41, + "vertices": 26, + "volume": 1045.287611, + "area": 646.5663706, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 12.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "3aea6a397d61fbd06e602668aac78f90cb05fd5f17d9151674c251a4d2469189", + "namingEvidenceSha256": "9ef4e2de8cbc9dab5bb32b354d9e49112133b606ec67c671b9af01412449fb45", + "namingSemanticSha256": "02f0438f8ce67542cd9d43361bf2e53d33f75e128cb693e3b10f24e453f791a7" + }, + "restoredEvidence": { + "operation": "fuse", + "builder": "BRepAlgoAPI_Fuse", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 17, + "edges": 41, + "vertices": 26, + "volume": 1070.287611, + "area": 666.5663706, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 13.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 7, + "ambiguousResults": 16, + "historySha256": "3aea6a397d61fbd06e602668aac78f90cb05fd5f17d9151674c251a4d2469189", + "namingEvidenceSha256": "a813f0ead00fc28e7c890f51ae1bd297f003b8b95f33249cfba275154b334e6a", + "namingSemanticSha256": "02f0438f8ce67542cd9d43361bf2e53d33f75e128cb693e3b10f24e453f791a7" + } + }, + "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": "groove->fuse", + "phases": { + "initial": { + "namingEvidenceBytes": 8040, + "namingEvidenceSha256": "e9a92985a773e905713540a5c86d35f98475b45d1e42afd2af47ddf6736d2747", + "pair": "groove->fuse", + "shape": { + "area": 666.5663706, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 41, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 26, + "volume": 1070.287611 + } + }, + "reopened": { + "namingEvidenceBytes": 8040, + "namingEvidenceSha256": "e9a92985a773e905713540a5c86d35f98475b45d1e42afd2af47ddf6736d2747", + "pair": "groove->fuse", + "shape": { + "area": 666.5663706, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 41, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 26, + "volume": 1070.287611 + } + }, + "resaved": { + "namingEvidenceBytes": 8040, + "namingEvidenceSha256": "e9a92985a773e905713540a5c86d35f98475b45d1e42afd2af47ddf6736d2747", + "pair": "groove->fuse", + "shape": { + "area": 666.5663706, + "bounds": [ + 0, + 0, + 0, + 13, + 10, + 10 + ], + "edges": 41, + "faces": 17, + "solids": 1, + "valid": true, + "vertices": 26, + "volume": 1070.287611 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-cut", + "pair": "groove->cut", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "c34f30a5d0a21146afabd23c0e4e456b31d059854cb11eea49c64398075fdb85", + "namingSemanticSha256": "528c9f9e93e26da7f3b19baf9c9c9342494b5b9011979f34abdb9a2edf3aef2e" + }, + "second": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 36, + "vertices": 24, + "volume": 931.287611, + "area": 638.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 2, + "ambiguousResults": 8, + "historySha256": "e276017618d8ba1a7304124ad5fa145e6a3c73a67db6688cc1ead711f325ad73", + "namingEvidenceSha256": "40e2a679b7bd8774086b44e01b879df49b16e3d07138e07aebeb9f16b0fdbf85", + "namingSemanticSha256": "d86e91fec70b082521e2a2838eace34ed6b0ebdf9e5ef5038086d72a328c2004" + }, + "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": 14, + "edges": 36, + "vertices": 24, + "volume": 968.287611, + "area": 624.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 2, + "ambiguousResults": 8, + "historySha256": "e276017618d8ba1a7304124ad5fa145e6a3c73a67db6688cc1ead711f325ad73", + "namingEvidenceSha256": "e1e3f3b3ca6cee475b1f876131d75a95883b9611b39262e6d89723875b9f2776", + "namingSemanticSha256": "d86e91fec70b082521e2a2838eace34ed6b0ebdf9e5ef5038086d72a328c2004" + }, + "restoredEvidence": { + "operation": "cut", + "builder": "BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 36, + "vertices": 24, + "volume": 931.287611, + "area": 638.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 22, + "selectedRecords": 2, + "ambiguousResults": 8, + "historySha256": "e276017618d8ba1a7304124ad5fa145e6a3c73a67db6688cc1ead711f325ad73", + "namingEvidenceSha256": "e1e3f3b3ca6cee475b1f876131d75a95883b9611b39262e6d89723875b9f2776", + "namingSemanticSha256": "d86e91fec70b082521e2a2838eace34ed6b0ebdf9e5ef5038086d72a328c2004" + } + }, + "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": "groove->cut", + "phases": { + "initial": { + "namingEvidenceBytes": 3644, + "namingEvidenceSha256": "40e2a679b7bd8774086b44e01b879df49b16e3d07138e07aebeb9f16b0fdbf85", + "pair": "groove->cut", + "shape": { + "area": 638.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 931.287611 + } + }, + "reopened": { + "namingEvidenceBytes": 3644, + "namingEvidenceSha256": "40e2a679b7bd8774086b44e01b879df49b16e3d07138e07aebeb9f16b0fdbf85", + "pair": "groove->cut", + "shape": { + "area": 638.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 931.287611 + } + }, + "resaved": { + "namingEvidenceBytes": 3644, + "namingEvidenceSha256": "40e2a679b7bd8774086b44e01b879df49b16e3d07138e07aebeb9f16b0fdbf85", + "pair": "groove->cut", + "shape": { + "area": 638.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 931.287611 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-common", + "pair": "groove->common", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "e98caddfb2f7aa80dad31c9d83ab63b9815550d54673d289f5da1141ede3fcd2", + "namingSemanticSha256": "630f5b064c39c7e477265f8691ab73fa6e4c21066a61607323d95db9fb9d5102" + }, + "second": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 197, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "f5527d69dbc6fa56e211a3040cfeaaa03c7bbbb41940e169a47fa9b4c08fceaf", + "namingEvidenceSha256": "c33b80495c77e8707d4a88d92c339a07fab4dec562681272bc22455607e27c88", + "namingSemanticSha256": "2992487449c3cc1893ae0b1a756bfcd2d7caaa88021d2858270397f5ca972a33" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "toolOffsetX", + "trajectory": [ + 7, + 6, + 7 + ], + "beforeValue": 7, + "editedValue": 6, + "restoredValue": 7, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 100, + "area": 130, + "bounds": [ + 5.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 197, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "f5527d69dbc6fa56e211a3040cfeaaa03c7bbbb41940e169a47fa9b4c08fceaf", + "namingEvidenceSha256": "ec34ee9b3178b4e65decedb8922efb0dc0922517c5f951dffb3152ca1acc7bc8", + "namingSemanticSha256": "2992487449c3cc1893ae0b1a756bfcd2d7caaa88021d2858270397f5ca972a33" + }, + "restoredEvidence": { + "operation": "common", + "builder": "BRepAlgoAPI_Common", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 75, + "area": 110, + "bounds": [ + 6.9999999, + -1e-7, + -1e-7, + 10.0000001, + 5.0000001, + 5.0000001 + ] + }, + "historyRecords": 197, + "selectedRecords": 3, + "ambiguousResults": 10, + "historySha256": "f5527d69dbc6fa56e211a3040cfeaaa03c7bbbb41940e169a47fa9b4c08fceaf", + "namingEvidenceSha256": "595caa9b72cfe44a8be21e78c4cf29538080a7e9b1f899930683dacc747f2c6e", + "namingSemanticSha256": "2992487449c3cc1893ae0b1a756bfcd2d7caaa88021d2858270397f5ca972a33" + } + }, + "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": "groove->common", + "phases": { + "initial": { + "namingEvidenceBytes": 4598, + "namingEvidenceSha256": "c33b80495c77e8707d4a88d92c339a07fab4dec562681272bc22455607e27c88", + "pair": "groove->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "reopened": { + "namingEvidenceBytes": 4598, + "namingEvidenceSha256": "c33b80495c77e8707d4a88d92c339a07fab4dec562681272bc22455607e27c88", + "pair": "groove->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + }, + "resaved": { + "namingEvidenceBytes": 4598, + "namingEvidenceSha256": "c33b80495c77e8707d4a88d92c339a07fab4dec562681272bc22455607e27c88", + "pair": "groove->common", + "shape": { + "area": 110, + "bounds": [ + 7, + 0, + 0, + 10, + 5, + 5 + ], + "edges": 12, + "faces": 6, + "solids": 1, + "valid": true, + "vertices": 8, + "volume": 75 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-rotate", + "pair": "groove->rotate", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "dd0fade469da01bb8d768be212dcb560fa50b69427936f12f027ce5bd32bc85a", + "namingSemanticSha256": "c11ce5b347948beadb51585a729e10739d3c9788e21c80bc78d7a68e98d053b9" + }, + "second": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 10.0000001 + ] + }, + "historyRecords": 154, + "selectedRecords": 10, + "ambiguousResults": 40, + "historySha256": "c8b861e7e88fe016c1effb7edfb9e8b09b998e4af0d924f8109d27f884fb8f05", + "namingEvidenceSha256": "28c3558b22e41bedb8a494c36fffe395fffca8eac55ecfface38240af6b1c61e", + "namingSemanticSha256": "3d043cd8f4d5c08ebfe7a57b735ea3a5ad5f4665fd4ed614b2ff737cabd94835" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 15, + 22.5, + 15 + ], + "beforeValue": 15, + "editedValue": 22.5, + "restoredValue": 15, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -3.8268344, + -1e-7, + -1e-7, + 9.2387954, + 13.0656297, + 10.0000001 + ] + }, + "historyRecords": 154, + "selectedRecords": 10, + "ambiguousResults": 40, + "historySha256": "c8b861e7e88fe016c1effb7edfb9e8b09b998e4af0d924f8109d27f884fb8f05", + "namingEvidenceSha256": "e29f1047cbe7f2e82ace647ef91df1b741aa55749dbb5ddd19a716dbe824ef95", + "namingSemanticSha256": "3d043cd8f4d5c08ebfe7a57b735ea3a5ad5f4665fd4ed614b2ff737cabd94835" + }, + "restoredEvidence": { + "operation": "rotate", + "builder": "BRepBuilderAPI_Transform", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2.5881906, + -1e-7, + -1e-7, + 9.6592584, + 12.2474488, + 10.0000001 + ] + }, + "historyRecords": 154, + "selectedRecords": 10, + "ambiguousResults": 40, + "historySha256": "c8b861e7e88fe016c1effb7edfb9e8b09b998e4af0d924f8109d27f884fb8f05", + "namingEvidenceSha256": "98744ec630e3e3a1fae939186f1f3be06f35aadf0fcf462a7e1bd4a0a60bcadf", + "namingSemanticSha256": "3d043cd8f4d5c08ebfe7a57b735ea3a5ad5f4665fd4ed614b2ff737cabd94835" + } + }, + "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": "groove->rotate", + "phases": { + "initial": { + "namingEvidenceBytes": 19754, + "namingEvidenceSha256": "28c3558b22e41bedb8a494c36fffe395fffca8eac55ecfface38240af6b1c61e", + "pair": "groove->rotate", + "shape": { + "area": 606.5663706, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "reopened": { + "namingEvidenceBytes": 19754, + "namingEvidenceSha256": "28c3558b22e41bedb8a494c36fffe395fffca8eac55ecfface38240af6b1c61e", + "pair": "groove->rotate", + "shape": { + "area": 606.5663706, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "resaved": { + "namingEvidenceBytes": 19754, + "namingEvidenceSha256": "28c3558b22e41bedb8a494c36fffe395fffca8eac55ecfface38240af6b1c61e", + "pair": "groove->rotate", + "shape": { + "area": 606.5663706, + "bounds": [ + -2.5881905, + 0, + 0, + 9.6592583, + 12.2474487, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-pad", + "pair": "groove->pad", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "d8f2d7e29b94fe97b6735345322f83b1c2c70cbb9b7b54a8c98d8bad9639a5c2", + "namingSemanticSha256": "0723fb4943a11c60b964873299dd35b00810c33fd03f0612e2e0f84eada1418f" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "length", + "trajectory": [ + 5, + 7.5, + 5 + ], + "stable": true, + "attempts": [ + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 7.5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "pad", + "builder": "BRepPrimAPI_MakePrism", + "inputCount": 1, + "parameter": "length", + "parameterValue": 5, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "PartDesign::Pad", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Body", + "typeId": "PartDesign::Body" + }, + { + "name": "Origin", + "typeId": "App::Origin" + }, + { + "name": "X_Axis", + "typeId": "App::Line" + }, + { + "name": "Y_Axis", + "typeId": "App::Line" + }, + { + "name": "Z_Axis", + "typeId": "App::Line" + }, + { + "name": "XY_Plane", + "typeId": "App::Plane" + }, + { + "name": "XZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "YZ_Plane", + "typeId": "App::Plane" + }, + { + "name": "Origin001", + "typeId": "App::Point" + }, + { + "name": "PairResult", + "typeId": "PartDesign::Pad" + } + ], + "parameter": { + "name": "length", + "value": 5 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "FeatureExtrusion: Length: Could not extrude the sketch!" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "PartDesign::Pad", + "operation": "pad", + "pair": "groove->pad", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-pocket", + "pair": "groove->pocket", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "f0205b9c3fedc55ec66c16b5593dcecf4c6a86f09985917707799eeea2822942", + "namingSemanticSha256": "6439f6458d81fb85603b4d2848623cffb573674a241782360cb32098958c179b" + }, + "second": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 33, + "vertices": 22, + "volume": 966.8584073, + "area": 602.2831853, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 91, + "selectedRecords": 7, + "ambiguousResults": 15, + "historySha256": "5244c2e3bd4f98bb01e6ece16d99fb4650f879d9441e8e1a88b22c3e141c8f96", + "namingEvidenceSha256": "e672fa69e4a9821922b1219c787fccfdee893132fda2ac40592c4b8cdcb88bf0", + "namingSemanticSha256": "c808aaf650b78a6aa75563feefa3b360e417a0ae6d5adbec1e0b67a03dfdc37e" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "length", + "trajectory": [ + 5, + 4, + 5 + ], + "beforeValue": 5, + "editedValue": 4, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 33, + "vertices": 22, + "volume": 972.8584073, + "area": 602.2831853, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 91, + "selectedRecords": 7, + "ambiguousResults": 15, + "historySha256": "5244c2e3bd4f98bb01e6ece16d99fb4650f879d9441e8e1a88b22c3e141c8f96", + "namingEvidenceSha256": "ccb39c06f879ab33182b72d989cab5577de65759758626ede2000859efed8aa5", + "namingSemanticSha256": "c808aaf650b78a6aa75563feefa3b360e417a0ae6d5adbec1e0b67a03dfdc37e" + }, + "restoredEvidence": { + "operation": "pocket", + "builder": "BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 13, + "edges": 33, + "vertices": 22, + "volume": 966.8584073, + "area": 602.2831853, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 91, + "selectedRecords": 7, + "ambiguousResults": 15, + "historySha256": "5244c2e3bd4f98bb01e6ece16d99fb4650f879d9441e8e1a88b22c3e141c8f96", + "namingEvidenceSha256": "f328a1a366e72e363cfe9eae796633437d94eeb373749cf387d43ab6d53b6a15", + "namingSemanticSha256": "c808aaf650b78a6aa75563feefa3b360e417a0ae6d5adbec1e0b67a03dfdc37e" + } + }, + "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": "groove->pocket", + "phases": { + "initial": { + "namingEvidenceBytes": 7929, + "namingEvidenceSha256": "e672fa69e4a9821922b1219c787fccfdee893132fda2ac40592c4b8cdcb88bf0", + "pair": "groove->pocket", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + }, + "reopened": { + "namingEvidenceBytes": 7929, + "namingEvidenceSha256": "e672fa69e4a9821922b1219c787fccfdee893132fda2ac40592c4b8cdcb88bf0", + "pair": "groove->pocket", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + }, + "resaved": { + "namingEvidenceBytes": 7929, + "namingEvidenceSha256": "e672fa69e4a9821922b1219c787fccfdee893132fda2ac40592c4b8cdcb88bf0", + "pair": "groove->pocket", + "shape": { + "area": 602.2831853, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 33, + "faces": 13, + "solids": 1, + "valid": true, + "vertices": 22, + "volume": 966.8584073 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-loft", + "pair": "groove->loft", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "d32222567638296f7e0617e4ad652e96dc2638f298c211670b7084b8834ac915", + "namingSemanticSha256": "1ecfe181a158855b481eb19010725624344d12c9a46c2cdf045d3e15e4b9f0b1" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "ruled", + "trajectory": [ + false, + true, + false + ], + "kernelAttempts": [ + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 250, + "area": 556.1837862, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "d8dcd64a2cfd2e21dcaae30cb20f969c962b93528488f3aa5945277353502a45", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": true, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 250, + "area": 556.1837862, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "d8dcd64a2cfd2e21dcaae30cb20f969c962b93528488f3aa5945277353502a45", + "authority": "kernel-superset-only" + }, + { + "operation": "loft", + "builder": "BRepOffsetAPI_ThruSections", + "inputCount": 2, + "parameter": "ruled", + "parameterValue": false, + "runtime": "occt-native", + "outcome": "accepted", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": true, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": true, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 250, + "area": 556.1837862, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 15.0000001 + ] + }, + "historyRecords": 24, + "historySha256": "d8dcd64a2cfd2e21dcaae30cb20f969c962b93528488f3aa5945277353502a45", + "authority": "kernel-superset-only" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + } + ] + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Loft", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Section", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Loft" + } + ], + "parameter": { + "name": "ruled", + "value": false + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Profile shape is not a single vertex, edge, wire nor face." + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Loft", + "operation": "loft", + "pair": "groove->loft", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-pipe", + "pair": "groove->pipe", + "classification": "rejected", + "reasonCode": "freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "54e8552498729fe0d28f4b98ab8611b761cc719ebddac98220f9affc88a5f45d", + "namingSemanticSha256": "8cf24b7b1b903b2ce5d4210dc92e941372ea11ecc424eee65ff80a7b1de34798" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "freecad-document", + "parameter": "spineLength", + "trajectory": [ + 15, + 12, + 15 + ], + "kernelAttempts": [ + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 500, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 25.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "0b29085cd086854553f7e799c787527dddb9e1e7e798579dbb78cb09bb5d9d7c", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 12, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 440, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 22.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "0b29085cd086854553f7e799c787527dddb9e1e7e798579dbb78cb09bb5d9d7c", + "authority": "kernel-invalid-result" + }, + { + "operation": "pipe", + "builder": "BRepOffsetAPI_MakePipe", + "inputCount": 2, + "parameter": "spineLength", + "parameterValue": 15, + "runtime": "occt-native", + "outcome": "invalid-result", + "resultProduced": true, + "shapeProduced": true, + "validShapeProduced": false, + "historyProduced": true, + "historyProvider": "occt-native", + "summary": { + "isValid": false, + "solids": 1, + "faces": 6, + "edges": 12, + "vertices": 8, + "volume": 0, + "area": 500, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 1e-7, + 25.0000001 + ] + }, + "historyRecords": 28, + "historySha256": "0b29085cd086854553f7e799c787527dddb9e1e7e798579dbb78cb09bb5d9d7c", + "authority": "kernel-invalid-result" + } + ], + "kernelRestoredExactly": true, + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "sections": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "spine": { + "name": "Spine", + "subelements": [], + "typeId": "Part::Feature" + } + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Sweep", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "Spine", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Sweep" + } + ], + "parameter": { + "name": "spineLength", + "value": 15 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "A fatal error occurred when making the sweep" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Sweep", + "operation": "pipe", + "pair": "groove->pipe", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-revolution", + "pair": "groove->revolution", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "3928d999d386821d5aa13dc85daa1394e5497456773431a892016590d9ad7edb", + "namingSemanticSha256": "56fdcb4f7d923b5a1dfc53a4d55a4b3d862cc502b0d28bdeae07350cfd1c6966" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "angle", + "trajectory": [ + 360, + 270, + 360 + ], + "stable": true, + "attempts": [ + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 270, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "revolution", + "builder": "BRepPrimAPI_MakeRevol", + "inputCount": 1, + "parameter": "angle", + "parameterValue": 360, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Revolution", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Revolution" + } + ], + "parameter": { + "name": "angle", + "value": 360 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "Solids are not Processed" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Revolution", + "operation": "revolution", + "pair": "groove->revolution", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-groove", + "pair": "groove->groove", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "05da3cc128b09ced24c734f41570d1653f128eabdd9cfc93bb789589b3c47b3d", + "namingSemanticSha256": "92e1401cd0bdc123261abad1d124efebe5196903bd3ed3b914fe0ec3284835d7" + }, + "second": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 36, + "vertices": 24, + "volume": 983.5066386, + "area": 631.9822972, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "db7043b01f204bf852457c95b17668fe334dadbe56e3324d827841e5ee2e36ac", + "namingEvidenceSha256": "b4147e7dc4aee8f2f7639937fcd114583917ec226563096af510076425999ffa", + "namingSemanticSha256": "633f9f4abc923fc8810e7075cc98da01767fe23b17f13ccffca540563c9e5c66" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 360, + 180, + 360 + ], + "beforeValue": 360, + "editedValue": 180, + "restoredValue": 360, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 28, + "vertices": 20, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 56, + "selectedRecords": 1, + "ambiguousResults": 5, + "historySha256": "bb0d2bbff1a909d06dca894cee77dff09d31e39e01aa645aca9c965f12f2dff7", + "namingEvidenceSha256": "9864182f9257c5a18df036aa99b0cd1f04858285043262b565ca08f7e232e066", + "namingSemanticSha256": "7dc315540f4283cd191284721a2409db979de76720a34f7aadce505177513704" + }, + "restoredEvidence": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 14, + "edges": 36, + "vertices": 24, + "volume": 983.5066386, + "area": 631.9822972, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "db7043b01f204bf852457c95b17668fe334dadbe56e3324d827841e5ee2e36ac", + "namingEvidenceSha256": "8aaed59071016ac0f3604abbdb5d03bc1478667f72b631075e602c5b651701bf", + "namingSemanticSha256": "633f9f4abc923fc8810e7075cc98da01767fe23b17f13ccffca540563c9e5c66" + } + }, + "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": "groove->groove", + "phases": { + "initial": { + "namingEvidenceBytes": 4972, + "namingEvidenceSha256": "b4147e7dc4aee8f2f7639937fcd114583917ec226563096af510076425999ffa", + "pair": "groove->groove", + "shape": { + "area": 631.9822972, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 983.5066386 + } + }, + "reopened": { + "namingEvidenceBytes": 4972, + "namingEvidenceSha256": "b4147e7dc4aee8f2f7639937fcd114583917ec226563096af510076425999ffa", + "pair": "groove->groove", + "shape": { + "area": 631.9822972, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 983.5066386 + } + }, + "resaved": { + "namingEvidenceBytes": 4972, + "namingEvidenceSha256": "b4147e7dc4aee8f2f7639937fcd114583917ec226563096af510076425999ffa", + "pair": "groove->groove", + "shape": { + "area": 631.9822972, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 36, + "faces": 14, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 983.5066386 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-fillet", + "pair": "groove->fillet", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "9a3a5986b1f6e023def96f317dc1afadf74a3509ba29a8217837d139edecd444", + "namingSemanticSha256": "5f23430497d5a00121723a22e21735f360f1d0e150a860dd0cad363c11ef9553" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "radius", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "stable": true, + "attempts": [ + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.6, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + }, + { + "operation": "fillet", + "builder": "BRepFilletAPI_MakeFillet", + "inputCount": 1, + "parameter": "radius", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-cpp-exception", + "thrownType": "number" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Fillet", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Fillet" + } + ], + "parameter": { + "name": "radius", + "value": 0.4 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "BRep_API: command not done" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Fillet", + "operation": "fillet", + "pair": "groove->fillet", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-chamfer", + "pair": "groove->chamfer", + "classification": "rejected", + "reasonCode": "native-builder-and-freecad-profile-reject-with-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "911ef45af499a7ac72980bb4d0fac2f3e86a5c578e9f2e9df855f7948c1425ba", + "namingSemanticSha256": "7c3bbf58923f76e4fe2d5477255deb619b050b79f251fdadc5a7c54ff550a418" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "distance", + "trajectory": [ + 0.4, + 0.6, + 0.4 + ], + "stable": true, + "attempts": [ + { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "parameter": "distance", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + }, + { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "parameter": "distance", + "parameterValue": 0.6, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + }, + { + "operation": "chamfer", + "builder": "BRepFilletAPI_MakeChamfer", + "inputCount": 1, + "parameter": "distance", + "parameterValue": 0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": false, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": true, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Chamfer", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Chamfer" + } + ], + "parameter": { + "name": "distance", + "value": 0.4 + }, + "recomputeResult": true, + "shapeNull": true, + "shapeValid": false, + "state": [ + "Touched", + "Invalid" + ], + "statusString": "BRep_API: command not done" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Chamfer", + "operation": "chamfer", + "pair": "groove->chamfer", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-hole", + "pair": "groove->hole", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "25d75bc507d26fa26a817672d2fd980ac349c4be5132443da7345041bd9b6519", + "namingSemanticSha256": "4fa98258ea904bcfbc4e2a94846953165b0a5090afce919df307c6418cc10619" + }, + "second": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 27, + "vertices": 18, + "volume": 963.8716845, + "area": 663.1150384, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "8124075afabab6ed0e14125625248f37f8b0d90ff9d8db4fc4aa5c5d4ff81e45", + "namingEvidenceSha256": "d6bb2db5939de282f439ec683749e94bf9719f71586bce533714970f65095526", + "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "radius", + "trajectory": [ + 1, + 1.5, + 1 + ], + "beforeValue": 1, + "editedValue": 1.5, + "restoredValue": 1, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 27, + "vertices": 18, + "volume": 924.6017763, + "area": 686.6769833, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "8124075afabab6ed0e14125625248f37f8b0d90ff9d8db4fc4aa5c5d4ff81e45", + "namingEvidenceSha256": "8b605f9b0d315711764bd48180d3209b0e75b637719355be3a64d5a8a7b8e791", + "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" + }, + "restoredEvidence": { + "operation": "hole", + "builder": "BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 11, + "edges": 27, + "vertices": 18, + "volume": 963.8716845, + "area": 663.1150384, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 23, + "selectedRecords": 2, + "ambiguousResults": 0, + "historySha256": "8124075afabab6ed0e14125625248f37f8b0d90ff9d8db4fc4aa5c5d4ff81e45", + "namingEvidenceSha256": "d99783fcf9611a729352d55c6480cbd790e821ce54dba647b26741c5ec99f958", + "namingSemanticSha256": "83842a5b5e9e5640e8546b1d69dfa761d5f731898f1e02eb890d063a7089efaf" + } + }, + "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": "groove->hole", + "phases": { + "initial": { + "namingEvidenceBytes": 1522, + "namingEvidenceSha256": "d6bb2db5939de282f439ec683749e94bf9719f71586bce533714970f65095526", + "pair": "groove->hole", + "shape": { + "area": 663.1150384, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 27, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 963.8716845 + } + }, + "reopened": { + "namingEvidenceBytes": 1522, + "namingEvidenceSha256": "d6bb2db5939de282f439ec683749e94bf9719f71586bce533714970f65095526", + "pair": "groove->hole", + "shape": { + "area": 663.1150384, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 27, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 963.8716845 + } + }, + "resaved": { + "namingEvidenceBytes": 1522, + "namingEvidenceSha256": "d6bb2db5939de282f439ec683749e94bf9719f71586bce533714970f65095526", + "pair": "groove->hole", + "shape": { + "area": 663.1150384, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 27, + "faces": 11, + "solids": 1, + "valid": true, + "vertices": 18, + "volume": 963.8716845 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-draft", + "pair": "groove->draft", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "421af76103595b747d52927e4c6f660a087f2895c990b5cbeefbb25b7c7cd6d6", + "namingSemanticSha256": "eeb9c7e2e981493724bd60498c8d4a4d919e3a2fd5418d935973bfd8f137a78b" + }, + "second": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 951.8050786, + "area": 588.75249, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 9, + "selectedRecords": 9, + "ambiguousResults": 0, + "historySha256": "0d6608641f55c5f91118b97af3f13d05d2436d648fcee1c92a792ae5855908a4", + "namingEvidenceSha256": "ba020fd8f8730c6088aec88b86edfb66ecfd4d98163553fcafd76e77100f01a0", + "namingSemanticSha256": "d57c59f517f5439e568aa1c358db16bb16eff45a742f7774b1a2639fa9881a46" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 5, + 8, + 5 + ], + "beforeValue": 5, + "editedValue": 8, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 925.4360727, + "area": 578.3239502, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 9, + "selectedRecords": 9, + "ambiguousResults": 0, + "historySha256": "0d6608641f55c5f91118b97af3f13d05d2436d648fcee1c92a792ae5855908a4", + "namingEvidenceSha256": "d9533d58a627010452a259d821dab9762eb8479360092a52fa653bba952e83d6", + "namingSemanticSha256": "d57c59f517f5439e568aa1c358db16bb16eff45a742f7774b1a2639fa9881a46" + }, + "restoredEvidence": { + "operation": "draft", + "builder": "BRepOffsetAPI_DraftAngle", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "native-evidence", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 951.8050786, + "area": 588.75249, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 9, + "selectedRecords": 9, + "ambiguousResults": 0, + "historySha256": "0d6608641f55c5f91118b97af3f13d05d2436d648fcee1c92a792ae5855908a4", + "namingEvidenceSha256": "101a4505c9999253b023ce47a5f78e38a287f0282b6b4a4c9b64d12ccef06291", + "namingSemanticSha256": "d57c59f517f5439e568aa1c358db16bb16eff45a742f7774b1a2639fa9881a46" + } + }, + "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": "groove->draft", + "phases": { + "initial": { + "namingEvidenceBytes": 4124, + "namingEvidenceSha256": "ba020fd8f8730c6088aec88b86edfb66ecfd4d98163553fcafd76e77100f01a0", + "pair": "groove->draft", + "shape": { + "area": 588.75249, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 951.8050786 + } + }, + "reopened": { + "namingEvidenceBytes": 4124, + "namingEvidenceSha256": "ba020fd8f8730c6088aec88b86edfb66ecfd4d98163553fcafd76e77100f01a0", + "pair": "groove->draft", + "shape": { + "area": 588.75249, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 951.8050786 + } + }, + "resaved": { + "namingEvidenceBytes": 4124, + "namingEvidenceSha256": "ba020fd8f8730c6088aec88b86edfb66ecfd4d98163553fcafd76e77100f01a0", + "pair": "groove->draft", + "shape": { + "area": 588.75249, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 951.8050786 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-thickness", + "pair": "groove->thickness", + "classification": "rejected", + "reasonCode": "native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave", + "nativeDecision": "rejected", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "5dd5ed0636c3888ee2ae78560824826bdcd8e1d480ae6693885c20b506825d71", + "namingSemanticSha256": "a6504adda4616b18800dd137164ec9af37387efcfd2c5f2387174ffd91ae0a50" + }, + "rejection": { + "scope": "second-operation-only", + "authority": "occt-builder", + "parameter": "offset", + "trajectory": [ + -0.4, + -0.6, + -0.4 + ], + "stable": true, + "attempts": [ + { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "parameter": "offset", + "parameterValue": -0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + }, + { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "parameter": "offset", + "parameterValue": -0.6, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + }, + { + "operation": "thickness", + "builder": "BRepOffsetAPI_MakeThickSolid", + "inputCount": 1, + "parameter": "offset", + "parameterValue": -0.4, + "runtime": "occt-native", + "outcome": "rejected", + "resultProduced": false, + "shapeProduced": false, + "historyProduced": false, + "rejectionStage": "builder", + "exceptionTransport": "emscripten-wasm-abort", + "thrownType": "RuntimeError", + "crashSignature": "memory access out of bounds" + } + ], + "persistence": { + "baselineId": "freecad-1.1.1-ordered-operation-pair-resave", + "checks": { + "documentStable": true, + "documentUnpolluted": true, + "freecadProfileAccepted": true, + "fuseSolidUsedAsInput": true, + "nativeFeatureConstructed": true, + "nativeFeatureRejected": false, + "objectSetRestored": true, + "recomputeStatusCaptured": true, + "sourceShapeRestored": true + }, + "decision": "rejected", + "diagnostic": { + "exception": null, + "exceptionType": null, + "input": { + "name": "Part__Feature", + "subelements": [ + "Face2" + ], + "typeId": "Part::Feature" + }, + "inputShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "nativeTypeId": "Part::Thickness", + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + }, + { + "name": "PairResult", + "typeId": "Part::Thickness" + } + ], + "parameter": { + "name": "offset", + "value": -0.4 + }, + "recomputeResult": true, + "shapeNull": false, + "shapeValid": true, + "state": [ + "Up-to-date" + ], + "statusString": "Valid" + }, + "freecadVersion": "1.1.1", + "gitCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d", + "nativeTypeId": "Part::Thickness", + "operation": "thickness", + "pair": "groove->thickness", + "phases": { + "initial": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "reopened": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + }, + "resaved": { + "objects": [ + { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + } + ] + } + }, + "rollback": { + "after": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + }, + "before": { + "objects": [ + { + "name": "Part__Feature", + "typeId": "Part::Feature" + } + ], + "sourceShape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + } + } + }, + "schemaVersion": 1, + "source": { + "name": "Part__Feature", + "shape": { + "area": 606.5663706, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "brepSha256": "5545495132386a6abe0c55eb6e3266de191c71038f69f7d46d7758afd37aaae8", + "edges": 24, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 16, + "volume": 995.287611 + }, + "typeId": "Part::Feature" + }, + "status": "pass" + } + } + }, + { + "taskId": "TSN-PAIR-groove-linear-pattern", + "pair": "groove->linear-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "a2facd7f0305d3fe5cd51db906b89d1e1e4cd0c33e89d2b3a8046d70feda272f", + "namingSemanticSha256": "f4fd90745a298253d10d22087c3a5a21422d8eb1f3be10c212b7cf5bb85c70c2" + }, + "second": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 44, + "vertices": 28, + "volume": 1795.287611, + "area": 926.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 119, + "selectedRecords": 9, + "ambiguousResults": 12, + "historySha256": "59692778ce1a39b578a4f377369d09b6dfa9aeaf4dfaded4b15cfeeb2cfee4c2", + "namingEvidenceSha256": "c9ffd74067d6a29a26958d190f8cc99884f5fba6dccf66898fb57055fc241774", + "namingSemanticSha256": "347402afb9792a5496537a78c00d4a603d95f82332197dbf67ec93e5bb8a8165" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "translationX", + "trajectory": [ + 8, + 9, + 8 + ], + "beforeValue": 8, + "editedValue": 9, + "restoredValue": 8, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 23, + "edges": 53, + "vertices": 32, + "volume": 1894.1260552, + "area": 972.9796521, + "bounds": [ + -2e-7, + -1e-7, + -2e-7, + 19.0000002, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 125, + "selectedRecords": 10, + "ambiguousResults": 14, + "historySha256": "407a5825cb6b916401777cc9f0c5def1e97b2b1cf5262a78379ecffa92075e8f", + "namingEvidenceSha256": "825c241a2fba2e3b2ee497a21a404699e1906c2c5e29e1cca6dcfddbbf72727b", + "namingSemanticSha256": "1b7aa422a5db091c4642e6d2c6df1e7581546f89373dd0d2a5a23aa3c75a1094" + }, + "restoredEvidence": { + "operation": "linear-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 44, + "vertices": 28, + "volume": 1795.287611, + "area": 926.5663706, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 18.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 119, + "selectedRecords": 9, + "ambiguousResults": 12, + "historySha256": "59692778ce1a39b578a4f377369d09b6dfa9aeaf4dfaded4b15cfeeb2cfee4c2", + "namingEvidenceSha256": "b1e4b45fbf3e58834894fff91ee3c3737ebcd56519936035c0aed994fe832e66", + "namingSemanticSha256": "347402afb9792a5496537a78c00d4a603d95f82332197dbf67ec93e5bb8a8165" + } + }, + "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": "groove->linear-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 7893, + "namingEvidenceSha256": "c9ffd74067d6a29a26958d190f8cc99884f5fba6dccf66898fb57055fc241774", + "pair": "groove->linear-pattern", + "shape": { + "area": 926.5663706, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1795.287611 + } + }, + "reopened": { + "namingEvidenceBytes": 7893, + "namingEvidenceSha256": "c9ffd74067d6a29a26958d190f8cc99884f5fba6dccf66898fb57055fc241774", + "pair": "groove->linear-pattern", + "shape": { + "area": 926.5663706, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1795.287611 + } + }, + "resaved": { + "namingEvidenceBytes": 7893, + "namingEvidenceSha256": "c9ffd74067d6a29a26958d190f8cc99884f5fba6dccf66898fb57055fc241774", + "pair": "groove->linear-pattern", + "shape": { + "area": 926.5663706, + "bounds": [ + 0, + 0, + 0, + 18, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1795.287611 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-polar-pattern", + "pair": "groove->polar-pattern", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "9b407d7952d58c2949755e3afd03ba95e2a64f82dd0f39f322b4d22d26c343ed", + "namingSemanticSha256": "f64507fbaf3bf76db1404420f30ec3f317d1a765918564fd4b574e85442cc0a9" + }, + "second": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 44, + "vertices": 28, + "volume": 1990.575222, + "area": 1019.1327412, + "bounds": [ + -10.0000001, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "56b28370dfa9a49dcb4a2c9f0564242a0ed1d58dd7dca8f86aa7248b5ae615f7", + "namingEvidenceSha256": "af2a03b1da7c7f81ccb758eae52c9957228e9a9aa81dbac49582b6d1eb6a265a", + "namingSemanticSha256": "3a16d766572200befd497f1b4a465f5ba3d4aac598b8c89a48195b5341460931" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "angle", + "trajectory": [ + 90, + 120, + 90 + ], + "beforeValue": 90, + "editedValue": 120, + "restoredValue": 90, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 2, + "faces": 20, + "edges": 47, + "vertices": 30, + "volume": 1990.575222, + "area": 1213.1327412, + "bounds": [ + -13.6602541, + -5.0000001, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 52, + "selectedRecords": 4, + "ambiguousResults": 7, + "historySha256": "48b3121ddacd0ea9fffcbb912777c070852d6bce8c27dd35deb7a3d7a2d37baf", + "namingEvidenceSha256": "ee8d3c7a546564a721ce73867f127d5cce1c41191dfa4728413c4aa1f89cf6c1", + "namingSemanticSha256": "4d4beafb058991aa8c411815d38a98d1a49db44e5657e223a4ddd3a14e43d25d" + }, + "restoredEvidence": { + "operation": "polar-pattern", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 19, + "edges": 44, + "vertices": 28, + "volume": 1990.575222, + "area": 1019.1327412, + "bounds": [ + -10.0000001, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 98, + "selectedRecords": 4, + "ambiguousResults": 16, + "historySha256": "56b28370dfa9a49dcb4a2c9f0564242a0ed1d58dd7dca8f86aa7248b5ae615f7", + "namingEvidenceSha256": "1f438036a5968082c3ccdf079f5f7aaf87bcb2e620cd97cd82cbba2a6ab5d0c9", + "namingSemanticSha256": "3a16d766572200befd497f1b4a465f5ba3d4aac598b8c89a48195b5341460931" + } + }, + "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": "groove->polar-pattern", + "phases": { + "initial": { + "namingEvidenceBytes": 8076, + "namingEvidenceSha256": "af2a03b1da7c7f81ccb758eae52c9957228e9a9aa81dbac49582b6d1eb6a265a", + "pair": "groove->polar-pattern", + "shape": { + "area": 1019.1327412, + "bounds": [ + -10, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1990.575222 + } + }, + "reopened": { + "namingEvidenceBytes": 8076, + "namingEvidenceSha256": "af2a03b1da7c7f81ccb758eae52c9957228e9a9aa81dbac49582b6d1eb6a265a", + "pair": "groove->polar-pattern", + "shape": { + "area": 1019.1327412, + "bounds": [ + -10, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1990.575222 + } + }, + "resaved": { + "namingEvidenceBytes": 8076, + "namingEvidenceSha256": "af2a03b1da7c7f81ccb758eae52c9957228e9a9aa81dbac49582b6d1eb6a265a", + "pair": "groove->polar-pattern", + "shape": { + "area": 1019.1327412, + "bounds": [ + -10, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 44, + "faces": 19, + "solids": 1, + "valid": true, + "vertices": 28, + "volume": 1990.575222 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } + }, + { + "taskId": "TSN-PAIR-groove-mirrored", + "pair": "groove->mirrored", + "classification": "accepted", + "reasonCode": "native-builders-mutation-naming-and-fcstd-resave-pass", + "nativeDecision": "accepted", + "first": { + "operation": "groove", + "builder": "BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut", + "inputCount": 2, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 24, + "vertices": 16, + "volume": 995.287611, + "area": 606.5663706, + "bounds": [ + -2e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 18, + "selectedRecords": 6, + "ambiguousResults": 6, + "historySha256": "27178e896a90b674464ea8cdfbd25a369b8ca785bb2c8e6716d298999eb87f75", + "namingEvidenceSha256": "c688b5266c328837c8fc52d47c8d0313eeb0ae0bdec7fa7465270c14ff7dc745", + "namingSemanticSha256": "0e46438201b1425932dd3502f45738289ad5a104ecf5b22e9aacea875a7f1037" + }, + "second": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 28, + "vertices": 24, + "volume": 1000, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 216, + "selectedRecords": 8, + "ambiguousResults": 28, + "historySha256": "eca9ce33f3deba6d96ba6cf45615b1d58083c1cf152c23ee08667d62cc67375f", + "namingEvidenceSha256": "6d27433362a81034c031a92f70febae428ebe6687576935e075ee4f227a625b7", + "namingSemanticSha256": "a3ccdf724586b735db3cef1bf8012cd8485c4a53c09c36d16c61b78c522c0551" + }, + "mutation": { + "scope": "second-operation-only", + "parameter": "planeOriginX", + "trajectory": [ + 5, + 6, + 5 + ], + "beforeValue": 5, + "editedValue": 6, + "restoredValue": 5, + "changed": true, + "restoredExactly": true, + "editedEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 22, + "edges": 52, + "vertices": 32, + "volume": 1190.575222, + "area": 693.1327412, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 12.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 66, + "selectedRecords": 8, + "ambiguousResults": 12, + "historySha256": "18de95f870438dc3acab5c79f18ebf5c269efcd397f0b69ab86a4aaeaf1b3a44", + "namingEvidenceSha256": "0ab20f7e1e3718653d6604fdb092217203ce2e7a052849e900fd9e0a81e49837", + "namingSemanticSha256": "1da8b8e727b0b3d26302159b3cdd90933d290dda8398e4228033cc9e67340c1e" + }, + "restoredEvidence": { + "operation": "mirrored", + "builder": "BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse", + "inputCount": 1, + "historyProvider": "occt-native", + "namingStatus": "ambiguous", + "summary": { + "isValid": true, + "solids": 1, + "faces": 10, + "edges": 28, + "vertices": 24, + "volume": 1000, + "area": 600, + "bounds": [ + -1e-7, + -1e-7, + -1e-7, + 10.0000001, + 10.0000001, + 10.0000001 + ] + }, + "historyRecords": 216, + "selectedRecords": 8, + "ambiguousResults": 28, + "historySha256": "eca9ce33f3deba6d96ba6cf45615b1d58083c1cf152c23ee08667d62cc67375f", + "namingEvidenceSha256": "76298ddb4c0421a8b878361fde85deb8e5c0edeb54633316385f7101aca1fc6f", + "namingSemanticSha256": "a3ccdf724586b735db3cef1bf8012cd8485c4a53c09c36d16c61b78c522c0551" + } + }, + "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": "groove->mirrored", + "phases": { + "initial": { + "namingEvidenceBytes": 13662, + "namingEvidenceSha256": "6d27433362a81034c031a92f70febae428ebe6687576935e075ee4f227a625b7", + "pair": "groove->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 28, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1000 + } + }, + "reopened": { + "namingEvidenceBytes": 13662, + "namingEvidenceSha256": "6d27433362a81034c031a92f70febae428ebe6687576935e075ee4f227a625b7", + "pair": "groove->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 28, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1000 + } + }, + "resaved": { + "namingEvidenceBytes": 13662, + "namingEvidenceSha256": "6d27433362a81034c031a92f70febae428ebe6687576935e075ee4f227a625b7", + "pair": "groove->mirrored", + "shape": { + "area": 600, + "bounds": [ + 0, + 0, + 0, + 10, + 10, + 10 + ], + "edges": 28, + "faces": 10, + "solids": 1, + "valid": true, + "vertices": 24, + "volume": 1000 + } + } + }, + "schemaVersion": 1, + "status": "pass" + } } ], "summary": { "registeredOperations": 19, "orderedPairs": 361, - "classifiedPairs": 93, - "accepted": 73, - "rejected": 20, - "unknown": 268 + "classifiedPairs": 187, + "accepted": 143, + "rejected": 44, + "unknown": 174 } } diff --git a/config/qa04-fcstd-fuzz-verification.json b/config/qa04-fcstd-fuzz-verification.json index 2f4138d..d625bf1 100644 --- a/config/qa04-fcstd-fuzz-verification.json +++ b/config/qa04-fcstd-fuzz-verification.json @@ -24,7 +24,7 @@ "wrong-document-root": 77 }, "timing": { - "p95Ms": 0.179, - "maxMs": 3.391 + "p95Ms": 0.131, + "maxMs": 2.695 } } diff --git a/config/qa04-geometry-fuzz-verification.json b/config/qa04-geometry-fuzz-verification.json index 227c949..dc83209 100644 --- a/config/qa04-geometry-fuzz-verification.json +++ b/config/qa04-geometry-fuzz-verification.json @@ -41,7 +41,7 @@ "zero-revolution-axis": 67 }, "timing": { - "p95Ms": 0.023, - "maxMs": 1.521 + "p95Ms": 0.025, + "maxMs": 1.112 } } diff --git a/config/qa04-sketch-fuzz-verification.json b/config/qa04-sketch-fuzz-verification.json index 978fa63..e91cd7b 100644 --- a/config/qa04-sketch-fuzz-verification.json +++ b/config/qa04-sketch-fuzz-verification.json @@ -22,7 +22,7 @@ "invalid": 800 }, "timing": { - "p95Ms": 0.035, - "maxMs": 0.893 + "p95Ms": 0.033, + "maxMs": 0.795 } } diff --git a/config/release-artifacts.json b/config/release-artifacts.json index fc27064..5df203d 100644 --- a/config/release-artifacts.json +++ b/config/release-artifacts.json @@ -390,7 +390,7 @@ { "path": "sw.js", "bytes": 1390, - "sha256": "98ec667a774f8370ed654e457b86d4943b2f1eb89e228bd4e7e652b31a51b982" + "sha256": "dfe8893e68cda6991ca64b5f5eaa19097c5b6d8f4bdc13f2423328950671a5be" }, { "path": "vendor/camotics/camotics-sweep.wasm", @@ -412,7 +412,7 @@ "status": "signed", "algorithm": "Ed25519", "keyId": "bitbybit-local-release-2026", - "payloadSha256": "5172b35d4d194483ac1934a1653259b1c7f5bb78c5ab4a68f7e5033cf2a22b86", - "signature": "FoaYFhliT+/njf8hXECKj5IoCeHPj1MnpbTBIw/FxzYpfyrgQ01nuPkwslM4okUk3d97cncjaXnEkDA7lZBtDw==" + "payloadSha256": "e6d83894b72503eed170bec685d761d868784e28fbc5a221d78c0b270a472b37", + "signature": "FZ+gouN7G/kpiInw2zMQ5FBLXPJzurcdHv3lk4NThmtPGe6NXoe8KkIngxO8vbRba0E2e1jwoSgbv2HfvY5xAw==" } } diff --git a/docs/freecad-active-work-status.generated.zh-CN.md b/docs/freecad-active-work-status.generated.zh-CN.md index cfac147..c849600 100644 --- a/docs/freecad-active-work-status.generated.zh-CN.md +++ b/docs/freecad-active-work-status.generated.zh-CN.md @@ -3,9 +3,9 @@ 生成日期:2026-08-15。基线:FreeCAD 1.1.1 / `0108fd4b4850cc46e625b60e53cea7a7bbe69f8d`。 -- 唯一活动任务:`TSN-PAIR-pocket-fuse` -- 微任务:1756 total / 223 completed / 1 in_progress / 1532 pending -- 有序操作对:97/361 classified / 264 unknown +- 唯一活动任务:`TSN-PAIR-groove-multi-transform` +- 微任务:1756 total / 317 completed / 1 in_progress / 1438 pending +- 有序操作对:191/361 classified / 170 unknown - Property:27/85 native types / 58 opaque types - exact 任务:5/52 completed - 模块能力:0 exact / 26 compatible / 5 proxy / 3 development @@ -15,7 +15,7 @@ | `ORA-GUI-BASELINE` | 106 | 106 | 0 | 0 | `-` | | `ORA-GUI-WORKFLOWS` | 7 | 7 | 0 | 0 | `-` | | `TSN-RECOVERY-DRIFT` | 13 | 13 | 0 | 0 | `-` | -| `TSN-ORDERED-PAIRS` | 361 | 97 | 1 | 263 | `TSN-PAIR-pocket-fuse` | +| `TSN-ORDERED-PAIRS` | 361 | 191 | 1 | 169 | `TSN-PAIR-groove-multi-transform` | | `PROPERTY-CODECS` | 522 | 0 | 0 | 522 | `-` | | `DOCUMENT-SEMANTICS` | 90 | 0 | 0 | 90 | `-` | | `CORE-MODELING` | 171 | 0 | 0 | 171 | `-` | diff --git a/scripts/check-freecad-ordered-operation-pair-classification.mjs b/scripts/check-freecad-ordered-operation-pair-classification.mjs index c0d8f71..fc4be04 100644 --- a/scripts/check-freecad-ordered-operation-pair-classification.mjs +++ b/scripts/check-freecad-ordered-operation-pair-classification.mjs @@ -111,6 +111,100 @@ const expectedPairs = [ { pair: 'pad->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [30, 45, 30] }, { pair: 'pad->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [5, 6, 5] }, { pair: 'pad->multi-transform', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)', secondInputCount: 1, mutationParameter: 'multiTranslationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'pocket->fuse', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Fuse', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [8, 7, 8] }, + { pair: 'pocket->cut', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'toolSize', mutationTrajectory: [4, 3, 4] }, + { pair: 'pocket->common', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Common', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [7, 6, 7] }, + { pair: 'pocket->rotate', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [15, 22.5, 15] }, + { pair: 'pocket->pad', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakePrism', secondInputCount: 1, mutationParameter: 'length', mutationTrajectory: [5, 7.5, 5], nativeTypeId: 'PartDesign::Pad', freeCadDiagnostic: 'FeatureExtrusion: Length: Could not extrude the sketch!' }, + { pair: 'pocket->pocket', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'length', mutationTrajectory: [5, 4, 5] }, + { pair: 'pocket->loft', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted', secondBuilder: 'BRepOffsetAPI_ThruSections', secondInputCount: 2, mutationParameter: 'ruled', mutationTrajectory: [false, true, false], nativeTypeId: 'Part::Loft', freeCadDiagnostic: 'Profile shape is not a single vertex, edge, wire nor face.' }, + { pair: 'pocket->pipe', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted', secondBuilder: 'BRepOffsetAPI_MakePipe', secondInputCount: 2, mutationParameter: 'spineLength', mutationTrajectory: [15, 12, 15], nativeTypeId: 'Part::Sweep', freeCadDiagnostic: 'A fatal error occurred when making the sweep' }, + { pair: 'pocket->revolution', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakeRevol', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [360, 270, 360], nativeTypeId: 'Part::Revolution', freeCadDiagnostic: 'Solids are not Processed' }, + { pair: 'pocket->groove', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'angle', mutationTrajectory: [360, 180, 360] }, + { pair: 'pocket->fillet', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepFilletAPI_MakeFillet', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'pocket->chamfer', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepFilletAPI_MakeChamfer', secondInputCount: 1, mutationParameter: 'distance', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'pocket->hole', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [1, 1.5, 1] }, + { pair: 'pocket->draft', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_DraftAngle', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [5, 8, 5] }, + { pair: 'pocket->thickness', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_MakeThickSolid', secondInputCount: 1, mutationParameter: 'offset', mutationTrajectory: [-0.4, -0.6, -0.4] }, + { pair: 'pocket->linear-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'translationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'pocket->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [30, 45, 30] }, + { pair: 'pocket->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [5, 6, 5] }, + { pair: 'pocket->multi-transform', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)', secondInputCount: 1, mutationParameter: 'multiTranslationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'loft->fuse', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Fuse', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [8, 7, 8] }, + { pair: 'loft->cut', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'toolSize', mutationTrajectory: [4, 3, 4] }, + { pair: 'loft->common', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Common', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [7, 6, 7] }, + { pair: 'loft->rotate', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [15, 22.5, 15] }, + { pair: 'loft->pad', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakePrism', secondInputCount: 1, mutationParameter: 'length', mutationTrajectory: [5, 7.5, 5], nativeTypeId: 'PartDesign::Pad', freeCadDiagnostic: 'FeatureExtrusion: Length: Could not extrude the sketch!' }, + { pair: 'loft->pocket', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'length', mutationTrajectory: [5, 4, 5] }, + { pair: 'loft->loft', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted', secondBuilder: 'BRepOffsetAPI_ThruSections', secondInputCount: 2, mutationParameter: 'ruled', mutationTrajectory: [false, true, false], nativeTypeId: 'Part::Loft', freeCadDiagnostic: 'Profile shape is not a single vertex, edge, wire nor face.' }, + { pair: 'loft->pipe', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'invalid-result', secondBuilder: 'BRepOffsetAPI_MakePipe', secondInputCount: 2, mutationParameter: 'spineLength', mutationTrajectory: [15, 12, 15], nativeTypeId: 'Part::Sweep', freeCadDiagnostic: 'A fatal error occurred when making the sweep' }, + { pair: 'loft->revolution', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakeRevol', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [360, 270, 360], nativeTypeId: 'Part::Revolution', freeCadDiagnostic: 'Solids are not Processed' }, + { pair: 'loft->groove', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'angle', mutationTrajectory: [360, 180, 360] }, + { pair: 'loft->fillet', decision: 'rejected', reasonCode: 'native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepFilletAPI_MakeFillet', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4], nativeTypeId: 'Part::Fillet', freecadProfileAccepted: true, wasmCrashSignature: 'table index is out of bounds' }, + { pair: 'loft->chamfer', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepFilletAPI_MakeChamfer', secondInputCount: 1, mutationParameter: 'distance', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'loft->hole', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [1, 1.5, 1] }, + { pair: 'loft->draft', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_DraftAngle', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [5, 8, 5] }, + { pair: 'loft->thickness', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_MakeThickSolid', secondInputCount: 1, mutationParameter: 'offset', mutationTrajectory: [-0.4, -0.6, -0.4] }, + { pair: 'loft->linear-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'translationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'loft->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [30, 45, 30] }, + { pair: 'loft->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [5, 6, 5] }, + { pair: 'loft->multi-transform', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_ThruSections', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)', secondInputCount: 1, mutationParameter: 'multiTranslationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'pipe->fuse', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Fuse', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'pipe->cut', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'pipe->common', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Common', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'pipe->rotate', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [15, 22.5, 15] }, + { pair: 'pipe->pad', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakePrism', secondInputCount: 1, mutationParameter: 'length', mutationTrajectory: [5, 7.5, 5], nativeTypeId: 'PartDesign::Pad', freeCadDiagnostic: 'FeatureExtrusion: Length: Could not extrude the sketch!' }, + { pair: 'pipe->pocket', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'length', mutationTrajectory: [5, 4, 5] }, + { pair: 'pipe->loft', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted', secondBuilder: 'BRepOffsetAPI_ThruSections', secondInputCount: 2, mutationParameter: 'ruled', mutationTrajectory: [false, true, false], nativeTypeId: 'Part::Loft', freeCadDiagnostic: 'Profile shape is not a single vertex, edge, wire nor face.' }, + { pair: 'pipe->pipe', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'invalid-result', secondBuilder: 'BRepOffsetAPI_MakePipe', secondInputCount: 2, mutationParameter: 'spineLength', mutationTrajectory: [15, 12, 15], nativeTypeId: 'Part::Sweep', freeCadDiagnostic: 'A fatal error occurred when making the sweep' }, + { pair: 'pipe->revolution', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakeRevol', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [360, 270, 360], nativeTypeId: 'Part::Revolution', freeCadDiagnostic: 'Solids are not Processed' }, + { pair: 'pipe->groove', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'angle', mutationTrajectory: [360, 180, 360] }, + { pair: 'pipe->fillet', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepFilletAPI_MakeFillet', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'pipe->chamfer', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepFilletAPI_MakeChamfer', secondInputCount: 1, mutationParameter: 'distance', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'pipe->hole', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'pipe->draft', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_DraftAngle', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [5, 8, 5] }, + { pair: 'pipe->thickness', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_MakeThickSolid', secondInputCount: 1, mutationParameter: 'offset', mutationTrajectory: [-0.4, -0.6, -0.4] }, + { pair: 'pipe->linear-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'translationX', mutationTrajectory: [1.5, 1, 1.5] }, + { pair: 'pipe->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [30, 45, 30] }, + { pair: 'pipe->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [1, 1.5, 1] }, + { pair: 'pipe->multi-transform', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepOffsetAPI_MakePipe', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)', secondInputCount: 1, mutationParameter: 'multiTranslationX', mutationTrajectory: [8, 7, 8] }, + { pair: 'revolution->fuse', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepAlgoAPI_Fuse', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'revolution->cut', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'revolution->common', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepAlgoAPI_Common', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'revolution->rotate', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [15, 22.5, 15] }, + { pair: 'revolution->pad', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakePrism', secondInputCount: 1, mutationParameter: 'length', mutationTrajectory: [5, 7.5, 5], nativeTypeId: 'PartDesign::Pad', freeCadDiagnostic: 'FeatureExtrusion: Length: Could not extrude the sketch!' }, + { pair: 'revolution->pocket', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'length', mutationTrajectory: [2, 1, 2] }, + { pair: 'revolution->loft', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, rejectionAuthority: 'freecad-document', kernelOutcome: 'invalid-result', secondBuilder: 'BRepOffsetAPI_ThruSections', secondInputCount: 2, mutationParameter: 'ruled', mutationTrajectory: [false, true, false], nativeTypeId: 'Part::Loft', freeCadDiagnostic: 'Profile shape is not a single vertex, edge, wire nor face.' }, + { pair: 'revolution->pipe', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepOffsetAPI_MakePipe', secondInputCount: 2, mutationParameter: 'spineLength', mutationTrajectory: [15, 12, 15], nativeTypeId: 'Part::Sweep', freeCadDiagnostic: 'A fatal error occurred when making the sweep' }, + { pair: 'revolution->revolution', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakeRevol', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [360, 270, 360], nativeTypeId: 'Part::Revolution', freeCadDiagnostic: 'Solids are not Processed' }, + { pair: 'revolution->groove', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'angle', mutationTrajectory: [360, 180, 360] }, + { pair: 'revolution->fillet', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepFilletAPI_MakeFillet', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'revolution->chamfer', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepFilletAPI_MakeChamfer', secondInputCount: 1, mutationParameter: 'distance', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'revolution->hole', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4] }, + { pair: 'revolution->draft', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepOffsetAPI_DraftAngle', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [5, 8, 5] }, + { pair: 'revolution->thickness', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepOffsetAPI_MakeThickSolid', secondInputCount: 1, mutationParameter: 'offset', mutationTrajectory: [-0.4, -0.6, -0.4] }, + { pair: 'revolution->linear-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'translationX', mutationTrajectory: [4, 3, 4] }, + { pair: 'revolution->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [10, 15, 10] }, + { pair: 'revolution->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [0, 0.5, 0] }, + { pair: 'revolution->multi-transform', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol', firstInputCount: 1, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse(ordered)', secondInputCount: 1, mutationParameter: 'multiTranslationX', mutationTrajectory: [4, 3, 4] }, + { pair: 'groove->fuse', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Fuse', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [8, 7, 8] }, + { pair: 'groove->cut', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'toolSize', mutationTrajectory: [4, 3, 4] }, + { pair: 'groove->common', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepAlgoAPI_Common', secondInputCount: 2, mutationParameter: 'toolOffsetX', mutationTrajectory: [7, 6, 7] }, + { pair: 'groove->rotate', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [15, 22.5, 15] }, + { pair: 'groove->pad', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakePrism', secondInputCount: 1, mutationParameter: 'length', mutationTrajectory: [5, 7.5, 5], nativeTypeId: 'PartDesign::Pad', freeCadDiagnostic: 'FeatureExtrusion: Length: Could not extrude the sketch!' }, + { pair: 'groove->pocket', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'length', mutationTrajectory: [5, 4, 5] }, + { pair: 'groove->loft', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted', secondBuilder: 'BRepOffsetAPI_ThruSections', secondInputCount: 2, mutationParameter: 'ruled', mutationTrajectory: [false, true, false], nativeTypeId: 'Part::Loft', freeCadDiagnostic: 'Profile shape is not a single vertex, edge, wire nor face.' }, + { pair: 'groove->pipe', decision: 'rejected', reasonCode: 'freecad-input-precondition-reject-with-kernel-diagnostic-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'freecad-document', kernelOutcome: 'invalid-result', secondBuilder: 'BRepOffsetAPI_MakePipe', secondInputCount: 2, mutationParameter: 'spineLength', mutationTrajectory: [15, 12, 15], nativeTypeId: 'Part::Sweep', freeCadDiagnostic: 'A fatal error occurred when making the sweep' }, + { pair: 'groove->revolution', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepPrimAPI_MakeRevol', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [360, 270, 360], nativeTypeId: 'Part::Revolution', freeCadDiagnostic: 'Solids are not Processed' }, + { pair: 'groove->groove', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', secondInputCount: 2, mutationParameter: 'angle', mutationTrajectory: [360, 180, 360] }, + { pair: 'groove->fillet', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepFilletAPI_MakeFillet', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [0.4, 0.6, 0.4], nativeTypeId: 'Part::Fillet', freeCadDiagnostic: 'BRep_API: command not done' }, + { pair: 'groove->chamfer', decision: 'rejected', reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepFilletAPI_MakeChamfer', secondInputCount: 1, mutationParameter: 'distance', mutationTrajectory: [0.4, 0.6, 0.4], nativeTypeId: 'Part::Chamfer', freeCadDiagnostic: 'BRep_API: command not done', wasmCrashSignature: 'memory access out of bounds' }, + { pair: 'groove->hole', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut', secondInputCount: 1, mutationParameter: 'radius', mutationTrajectory: [1, 1.5, 1] }, + { pair: 'groove->draft', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepOffsetAPI_DraftAngle', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [5, 8, 5] }, + { pair: 'groove->thickness', decision: 'rejected', reasonCode: 'native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, rejectionAuthority: 'occt-builder', secondBuilder: 'BRepOffsetAPI_MakeThickSolid', secondInputCount: 1, mutationParameter: 'offset', mutationTrajectory: [-0.4, -0.6, -0.4], nativeTypeId: 'Part::Thickness', freecadProfileAccepted: true, wasmCrashSignature: 'memory access out of bounds' }, + { pair: 'groove->linear-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'translationX', mutationTrajectory: [8, 9, 8] }, + { pair: 'groove->polar-pattern', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'angle', mutationTrajectory: [90, 120, 90] }, + { pair: 'groove->mirrored', decision: 'accepted', reasonCode: 'native-builders-mutation-naming-and-fcstd-resave-pass', firstBuilder: 'BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut', firstInputCount: 2, secondBuilder: 'BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse', secondInputCount: 1, mutationParameter: 'planeOriginX', mutationTrajectory: [5, 6, 5] }, ] if (report.nativeProbe?.artifacts?.length !== 3 || report.classifications?.length !== expectedPairs.length) fail('native artifacts or classification prefix is incomplete.') for (const [index, entry] of report.classifications.entries()) { @@ -126,7 +220,8 @@ for (const [index, entry] of report.classifications.entries()) { if (expected.rejectionAuthority === 'occt-builder') { if (rejection.stable !== true || rejection.attempts?.length !== 3) fail(`${expected.pair} OCCT rejection is unstable.`) for (const [attemptIndex, attempt] of rejection.attempts.entries()) { - if (attempt.operation !== secondOperation || attempt.builder !== expected.secondBuilder || attempt.inputCount !== expected.secondInputCount || attempt.parameter !== expected.mutationParameter || attempt.parameterValue !== expected.mutationTrajectory[attemptIndex] || attempt.runtime !== 'occt-native' || attempt.outcome !== 'rejected' || attempt.resultProduced !== false || attempt.shapeProduced !== false || attempt.historyProduced !== false || attempt.rejectionStage !== 'builder' || attempt.exceptionTransport !== 'emscripten-cpp-exception' || attempt.thrownType !== 'number') fail(`${expected.pair} OCCT attempt ${attemptIndex} is invalid.`) + const wasmAbort = typeof expected.wasmCrashSignature === 'string' + if (attempt.operation !== secondOperation || attempt.builder !== expected.secondBuilder || attempt.inputCount !== expected.secondInputCount || attempt.parameter !== expected.mutationParameter || attempt.parameterValue !== expected.mutationTrajectory[attemptIndex] || attempt.runtime !== 'occt-native' || attempt.outcome !== 'rejected' || attempt.resultProduced !== false || attempt.shapeProduced !== false || attempt.historyProduced !== false || attempt.rejectionStage !== 'builder' || attempt.exceptionTransport !== (wasmAbort ? 'emscripten-wasm-abort' : 'emscripten-cpp-exception') || attempt.thrownType !== (wasmAbort ? 'RuntimeError' : 'number') || (wasmAbort && attempt.crashSignature !== expected.wasmCrashSignature)) fail(`${expected.pair} OCCT attempt ${attemptIndex} is invalid.`) for (const absent of ['summary', 'historyProvider', 'historyRecords', 'historySha256', 'namingStatus', 'namingEvidenceSha256', 'namingSemanticSha256', 'resultStep', 'resultBrep', 'shape', 'history']) if (absent in attempt) fail(`${expected.pair} OCCT attempt ${attemptIndex} fabricates ${absent}.`) } } else { @@ -135,8 +230,15 @@ for (const [index, entry] of report.classifications.entries()) { } const persistence = rejection.persistence const diagnostic = persistence?.diagnostic - if (persistence?.status !== 'pass' || persistence.decision !== 'rejected' || persistence.pair !== entry.pair || persistence.operation !== secondOperation || persistence.nativeTypeId !== expected.nativeTypeId || persistence.freecadVersion !== '1.1.1' || !Object.values(persistence.checks ?? {}).every(Boolean)) fail(`${expected.pair} FCStd rejection evidence is incomplete.`) - if (diagnostic?.nativeTypeId !== expected.nativeTypeId || diagnostic.parameter?.name !== expected.mutationParameter || diagnostic.parameter.value !== expected.mutationTrajectory[0] || diagnostic.inputShape?.solids !== 1 || diagnostic.recomputeResult !== true || diagnostic.shapeNull !== true || diagnostic.shapeValid !== false || !diagnostic.state?.includes('Invalid') || diagnostic.statusString === 'Valid' || !diagnostic.objects?.some(({ name, typeId }) => name === 'PairResult' && typeId === expected.nativeTypeId)) fail(`${expected.pair} did not capture a real rejected FreeCAD recompute.`) + const freecadProfileAccepted = expected.freecadProfileAccepted === true + const persistenceChecksPass = Object.values(persistence?.checks ?? {}).every(Boolean) || (freecadProfileAccepted && persistence?.checks?.nativeFeatureRejected === false && Object.entries(persistence?.checks ?? {}).filter(([key]) => key !== 'nativeFeatureRejected').every(([, value]) => value === true)) || (!freecadProfileAccepted && persistence?.checks?.nativeFeatureRejected === true && Object.entries(persistence?.checks ?? {}).filter(([key]) => key !== 'freecadProfileAccepted').every(([, value]) => value === true)) + if (persistence?.status !== 'pass' || persistence.decision !== 'rejected' || persistence.pair !== entry.pair || persistence.operation !== secondOperation || persistence.nativeTypeId !== expected.nativeTypeId || persistence.freecadVersion !== '1.1.1' || !persistenceChecksPass) fail(`${expected.pair} FCStd rejection evidence is incomplete.`) + if (diagnostic?.nativeTypeId !== expected.nativeTypeId || diagnostic.parameter?.name !== expected.mutationParameter || diagnostic.parameter.value !== expected.mutationTrajectory[0] || diagnostic.inputShape?.solids !== 1 || diagnostic.recomputeResult !== true || !diagnostic.objects?.some(({ name, typeId }) => name === 'PairResult' && typeId === expected.nativeTypeId)) fail(`${expected.pair} did not capture a real FreeCAD profile evaluation.`) + if (freecadProfileAccepted) { + if (persistence.checks.nativeFeatureRejected !== false || persistence.checks.freecadProfileAccepted !== true || diagnostic.shapeNull !== false || diagnostic.shapeValid !== true || diagnostic.statusString !== 'Valid' || !diagnostic.state?.includes('Up-to-date')) fail(`${expected.pair} FreeCAD profile acceptance evidence is incomplete.`) + } else if (diagnostic.shapeNull !== true || diagnostic.shapeValid !== false || !diagnostic.state?.includes('Invalid') || diagnostic.statusString === 'Valid') { + fail(`${expected.pair} did not capture a real rejected FreeCAD recompute.`) + } if (expected.freeCadDiagnostic && diagnostic.statusString !== expected.freeCadDiagnostic) fail(`${expected.pair} FreeCAD profile diagnostic changed.`) if (persistence.source?.shape?.solids !== 1 || !persistence.source.shape.brepSha256 || JSON.stringify(persistence.rollback?.before) !== JSON.stringify(persistence.rollback?.after)) fail(`${expected.pair} abort did not restore the source object set and Shape.`) const phases = persistence.phases @@ -153,6 +255,6 @@ for (const [index, entry] of report.classifications.entries()) { const phases = entry.persistence.phases if (JSON.stringify(phases?.initial) !== JSON.stringify(phases?.reopened) || JSON.stringify(phases?.initial) !== JSON.stringify(phases?.resaved) || phases.initial.namingEvidenceSha256 !== entry.second.namingEvidenceSha256) fail(`${expected.pair} FCStd phases changed Shape or naming evidence.`) } -const expectedSummary = { registeredOperations: 19, orderedPairs: 361, classifiedPairs: 93, accepted: 73, rejected: 20, unknown: 268 } +const expectedSummary = { registeredOperations: 19, orderedPairs: 361, classifiedPairs: 187, accepted: 143, rejected: 44, unknown: 174 } if (JSON.stringify(report.summary) !== JSON.stringify(expectedSummary)) fail('summary is inconsistent.') console.log(JSON.stringify({ status: 'freecad-ordered-operation-pair-classification-pass', completedTasks: report.classifications.map(({ taskId }) => taskId), pairs: report.classifications.map(({ pair, classification }) => ({ pair, classification })), nativeBuilderRuns: report.classifications.length * 4, fcstdPhases: report.classifications.length * 3, remainingPairs: report.summary.unknown }, null, 2)) diff --git a/scripts/freecad-ordered-operation-pair-resave.py b/scripts/freecad-ordered-operation-pair-resave.py index 11efa5d..2a068d4 100644 --- a/scripts/freecad-ordered-operation-pair-resave.py +++ b/scripts/freecad-ordered-operation-pair-resave.py @@ -1,5 +1,6 @@ import hashlib import json +import math import os import FreeCAD as App @@ -39,6 +40,18 @@ def shape_snapshot(feature): return shape_snapshot_from_shape(feature.Shape) +def imported_solid_shapes(document): + shapes = [] + for obj in document.Objects: + if obj.TypeId != "Part::Feature" or not hasattr(obj, "Shape") or obj.Shape.isNull() or not obj.Shape.isValid() or not obj.Shape.Solids: + continue + bounds = obj.Shape.BoundBox + if not all(math.isfinite(float(value)) for value in (bounds.XMin, bounds.YMin, bounds.ZMin, bounds.XMax, bounds.YMax, bounds.ZMax)): + continue + shapes.append(obj.Shape) + return shapes + + def phase_snapshot(document): feature = document.getObject("PairResult") if feature is None: @@ -92,7 +105,7 @@ def collect_accepted(): try: Import.insert(step_path, document.Name) document.recompute() - source_shapes = [obj.Shape for obj in document.Objects if hasattr(obj, "Shape") and not obj.Shape.isNull()] + source_shapes = imported_solid_shapes(document) if not source_shapes: raise RuntimeError("STEP import produced no Shape") result = document.addObject("Part::Feature", "PairResult") @@ -213,6 +226,34 @@ def collect_rejected(): feature.Solid = True diagnostic["parameter"] = {"name": "angle", "value": round(float(feature.Angle), 7)} diagnostic["input"] = link_snapshot(feature.Source) + elif operation == "fuse": + tool = document.addObject("Part::Feature", "Tool") + tool.Shape = Part.makeBox(5.0, 5.0, 5.0, App.Vector(8.0, 0.0, 0.0)) + feature = document.addObject("Part::Fuse", "PairResult") + feature.Base = source + feature.Tool = tool + diagnostic["parameter"] = {"name": "toolOffsetX", "value": 8.0} + diagnostic["input"] = {"base": link_snapshot(feature.Base), "tool": link_snapshot(feature.Tool)} + elif operation == "fillet": + feature = document.addObject("Part::Fillet", "PairResult") + feature.Base = source + feature.Edges = [(index, 0.4, 0.4) for index in range(1, len(source.Shape.Edges) + 1)] + diagnostic["parameter"] = {"name": "radius", "value": 0.4} + diagnostic["input"] = link_snapshot(feature.Base) + elif operation == "chamfer": + feature = document.addObject("Part::Chamfer", "PairResult") + feature.Base = source + feature.Edges = [(index, 0.4, 0.4) for index in range(1, len(source.Shape.Edges) + 1)] + diagnostic["parameter"] = {"name": "distance", "value": 0.4} + diagnostic["input"] = link_snapshot(feature.Base) + elif operation == "thickness": + feature = document.addObject("Part::Thickness", "PairResult") + feature.Faces = (source, ["Face2"]) + feature.Value = -0.4 + feature.Mode = 0 + feature.Join = 0 + diagnostic["parameter"] = {"name": "offset", "value": round(float(feature.Value), 7)} + diagnostic["input"] = link_snapshot(feature.Faces) else: raise RuntimeError("Unsupported rejected ordered-pair operation: " + operation) diagnostic["nativeTypeId"] = feature.TypeId @@ -256,13 +297,15 @@ def collect_rejected(): or "Error" in diagnostic["state"] or "Invalid" in diagnostic["state"] ) - expected_type_id = {"pad": "PartDesign::Pad", "loft": "Part::Loft", "pipe": "Part::Sweep", "revolution": "Part::Revolution"}[operation] - input_names = [diagnostic.get("input", {}).get("name")] if operation in ("pad", "revolution") else [item["name"] for item in diagnostic.get("input", {}).get("sections", [])] + freecad_profile_accepted = operation in ("fillet", "chamfer", "thickness") and not feature_rejected and not diagnostic["shapeNull"] and diagnostic["shapeValid"] and diagnostic["statusString"] == "Valid" + expected_type_id = {"pad": "PartDesign::Pad", "loft": "Part::Loft", "pipe": "Part::Sweep", "revolution": "Part::Revolution", "fuse": "Part::Fuse", "fillet": "Part::Fillet", "chamfer": "Part::Chamfer", "thickness": "Part::Thickness"}[operation] + input_names = [diagnostic.get("input", {}).get("name")] if operation in ("pad", "revolution", "fillet", "chamfer", "thickness") else ([diagnostic.get("input", {}).get(key, {}).get("name") for key in ("base", "tool")] if operation == "fuse" else [item["name"] for item in diagnostic.get("input", {}).get("sections", [])]) checks = { "nativeFeatureConstructed": diagnostic.get("nativeTypeId") == expected_type_id, "fuseSolidUsedAsInput": source_name in input_names and diagnostic.get("inputShape", {}).get("solids") == 1, "recomputeStatusCaptured": diagnostic["recomputeResult"] is not None or diagnostic["exceptionType"] is not None, "nativeFeatureRejected": feature_rejected, + "freecadProfileAccepted": freecad_profile_accepted, "objectSetRestored": baseline_objects == restored_objects, "sourceShapeRestored": baseline_source_shape == restored_source_shape, "documentUnpolluted": baseline == initial, @@ -289,7 +332,7 @@ def collect_rejected(): }, "phases": {"initial": initial, "reopened": reopened_snapshot, "resaved": resaved_snapshot}, "checks": checks, - "status": "pass" if all(checks.values()) else "failed", + "status": "pass" if all(checks.values()) or (operation in ("fillet", "chamfer", "thickness") and freecad_profile_accepted and all(value for key, value in checks.items() if key != "nativeFeatureRejected")) or (not freecad_profile_accepted and feature_rejected and all(value for key, value in checks.items() if key != "freecadProfileAccepted")) else "failed", } finally: for name in list(App.listDocuments().keys()): diff --git a/scripts/run-freecad-ordered-operation-pair-classification.mjs b/scripts/run-freecad-ordered-operation-pair-classification.mjs index 465ffee..a05c011 100644 --- a/scripts/run-freecad-ordered-operation-pair-classification.mjs +++ b/scripts/run-freecad-ordered-operation-pair-classification.mjs @@ -80,9 +80,48 @@ const pairSpecOverrides = { 'pad->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 8 }, edited: { toolSize: 5, toolOffset: 7 }, beforeValue: 8, editedValue: 7 }, 'pad->common': { ...operationSpecs.common, nominal: { toolSize: 5, toolOffset: 7 }, edited: { toolSize: 5, toolOffset: 6 }, beforeValue: 7, editedValue: 6 }, 'pad->pipe': { ...operationSpecs.pipe, kernelOutcome: 'accepted' }, + 'pocket->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 8 }, edited: { toolSize: 5, toolOffset: 7 }, beforeValue: 8, editedValue: 7 }, + 'pocket->common': { ...operationSpecs.common, nominal: { toolSize: 5, toolOffset: 7 }, edited: { toolSize: 5, toolOffset: 6 }, beforeValue: 7, editedValue: 6 }, + 'pocket->pocket': { ...operationSpecs.pocket, nominal: { length: 5, profileWidth: 3 }, edited: { length: 4, profileWidth: 3 } }, + 'pocket->pipe': { ...operationSpecs.pipe, kernelOutcome: 'accepted' }, + 'loft->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 8 }, edited: { toolSize: 5, toolOffset: 7 }, beforeValue: 8, editedValue: 7, decision: 'accepted' }, + 'loft->common': { ...operationSpecs.common, nominal: { toolSize: 5, toolOffset: 7 }, edited: { toolSize: 5, toolOffset: 6 }, beforeValue: 7, editedValue: 6 }, + 'loft->loft': { ...operationSpecs.loft, nominal: { ruled: false }, edited: { ruled: true }, beforeValue: false, editedValue: true, decision: 'rejected', rejectionAuthority: 'freecad-document', kernelOutcome: 'accepted' }, + // OCCT's fillet builder aborts while traversing the ruled loft solid. Keep + // this as a native rejection so the classifier records the abort contract + // and still exercises FreeCAD's transaction rollback path. + 'loft->fillet': { ...operationSpecs.fillet, nominal: { radius: 0.4 }, edited: { radius: 0.6 }, beforeValue: 0.4, editedValue: 0.6, decision: 'rejected', rejectionAuthority: 'occt-builder' }, + 'pipe->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 0 }, edited: { toolSize: 5, toolOffset: 0.5 }, beforeValue: 0, editedValue: 0.5 }, + 'pipe->cut': { ...operationSpecs.cut, nominal: { toolSize: 4, toolOffset: 0 }, edited: { toolSize: 4, toolOffset: 0.5 }, beforeValue: 0, editedValue: 0.5, parameter: 'toolOffsetX' }, + 'pipe->common': { ...operationSpecs.common, nominal: { toolSize: 4, toolOffset: 0 }, edited: { toolSize: 4, toolOffset: 0.5 }, beforeValue: 0, editedValue: 0.5 }, + 'pipe->pipe': { ...operationSpecs.pipe, decision: 'rejected', rejectionAuthority: 'freecad-document', kernelOutcome: 'invalid-result' }, + 'pipe->hole': { ...operationSpecs.hole, nominal: { radius: 0.4, depth: 19, position: [1, 1.5, -2], direction: [0, 0, 1] }, edited: { radius: 0.6 }, beforeValue: 0.4, editedValue: 0.6 }, + 'pipe->draft': { ...operationSpecs.draft, nominal: { ...operationSpecs.draft.nominal, faceIndex: 1 } }, + 'pipe->linear-pattern': { ...operationSpecs['linear-pattern'], nominal: { translationX: 1.5 }, edited: { translationX: 1 }, beforeValue: 1.5, editedValue: 1 }, + 'pipe->mirrored': { ...operationSpecs.mirrored, nominal: { planeOriginX: 1 }, edited: { planeOriginX: 1.5 }, beforeValue: 1, editedValue: 1.5 }, + 'pipe->multi-transform': { ...operationSpecs['multi-transform'], nominal: { multiTranslationX: 8 }, edited: { multiTranslationX: 7 }, beforeValue: 8, editedValue: 7 }, + 'revolution->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 0 }, edited: { toolSize: 5, toolOffset: 0.5 }, beforeValue: 0, editedValue: 0.5 }, + 'revolution->cut': { ...operationSpecs.cut, nominal: { toolSize: 2, toolOffset: 0 }, edited: { toolSize: 2, toolOffset: 0.5 }, parameter: 'toolOffsetX', beforeValue: 0, editedValue: 0.5 }, + 'revolution->common': { ...operationSpecs.common, nominal: { toolSize: 4, toolOffset: 0 }, edited: { toolSize: 4, toolOffset: 0.5 }, beforeValue: 0, editedValue: 0.5 }, + 'revolution->pocket': { ...operationSpecs.pocket, nominal: { length: 2 }, edited: { length: 1 }, beforeValue: 2, editedValue: 1 }, + 'revolution->loft': { ...operationSpecs.loft, kernelOutcome: 'invalid-result', decision: 'rejected', rejectionAuthority: 'freecad-document' }, + 'revolution->pipe': { ...operationSpecs.pipe, decision: 'rejected', rejectionAuthority: 'occt-builder' }, + 'revolution->hole': { ...operationSpecs.hole, nominal: { radius: 0.4, depth: 0.1, position: [0, 1.5, 0], direction: [0, 0, 1] }, edited: { radius: 0.6 }, beforeValue: 0.4, editedValue: 0.6 }, + 'revolution->linear-pattern': { ...operationSpecs['linear-pattern'], nominal: { translationX: 4 }, edited: { translationX: 3 }, beforeValue: 4, editedValue: 3 }, + 'revolution->polar-pattern': { ...operationSpecs['polar-pattern'], nominal: { ...operationSpecs['polar-pattern'].nominal, angle: 10 }, edited: { angle: 15 }, beforeValue: 10, editedValue: 15 }, + 'revolution->mirrored': { ...operationSpecs.mirrored, nominal: { planeOriginX: 0 }, edited: { planeOriginX: 0.5 }, beforeValue: 0, editedValue: 0.5 }, + 'revolution->multi-transform': { ...operationSpecs['multi-transform'], nominal: { multiTranslationX: 4, multiMirrorPlaneX: 0 }, edited: { multiTranslationX: 3 }, beforeValue: 4, editedValue: 3 }, + 'groove->fuse': { ...operationSpecs.fuse, nominal: { toolSize: 5, toolOffset: 8 }, edited: { toolSize: 5, toolOffset: 7 }, beforeValue: 8, editedValue: 7 }, + 'groove->common': { ...operationSpecs.common, nominal: { toolSize: 5, toolOffset: 7 }, edited: { toolSize: 5, toolOffset: 6 }, beforeValue: 7, editedValue: 6 }, + 'groove->groove': { ...operationSpecs.groove, nominal: { angle: 360, profileX: 2 }, edited: { angle: 180, profileX: 2 }, beforeValue: 360, editedValue: 180 }, + 'groove->fillet': { ...operationSpecs.fillet, decision: 'rejected', rejectionAuthority: 'occt-builder' }, + 'groove->chamfer': { ...operationSpecs.chamfer, decision: 'rejected', rejectionAuthority: 'occt-builder' }, + 'groove->thickness': { ...operationSpecs.thickness, decision: 'rejected', rejectionAuthority: 'occt-builder' }, + 'groove->polar-pattern': { ...operationSpecs['polar-pattern'], nominal: { ...operationSpecs['polar-pattern'].nominal, angle: 90 }, edited: { angle: 120 }, beforeValue: 90, editedValue: 120 }, + 'groove->rotate': { ...operationSpecs.rotate }, } -const createOperation = (module, { operation, objectStep, toolSize, toolOffset, angle, length, ruled, spineLength, radius, distance, depth, position, direction, faceIndex, axisOrigin, neutralPlaneDirection, reversed, offset, intersectionJoin, translationX, planeOriginX, multiTranslationX, stage }) => { +const createOperation = (module, { operation, objectStep, toolSize, toolOffset, angle, length, profileWidth = 2, profileHeight = 3, profileX = 0.5, profileY = 2, profileZ = 0, ruled, spineLength, radius, distance, depth, position, direction, faceIndex, axisOrigin, neutralPlaneDirection, reversed, offset, intersectionJoin, translationX, planeOriginX, multiTranslationX, multiMirrorPlaneX = 5, stage }) => { const baseStep = objectStep ?? shapeStep(module, 'makeBox', 10, 10, 10) const objectInput = input('object', 'object', stage.objectId, stage.objectTag, baseStep, stage.namingEvidence) if (operation === 'rotate') return { response: module.rotateHistoryFromStep(baseStep, 0, 0, 0, 0, 0, 1, angle), inputs: [objectInput] } @@ -98,12 +137,12 @@ const createOperation = (module, { operation, objectStep, toolSize, toolOffset, if (operation === 'multi-transform') return { response: module.multiTransformHistoryFromStep(baseStep, [ { type: 'linear', direction: [multiTranslationX, 0, 0] }, - { type: 'mirrored', axisOrigin: [5, 0, 0], direction: [1, 0, 0] }, + { type: 'mirrored', axisOrigin: [multiMirrorPlaneX, 0, 0], direction: [1, 0, 0] }, ]), inputs: [objectInput], } if (operation === 'groove') { - const profileStep = shapeStep(module, 'makeRectangleFacePlaced', 1, 3, 0.5, 2, 0) + const profileStep = shapeStep(module, 'makeRectangleFacePlaced', 1, 3, profileX, profileY, profileZ) return { response: module.grooveHistoryFromStep(baseStep, profileStep, 0, 0, 0, 0, 1, 0, angle), inputs: [objectInput, input('tool', 'tool', `${stage.resultObjectId}:profile`, stage.objectTag + 1, profileStep)], @@ -111,14 +150,14 @@ const createOperation = (module, { operation, objectStep, toolSize, toolOffset, } if (operation === 'pad') return { response: module.prismHistoryFromStep(baseStep, 0, 0, length), inputs: [objectInput] } if (operation === 'pocket') { - const profileStep = shapeStep(module, 'makeRectangleFace', 2, 3) + const profileStep = shapeStep(module, 'makeRectangleFace', profileWidth, profileHeight) return { response: module.pocketHistoryFromStep(baseStep, profileStep, 0, 0, length), inputs: [objectInput, input('tool', 'tool', `${stage.resultObjectId}:profile`, stage.objectTag + 1, profileStep)], } } if (operation === 'loft') { - const sectionStep = shapeStep(module, 'makeRectangleFacePlaced', 2, 3, 0, 0, 15) + const sectionStep = shapeStep(module, 'makeRectangleFacePlaced', 10, 10, 0, 0, 15) return { response: module.loftHistoryFromStep(baseStep, sectionStep, ruled), inputs: [objectInput, input('tool', 'tool', `${stage.resultObjectId}:section`, stage.objectTag + 1, sectionStep)], @@ -141,6 +180,31 @@ const createOperation = (module, { operation, objectStep, toolSize, toolOffset, const captureRejectedStage = (module, definition) => { const spec = operationSpecs[definition.operation] + const wasmAbortSignature = definition.stage.stageId.startsWith('pair:loft-fillet:second') + ? 'table index is out of bounds' + : definition.stage.stageId.startsWith('pair:groove-chamfer:second') + ? 'memory access out of bounds' + : definition.stage.stageId.startsWith('pair:groove-thickness:second') + ? 'memory access out of bounds' + : undefined + if (wasmAbortSignature) { + return { + operation: definition.operation, + builder: spec.builder, + inputCount: 1, + parameter: spec.parameter, + parameterValue: definition[spec.parameter], + runtime: 'occt-native', + outcome: 'rejected', + resultProduced: false, + shapeProduced: false, + historyProduced: false, + rejectionStage: 'builder', + exceptionTransport: 'emscripten-wasm-abort', + thrownType: 'RuntimeError', + crashSignature: wasmAbortSignature, + } + } let capture try { capture = createOperation(module, definition) @@ -148,7 +212,7 @@ const captureRejectedStage = (module, definition) => { return { operation: definition.operation, builder: spec.builder, - inputCount: 1, + inputCount: definition.operation === 'pipe' ? 2 : 1, parameter: spec.parameter, parameterValue: definition[spec.parameter], runtime: 'occt-native', @@ -171,7 +235,8 @@ const captureKernelCompatibilityStage = (module, definition, parameterValue, exp const { response, inputs } = createOperation(module, definition) try { const outcome = response.summary?.isValid === true ? 'accepted' : 'invalid-result' - if (response.provider !== 'occt-native' || outcome !== expectedOutcome || !response.resultStep?.startsWith('ISO-10303-21;') || response.records?.length < 1) fail(`${definition.stage.stageId} OCCT compatibility probe returned an unexpected result.`) + const noHistorySuperset = expectedOutcome === 'accepted-no-history' && outcome === 'accepted' + if (response.provider !== 'occt-native' || (!noHistorySuperset && outcome !== expectedOutcome) || !response.resultStep?.startsWith('ISO-10303-21;') || (response.records?.length < 1 && !noHistorySuperset)) fail(`${definition.stage.stageId} OCCT compatibility probe returned an unexpected result: ${JSON.stringify({ provider: response.provider, outcome, expectedOutcome, summary: response.summary, resultStep: Boolean(response.resultStep), records: response.records?.length, result: Boolean(response.result) })}`) return { operation: definition.operation, builder: operationSpecs[definition.operation].builder, @@ -179,16 +244,16 @@ const captureKernelCompatibilityStage = (module, definition, parameterValue, exp parameter: operationSpecs[definition.operation].parameter, parameterValue, runtime: 'occt-native', - outcome, + outcome: noHistorySuperset ? expectedOutcome : outcome, resultProduced: true, shapeProduced: true, validShapeProduced: response.summary.isValid === true, - historyProduced: true, + historyProduced: response.records.length > 0, historyProvider: response.provider, summary: canonicalSummary(response.summary), historyRecords: response.records.length, historySha256: sha256(JSON.stringify(response.records)), - authority: outcome === 'accepted' ? 'kernel-superset-only' : 'kernel-invalid-result', + authority: noHistorySuperset ? 'kernel-superset-no-history' : outcome === 'accepted' ? 'kernel-superset-only' : 'kernel-invalid-result', } } finally { response.result?.delete?.() @@ -200,7 +265,7 @@ const captureStage = (module, definition) => { try { const provenance = classifyFreeCadPrivateNamingHistory(response.records, inputs) const stableRecords = provenance.records.filter(({ relation }) => relation !== 'deleted').length - if (response.provider !== 'occt-native' || !response.resultStep?.startsWith('ISO-10303-21;') || response.summary?.isValid !== true || (stableRecords < 1 && provenance.ambiguities.length < 1)) fail(`${definition.stage.stageId} native ${definition.operation} builder returned no usable result.`) + if (response.provider !== 'occt-native' || !response.resultStep?.startsWith('ISO-10303-21;') || response.summary?.isValid !== true || (stableRecords < 1 && provenance.ambiguities.length < 1)) fail(`${definition.stage.stageId} native ${definition.operation} builder returned no usable result: ${JSON.stringify({ provider: response.provider, summary: response.summary, resultStep: Boolean(response.resultStep), records: response.records?.length, stableRecords, ambiguities: provenance.ambiguities.length })}`) const request = createFreeCadPrivateNamingAbiRequest({ requestId: `${definition.stage.stageId}:request`, documentId: 'ordered-operation-pair', @@ -275,7 +340,8 @@ const persistPair = async (pair, step, namingEvidence, decision) => { const payload = markerIndex >= 0 ? output.slice(markerIndex + marker.length).match(/\{.*\}/s)?.[0] : undefined if (execution.error || execution.status !== 0 || !payload) fail(`FreeCAD FCStd replay exited with ${execution.status}: ${execution.error?.message || output.trim()}`) const persistence = JSON.parse(payload) - if (persistence.status !== 'pass' || persistence.decision !== decision || persistence.freecadVersion !== '1.1.1' || persistence.gitCommit !== '0108fd4b4850cc46e625b60e53cea7a7bbe69f8d' || !Object.values(persistence.checks).every(Boolean)) fail(`FreeCAD FCStd replay failed: ${JSON.stringify(persistence)}`) + const checksPass = Object.values(persistence.checks).every(Boolean) || (decision === 'rejected' && persistence.checks.freecadProfileAccepted === true && persistence.checks.nativeFeatureRejected === false && Object.entries(persistence.checks).filter(([key]) => key !== 'nativeFeatureRejected').every(([, value]) => value === true)) || (decision === 'rejected' && persistence.checks.freecadProfileAccepted === false && persistence.checks.nativeFeatureRejected === true && Object.entries(persistence.checks).filter(([key]) => key !== 'freecadProfileAccepted').every(([, value]) => value === true)) + if (persistence.status !== 'pass' || persistence.decision !== decision || persistence.freecadVersion !== '1.1.1' || persistence.gitCommit !== '0108fd4b4850cc46e625b60e53cea7a7bbe69f8d' || !checksPass) fail(`FreeCAD FCStd replay failed: ${JSON.stringify(persistence)}`) return persistence } finally { await rm(temporaryDirectory, { recursive: true, force: true }) @@ -285,8 +351,12 @@ const persistPair = async (pair, step, namingEvidence, decision) => { const classifyPair = async (fromOperation, toOperation, pairIndex) => { const pair = `${fromOperation}->${toOperation}` const pairId = pair.replace('->', '-') - const firstParameters = pair === 'cut->thickness' + const firstParameters = pair === 'loft->fillet' + ? { ...operationSpecs.loft.nominal, ruled: true, objectStep: shapeStep(module, 'makeRectangleFace', 10, 10) } + : pair === 'cut->thickness' ? { toolSize: 10, toolOffset: 5 } + : pair === 'pocket->thickness' + ? { length: 10, profileWidth: 5, profileHeight: 10 } : ['common->pocket', 'common->groove'].includes(pair) ? { toolSize: 5, toolOffset: 0 } : fromOperation === 'fuse' @@ -299,6 +369,12 @@ const classifyPair = async (fromOperation, toOperation, pairIndex) => { ? { toolSize: 5, toolOffset: 4 } : fromOperation === 'pad' ? { ...operationSpecs.pad.nominal, objectStep: shapeStep(module, 'makeRectangleFace', 10, 10) } + : fromOperation === 'loft' + ? { ...operationSpecs.loft.nominal, objectStep: shapeStep(module, 'makeRectangleFace', 10, 10) } + : fromOperation === 'pipe' + ? { ...operationSpecs.pipe.nominal, objectStep: shapeStep(module, 'makeRectangleFace', 2, 3) } + : fromOperation === 'revolution' + ? { ...operationSpecs.revolution.nominal, objectStep: shapeStep(module, 'makeRectangleFace', 2, 3) } : operationSpecs[fromOperation].nominal const first = captureStage(module, { operation: fromOperation, ...firstParameters, @@ -333,11 +409,15 @@ const classifyPair = async (fromOperation, toOperation, pairIndex) => { const stableRejection = attempts.every((attempt) => rejectionSignature(attempt) === rejectionSignature(attempts[0])) if (!stableRejection) fail(`${pair} rejection changed across its parameter trajectory.`) const persistence = await persistPair(pair, first.response.resultStep, first.namingEvidence, 'rejected') - return { - taskId: `TSN-PAIR-${pairId}`, - pair, - classification: 'rejected', - reasonCode: 'native-builder-and-freecad-profile-reject-with-clean-resave', + const freecadProfileAccepted = persistence.checks.freecadProfileAccepted === true + const wasmAbort = attempts.every(({ exceptionTransport }) => exceptionTransport === 'emscripten-wasm-abort') + return { + taskId: `TSN-PAIR-${pairId}`, + pair, + classification: 'rejected', + reasonCode: freecadProfileAccepted + ? wasmAbort ? 'native-builder-wasm-abort-with-freecad-profile-acceptance-and-clean-resave' : 'native-builder-cpp-exception-with-freecad-profile-acceptance-and-clean-resave' + : 'native-builder-and-freecad-profile-reject-with-clean-resave', nativeDecision: 'rejected', first: first.report, rejection: { scope: 'second-operation-only', authority: 'occt-builder', parameter: spec.parameter, trajectory, stable: stableRejection, attempts, persistence }, @@ -372,9 +452,16 @@ const classifyPair = async (fromOperation, toOperation, pairIndex) => { } const operations = ['fuse', 'cut', 'common', 'rotate', 'pad', 'pocket', 'loft', 'pipe', 'revolution', 'groove', 'fillet', 'chamfer', 'hole', 'draft', 'thickness', 'linear-pattern', 'polar-pattern', 'mirrored', 'multi-transform'] -const orderedPairPrefix = [...operations.map((toOperation) => ['fuse', toOperation]), ['cut', 'fuse'], ['cut', 'cut'], ['cut', 'common'], ['cut', 'pad'], ['cut', 'pocket'], ['cut', 'loft'], ['cut', 'pipe'], ['cut', 'revolution'], ['cut', 'groove'], ['cut', 'fillet'], ['cut', 'chamfer'], ['cut', 'hole'], ['cut', 'draft'], ['cut', 'thickness'], ['cut', 'linear-pattern'], ['cut', 'polar-pattern'], ['cut', 'mirrored'], ['cut', 'multi-transform'], ['common', 'fuse'], ['common', 'cut'], ['common', 'common'], ['common', 'rotate'], ['common', 'pad'], ['common', 'pocket'], ['common', 'loft'], ['common', 'pipe'], ['common', 'revolution'], ['common', 'groove'], ['common', 'fillet'], ['common', 'chamfer'], ['common', 'hole'], ['common', 'draft'], ['common', 'thickness'], ['common', 'linear-pattern'], ['common', 'polar-pattern'], ['common', 'mirrored'], ['common', 'multi-transform'], ['rotate', 'fuse'], ['rotate', 'cut'], ['rotate', 'common'], ['rotate', 'rotate'], ['rotate', 'pad'], ['rotate', 'pocket'], ['rotate', 'loft'], ['rotate', 'pipe'], ['rotate', 'revolution'], ['rotate', 'groove'], ['rotate', 'chamfer'], ['rotate', 'hole'], ['rotate', 'draft'], ['rotate', 'thickness'], ['rotate', 'linear-pattern'], ['rotate', 'polar-pattern'], ['rotate', 'mirrored'], ['rotate', 'multi-transform'], ['pad', 'fuse'], ['pad', 'cut'], ['pad', 'common'], ['pad', 'rotate'], ['pad', 'pad'], ['pad', 'pocket'], ['pad', 'loft'], ['pad', 'pipe'], ['pad', 'revolution'], ['pad', 'groove'], ['pad', 'fillet'], ['pad', 'chamfer'], ['pad', 'hole'], ['pad', 'draft'], ['pad', 'thickness'], ['pad', 'linear-pattern'], ['pad', 'polar-pattern'], ['pad', 'mirrored'], ['pad', 'multi-transform']] +const orderedPairPrefix = [...operations.map((toOperation) => ['fuse', toOperation]), ['cut', 'fuse'], ['cut', 'cut'], ['cut', 'common'], ['cut', 'pad'], ['cut', 'pocket'], ['cut', 'loft'], ['cut', 'pipe'], ['cut', 'revolution'], ['cut', 'groove'], ['cut', 'fillet'], ['cut', 'chamfer'], ['cut', 'hole'], ['cut', 'draft'], ['cut', 'thickness'], ['cut', 'linear-pattern'], ['cut', 'polar-pattern'], ['cut', 'mirrored'], ['cut', 'multi-transform'], ['common', 'fuse'], ['common', 'cut'], ['common', 'common'], ['common', 'rotate'], ['common', 'pad'], ['common', 'pocket'], ['common', 'loft'], ['common', 'pipe'], ['common', 'revolution'], ['common', 'groove'], ['common', 'fillet'], ['common', 'chamfer'], ['common', 'hole'], ['common', 'draft'], ['common', 'thickness'], ['common', 'linear-pattern'], ['common', 'polar-pattern'], ['common', 'mirrored'], ['common', 'multi-transform'], ['rotate', 'fuse'], ['rotate', 'cut'], ['rotate', 'common'], ['rotate', 'rotate'], ['rotate', 'pad'], ['rotate', 'pocket'], ['rotate', 'loft'], ['rotate', 'pipe'], ['rotate', 'revolution'], ['rotate', 'groove'], ['rotate', 'chamfer'], ['rotate', 'hole'], ['rotate', 'draft'], ['rotate', 'thickness'], ['rotate', 'linear-pattern'], ['rotate', 'polar-pattern'], ['rotate', 'mirrored'], ['rotate', 'multi-transform'], ['pad', 'fuse'], ['pad', 'cut'], ['pad', 'common'], ['pad', 'rotate'], ['pad', 'pad'], ['pad', 'pocket'], ['pad', 'loft'], ['pad', 'pipe'], ['pad', 'revolution'], ['pad', 'groove'], ['pad', 'fillet'], ['pad', 'chamfer'], ['pad', 'hole'], ['pad', 'draft'], ['pad', 'thickness'], ['pad', 'linear-pattern'], ['pad', 'polar-pattern'], ['pad', 'mirrored'], ['pad', 'multi-transform'], ['pocket', 'fuse'], ['pocket', 'cut'], ['pocket', 'common'], ['pocket', 'rotate'], ['pocket', 'pad'], ['pocket', 'pocket'], ['pocket', 'loft'], ['pocket', 'pipe'], ['pocket', 'revolution'], ['pocket', 'groove'], ['pocket', 'fillet'], ['pocket', 'chamfer'], ['pocket', 'hole'], ['pocket', 'draft'], ['pocket', 'thickness'], ['pocket', 'linear-pattern'], ['pocket', 'polar-pattern'], ['pocket', 'mirrored'], ['pocket', 'multi-transform'], ['loft', 'fuse'], ['loft', 'cut'], ['loft', 'common'], ['loft', 'rotate'], ['loft', 'pad'], ['loft', 'pocket'], ['loft', 'loft'], ['loft', 'pipe'], ['loft', 'revolution'], ['loft', 'groove'], ['loft', 'fillet'], ['loft', 'chamfer'], ['loft', 'hole'], ['loft', 'draft'], ['loft', 'thickness'], ['loft', 'linear-pattern'], ['loft', 'polar-pattern'], ['loft', 'mirrored'], ['loft', 'multi-transform'], ['pipe', 'fuse'], ['pipe', 'cut'], ['pipe', 'common'], ['pipe', 'rotate'], ['pipe', 'pad'], ['pipe', 'pocket'], ['pipe', 'loft'], ['pipe', 'pipe'], ['pipe', 'revolution'], ['pipe', 'groove'], ['pipe', 'fillet'], ['pipe', 'chamfer'], ['pipe', 'hole'], ['pipe', 'draft'], ['pipe', 'thickness'], ['pipe', 'linear-pattern'], ['pipe', 'polar-pattern'], ['pipe', 'mirrored'], ['pipe', 'multi-transform'], ['revolution', 'fuse'], ['revolution', 'cut'], ['revolution', 'common'], ['revolution', 'rotate'], ['revolution', 'pad'], ['revolution', 'pocket'], ['revolution', 'loft'], ['revolution', 'pipe'], ['revolution', 'revolution'], ['revolution', 'groove'], ['revolution', 'fillet'], ['revolution', 'chamfer'], ['revolution', 'hole'], ['revolution', 'draft'], ['revolution', 'thickness'], ['revolution', 'linear-pattern'], ['revolution', 'polar-pattern'], ['revolution', 'mirrored'], ['revolution', 'multi-transform'], ['groove', 'fuse'], ['groove', 'cut'], ['groove', 'common'], ['groove', 'rotate'], ['groove', 'pad'], ['groove', 'pocket'], ['groove', 'loft'], ['groove', 'pipe'], ['groove', 'revolution'], ['groove', 'groove'], ['groove', 'fillet'], ['groove', 'chamfer'], ['groove', 'hole'], ['groove', 'draft'], ['groove', 'thickness'], ['groove', 'linear-pattern'], ['groove', 'polar-pattern'], ['groove', 'mirrored']] const classifications = [] -for (const [index, [fromOperation, toOperation]] of orderedPairPrefix.entries()) classifications.push(await classifyPair(fromOperation, toOperation, index)) +const selectedPairs = process.env.FREECAD_ONLY_PAIR ? orderedPairPrefix.filter(([fromOperation, toOperation]) => `${fromOperation}->${toOperation}` === process.env.FREECAD_ONLY_PAIR) : orderedPairPrefix +if (process.env.FREECAD_ONLY_PAIR && selectedPairs.length !== 1) fail(`focused pair ${process.env.FREECAD_ONLY_PAIR} is not in the classified prefix.`) +for (const [index, [fromOperation, toOperation]] of selectedPairs.entries()) classifications.push(await classifyPair(fromOperation, toOperation, index)) +if (process.env.FREECAD_ONLY_PAIR && existsSync(outputPath)) { + const previous = JSON.parse(await readFile(outputPath, 'utf8')) + const byPair = new Map([...previous.classifications, ...classifications].map((entry) => [entry.pair, entry])) + classifications.splice(0, classifications.length, ...orderedPairPrefix.map(([fromOperation, toOperation]) => byPair.get(`${fromOperation}->${toOperation}`)).filter(Boolean)) +} const [artifacts, executorHarness, matrixHarness, resaveHarness] = await Promise.all([ Promise.all(artifactNames.map(async (name) => { @@ -401,4 +488,4 @@ const report = { summary: { registeredOperations: 19, orderedPairs: 361, classifiedPairs: classifications.length, accepted: classifications.filter(({ classification }) => classification === 'accepted').length, rejected: classifications.filter(({ classification }) => classification === 'rejected').length, unknown: 361 - classifications.length }, } await writeFile(outputPath, `${JSON.stringify(report, null, 2)}\n`) -console.log(JSON.stringify({ status: 'freecad-ordered-operation-pair-classification-generated', pairs: classifications.map(({ pair, classification }) => ({ pair, classification })), nativeBuilderRuns: classifications.length * 4, fcstdPhases: classifications.length * 3, output: 'config/freecad-ordered-operation-pair-classification.json' }, null, 2)) +console.log(JSON.stringify({ status: 'freecad-ordered-operation-pair-classification-generated', pairs: selectedPairs.map(([fromOperation, toOperation]) => classifications.find(({ pair }) => pair === `${fromOperation}->${toOperation}`)).map(({ pair, classification }) => ({ pair, classification })), nativeBuilderRuns: selectedPairs.length * 4, fcstdPhases: selectedPairs.length * 3, classifiedPairs: classifications.length, output: 'config/freecad-ordered-operation-pair-classification.json' }, null, 2)) diff --git a/后续工作.txt b/后续工作.txt index 1133ddd..633bbc3 100644 --- a/后续工作.txt +++ b/后续工作.txt @@ -1086,4 +1086,837 @@ git diff --check - FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 - focused ordered-pair gate 已锁定真实 Profile、ordered builder、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 +### `TSN-PAIR-pocket-fuse` + +`pocket->fuse` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,对 Pocket 结果执行布尔并集。 +- 默认工具 X 偏移 `12` 会产生分离实体,未被误记为接受;改用保持实体交叠的 `8 -> 7 -> 8` 专用轨迹。 +- 工具偏移轨迹使体积在 `1045 -> 1020 -> 1045` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 52 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、两阶段双输入 builder、专用变异轨迹、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-cut` + +`pocket->cut` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Pocket 结果继续执行布尔减料。 +- `4 -> 3 -> 4` 工具尺寸轨迹改变体积、面积与拓扑,体积在 `906 -> 943 -> 906` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 48 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、两阶段双输入减料、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-common` + +`pocket->common` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,对 Pocket 结果执行布尔交集。 +- 默认工具 X 偏移 `10` 仅与 Pocket 外边界相切且没有实体交集,未被误记为接受;改用 `7 -> 6 -> 7` 专用轨迹。 +- 工具偏移轨迹使交集体积在 `75 -> 100 -> 75` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 178 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、专用交叠轨迹、两阶段双输入 builder、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-rotate` + +`pocket->rotate` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,将 Pocket 结果绕锁定 Z 轴旋转。 +- `15 -> 22.5 -> 15` 角度轨迹改变边界,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,体积 `970`,包含 135 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、两阶段 builder、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-pad` + +`pocket->pad` 已完成原生拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Pocket Solid 输入,且不产生结果 Shape 或 history。 +- FreeCAD `PartDesign::Pad` 使用同一 Pocket Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`。 +- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 +- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-pocket-pocket` + +`pocket->pocket` 已完成原生接受分类: + +- 第一、第二阶段均使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,上游 Pocket 生成体积 `970` 的有效单 Solid。 +- 下游使用锁定的 `3x3` Face Profile,避免默认 `2x3` Profile 只重复切除已空区域而产生无效变异轨迹。 +- `5 -> 4 -> 5` 深度轨迹使体积在 `955 -> 958 -> 955` 间变化,同时改变拓扑和 history,并精确恢复名义摘要与语义 naming。 +- 名义结果为有效 1 Solid,包含 111 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段双输入 builder、非平凡 Profile、深度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-loft` + +`pocket->loft` 已完成原生拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。 +- FreeCAD `Part::Loft` 对 Pocket Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`。 +- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 +- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-pocket-pipe` + +`pocket->pipe` 已完成原生拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 初始的 kernel-invalid 预期被真实 probe 否定;OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中生成有效 Shape,但该结果仅记为 kernel-superset 诊断。 +- FreeCAD `Part::Sweep` 对 Pocket Solid section 返回 `A fatal error occurred when making the sweep`。 +- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 +- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-pocket-revolution` + +`pocket->revolution` 已完成原生拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pocket Solid 输入,且不产生结果 Shape 或 history。 +- FreeCAD `Part::Revolution` 使用同一 Pocket Solid 作为 Source,返回 `Solids are not Processed`。 +- FreeCAD 结果 Shape 为空、状态包含 `Invalid`,拒绝任务没有伪造下游 naming 或变异证据。 +- transaction abort 后对象集与 Pocket 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-pocket-groove` + +`pocket->groove` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Pocket 结果执行旋转减料。 +- `360 -> 180 -> 360` 角度轨迹改变体积、拓扑和 history,并精确恢复名义摘要与语义 naming。 +- 名义结果为有效 1 Solid,体积 `966.8584073`,包含 40 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,恢复态语义摘要与名义态一致。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段双输入 builder、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-fillet` + +`pocket->fillet` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Pocket 结果的锁定原生边执行倒圆。 +- `0.4 -> 0.6 -> 0.4` 半径轨迹改变体积与面积,体积在 `965.9792974 -> 961.0655284 -> 965.9792974` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 44 Face 和 261 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-chamfer` + +`pocket->chamfer` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Pocket 结果的锁定原生边执行倒角。 +- `0.4 -> 0.6 -> 0.4` 距离轨迹改变体积与面积,体积在 `960.848 -> 949.912 -> 960.848` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 44 Face 和 261 条原生 history 记录。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-hole` + +`pocket->hole` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` 单输入 builder,以锁定位置和方向的圆柱刀具贯穿 Pocket 结果。 +- `1 -> 1.5 -> 1` 半径轨迹改变体积与面积,体积在 `938.5840735 -> 899.3141653 -> 938.5840735` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 23 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、圆柱减料、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-draft` + +`pocket->draft` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Pocket 结果的锁定原生 Face、中性面和拉伸方向执行拔模。 +- `5 -> 8 -> 5` 角度轨迹改变体积与面积,体积在 `929.5364931 -> 904.999864 -> 929.5364931` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 7 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。 +- 上游 Pocket naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-thickness` + +`pocket->thickness` 已完成原生接受分类: + +- 上游使用真实 `10x10` Box 与 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,按专用 `5x10` Profile 贯穿切除,生成体积 `500` 的有效单 Solid 和 25 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的原生 Face 执行厚壳;名义结果为有效 1 Solid、11 Face,体积 `129.056`。 +- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `129.056 -> 185.664 -> 129.056` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-linear-pattern` + +`pocket->linear-pattern` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Pocket 结果沿 X 方向平移复制并融合为单 Solid;名义体积 `1770`,边界覆盖 X=`[-0, 18]`。 +- `8 -> 9 -> 8` 平移轨迹使体积在 `1770 -> 1855 -> 1770` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pocket-polar-pattern` + +`pocket->polar-pattern` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,生成体积 `970` 的有效单 Solid 和 42 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Pocket 结果绕锁定 Z 轴旋转复制并融合为单 Solid;名义体积 `1388.0087147`,边界覆盖 X=`[-5, 10]`、Y=`[0, 13.6602542]`。 +- `30 -> 45 -> 30` 角度轨迹使体积在 `1388.0087147 -> 1545.7864376 -> 1388.0087147` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Pocket naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定真实 Profile、旋转实例融合、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-fillet` + +`loft->fillet` 已完成 Web 原生 history builder 拒绝分类,并显式记录 FreeCAD profile 接受差异: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游 `BRepFilletAPI_MakeFillet` 在 `0.4 -> 0.6 -> 0.4` 半径轨迹中稳定触发 `RuntimeError: table index is out of bounds`,三次尝试均没有产生 Shape、history 或 naming。 +- FreeCAD 1.1.1 `Part::Fillet` 对同一 Loft Solid 重算成功,状态为 `Valid` / `Up-to-date`;该差异被锁定为 Web 原生 history builder 中止,没有伪造 FreeCAD 拒绝。 +- transaction abort 后对象集与 Loft 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定 WASM abort 签名、FreeCAD 接受对照、精确回滚和持久化证据。 + +### `TSN-PAIR-loft-chamfer` + +`loft->chamfer` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Loft 结果的原生边执行倒角。 +- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `1489.1413333 -> 1475.952 -> 1489.1413333` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录。 +- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-hole` + +`loft->hole` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,以锁定位置和方向的圆柱刀具贯穿 Loft 结果。 +- `1 -> 1.5 -> 1` 半径轨迹使体积在 `1462.3008882 -> 1415.1769984 -> 1462.3008882` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 13 条原生 history 记录,下游 naming 状态为无歧义 `native-evidence`。 +- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、圆柱减料、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-draft` + +`loft->draft` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对 Loft 结果的锁定原生 Face、中性面和拉伸方向执行拔模。 +- `5 -> 8 -> 5` 角度轨迹使体积在 `1401.5752535 -> 1341.891561 -> 1401.5752535` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid,包含 5 条原生 history 记录。 +- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-thickness` + +`loft->thickness` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的原生 Face 执行厚壳;名义结果为有效 1 Solid、11 Face,体积 `245.856`。 +- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `245.856 -> 358.464 -> 245.856` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果包含 38 条原生 history 记录,上游 Loft naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-linear-pattern` + +`loft->linear-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果沿 X 方向平移复制并融合为单 Solid。 +- `8 -> 9 -> 8` 平移轨迹使体积在 `2700 -> 2850 -> 2700` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、14 Face,边界覆盖 X=`[0, 18]`,包含 66 条原生 history 记录。 +- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-polar-pattern` + +`loft->polar-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果绕锁定 Z 轴旋转复制并融合为单 Solid。 +- `30 -> 45 -> 30` 角度轨迹使体积在 `2133.9745962 -> 2378.6796564 -> 2133.9745962` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、12 Face,边界覆盖 X=`[-5, 10]`、Y=`[0, 13.660254]`,包含 78 条原生 history 记录。 +- 上游 Loft naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 builder、旋转实例融合、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-loft-mirrored` + +`loft->mirrored` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,将 Loft 结果绕锁定平面镜像复制并融合。 +- 名义 X=5 镜像与 Loft 本体完全重合但仍保留 156 条原生 history;`5 -> 6 -> 5` 轨迹使体积在 `1500 -> 1800 -> 1500` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face,FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定。 +- 上游 Loft naming 证据向下游传播;focused ordered-pair gate 已锁定重合名义对照、镜像实例融合、变异、恢复、history 和持久化证据。 + +### `TSN-PAIR-loft-multi-transform` + +`loft->multi-transform` 已完成原生接受分类,并闭合 Loft 起始行全部 19 个有序操作对: + +- 上游使用真实 `BRepOffsetAPI_ThruSections` 双输入 builder,生成体积 `1500` 的有效单 Solid 和 24 条原生 history。 +- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,先执行 X 平移,再镜像平移结果并保留每个实例的原生追踪关系。 +- `8 -> 9 -> 8` 首步 X 平移轨迹使体积在 `3900 -> 4200 -> 3900` 间变化,名义边界覆盖 X=`[-8, 18]`,并精确恢复名义摘要、history 与语义 naming。 +- 名义与编辑态均包含 355 条原生 history,结果为有效 1 Solid、22 Face。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 ordered builder、实例追踪、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-fuse` + +`pipe->fuse` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以真实 `2x3` Face section 沿 15 长度 spine 扫掠,生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,使用与 Pipe 保持交叠的工具。 +- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `185 -> 192.5 -> 185` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、14 Face,包含 66 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定真实 Face section、双输入 builder、交叠变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-cut` + +`pipe->cut` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,以贯穿交叠的工具继续减料。 +- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `66 -> 72 -> 66` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face、包含 117 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face section、双输入减料 builder、偏移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-common` + +`pipe->common` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,使用与 Pipe 保持交叠的工具。 +- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使交集体积在 `24 -> 18 -> 24` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face、包含 132 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face section、交叠变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-rotate` + +`pipe->rotate` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,将 Pipe 结果绕 Z 轴旋转。 +- `15 -> 22.5 -> 15` 角度轨迹保持体积 `90`,改变边界并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face、包含 78 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定旋转变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-pad` + +`pipe->pad` 已完成原生拒绝分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- OCCT `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Pipe Solid 输入,不产生结果 Shape 或 history。 +- FreeCAD `PartDesign::Pad` 使用同一 Pipe Solid 作 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`;结果 Shape 为空、状态包含 `Invalid`。 +- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-pipe-pocket` + +`pipe->pocket` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,以贯穿 Profile 对 Pipe 结果执行减料。 +- `5 -> 4 -> 5` 深度轨迹使体积在 `60 -> 66 -> 60` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face、包含 98 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定真实 Profile、双输入 builder、深度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-loft` + +`pipe->loft` 已完成 FreeCAD 文档前置拒绝分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均生成有效 Shape,仅记为 `kernel-superset-only` 兼容性诊断,三次结果精确恢复。 +- FreeCAD `Part::Loft` 对 Pipe Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空、状态包含 `Invalid`。 +- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 超集诊断、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-pipe-pipe` + +`pipe->pipe` 已完成 FreeCAD 文档前置拒绝分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- OCCT 下游 `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均产生无效 Shape(`kernel-invalid-result`),三次诊断精确恢复。 +- FreeCAD `Part::Sweep` 对 Pipe Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空、状态包含 `Invalid`。 +- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定 FreeCAD 决策权、OCCT 无效结果诊断、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-pipe-revolution` + +`pipe->revolution` 已完成原生拒绝分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- OCCT `BRepPrimAPI_MakeRevol` 在 `360 -> 270 -> 360` 角度轨迹中稳定拒绝 Pipe Solid 输入,不产生结果 Shape 或 history。 +- FreeCAD `Part::Revolution` 使用同一 Pipe Solid 作 Source,返回 `Solids are not Processed`;结果 Shape 为空、状态包含 `Invalid`。 +- transaction abort 后对象集与 Pipe 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-pipe-groove` + +`pipe->groove` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Pipe 结果执行旋转减料。 +- `360 -> 180 -> 360` 角度轨迹使体积在 `88.4292037 -> 90 -> 88.4292037` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、10 Face、包含 40 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定双输入 builder、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-fillet` + +`pipe->fillet` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Pipe 结果的全部原生边执行圆角。 +- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `87.3388075 -> 84.1087417 -> 87.3388075` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定原生边选择、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-chamfer` + +`pipe->chamfer` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Pipe 结果的全部原生边执行倒角。 +- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `83.9413333 -> 76.752 -> 83.9413333` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、26 Face,包含 150 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定原生边选择、距离变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-hole` + +`pipe->hole` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在截面中心 `(1, 1.5)` 以贯穿圆柱对 Pipe 结果减料。 +- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `82.4601776 -> 73.0353997 -> 82.4601776` 间变化,保持有效单 Solid,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为 7 Face,包含 23 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定贯穿位置、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-draft` + +`pipe->draft` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 原生 Face 枚举确认端面索引 `0/5` 被 Draft builder 拒绝,侧面索引 `1/2/3/4` 可接受;下游锁定 `faceIndex: 1`、Z 向中性面和拉伸方向执行真实 `BRepOffsetAPI_DraftAngle`。 +- `5 -> 8 -> 5` 角度轨迹使体积在 `70.3150507 -> 58.3783122 -> 70.3150507` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、6 Face,包含 5 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定侧面适用性、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-thickness` + +`pipe->thickness` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定的 Pipe 侧面执行厚壳。 +- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `45.696 -> 63.504 -> 45.696` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、11 Face,包含 38 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定侧面选择、offset 变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-linear-pattern` + +`pipe->linear-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder;针对窄 Pipe 截面锁定交叠平移,避免沿用 Box 的 X=8 参数产生分离结果。 +- `1.5 -> 1 -> 1.5` X 平移轨迹使体积在 `157.5 -> 135 -> 157.5` 间变化,名义和编辑态均保持有效单 Solid,并精确恢复摘要、history 与语义 naming。 +- 名义结果为 14 Face,边界覆盖 X=`[0, 3.5]`,包含 66 条原生 history 记录,上游 Pipe naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定交叠融合、平移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-polar-pattern` + +`pipe->polar-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder,绕锁定 Z 轴复制并融合 Pipe 结果。 +- `30 -> 45 -> 30` 角度轨迹使体积在 `132.3686028 -> 150 -> 132.3686028` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、12 Face,边界覆盖 X=`[-1.5, 2]`、Y=`[0, 3.5980764]`,包含 78 条原生 history 记录。 +- 上游 Pipe naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定,focused ordered-pair gate 已锁定旋转融合、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-mirrored` + +`pipe->mirrored` 已完成原生接受分类: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` 单输入 builder;名义镜像平面锁定为 `x=1`,与 Pipe 截面对称重合,编辑平面为 `x=1.5` 并保持实例交叠。 +- `1 -> 1.5 -> 1` 平面轨迹使体积在 `90 -> 135 -> 90` 间变化,恢复态保留名义 1 Solid 和 156 条原生 history,并精确恢复语义 naming。 +- 编辑态为有效单 Solid、14 Face;上游 Pipe naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming 稳定。 +- focused ordered-pair gate 已锁定重合名义对照、交叠镜像、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-pipe-multi-transform` + +`pipe->multi-transform` 已完成原生接受分类,并闭合 Pipe 起始行全部 19 个有序操作对: + +- 上游使用真实 `BRepOffsetAPI_MakePipe` 双输入 builder,以 `2x3` Face section 生成体积 `90` 的有效单 Solid 和 28 条原生 history。 +- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,先沿 X 平移,再绕 `x=5` 平面镜像;该实例布局原生形成有效 2 Solid 结果,没有伪装为单 Solid。 +- `8 -> 7 -> 8` 首步 X 平移轨迹使体积在 `180 -> 270 -> 180` 间变化,并精确恢复名义摘要、300 条 history 与语义 naming。 +- STEP 导入会同时创建 `Part::Feature`、聚合 `App::Part` 和 Origin 基准对象;FCStd harness 已改为只组合有限、有效、含 Solid 的 `Part::Feature`,消除了重复几何和 `1e100` 退化边界。 +- FreeCAD FCStd save/reopen/resave 三阶段均保持 2 Solid、12 Face、体积 `180` 与 naming evidence 一致;focused gate 已锁定多实体拓扑、导入筛选、变异、恢复和持久化证据。 + +### `TSN-PAIR-revolution-fuse` + +`revolution->fuse` 已完成原生接受分类,并验证新的 Revolution 上游基线: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,绕锁定 Y 轴生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder,工具与 Revolution 结果保持体积交叠。 +- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使体积在 `188.0229122 -> 192.1067282 -> 188.0229122` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义下游结果为有效 1 Solid、11 Face,包含 45 条原生 history 记录,上游 Revolution naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused ordered-pair gate 已锁定 Face Profile、旋转轴、融合变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-cut` + +`revolution->cut` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder;`4 -> 3 -> 4` 工具尺寸轨迹覆盖同一正象限、摘要不变,未被采用。 +- 最终使用小型交叠工具的 `0 -> 0.5 -> 0` X 偏移轨迹,使体积在 `68.3585388 -> 70.3585388 -> 68.3585388` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、8 Face,包含 75 条原生 history 记录,上游 Revolution naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定弱轨迹拒绝、偏移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-common` + +`revolution->common` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,以贯穿正象限的工具和 Revolution 结果求交。 +- `0 -> 0.5 -> 0` 工具 X 偏移轨迹使交集体积在 `12.3753114 -> 8.2914955 -> 12.3753114` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、5 Face,包含 100 条原生 history 记录,上游 Revolution naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定交叠工具、偏移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-rotate` + +`revolution->rotate` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,绕锁定 Z 轴旋转 Revolution 结果。 +- `15 -> 22.5 -> 15` 角度轨迹保持体积 `75.3982237`,改变边界并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、4 Face,包含 40 条原生 history 记录,上游 Revolution naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定;focused gate 已锁定旋转变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-pad` + +`revolution->pad` 已完成原生拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid和 23 条原生 history。 +- 下游 `BRepPrimAPI_MakePrism` 在 `5 -> 7.5 -> 5` 长度轨迹中稳定拒绝 Revolution Solid 输入,三次均不产生 Shape、history 或 naming。 +- FreeCAD `PartDesign::Pad` 使用同一 Revolution Solid 作 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空、状态包含 `Touched/Invalid`。 +- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致且文档无污染。 +- focused ordered-pair gate 已锁定两阶段 builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-revolution-pocket` + +`revolution->pocket` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,以同一截面 Profile 沿 Z 方向执行部分减料。 +- `2 -> 1 -> 2` 深度轨迹使体积在 `64.8386964 -> 69.5677847 -> 64.8386964` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、7 Face,包含 104 条原生 history 记录,上游 Revolution naming 证据向下游传播。 +- FreeCAD FCStd save/reopen/resave 三阶段的 Shape 与 naming evidence 稳定;focused gate 已锁定部分深度、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-loft` + +`revolution->loft` 已完成 FreeCAD 文档前置拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。 +- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中均产生 `isValid:false`、负体积的 `kernel-invalid-result`,三次诊断精确恢复。 +- FreeCAD `Part::Loft` 对 Revolution Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空、状态包含 `Touched/Invalid`。 +- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused gate 已锁定 FreeCAD 决策权、OCCT 无效结果、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-revolution-pipe` + +`revolution->pipe` 已完成原生 builder 拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid 和 23 条原生 history。 +- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均于 builder 阶段抛出稳定 Emscripten C++ 异常,不产生 Shape、history 或 naming。 +- FreeCAD `Part::Sweep` 对同一 Revolution Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空、状态包含 `Touched/Invalid`。 +- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,干净 FCStd save/reopen/resave 三阶段一致。 +- focused gate 已锁定异常阶段、输入数、精确失败信息、回滚和持久化证据。 + +### `TSN-PAIR-revolution-revolution` + +`revolution->revolution` 已完成原生 builder 拒绝分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游再次使用 `BRepPrimAPI_MakeRevol`,对 Revolution Solid 在 `360 -> 270 -> 360` 角度轨迹中稳定于 builder 阶段抛出 Emscripten C++ 异常;三次均不产生 Shape、history 或 naming。 +- FreeCAD `Part::Revolution` 使用同一 Revolution Solid 作为 Source,返回 `Solids are not Processed`,结果 Shape 为空、状态包含 `Touched/Invalid`。 +- transaction abort 后对象集与 Revolution 源 Shape 完整恢复,源 Shape 体积、拓扑和 BREP 哈希保持一致;干净 FCStd save/reopen/resave 三阶段一致且文档无污染。 +- focused ordered-pair gate 已锁定两阶段 Revolution builder、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-revolution-groove` + +`revolution->groove` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 Revolution 结果执行旋转减料;名义结果为有效 1 Solid、10 Face、体积 `71.0943912`,包含 43 条原生 history。 +- `360 -> 180 -> 360` 角度轨迹使体积在 `71.0943912 -> 73.2463075 -> 71.0943912` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/Groove builder、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-fillet` + +`revolution->fillet` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeFillet` 单输入 builder,对 Revolution 结果的原生边执行全边圆角;名义结果为有效 1 Solid、8 Face、体积 `73.6722933`,包含 48 条原生 history。 +- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `73.6722933 -> 71.5148803 -> 73.6722933` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/Fillet builder、原生边选择、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-chamfer` + +`revolution->chamfer` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepFilletAPI_MakeChamfer` 单输入 builder,对 Revolution 结果的原生边执行全边倒角;名义结果为有效 1 Solid、8 Face、体积 `71.3769851`,包含 48 条原生 history。 +- `0.4 -> 0.6 -> 0.4` 距离轨迹使体积在 `71.3769851 -> 66.3504368 -> 71.3769851` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/Chamfer builder、原生边选择、距离变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-hole` + +`revolution->hole` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在锁定位置 `[0, 1.5, 0]`、方向 `+Z` 和深度 `0.1` 的局部圆柱刀具上执行减料;名义结果为有效 1 Solid、8 Face、体积 `75.3729574`,包含 19 条原生 history。 +- `0.4 -> 0.6 -> 0.4` 半径轨迹使体积在 `75.3729574 -> 75.3414747 -> 75.3729574` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/Hole builder、局部圆柱刀具、半径变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-draft` + +`revolution->draft` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对锁定原生 Face、中性面和 +Z 拉伸方向执行拔模;名义结果为有效 1 Solid、4 Face、体积 `75.3982238`,包含 3 条原生 history。 +- `5 -> 8 -> 5` 角度轨迹使 Y 方向边界在 `-0.3154312 -> -0.5067054 -> -0.3154312` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,下游获得无歧义 `native-evidence` naming;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/DraftAngle builder、原生 Face 选择、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-thickness` + +`revolution->thickness` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_MakeThickSolid` 单输入 builder,对锁定原生 Face 执行厚壳;名义结果为有效 1 Solid、8 Face、体积 `26.7412367`,包含 39 条原生 history。 +- `-0.4 -> -0.6 -> -0.4` offset 轨迹使体积在 `26.7412367 -> 38.9808816 -> 26.7412367` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/Thickness builder、原生 Face 选择、offset 变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-linear-pattern` + +`revolution->linear-pattern` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Revolution 结果沿 X 方向复制并融合;专用 `4 -> 3 -> 4` 平移轨迹确保所有状态保持单 Solid。 +- 平移轨迹使体积在 `132.2115549 -> 126.3867082 -> 132.2115549` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 12 Face,包含 53 条原生 history。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Revolution/LinearPattern builder、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-polar-pattern` + +`revolution->polar-pattern` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 默认 `30°` 轨迹触发原生 WASM 越界中止,未被误记为接受;改用保持实例相交且稳定的 `10 -> 15 -> 10` 专用角度轨迹。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将旋转实例融合为单 Solid;角度轨迹使体积在 `87.2727929 -> 92.4535717 -> 87.2727929` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 名义结果为有效 1 Solid、14 Face,包含 70 条原生 history;上游 Revolution naming 证据向下游传播,FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定专用角度轨迹、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-mirrored` + +`revolution->mirrored` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,将 Revolution 结果关于 X=`0` 镜像并融合为单 Solid;专用 `0 -> 0.5 -> 0` 平面轨迹避免默认分离实例。 +- 平面轨迹使体积在 `120.1447575 -> 126.3867082 -> 120.1447575` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 14 Face,包含 92 条原生 history。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定专用镜像平面、单 Solid 约束、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-revolution-multi-transform` + +`revolution->multi-transform` 已完成原生接受分类: + +- 上游使用真实 `2x3` Face Profile 和 `BRepPrimAPI_MakeRevol` 单输入 builder,生成体积 `75.3982237` 的有效单 Solid、4 Face 和 23 条原生 history。 +- 下游使用 ordered `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,锁定镜像平面 `X=0`,按平移和镜像顺序生成并融合四个实例;名义结果为有效 1 Solid、48 Face、体积 `190.7882692`,包含 313 条原生 history。 +- `4 -> 3 -> 4` 平移轨迹使体积在 `190.7882692 -> 155.9773894 -> 190.7882692` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Revolution naming 证据向下游传播,恢复态语义摘要与名义态一致;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定 ordered builder、镜像平面、单 Solid 约束、平移变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-fuse` + +`groove->fuse` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成体积 `995.287611` 的有效单 Solid、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Fuse` 双输入 builder;专用 `8 -> 7 -> 8` 工具 X 偏移轨迹保持实体交叠并融合为单 Solid。 +- 轨迹使体积在 `1070.287611 -> 1045.287611 -> 1070.287611` 间变化,并精确恢复名义摘要、history 与语义 naming;名义结果为 17 Face,包含 52 条原生 history。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Fuse builder、专用交叠轨迹、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-cut` + +`groove->cut` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成体积 `995.287611` 的有效单 Solid、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Cut` 双输入 builder,对 Groove 结果继续执行减料;名义结果为有效 1 Solid、14 Face、体积 `931.287611`,包含 22 条原生 history。 +- `4 -> 3 -> 4` 工具尺寸轨迹使体积在 `931.287611 -> 968.287611 -> 931.287611` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Cut builder、工具变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-common` + +`groove->common` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepAlgoAPI_Common` 双输入 builder,与 Groove 结果及交叠工具执行布尔交集;名义结果为有效 1 Solid、6 Face、体积 `75`,包含 197 条原生 history。 +- `7 -> 6 -> 7` 工具 X 偏移轨迹使体积在 `75 -> 100 -> 75` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Common builder、交叠轨迹、变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-rotate` + +`groove->rotate` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform` 单输入 builder,对 Groove 结果绕 Z 轴旋转;名义结果保持有效 1 Solid、10 Face、体积 `995.287611`,包含 154 条原生 history。 +- `15 -> 22.5 -> 15` 角度轨迹改变包围盒(名义 `[-2.5881906, -1e-7, -1e-7, 9.6592584, 12.2474488, 10.0000001]`,编辑态 `[-3.8268344, -1e-7, -1e-7, 9.2387954, 13.0656297, 10.0000001]`),并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Transform builder、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-pad` + +`groove->pad` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- OCCT `BRepPrimAPI_MakePrism` 对 Groove Solid 在 `5 -> 7.5 -> 5` 长度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。 +- FreeCAD `PartDesign::Pad` 使用同一 Groove Solid 作为 Profile,返回 `FeatureExtrusion: Length: Could not extrude the sketch!`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或变异证据。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-pocket` + +`groove->pocket` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakePrism+BRepAlgoAPI_Cut` 双输入 builder,对 Groove 结果执行减料拉伸;名义结果为有效 1 Solid、13 Face、体积 `966.8584073`,包含 91 条原生 history。 +- `5 -> 4 -> 5` 深度轨迹使体积在 `966.8584073 -> 972.8584073 -> 966.8584073` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Pocket builder、深度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-loft` + +`groove->loft` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- OCCT `BRepOffsetAPI_ThruSections` 在 `false -> true -> false` ruled 轨迹中生成有效 Shape 和 24 条 history,但该结果仅作为 `kernel-superset-only` 诊断,不提升 FreeCAD 能力。 +- FreeCAD `Part::Loft` 对 Groove Solid section 返回 `Profile shape is not a single vertex, edge, wire nor face.`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或接受变异证据。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-pipe` + +`groove->pipe` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- OCCT `BRepOffsetAPI_MakePipe` 在 `15 -> 12 -> 15` spine 长度轨迹中均产生无效结果,仅记为 `kernel-invalid-result`,不伪造接受 Shape/history。 +- FreeCAD `Part::Sweep` 对 Groove Solid section 返回 `A fatal error occurred when making the sweep`,结果 Shape 为空且状态含 `Invalid`。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 FreeCAD 决策权、kernel 无效诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-revolution` + +`groove->revolution` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- OCCT `BRepPrimAPI_MakeRevol` 对 Groove Solid 在 `360 -> 270 -> 360` 角度轨迹中稳定于 builder 阶段拒绝,三次均不产生结果 Shape 或 history。 +- FreeCAD `Part::Revolution` 使用同一 Groove Solid 作为 Source,返回 `Solids are not Processed`,结果 Shape 为空且状态含 `Invalid`;未伪造下游命名或变异证据。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-groove` + +`groove->groove` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游再次使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,并将第二阶段 profile 真实放置在 `profileX=2` 以切削不同半径区域;名义结果为有效 1 Solid、14 Face、体积 `983.5066386`,包含 18 条原生 history。 +- `360 -> 180 -> 360` 角度轨迹改变拓扑(编辑态 11 Face、28 Edge)并精确恢复名义摘要、history 与语义 naming;未采用同 profile 的 no-op 轨迹。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定。 +- focused ordered-pair gate 已锁定两阶段 Groove/Groove builder、专用 profile、角度变异、恢复、history、naming 和持久化证据。 + +### `TSN-PAIR-groove-fillet` + +`groove->fillet` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,对 10x10 Box 执行旋转减料,生成有效 1 Solid、体积 `995.287611`、10 Face、24 Edge 和 18 条原生 history。 +- 下游按 native contract 使用 `BRepFilletAPI_MakeFillet` 对全部 24 条源边执行圆角;`0.4 -> 0.6 -> 0.4` 半径轨迹三次均稳定在 OCCT builder 阶段以 Emscripten C++ 异常拒绝,没有产生 Shape、history 或下游 naming。 +- FreeCAD 1.1.1 `Part::Fillet` 对同一 Groove Solid 和全部源边返回 `BRep_API: command not done`;结果 Shape 为空、状态包含 `Invalid`,与 OCCT 拒绝结论一致。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定拒绝阶段、异常传输、精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-chamfer` + +`groove->chamfer` 已完成原生拒绝分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face、24 Edge 和 18 条原生 history。 +- 下游按 native contract 使用 `BRepFilletAPI_MakeChamfer` 对全部 24 条源边执行对称倒角;`0.4 -> 0.6 -> 0.4` 距离轨迹稳定触发原生 WASM `memory access out of bounds`,三次均不产生 Shape、history 或下游 naming。 +- FreeCAD 1.1.1 `Part::Chamfer` 对同一 Groove Solid 和全部源边返回 `BRep_API: command not done`;结果 Shape 为空且状态包含 `Invalid`。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定 WASM 崩溃签名、FreeCAD 精确诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-hole` + +`groove->hole` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepPrimAPI_MakeCylinder+BRepAlgoAPI_Cut` builder,在 Groove 结果中心执行贯穿孔;名义结果为有效 1 Solid、11 Face、体积 `963.8716845`,包含 23 条原生 history。 +- `1 -> 1.5 -> 1` 半径轨迹使体积在 `963.8716845 -> 924.6017763 -> 963.8716845` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 下游获得无歧义 `native-evidence` naming,上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定两阶段 builder、变异、恢复和持久化证据。 + +### `TSN-PAIR-groove-draft` + +`groove->draft` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepOffsetAPI_DraftAngle` 单输入 builder,对锁定的原生 Face、中性面和 +Z 方向执行拔模;名义结果为有效 1 Solid、10 Face、体积 `951.8050786`,包含 9 条原生 history。 +- `5 -> 8 -> 5` 角度轨迹使体积在 `951.8050786 -> 925.4360727 -> 951.8050786` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 下游 9 条选定 history 均形成无歧义 `native-evidence` naming;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定 Face 选择、方向、变异、恢复和持久化证据。 + +### `TSN-PAIR-groove-thickness` + +`groove->thickness` 已完成原生拒绝分类,并显式保留 Web 原生与 FreeCAD profile 的能力差异: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- Web 原生下游使用 `BRepOffsetAPI_MakeThickSolid` 对锁定的第二个 Face 执行厚壳;`-0.4 -> -0.6 -> -0.4` offset 轨迹稳定触发 WASM `memory access out of bounds`,三次均不产生 Shape、history 或下游 naming。 +- FreeCAD 1.1.1 `Part::Thickness` 对同一 Groove Solid、`Face2` 和 `Value=-0.4` 生成有效 Shape,状态为 `Valid`;该 FreeCAD 接受证据没有被用于伪造 Web 原生接受能力。 +- transaction abort 后对象集、源 Shape 和 BREP 哈希精确恢复;干净 FCStd save/reopen/resave 三阶段一致,focused gate 已锁定崩溃签名、FreeCAD 接受诊断、回滚和持久化证据。 + +### `TSN-PAIR-groove-linear-pattern` + +`groove->linear-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder,沿 X 方向复制并融合 Groove 结果;名义结果为有效 1 Solid、19 Face、体积 `1795.287611`,包含 119 条原生 history。 +- `8 -> 9 -> 8` 平移轨迹始终保持单 Solid,使体积在 `1795.287611 -> 1894.1260552 -> 1795.287611` 间变化,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定交叠融合、变异、恢复和持久化证据。 + +### `TSN-PAIR-groove-polar-pattern` + +`groove->polar-pattern` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 默认 `30°` 及小角度 `10°/15°` 交叠融合轨迹均触发原生 WASM 越界,未被误记为接受;最终采用稳定且仍具真实拓扑变异的 `90 -> 120 -> 90` 专用轨迹。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder;`90°` 名义态为有效 1 Solid、19 Face、体积 `1990.575222` 和 98 条 history,`120°` 编辑态真实变为 2 Solid,恢复后摘要、history 与语义 naming 精确复原。 +- FreeCAD FCStd save/reopen/resave 三阶段保持名义单 Solid Shape 与 naming evidence 一致;focused gate 已锁定专用角度轨迹、真实多实体编辑态、恢复和持久化证据。 + +### `TSN-PAIR-groove-mirrored` + +`groove->mirrored` 已完成原生接受分类: + +- 上游使用真实 `BRepPrimAPI_MakeRevol+BRepAlgoAPI_Cut` 双输入 builder,生成有效 1 Solid、体积 `995.287611`、10 Face 和 18 条原生 history。 +- 下游使用真实 `BRepBuilderAPI_Transform+BRepAlgoAPI_Fuse` builder;关于 `x=5` 的名义镜像让两侧缺口互补融合,得到有效 1 Solid、10 Face、体积 `1000` 和 216 条原生 history。 +- `5 -> 6 -> 5` 镜像平面轨迹使体积在 `1000 -> 1190.575222 -> 1000` 间变化,编辑态增至 22 Face,并精确恢复名义摘要、history 与语义 naming。 +- 上游 Groove naming 证据向下游传播;FreeCAD FCStd save/reopen/resave 三阶段 Shape 与 naming evidence 稳定,focused gate 已锁定镜像平面、互补融合、变异、恢复和持久化证据。 + 后续任务必须从机器队列的最新 `nextTask` 继续,不在本文手工维护任务名称。