feat: add candidate FreeCAD naming SDK and attachment oracles
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
This commit is contained in:
2026-08-13 17:16:07 -04:00
parent 58c0807219
commit f97eae4153
79 changed files with 7936 additions and 77 deletions

View File

@@ -48,7 +48,16 @@
"test:golden:freecad:failures": "node scripts/run-freecad-golden-failures.mjs",
"test:golden:freecad:family-failures": "node scripts/run-freecad-golden-failures.mjs --manifest=fixtures/freecad-golden/feature-families/failures/manifest.json",
"check:occt-history-artifact": "node scripts/check-occt-history-browser-artifact.mjs",
"check:freecad-naming-sdk-readiness": "node scripts/check-freecad-naming-sdk-readiness.mjs",
"check:freecad-wasm-sdk-build-plan": "node scripts/check-freecad-wasm-sdk-build-plan.mjs",
"check:freecad-naming-next-tasks": "node scripts/check-freecad-naming-next-tasks.mjs",
"configure:freecad-naming-sdk-candidate": "node scripts/configure-freecad-naming-sdk-candidate.mjs",
"build:freecad-naming-sdk-candidate": "bash scripts/build-freecad-naming-sdk-candidate.sh",
"build:freecad-naming-bridge-candidate": "bash scripts/build-freecad-naming-bridge-candidate.sh",
"test:freecad-naming-bridge-candidate": "tsx native/freecad-naming-bridge/smoke-test.ts",
"check:freecad-naming-bridge-candidate": "node scripts/check-freecad-naming-bridge-candidate.mjs",
"check:freecad-naming-sdk": "node scripts/check-freecad-naming-sdk.mjs",
"generate:freecad-naming-sdk-manifest": "node scripts/generate-freecad-naming-sdk-manifest.mjs",
"check:freecad-private-naming-boundary": "node scripts/check-freecad-private-naming-boundary.mjs",
"test:browser-occt": "node scripts/run-browser-occt-harness.mjs",
"test:freecad:threeway": "node scripts/run-freecad-threeway-boolean.mjs",
@@ -63,7 +72,7 @@
"build:freecad-native": "node scripts/build-freecad-native.mjs",
"check:freecad-desktop-oracle": "node scripts/check-freecad-desktop-oracle.mjs",
"probe:freecad-sketcher-constraints": "node scripts/run-freecad-sketcher-constraint-oracle.mjs",
"check:freecad-sketcher-constraints": "node scripts/check-freecad-sketcher-constraint-oracle.mjs && node scripts/check-freecad-partdesign-profile-oracle.mjs && node scripts/check-freecad-partdesign-base-oracle.mjs && node scripts/check-freecad-partdesign-loft-oracle.mjs && node scripts/check-freecad-partdesign-dressup-oracle.mjs && node scripts/check-freecad-partdesign-transform-oracle.mjs && node scripts/check-freecad-partdesign-failure-oracle.mjs && node scripts/check-freecad-partdesign-revolution-groove-oracle.mjs && node scripts/check-freecad-part-builders-oracle.mjs && node scripts/check-freecad-sketcher-editor-oracle.mjs && npm run check:freecad-sketcher-partdesign-abi",
"check:freecad-sketcher-constraints": "node scripts/check-freecad-sketcher-constraint-oracle.mjs && node scripts/check-freecad-partdesign-profile-oracle.mjs && node scripts/check-freecad-partdesign-base-oracle.mjs && node scripts/check-freecad-partdesign-loft-oracle.mjs && node scripts/check-freecad-partdesign-dressup-oracle.mjs && node scripts/check-freecad-partdesign-transform-oracle.mjs && node scripts/check-freecad-partdesign-structure-oracle.mjs && node scripts/check-freecad-attachment-mode-oracle.mjs && node scripts/check-freecad-partdesign-failure-oracle.mjs && node scripts/check-freecad-partdesign-revolution-groove-oracle.mjs && node scripts/check-freecad-part-builders-oracle.mjs && node scripts/check-freecad-sketcher-editor-oracle.mjs && npm run check:freecad-sketcher-partdesign-abi",
"check:freecad-sketcher-partdesign-abi": "tsx scripts/check-freecad-sketcher-partdesign-abi-contract.mjs",
"probe:freecad-partdesign-profiles": "node scripts/run-freecad-partdesign-profile-oracle.mjs",
"check:freecad-partdesign-profiles": "node scripts/check-freecad-partdesign-profile-oracle.mjs",
@@ -75,6 +84,10 @@
"check:freecad-partdesign-dressup": "node scripts/check-freecad-partdesign-dressup-oracle.mjs",
"probe:freecad-partdesign-transform": "node scripts/run-freecad-partdesign-transform-oracle.mjs",
"check:freecad-partdesign-transform": "node scripts/check-freecad-partdesign-transform-oracle.mjs",
"probe:freecad-partdesign-structure": "node scripts/run-freecad-partdesign-structure-oracle.mjs",
"check:freecad-partdesign-structure": "node scripts/check-freecad-partdesign-structure-oracle.mjs",
"probe:freecad-attachment-modes": "node scripts/run-freecad-attachment-mode-oracle.mjs",
"check:freecad-attachment-modes": "node scripts/check-freecad-attachment-mode-oracle.mjs",
"probe:freecad-sketcher-editor": "node scripts/run-freecad-sketcher-editor-oracle.mjs",
"check:freecad-sketcher-editor": "node scripts/check-freecad-sketcher-editor-oracle.mjs",
"test:freecad-fcstd-native": "tsx scripts/run-freecad-fcstd-native-oracle.ts",
@@ -82,10 +95,20 @@
"check:freecad-cam-path": "node scripts/check-freecad-cam-path-oracle.mjs",
"test:freecad-cam-path-report": "node --test tests/freecadCamPathOracle.test.mjs",
"build:occt-history": "bash native/occt-history/build.sh",
"build:freecad-naming-worker": "FREECAD_WASM_NAMING_REQUIRED=1 bash native/occt-history/build.sh",
"build:freecad-naming-worker": "FREECAD_WASM_NAMING_REQUIRED=1 FREECAD_WASM_SDK_DIR=.cache/toolchains/freecad-naming-sdk OCCT_BUILD_DIR=.cache/bitbybit/occt-history-build-freecad-pthread OCCT_HISTORY_DIST_DIR=.cache/candidates/freecad-naming-worker OCCT_HISTORY_PUBLISH=0 bash native/occt-history/build.sh",
"test:freecad-naming-worker-candidate": "FREECAD_NAMING_WORKER_REPORT=.cache/toolchains/freecad-naming-sdk/candidate-worker-report.json tsx native/occt-history/freecad-naming-candidate-smoke.ts",
"test:chrome-freecad-naming-worker-candidate": "node scripts/run-chrome-freecad-naming-worker-candidate.mjs",
"check:chrome-freecad-naming-worker-candidate": "node scripts/check-chrome-freecad-naming-worker-candidate.mjs",
"build:qt6-wasm-core": "bash scripts/build-qt6-wasm-core.sh",
"build:qt6-freecad-wasm": "bash scripts/build-qt6-freecad-wasm.sh",
"build:yaml-cpp-wasm": "bash scripts/build-yaml-cpp-wasm.sh",
"build:icu-wasm": "bash scripts/build-icu-wasm.sh",
"build:cpython-wasm": "bash scripts/build-cpython-wasm.sh",
"build:xerces-c-wasm": "bash scripts/build-xerces-c-wasm.sh",
"build:boost-wasm": "bash scripts/build-boost-wasm.sh",
"prepare:freecad-occt8-overlay": "bash scripts/prepare-freecad-occt8-overlay.sh",
"build:freecad-naming-source-probe": "bash scripts/build-freecad-naming-source-probe.sh",
"test:freecad-naming-source-probe": "node native/freecad-naming-probe/smoke-test.mjs",
"test:freecad-naming-source-probe": "node native/freecad-naming-probe/smoke-test.mjs && tsx native/freecad-naming-probe/abi-candidate-smoke.ts",
"test:freecad-private-naming-boundary": "node --test tests/freecadPrivateNamingBoundary.test.mjs",
"test:occt-history": "node native/occt-history/smoke-test.mjs",
"build:planegcs": "bash native/planegcs/build.sh",
@@ -274,7 +297,7 @@
"test:browser-matrix": "node scripts/run-browser-matrix.mjs",
"check:browser-matrix": "node scripts/check-browser-matrix.mjs",
"check:runtime": "node scripts/check-runtime.mjs",
"verify": "npm run check:runtime && npm run check:baseline && npm run check:bitbybit-history && npm run check:execution-plan && npm run check:freecad-sketcher-constraints && npm run check:freecad-inventory && npm run check:freecad-type-properties && npm run check:freecad-gui-commands && npm run check:freecad-entrypoints && npm run check:freecad-golden-fixtures && npm run check:freecad-semantic-comparator && npm run check:freecad-fcstd-roundtrip && npm run check:freecad-composite-history-elementmap && npm run check:freecad-exact-history-elementmap-gate && npm run check:freecad-native-naming-evidence && npm run check:fcstd-hardening && npm run check:freecad-naming-sdk && npm run check:freecad-private-naming-boundary && npm run check:occt-history-artifact && npm run check:planegcs-artifact && npm run check:browser-occt && npm run check:chrome-topology && npm run check:chrome-planegcs && npm run check:chrome-fault-injection && npm run check:chrome-opfs-migration && npm run check:chrome-persistence && npm run check:chrome-app-e2e && npm run check:chrome-partdesign-lifecycle && npm run check:pwa && npm run check:chrome-offline && npm run check:chrome-geometry-features && npm run check:chrome-native-history && npm run check:chrome-native-pad-history && npm run check:chrome-native-pocket-history && npm run check:chrome-native-loft-history && npm run check:chrome-native-pipe-history && npm run check:chrome-native-revolution-history && npm run check:chrome-native-groove-history && npm run check:chrome-native-fillet-history && npm run check:chrome-native-chamfer-history && npm run check:chrome-native-hole-history && npm run check:chrome-native-draft-history && npm run check:chrome-native-thickness-history && npm run check:chrome-native-linear-pattern-history && npm run check:chrome-native-polar-pattern-history && npm run check:chrome-native-mirrored-history && npm run check:chrome-native-multi-transform-history && npm run check:chrome-sketcher-diagnostics && npm run check:chrome-profile-validation && npm run check:chrome-sketcher-editor && npm run check:chrome-sketcher-bspline && npm run check:chrome-sketcher-stress && npm run check:chrome-part-primitives && npm run check:chrome-partdesign-transform && npm run check:chrome-partdesign-loft && npm run check:partdesign-closure && npm run check:chrome-fcstd-semantic && npm run check:chrome-fcstd-roundtrip && npm run check:fcstd-closure && npm run check:chrome-spreadsheet && npm run check:chrome-plot && npm run check:chrome-draft && npm run check:chrome-techdraw && npm run check:chrome-assembly && npm run check:chrome-mesh && npm run check:chrome-inspection && npm run check:chrome-bim && npm run check:chrome-cam && npm run check:cam-parity && npm run check:cam-pipeline && npm run check:opencamlib-wasm && npm run check:camotics-native && npm run check:camotics-gui-tpl && npm run check:camotics-wasm && npm run check:chrome-camotics-wasm && npm run check:chrome-cam-native-simulation && npm run check:chrome-cam-linuxcnc-machine && npm run check:chrome-fem && npm run check:chrome-robot && npm run check:chrome-data && npm run check:chrome-addon && npm run check:chrome-script && npm run check:chrome-surface && npm run check:chrome-qa08 && npm run check:chrome-secondary-formats && npm run check:chrome-performance && npm run check:chrome-production-document && npm run check:document-closure && npm run check:chrome-engineering && npm run check:chrome-security && npm run check:chrome-fcstd-golden && npm run check:sbom && npm run check:project-migration && npm run check:security-baseline && npm run check:dependency-audit && npm run check:freecad:threeway && npm run check:occt-upstream-drift && npm run check:facade-boundary && npm run test:golden && npm run test:spreadsheet && npm run test:plot && npm run test:draft && npm run test:techdraw && npm run test:assembly && npm run test:mesh && npm run test:inspection && npm run test:bim && npm run test:cam && npm run test:camotics-wasm && npm run test:fem && npm run test:robot && npm run test:data && npm run test:addon && npm run test:script && npm run test:surface && npm run test:locale && npm run test:secondary-formats && npm run test:performance && npm run test:production-document && npm run test:engineering && npm run test:security-preflight && npm run test:fcstd-roundtrip && npm run test:facade && npm run test:fcstd-fuzz && npm run test:geometry-input-fuzz && npm run test:sketch-solver-fuzz && npm run check:quality-closure && npm run test:planegcs && npm run test:project-migration && npm run test:sketcher-stress && npm run test:topology-replay && npm run build && npm run check:built-pwa && npm run generate:release-artifacts && npm run check:release-artifacts && npm run check:release-closure && npm run test:release-signature",
"verify": "npm run check:runtime && npm run check:baseline && npm run check:bitbybit-history && npm run check:execution-plan && npm run check:freecad-sketcher-constraints && npm run check:freecad-inventory && npm run check:freecad-type-properties && npm run check:freecad-gui-commands && npm run check:freecad-entrypoints && npm run check:freecad-golden-fixtures && npm run check:freecad-semantic-comparator && npm run check:freecad-fcstd-roundtrip && npm run check:freecad-composite-history-elementmap && npm run check:freecad-exact-history-elementmap-gate && npm run check:freecad-native-naming-evidence && npm run check:fcstd-hardening && npm run check:freecad-naming-sdk-readiness && npm run check:freecad-wasm-sdk-build-plan && npm run check:freecad-naming-next-tasks && npm run check:freecad-naming-sdk && npm run check:freecad-private-naming-boundary && npm run check:occt-history-artifact && npm run check:planegcs-artifact && npm run check:browser-occt && npm run check:chrome-topology && npm run check:chrome-planegcs && npm run check:chrome-fault-injection && npm run check:chrome-opfs-migration && npm run check:chrome-persistence && npm run check:chrome-app-e2e && npm run check:chrome-partdesign-lifecycle && npm run check:pwa && npm run check:chrome-offline && npm run check:chrome-geometry-features && npm run check:chrome-native-history && npm run check:chrome-native-pad-history && npm run check:chrome-native-pocket-history && npm run check:chrome-native-loft-history && npm run check:chrome-native-pipe-history && npm run check:chrome-native-revolution-history && npm run check:chrome-native-groove-history && npm run check:chrome-native-fillet-history && npm run check:chrome-native-chamfer-history && npm run check:chrome-native-hole-history && npm run check:chrome-native-draft-history && npm run check:chrome-native-thickness-history && npm run check:chrome-native-linear-pattern-history && npm run check:chrome-native-polar-pattern-history && npm run check:chrome-native-mirrored-history && npm run check:chrome-native-multi-transform-history && npm run check:chrome-sketcher-diagnostics && npm run check:chrome-profile-validation && npm run check:chrome-sketcher-editor && npm run check:chrome-sketcher-bspline && npm run check:chrome-sketcher-stress && npm run check:chrome-part-primitives && npm run check:chrome-partdesign-transform && npm run check:chrome-partdesign-loft && npm run check:partdesign-closure && npm run check:chrome-fcstd-semantic && npm run check:chrome-fcstd-roundtrip && npm run check:fcstd-closure && npm run check:chrome-spreadsheet && npm run check:chrome-plot && npm run check:chrome-draft && npm run check:chrome-techdraw && npm run check:chrome-assembly && npm run check:chrome-mesh && npm run check:chrome-inspection && npm run check:chrome-bim && npm run check:chrome-cam && npm run check:cam-parity && npm run check:cam-pipeline && npm run check:opencamlib-wasm && npm run check:camotics-native && npm run check:camotics-gui-tpl && npm run check:camotics-wasm && npm run check:chrome-camotics-wasm && npm run check:chrome-cam-native-simulation && npm run check:chrome-cam-linuxcnc-machine && npm run check:chrome-fem && npm run check:chrome-robot && npm run check:chrome-data && npm run check:chrome-addon && npm run check:chrome-script && npm run check:chrome-surface && npm run check:chrome-qa08 && npm run check:chrome-secondary-formats && npm run check:chrome-performance && npm run check:chrome-production-document && npm run check:document-closure && npm run check:chrome-engineering && npm run check:chrome-security && npm run check:chrome-fcstd-golden && npm run check:sbom && npm run check:project-migration && npm run check:security-baseline && npm run check:dependency-audit && npm run check:freecad:threeway && npm run check:occt-upstream-drift && npm run check:facade-boundary && npm run test:golden && npm run test:spreadsheet && npm run test:plot && npm run test:draft && npm run test:techdraw && npm run test:assembly && npm run test:mesh && npm run test:inspection && npm run test:bim && npm run test:cam && npm run test:camotics-wasm && npm run test:fem && npm run test:robot && npm run test:data && npm run test:addon && npm run test:script && npm run test:surface && npm run test:locale && npm run test:secondary-formats && npm run test:performance && npm run test:production-document && npm run test:engineering && npm run test:security-preflight && npm run test:fcstd-roundtrip && npm run test:facade && npm run test:fcstd-fuzz && npm run test:geometry-input-fuzz && npm run test:sketch-solver-fuzz && npm run check:quality-closure && npm run test:planegcs && npm run test:project-migration && npm run test:sketcher-stress && npm run test:topology-replay && npm run build && npm run check:built-pwa && npm run generate:release-artifacts && npm run check:release-artifacts && npm run check:release-closure && npm run test:release-signature",
"test:chrome-native-thickness-history": "node scripts/run-chrome-native-thickness-history.mjs",
"check:chrome-native-thickness-history": "node scripts/check-chrome-native-thickness-history.mjs",
"test:chrome-native-linear-pattern-history": "node scripts/run-chrome-native-linear-pattern-history.mjs",