{
  "revision": "R9",
  "review_date": "2026-09-20",
  "construction_ready": false,
  "physical_kit_verified": false,
  "recommended_common_scale": 0.125,
  "preferred_first_physical_base": "r8",
  "scope": "Independent review only. Current main assemblies and display geometry; no stage5 foot/node prototype.",
  "measurement_method": "Active non-anchor source STL and referenced model-lighting.js vertices. Sixteen anchors excluded per revision. Convex hull maximum Euclidean pair distance; tessellated not BRep exact. Historical raw with-anchor results retained separately. Mini display plinth excluded.",
  "revisions": {
    "r7": {
      "assembly_sha256": "08cde715f93b55e22752315fb989844058c7f282af5578856e392bbca424fcaa",
      "min_stay_axis_spacing": {
        "ids": [
          "N1_HS3",
          "N1_HS4"
        ],
        "distance_mm": 24.99999999999972,
        "node": "1"
      },
      "parts_count": 346,
      "hardware_count": 2668,
      "thickness_inventory": [
        {
          "kind": "cheek",
          "nominal_stock_or_thickness_mm": 24.0,
          "steel_thickness_mm": null,
          "count": 122
        },
        {
          "kind": "strip",
          "nominal_stock_or_thickness_mm": 24.0,
          "steel_thickness_mm": null,
          "count": 168
        },
        {
          "kind": "foot_plate",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 4
        },
        {
          "kind": "foot_support",
          "nominal_stock_or_thickness_mm": 40.0,
          "steel_thickness_mm": null,
          "count": 8
        },
        {
          "kind": "foot_wedge",
          "nominal_stock_or_thickness_mm": 80.0,
          "steel_thickness_mm": null,
          "count": 8
        },
        {
          "kind": "foot_washer_pad",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 24
        },
        {
          "kind": "support_pad",
          "nominal_stock_or_thickness_mm": 2.0,
          "steel_thickness_mm": null,
          "count": 4
        },
        {
          "kind": "steel_angle_base",
          "nominal_stock_or_thickness_mm": 40.0,
          "steel_thickness_mm": 5.0,
          "count": 8
        }
      ],
      "at_one_eighth": {
        "size_xyz_mm": [
          577.270263671875,
          577.270263671875,
          386.57025146484375
        ],
        "max_3d_point_distance_mm": 768.4499268891722,
        "max_plan_point_distance_mm": 767.2909543238511,
        "bbox_diagonal_mm": 903.282056700555
      },
      "thin_sheet_scale_options": [
        {
          "strip_thickness_mm": 2,
          "linear_scale": 0.08333333333333333,
          "cheek_thickness_mm": 2.0,
          "max_3d_point_distance_mm": 512.2999512594481,
          "within_1000mm_by_point_distance": true
        },
        {
          "strip_thickness_mm": 3,
          "linear_scale": 0.125,
          "cheek_thickness_mm": 3.0,
          "max_3d_point_distance_mm": 768.4499268891722,
          "within_1000mm_by_point_distance": true
        },
        {
          "strip_thickness_mm": 4,
          "linear_scale": 0.16666666666666666,
          "cheek_thickness_mm": 4.0,
          "max_3d_point_distance_mm": 1024.5999025188962,
          "within_1000mm_by_point_distance": false
        }
      ],
      "mini_fastener_lengths_at_one_eighth": [
        {
          "kind": "stay_bolt",
          "original_length_mm": 240,
          "scaled_length_mm": 30.0,
          "count": 296
        },
        {
          "kind": "stay_bolt",
          "original_length_mm": 185,
          "scaled_length_mm": 23.125,
          "count": 32
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 180,
          "scaled_length_mm": 22.5,
          "count": 4
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 220,
          "scaled_length_mm": 27.5,
          "count": 4
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 270,
          "scaled_length_mm": 33.75,
          "count": 4
        },
        {
          "kind": "support_bolt",
          "original_length_mm": 140,
          "scaled_length_mm": 17.5,
          "count": 8
        },
        {
          "kind": "plate_bolt",
          "original_length_mm": 160.0,
          "scaled_length_mm": 20.0,
          "count": 8
        }
      ],
      "historical_with_anchors": {
        "stl_count": 3014,
        "bounds_mm": [
          [
            -2309.08154296875,
            -2309.08154296875,
            -70.0
          ],
          [
            2309.08154296875,
            2309.08154296875,
            3073.713134765625
          ]
        ],
        "size_xyz_mm": [
          4618.1630859375,
          4618.1630859375,
          3143.713134765625
        ],
        "max_3d_point_distance_mm": 6147.599585493142,
        "diameter_endpoints_mm": [
          [
            2180.48486328125,
            -2159.271728515625,
            348.0
          ],
          [
            -2208.769287109375,
            2130.987548828125,
            0.0
          ]
        ],
        "max_plan_point_distance_mm": 6138.32866403817,
        "bbox_diagonal_mm": 7248.295858360741,
        "plan_bbox_diagonal_mm": 6531.068869383598,
        "plan_central_enclosing_diameter_mm": 6138.32866403817,
        "with_lighting_display_mesh": {
          "model_sha256": "e362ae65fb02f80884f12e897bcdfb01266252e2e09fa450d7abf472448de946",
          "vertex_count": 602348,
          "bounds_mm": [
            [
              -2309.0810546875,
              -2309.0810546875,
              -70.0
            ],
            [
              2309.0810546875,
              2309.0810546875,
              3092.56201171875
            ]
          ],
          "size_xyz_mm": [
            4618.162109375,
            4618.162109375,
            3162.56201171875
          ],
          "max_3d_point_distance_mm": 6147.599415113377,
          "max_plan_point_distance_mm": 6138.327634590809,
          "plan_central_enclosing_diameter_mm": 6138.327634590809,
          "bbox_diagonal_mm": 7256.489579328317
        },
        "stl_manifest_sha256": "8bbda26b76455b62e3a2be6517337f528006ac8ec4a40dfc4abb47a7a1a1cf77"
      },
      "active_non_anchor_measurement": {
        "stl": {
          "bounds_mm": [
            [
              -2309.08154296875,
              -2309.08154296875,
              0.0
            ],
            [
              2309.08154296875,
              2309.08154296875,
              3073.713134765625
            ]
          ],
          "size_xyz_mm": [
            4618.1630859375,
            4618.1630859375,
            3073.713134765625
          ],
          "max_3d_point_distance_mm": 6147.599585493142,
          "max_plan_point_distance_mm": 6138.32866403817,
          "plan_central_enclosing_diameter_mm": 6138.32866403817,
          "bbox_diagonal_mm": 7218.211205794845,
          "body_count": 2998,
          "stl_manifest_sha256": "4356a9e697f69fa020d208584991dd8d0b7549e12f0d63b4bf9cbf1b0a43bd0c"
        },
        "display_active_parts": {
          "bounds_mm": [
            [
              -2309.0810546875,
              -2309.0810546875,
              0.0
            ],
            [
              2309.0810546875,
              2309.0810546875,
              3092.56201171875
            ]
          ],
          "size_xyz_mm": [
            4618.162109375,
            4618.162109375,
            3092.56201171875
          ],
          "max_3d_point_distance_mm": 6147.599415113377,
          "max_plan_point_distance_mm": 6138.327634590809,
          "plan_central_enclosing_diameter_mm": 6138.327634590809,
          "bbox_diagonal_mm": 7226.25645360444,
          "body_count": 3618,
          "excluded_count": 16,
          "vertex_count": 596012
        },
        "manifest_bounds_match": true
      },
      "r9_mini_manifest_sha256": "88eae9224daa4bd937629a2818ac3c91814acd7f0c733acc0f11999d90725bc6"
    },
    "r8": {
      "assembly_sha256": "7a7284422937d4cbd9749208fad27998680e1a6d93dcc122559c6572b67f0f31",
      "min_stay_axis_spacing": {
        "ids": [
          "N0_HS1",
          "N0_HS2"
        ],
        "distance_mm": 28.196566588825632,
        "node": "0"
      },
      "parts_count": 110,
      "hardware_count": 364,
      "thickness_inventory": [
        {
          "kind": "cheek",
          "nominal_stock_or_thickness_mm": 24.0,
          "steel_thickness_mm": null,
          "count": 18
        },
        {
          "kind": "strip",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 24
        },
        {
          "kind": "rung",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 12
        },
        {
          "kind": "foot_plate",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 4
        },
        {
          "kind": "foot_support",
          "nominal_stock_or_thickness_mm": 40.0,
          "steel_thickness_mm": null,
          "count": 8
        },
        {
          "kind": "foot_wedge",
          "nominal_stock_or_thickness_mm": 80.0,
          "steel_thickness_mm": null,
          "count": 8
        },
        {
          "kind": "foot_washer_pad",
          "nominal_stock_or_thickness_mm": 30.0,
          "steel_thickness_mm": null,
          "count": 24
        },
        {
          "kind": "support_pad",
          "nominal_stock_or_thickness_mm": 2.0,
          "steel_thickness_mm": null,
          "count": 4
        },
        {
          "kind": "steel_angle_base",
          "nominal_stock_or_thickness_mm": 40.0,
          "steel_thickness_mm": 5.0,
          "count": 8
        }
      ],
      "at_one_eighth": {
        "size_xyz_mm": [
          545.9217529296875,
          545.9217529296875,
          400.0018615722656
        ],
        "max_3d_point_distance_mm": 735.5164335373686,
        "max_plan_point_distance_mm": 735.5164335373686,
        "bbox_diagonal_mm": 869.5186081418404
      },
      "thin_sheet_scale_options": [
        {
          "strip_thickness_mm": 2,
          "linear_scale": 0.06666666666666667,
          "cheek_thickness_mm": 1.6,
          "max_3d_point_distance_mm": 392.2754312199299,
          "within_1000mm_by_point_distance": true
        },
        {
          "strip_thickness_mm": 3,
          "linear_scale": 0.1,
          "cheek_thickness_mm": 2.4000000000000004,
          "max_3d_point_distance_mm": 588.4131468298949,
          "within_1000mm_by_point_distance": true
        },
        {
          "strip_thickness_mm": 4,
          "linear_scale": 0.13333333333333333,
          "cheek_thickness_mm": 3.2,
          "max_3d_point_distance_mm": 784.5508624398598,
          "within_1000mm_by_point_distance": true
        }
      ],
      "mini_fastener_lengths_at_one_eighth": [
        {
          "kind": "stay_bolt",
          "original_length_mm": 345,
          "scaled_length_mm": 43.125,
          "count": 40
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 190,
          "scaled_length_mm": 23.75,
          "count": 4
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 230,
          "scaled_length_mm": 28.75,
          "count": 4
        },
        {
          "kind": "foot_bolt",
          "original_length_mm": 280,
          "scaled_length_mm": 35.0,
          "count": 4
        },
        {
          "kind": "support_bolt",
          "original_length_mm": 140,
          "scaled_length_mm": 17.5,
          "count": 8
        },
        {
          "kind": "plate_bolt",
          "original_length_mm": 160.0,
          "scaled_length_mm": 20.0,
          "count": 8
        }
      ],
      "historical_with_anchors": {
        "stl_count": 474,
        "bounds_mm": [
          [
            -2182.6689453125,
            -2182.6689453125,
            -70.0
          ],
          [
            2182.6689453125,
            2182.6689453125,
            3141.645751953125
          ]
        ],
        "size_xyz_mm": [
          4365.337890625,
          4365.337890625,
          3211.645751953125
        ],
        "max_3d_point_distance_mm": 5792.016573382477,
        "diameter_endpoints_mm": [
          [
            2182.6689453125,
            1887.23291015625,
            550.9503784179688
          ],
          [
            -2076.670166015625,
            -1998.8885498046875,
            0.0
          ]
        ],
        "max_plan_point_distance_mm": 5770.854973748139,
        "bbox_diagonal_mm": 6958.952380544876,
        "plan_bbox_diagonal_mm": 6173.520049263034,
        "plan_central_enclosing_diameter_mm": 5770.854973748139,
        "with_lighting_display_mesh": {
          "model_sha256": "72e7c2a40ebecec19beebd5a61b886669695fe58cb1417086a305275c402f56f",
          "vertex_count": 108126,
          "bounds_mm": [
            [
              -2183.68701171875,
              -2183.68701171875,
              -70.0
            ],
            [
              2183.68701171875,
              2183.68701171875,
              3200.014892578125
            ]
          ],
          "size_xyz_mm": [
            4367.3740234375,
            4367.3740234375,
            3270.014892578125
          ],
          "max_3d_point_distance_mm": 5884.131468298949,
          "max_plan_point_distance_mm": 5884.131468298949,
          "plan_central_enclosing_diameter_mm": 5884.131468298949,
          "bbox_diagonal_mm": 6988.627126902396
        },
        "stl_manifest_sha256": "83d796f6beed9933e29db6e8d85664c182235bd7729da89f7532f8da36e16749"
      },
      "active_non_anchor_measurement": {
        "stl": {
          "bounds_mm": [
            [
              -2182.6689453125,
              -2182.6689453125,
              0.0
            ],
            [
              2182.6689453125,
              2182.6689453125,
              3141.645751953125
            ]
          ],
          "size_xyz_mm": [
            4365.337890625,
            4365.337890625,
            3141.645751953125
          ],
          "max_3d_point_distance_mm": 5792.016573382477,
          "max_plan_point_distance_mm": 5770.854973748139,
          "plan_central_enclosing_diameter_mm": 5770.854973748139,
          "bbox_diagonal_mm": 6926.9248465258925,
          "body_count": 458,
          "stl_manifest_sha256": "3124a6d325218d1121051194fb8efd9fc8e9e332d631327cf76bd335d16f51f9"
        },
        "display_active_parts": {
          "bounds_mm": [
            [
              -2183.68701171875,
              -2183.68701171875,
              0.0
            ],
            [
              2183.68701171875,
              2183.68701171875,
              3200.014892578125
            ]
          ],
          "size_xyz_mm": [
            4367.3740234375,
            4367.3740234375,
            3200.014892578125
          ],
          "max_3d_point_distance_mm": 5884.131468298949,
          "max_plan_point_distance_mm": 5884.131468298949,
          "plan_central_enclosing_diameter_mm": 5884.131468298949,
          "bbox_diagonal_mm": 6956.148865134724,
          "body_count": 902,
          "excluded_count": 16,
          "vertex_count": 101790
        },
        "manifest_bounds_match": true
      },
      "r9_mini_manifest_sha256": "605b5560a56c653782676dbbab6e738b5653112fc8d22c235c5670fa1c12a703"
    }
  },
  "procurement_status": {
    "long_m1_rods_verified": false,
    "long_m14_screws_verified": false,
    "candidate_custom_ends": "M1x0.25 ends on1mm rod; M1.4x0.3 for foot. Adapted geometry, not scaled thread or property class. No orders placed.",
    "forbidden_automatic_substitution": "M2 OD5 washers overlap at source roof-axis pitches scaled to3.125/3.5246mm."
  },
  "report_sha256": "7b9e0019bfe0822b80defad24f531e0587c337bb3bc88975c2b5bb1602dd2bee",
  "sources": [
    {
      "label": "ПМ-ТОРГ",
      "url": "https://fanerra.ru/products/fanera-fk-berezovaya-3-mm-1525-1525-sort-1-2-sh2",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "ПМ-ТОРГ",
      "url": "https://fanerra.ru/products/fanera-fsf-berezovaya-4-mm-2440-1220-sort-3-3-sh2",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "авиационной фанеры ПМ-ТОРГ",
      "url": "https://fanerra.ru/catalog/fanera-aviatsionnaya",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "ФК 5 мм «Фанерный мир»",
      "url": "https://fan-mir.ru/product/fanera/fanera-berezovaya-fk-5-mm-1525x1525-mm-sort-3-3-sh2/",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "SVEZA Regular Exterior",
      "url": "https://sveza.com/products/sveza-fsf/",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "гайку М1, латунь",
      "url": "https://krepcom.ru/catalog/gayki-razdel/gayka_m_1_0_shestigrannaya_latunnaya.htm",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "М1,4, латунь",
      "url": "https://krepcom.ru/catalog/gayki-razdel/gayka_m_1_4_shestigrannaya_latunnaya.htm",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "поставщика DIN125",
      "url": "https://fcm-terminal.com/products/shajby/shajby-ploskie/din-125-shajba",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "Российский поставщик плашек",
      "url": "https://in-snab.ru/katalog/metallorezhushhij-instrument/plashki/plashki-metricheskie/",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "Artesania Latina AL8627",
      "url": "https://artesanialatina.net/us/ru/2233-latunnaa-provoloka-diam-1-mm-3-m-dla-modelirovania-i-rukodelia.html",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "российская карточка RCDrive",
      "url": "https://rcdrive.ru/unit.php?unit=28247",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    },
    {
      "label": "Л63 OD1,5×стенка0,2",
      "url": "https://kabelgarant.ru/trubka-latun-l63-15-kh-02-kh-1000-mm/",
      "accessed": "2026-09-20",
      "availability": "Catalog evidence only; no purchase or supplier confirmation"
    }
  ],
  "explicit_assembly_deviations": [
    "Standard M1x0.25 replaces scaled thread diameter1/pitch0.15625.",
    "DIN934 M1 AF2.5/h0.8 replaces scaled DIN982 AF1.625/h1.1875; no nylon lock.",
    "Standard M1 washer ID1.1/OD3/t0.3 replaces1.05/3/0.25.",
    "Tube OD1.5/ID1.1 replaces1.5/1.125; shorten by0.10mm if both inner washers t0.3.",
    "M1.4x0.3 replaces scaled M12 diameter1.5/pitch0.21875; unchanged1.625 hole has added0.05mm radial play.",
    "Measured/calibrated3/3.75/5/10mm plywood; laminated blanks are not mechanically similar full-size material.",
    "Mini TMS-angle manufacture unverified; printed or simplified bent substitute is an explicit deviation.",
    "Fit coupons and actual tool clearances unverified; nominal scaled window clearances0.0625/0.0375/0.025mm."
  ],
  "verification": {
    "source_sha_match": true,
    "one_eighth_full_bbox_diagonal_under1000mm_both": true,
    "independent_checks": "Referenced complete STL inventory and display model read; source hashes rechecked after writing report."
  },
  "publication_audit": {
    "builder_path": "tools/r9/build_site.py",
    "builder_sha256": "21e598767dc1bc5a6cfa61b5176dbd3645df4ca917b6ffb545803ce40355e16a",
    "critical_scale_or_readiness_label_errors": [],
    "limitation": "Current generator one_metre_diameter_pass checks plan circle only. Independent current-revision3D and full bounding-box checks also pass.",
    "excluded_anchors_per_revision": 16,
    "active_manifest_bounds_match": true
  }
}
