← Commit history

Record R21 Rust conversion and completed cross-platform verification

Drew Owens ·86e30d7a61 ·27d ago ·parent 80d89b6
2 files changed +47−31
docs/mechanical-progress/README.md+16−14
@@ -16,22 +16,22 @@ PR #10 was closed and replaced by the current-master foundation work. These four PRs are unmerged; they are historical implementation references, not approval to ship Python-backed additions under the Rust migration requirement. -The R20-fix3 native Rust checkpoint is available in [draft PR #19](https://wiki.adom.inc/adom/fusion-bridge/prs/19)+The R21 native Rust checkpoint is available in [draft PR #19](https://wiki.adom.inc/adom/fusion-bridge/prs/19) on the isolated `native-rust-checkpoint-2026-10-16` branch. It does not-replace or configure the installed bridge. The completed frozen product source-and assembly protocol verifier are included; R21 work in progress is excluded.+replace or configure the installed bridge. The frozen product source, protocol verifiers, independent placement observer+and Rust contract-authoring tool are included. R21 actual-app qualification is pending.  ## Python to Rust -**17 of 61 legacy mechanical operations have limited native implementations;-44 do not yet have native handlers.** That is approximately 28% by operation-count, not 28% of engineering work or complete behavioral parity. Nine native-helper operations bring the completed candidate to 26 exposed operations.+**18 of 61 legacy mechanical operations have limited native implementations;+43 do not yet have native handlers.** That is approximately 30% by operation+count; it does not measure engineering completion or complete behavioral parity. Nine native+helper operations bring the current source candidate to 27 exposed operations. No operation is being claimed as fully qualified across every legacy behavior. -The 17 implemented subsets are `assembly_properties`, `bom`, `bom_export`,+The 18 implemented subsets are `assembly_properties`, `bom`, `bom_export`, `component_create`, `component_metadata`, `feature_create`, `inspect`,-`material_list`, `mcmaster_discover`, `new_design`, `occurrence_insert`,+`material_list`, `mcmaster_discover`, `new_design`, `occurrence_insert`, `occurrence_update`, `parameter_create`, `parameter_set`, `sketch_constraint`, `sketch_create`, `sketch_dimension`, and `sketch_geometry`. @@ -51,7 +51,7 @@ whole-codebase conversion percentage has not yet been established. | Runtime and safety | Rust transport, owner-thread execution, document/revision checks, durable results, replay/conflict handling; bounded live campaigns | Broader restart/failure/soak tests, deployment and installer integration | | Parameters and sketches | Parameter create/set, origin sketches, eight primitive types; finite horizontal/vertical constraint and 42 mm driving-dimension live tests | General solver graphs, other dimensions, edits, offsets, projection and broader persistence | | Solids and physical properties | Basic one-sided new-body extrusion and bounded root physical-property reads exercised live | Independent geometry/material qualification gaps; additional solid features, arbitrary assemblies and editing |-| Assemblies | Empty flat component creation, shared occurrences and local purchasing metadata independently checked in Fusion | Physical child components, nesting, native online metadata; R21 absolute positioning under development; joints and motion |+| Assemblies | Empty flat component creation, shared occurrences and local purchasing metadata independently checked in Fusion | Physical child components, nesting, native online metadata; R21 absolute translation compiled and tested; actual Fusion pending; joints and motion | | BOM | Rust collection/CSV core and native handlers implemented; portable/Windows core tests pass | Successful complete actual-app BOM traversal and CSV export qualification | | McMaster | Native command registration discovery exercised live | Plugin launch, model download, CAD import and placement | | Exploded views, animation and rendering | Standalone Rust exploded planner passes 31 tests on each platform; older Python feature PRs are available | Native preview lifecycle, presentation/animation/render workflows and persistence |@@ -63,14 +63,16 @@ whole-codebase conversion percentage has not yet been established. R21 absolute occurrence positioning has passed **508 Linux tests and 512 Windows tests**, including native SDK compilation and release linking. Its 28-test protocol verifier and 20-test independent pose/snapshot observer have passed-portable and Windows binding compilation checks. Their native Windows execution-and actual Fusion qualification are still pending. This is a finite translation+portable tests, native Windows tests and binding compilation checks. The+observer also links against the installed Fusion SDK. Actual Fusion qualification+is still pending. This is a finite translation subset, not general placement parity.  A Rust replacement for contract-authoring tooling reproduces all 665,236 bytes of the historical contract, including 179 frozen entries, 178 runtime verbs and-61 mechanical schemas. Its initial 17 tests pass; changed-catalog refreezing is-being completed before claiming authoring parity. No Python runtime has been+61 mechanical schemas. Explicit changed-catalog refreezing is implemented; all 21 tests pass on Linux+and Windows, including actual CLI and atomic-publication checks. Release CI adoption+and macOS atomic publication remain pending. No Python runtime has been removed from the installed bridge by these source changes.  ## Latest completed verification
docs/mechanical-progress/status.json+31−17
@@ -1,21 +1,21 @@ {-  "asOf": "2026-10-16T18:57:37.653Z",-  "candidate": "R20-fix3",-  "sourceManifestSha256": "9dd6f2f225a21b71cdc8cc51fe0b480b86f351dcc253939ac96b0354b7dc5208",+  "asOf": "2026-10-16T19:09:04.992Z",+  "candidate": "R21",+  "sourceManifestSha256": "c2b42e34335a2cc49a1762b3bd140dffe542d544aa7e81721d87449082cbe197",   "counts": {     "legacyMechanicalOperations": 61,-    "legacyOperationsWithFiniteNativeImplementation": 17,-    "legacyOperationsWithoutNativeHandler": 44,+    "legacyOperationsWithFiniteNativeImplementation": 18,+    "legacyOperationsWithoutNativeHandler": 43,     "nativeHelperOperations": 9,-    "nativeExposedOperations": 26,+    "nativeExposedOperations": 27,     "totalMechanicalSchemas": 70,     "fullyQualifiedLegacyParityOperations": 0,     "publicReplacementReleases": 0   },   "latestInstallableVersion": "1.11.39",   "nativePublicReplacementReleased": false,-  "linuxTests": 494,-  "windowsTests": 498,+  "linuxTests": 508,+  "windowsTests": 512,   "implementedSubsets": [     {       "operation": "assembly_properties",@@ -61,6 +61,10 @@       "operation": "occurrence_insert",       "scope": "Exact owned empty flat root definitions/shared instances with identity placement and local name/purchasing metadata. R20-fix3 finite live protocol, journal and independent SDK checks passed. Online native PN/description, child solids, nesting, transforms and full legacy parity remain pending."     },+    {+      "operation": "occurrence_update",+      "scope": "Absolute translation in mm of an exact native-owned empty ungrounded root occurrence with identity orientation, followed by one captured position. No rotations, visibility/grounding edits, nested/external/physical assemblies. Source/Linux/Windows passed; actual Fusion and semantic persistence pending."+    },     {       "operation": "parameter_create",       "scope": "Single user parameter with exact document guards; no full legacy rollback"@@ -116,7 +120,6 @@     "motion_link_delete",     "motion_link_edit",     "occurrence_delete",-    "occurrence_update",     "parameter_batch",     "plane_create",     "regular_joint_create",@@ -138,9 +141,13 @@     "linuxTests": 508,     "windowsTests": 512,     "releaseDllLinked": true,-    "status": "Source and Windows build passed; independent verifier/observer review and actual Fusion qualification pending",+    "status": "Product, verifier and independent observer source review and Linux/Windows tests passed; actual Fusion qualification pending",     "actualFusionQualified": false,-    "publicReplacementReleased": false+    "publicReplacementReleased": false,+    "verifierLinuxTests": 28,+    "verifierWindowsTests": 28,+    "observerLinuxTests": 20,+    "observerWindowsTests": 20   },   "johnIntegration": {     "repo": "adom/adom-aiflow-mechanical",@@ -153,11 +160,18 @@     "newFeatureWorkDeferred": true   },   "contractAuthoring": {-    "candidate": "rust-contract-authoring-r1",-    "portableTests": 17,+    "source": "rust-contract-authoring-r1",+    "sourceManifest": "7e9afe38589eecedf425a39c27a9dfd8e229556332f1cde362f43af5f88d1d2e",+    "sourceFiles": 21,+    "linuxTests": 21,+    "windowsTests": 21,+    "status": "Historical reproduction and explicit refreeze implemented and independently reviewed; actual Windows CLI tests passed",     "historicalContractBytes": 665236,-    "historicalBytesMatch": true,-    "changedCatalogWorkflow": "in development",-    "runtimeParityClaim": false-  }+    "historicalBytesEqual": true,+    "releaseCiIntegrated": false,+    "macosExclusivePublication": false,+    "runtimePort": false+  },+  "latestCandidateActualFusionQualified": false,+  "lastActualFusionQualifiedCandidate": "R20-fix3 (finite empty assembly only)" }