{
  "catalog_id": "CWSE-CONNECTOR-CATALOG",
  "version": "0.1.0",
  "status": "simulated",
  "classification": "working_proposal",
  "catalog_data_classification": "illustrative_value",
  "connector_family_placement": {
    "classification": "open_decision",
    "status": "unresolved",
    "question": "Should the compatible connector family live in CIS, each product CTO, a third connector CTO, an application-owned catalog, or a combination with explicit precedence?",
    "fixture_choice": "This package keeps candidate selection in an application-owned catalog and does not treat the interface-family label by itself as normative mating."
  },
  "ranking_policy": "First evaluate current CTO/CIS identity, version, complementary sides, port alignment, registered signature compatibility, and face orientation. Then filter material-specific candidates through nested applicability rules and hard gates. Score only candidates whose applicability and hard gates pass. A score never converts an incompatible, failed, missing-data, or unevaluated condition into a pass.",
  "criteria": [
    {
      "criterion_id": "evidence_readiness",
      "weight": 0.25,
      "description": "Completeness and traceability of the simulated candidate evidence."
    },
    {
      "criterion_id": "adjustability",
      "weight": 0.2,
      "description": "Illustrative ability to accommodate field coordination variation."
    },
    {
      "criterion_id": "constructability",
      "weight": 0.2,
      "description": "Illustrative installation access and sequencing preference."
    },
    {
      "criterion_id": "procurement",
      "weight": 0.15,
      "description": "Illustrative availability and lead-time preference."
    },
    {
      "criterion_id": "cost",
      "weight": 0.1,
      "description": "Illustrative relative cost preference, where a higher value is preferred."
    },
    {
      "criterion_id": "embodied_carbon",
      "weight": 0.1,
      "description": "Illustrative relative material-efficiency preference. This is not an embodied-carbon calculation."
    }
  ],
  "candidates": [
    {
      "candidate_id": "CONN-CONCRETE-CAST-IN-CHANNEL",
      "name": "Cast-in anchor channel with adjustable panel bracket",
      "branch_id": "concrete_slab_edge",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated cast-in channel and adjustable bracket assembly for a reinforced-concrete slab edge.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 300 mm adjustable bracket bears at the panel shoe and bolts to a 450 mm cast-in channel centered in the slab-edge attachment zone.",
        "panel_side_footprint_origin_mm": [1350, 90, 0],
        "panel_side_footprint_mm": { "width": 300, "height": 220, "depth": 90 },
        "substrate_side_footprint_origin_mm": [1275, 110, 0],
        "substrate_side_footprint_mm": { "width": 450, "height": 180, "depth": 75 },
        "nominal_offset_mm": [0, 0, 110],
        "adjustment_range_mm": { "x_plus_minus": 25, "y_plus_minus": 20, "z_plus_minus": 30 },
        "required_access_zone_mm": { "side": "interior_above_slab", "origin_mm": [1200, 400, 0], "width": 500, "height": 350, "depth": 400 },
        "keep_out_zones": [
          {
            "zone_id": "KO-CONCRETE-CHANNEL-EDGE",
            "purpose": "protect slab edge and reinforcing zone",
            "side": "substrate_side",
            "origin_mm": [1175, 75, 0],
            "dimensions_mm": { "width": 650, "height": 250, "depth": 180 },
            "description": "No uncoordinated penetrations or cuts inside this illustrative zone."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-CONCRETE-CHANNEL-TBOLT",
            "purpose": "T-bolt slots within cast-in channel",
            "side": "substrate_side",
            "origin_mm": [1325, 180, 0],
            "dimensions_mm": { "width": 350, "height": 40, "depth": 55 },
            "description": "Uses the simulated cast-in channel and does not authorize field drilling."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "reinforced_concrete",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the concrete branch."
          },
          {
            "fact": "concrete.embed_channel_present",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "A cast-in channel must be declared in the substrate context."
          },
          {
            "any": [
              {
                "fact": "concrete.cast_in_record_ref",
                "operator": "present",
                "on_missing": "indeterminate",
                "description": "A cast-in record is available."
              },
              {
                "fact": "concrete.as_built_scan_ref",
                "operator": "present",
                "on_missing": "indeterminate",
                "description": "An as-built scan is available when the cast-in record is unavailable."
              }
            ]
          },
          {
            "fact": "concrete.edge_zone_depth_mm",
            "operator": "greater_or_equal",
            "value": 180,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative minimum attachment-zone depth."
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within the illustrative gap tolerance."
          },
          "failure_message": "Plane gap exceeds the illustrative interface tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "concrete_edge_distance",
          "condition": {
            "fact": "concrete.anchor_edge_distance_mm",
            "operator": "greater_or_equal",
            "value": 100,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative geometry screen only."
          },
          "failure_message": "Anchor edge distance is below the simulated candidate minimum.",
          "missing_message": "Anchor edge distance is absent."
        },
        {
          "gate_id": "panel_wind_screen",
          "condition": {
            "fact": "project.wind_demand_kpa",
            "operator": "less_or_equal_fact",
            "value_fact": "panel.wind_capacity_kpa",
            "unit": "kPa",
            "on_missing": "indeterminate",
            "description": "Demand must not exceed the panel's simulated declared screening value."
          },
          "failure_message": "Wind demand exceeds the simulated panel screening value.",
          "missing_message": "Wind demand or panel screening value is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 45,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen, not anchor engineering."
          },
          "failure_message": "Out-of-plane reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 90,
        "adjustability": 85,
        "constructability": 80,
        "procurement": 70,
        "cost": 65,
        "embodied_carbon": 60
      },
      "evidence_refs": [
        "EV-CATALOG-CONCRETE-CHANNEL",
        "EV-CONCRETE-MATERIAL"
      ],
      "explicit_exclusions": [
        "No concrete breakout, pryout, reinforcing interaction, cracked-concrete, or seismic anchor calculation is performed.",
        "No fire, facade-system, waterproofing, fatigue, durability, or installation approval is provided."
      ]
    },
    {
      "candidate_id": "CONN-CONCRETE-POST-INSTALLED",
      "name": "Post-installed anchor and adjustable shelf angle",
      "branch_id": "concrete_slab_edge",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated post-installed concrete anchor group with an adjustable shelf angle.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 320 mm shelf angle connects the panel shoe to a four-anchor post-installed group at the concrete edge.",
        "panel_side_footprint_origin_mm": [1340, 80, 0],
        "panel_side_footprint_mm": { "width": 320, "height": 240, "depth": 100 },
        "substrate_side_footprint_origin_mm": [1320, 70, 0],
        "substrate_side_footprint_mm": { "width": 360, "height": 260, "depth": 120 },
        "nominal_offset_mm": [0, 0, 120],
        "adjustment_range_mm": { "x_plus_minus": 30, "y_plus_minus": 20, "z_plus_minus": 35 },
        "required_access_zone_mm": { "side": "interior_above_slab", "origin_mm": [1200, 400, 0], "width": 550, "height": 400, "depth": 450 },
        "keep_out_zones": [
          {
            "zone_id": "KO-CONCRETE-POST-REBAR",
            "purpose": "protect verified reinforcing and slab edge",
            "side": "substrate_side",
            "origin_mm": [1200, 40, 0],
            "dimensions_mm": { "width": 600, "height": 320, "depth": 220 },
            "description": "Anchor locations outside the scanned clear pockets are prohibited in this fixture."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-CONCRETE-POST-ANCHORS",
            "purpose": "four simulated drilled anchor holes",
            "side": "substrate_side",
            "origin_mm": [1380, 100, 0],
            "dimensions_mm": { "width": 240, "height": 160, "depth": 140 },
            "description": "Illustrative drilling volume only. Qualified scanning, design, and installation control remain required."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "reinforced_concrete",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the concrete branch."
          },
          {
            "fact": "concrete.post_installed_allowed",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Project authority must permit post-installed work."
          },
          {
            "fact": "concrete.nominal_strength_mpa",
            "operator": "greater_or_equal",
            "value": 28,
            "unit": "MPa",
            "on_missing": "indeterminate",
            "description": "Illustrative material-screen threshold."
          },
          {
            "fact": "concrete.reinforcement_scan_ref",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "A current reinforcement scan is required for candidate screening."
          },
          {
            "fact": "concrete.cracked_condition_defined",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "The analysis condition must be declared."
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within tolerance."
          },
          "failure_message": "Plane gap exceeds tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "concrete_edge_distance",
          "condition": {
            "fact": "concrete.anchor_edge_distance_mm",
            "operator": "greater_or_equal",
            "value": 120,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative geometry screen only."
          },
          "failure_message": "Anchor edge distance is below the simulated candidate minimum.",
          "missing_message": "Anchor edge distance is absent."
        },
        {
          "gate_id": "panel_wind_screen",
          "condition": {
            "fact": "project.wind_demand_kpa",
            "operator": "less_or_equal_fact",
            "value_fact": "panel.wind_capacity_kpa",
            "unit": "kPa",
            "on_missing": "indeterminate",
            "description": "Demand must not exceed the panel's simulated screening value."
          },
          "failure_message": "Wind demand exceeds the simulated panel value.",
          "missing_message": "Wind demand or panel value is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 35,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen only."
          },
          "failure_message": "Reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 75,
        "adjustability": 90,
        "constructability": 70,
        "procurement": 85,
        "cost": 75,
        "embodied_carbon": 55
      },
      "evidence_refs": [
        "EV-CATALOG-CONCRETE-POST",
        "EV-CONCRETE-MATERIAL"
      ],
      "explicit_exclusions": [
        "No anchor design, scanning interpretation, reinforcing review, or installation qualification is performed.",
        "No fire, facade-system, waterproofing, fatigue, durability, or seismic approval is provided."
      ]
    },
    {
      "candidate_id": "CONN-CLT-SCREW-ANGLE",
      "name": "Self-tapping screw group with adjustable angle",
      "branch_id": "clt_floor_edge",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated steel angle attached to CLT with an inclined self-tapping screw group.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 360 mm steel angle connects the panel shoe to an inclined self-tapping screw group entering the CLT side-grain zone.",
        "panel_side_footprint_origin_mm": [1340, 90, 0],
        "panel_side_footprint_mm": { "width": 320, "height": 220, "depth": 95 },
        "substrate_side_footprint_origin_mm": [1290, 70, 0],
        "substrate_side_footprint_mm": { "width": 420, "height": 260, "depth": 160 },
        "nominal_offset_mm": [0, 0, 115],
        "adjustment_range_mm": { "x_plus_minus": 25, "y_plus_minus": 18, "z_plus_minus": 30 },
        "required_access_zone_mm": { "side": "interior_above_floor", "origin_mm": [1200, 400, 0], "width": 520, "height": 380, "depth": 420 },
        "keep_out_zones": [
          {
            "zone_id": "KO-CLT-SCREW-EDGE",
            "purpose": "protect CLT edge, lamination, and fastener group",
            "side": "substrate_side",
            "origin_mm": [1190, 40, 0],
            "dimensions_mm": { "width": 620, "height": 320, "depth": 220 },
            "description": "No uncoordinated penetrations, routed services, or cuts inside the simulated fastener influence zone."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-CLT-SCREW-GROUP",
            "purpose": "inclined self-tapping screw group",
            "side": "substrate_side",
            "origin_mm": [1360, 100, 0],
            "dimensions_mm": { "width": 280, "height": 180, "depth": 170 },
            "description": "Illustrative screw-group volume only. Angle, spacing, embedment, and layup interaction require timber engineering."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "clt",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the CLT branch."
          },
          {
            "fact": "clt.layup_designation",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "CLT product or layup identity is required."
          },
          {
            "fact": "clt.panel_thickness_mm",
            "operator": "greater_or_equal",
            "value": 175,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative thickness screen."
          },
          {
            "fact": "clt.major_axis",
            "operator": "in",
            "value": [
              "local_x",
              "local_y"
            ],
            "unit": null,
            "on_missing": "indeterminate",
            "description": "CLT major-axis direction must be declared."
          },
          {
            "any": [
              {
                "fact": "clt.edge_orientation",
                "operator": "equals",
                "value": "side_grain",
                "unit": null,
                "on_missing": "indeterminate",
                "description": "Side-grain condition is available."
              },
              {
                "fact": "clt.validated_end_grain_detail_ref",
                "operator": "present",
                "on_missing": "indeterminate",
                "description": "A qualified end-grain detail is referenced."
              }
            ]
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within tolerance."
          },
          "failure_message": "Plane gap exceeds tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "clt_fastener_edge_distance",
          "condition": {
            "fact": "clt.fastener_edge_distance_mm",
            "operator": "greater_or_equal",
            "value": 50,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative geometry screen, not timber design."
          },
          "failure_message": "Fastener edge distance is below the simulated candidate minimum.",
          "missing_message": "Fastener edge distance is absent."
        },
        {
          "gate_id": "clt_fastener_embedment",
          "condition": {
            "fact": "clt.fastener_embedment_mm",
            "operator": "greater_or_equal",
            "value": 120,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative embedment screen, not timber design."
          },
          "failure_message": "Fastener embedment is below the simulated candidate minimum.",
          "missing_message": "Fastener embedment is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 30,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen only."
          },
          "failure_message": "Reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 75,
        "adjustability": 80,
        "constructability": 85,
        "procurement": 80,
        "cost": 80,
        "embodied_carbon": 85
      },
      "evidence_refs": [
        "EV-CATALOG-CLT-SCREW",
        "EV-CLT-MATERIAL"
      ],
      "explicit_exclusions": [
        "No NDS, PRG, ETA, ICC-ES, rolling-shear, group-effect, withdrawal, yield-mode, or fire calculation is performed.",
        "No moisture, facade-system, seismic, durability, or installation approval is provided."
      ]
    },
    {
      "candidate_id": "CONN-CLT-CONCEALED-PLATE",
      "name": "Routed concealed plate with timber fastener group",
      "branch_id": "clt_floor_edge",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated concealed steel plate installed in a coordinated CLT fabrication pocket.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 400 mm concealed plate sits in a coordinated routed CLT pocket and presents an adjustable bolted face to the panel shoe.",
        "panel_side_footprint_origin_mm": [1330, 85, 0],
        "panel_side_footprint_mm": { "width": 340, "height": 230, "depth": 85 },
        "substrate_side_footprint_origin_mm": [1280, 50, 0],
        "substrate_side_footprint_mm": { "width": 440, "height": 300, "depth": 180 },
        "nominal_offset_mm": [0, 0, 95],
        "adjustment_range_mm": { "x_plus_minus": 20, "y_plus_minus": 15, "z_plus_minus": 20 },
        "required_access_zone_mm": { "side": "interior_above_floor", "origin_mm": [1150, 400, 0], "width": 600, "height": 450, "depth": 500 },
        "keep_out_zones": [
          {
            "zone_id": "KO-CLT-PLATE-POCKET",
            "purpose": "protect routed pocket, residual section, and fastener group",
            "side": "substrate_side",
            "origin_mm": [1150, 0, 0],
            "dimensions_mm": { "width": 700, "height": 420, "depth": 220 },
            "description": "No service routing or field enlargement inside the simulated protected fabrication zone."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-CLT-PLATE-POCKET",
            "purpose": "CNC-routed concealed-plate pocket and fastener holes",
            "side": "substrate_side",
            "origin_mm": [1280, 50, 0],
            "dimensions_mm": { "width": 440, "height": 300, "depth": 180 },
            "description": "Must be part of a coordinated fabrication model and qualified timber connection design."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "clt",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the CLT branch."
          },
          {
            "fact": "clt.layup_designation",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "CLT product or layup identity is required."
          },
          {
            "fact": "clt.cnc_pocket_allowed",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "The manufacturer must allow the routed pocket."
          },
          {
            "fact": "clt.fabrication_model_ref",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "A coordinated fabrication model is required."
          },
          {
            "fact": "clt.service_moisture_class",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "Service moisture class must be declared."
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within tolerance."
          },
          "failure_message": "Plane gap exceeds tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "clt_fastener_edge_distance",
          "condition": {
            "fact": "clt.fastener_edge_distance_mm",
            "operator": "greater_or_equal",
            "value": 75,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative geometry screen, not timber design."
          },
          "failure_message": "Fastener edge distance is below the simulated candidate minimum.",
          "missing_message": "Fastener edge distance is absent."
        },
        {
          "gate_id": "clt_fastener_embedment",
          "condition": {
            "fact": "clt.fastener_embedment_mm",
            "operator": "greater_or_equal",
            "value": 140,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative embedment screen, not timber design."
          },
          "failure_message": "Fastener embedment is below the simulated candidate minimum.",
          "missing_message": "Fastener embedment is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 40,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen only."
          },
          "failure_message": "Reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 85,
        "adjustability": 70,
        "constructability": 60,
        "procurement": 55,
        "cost": 50,
        "embodied_carbon": 70
      },
      "evidence_refs": [
        "EV-CATALOG-CLT-PLATE",
        "EV-CLT-MATERIAL"
      ],
      "explicit_exclusions": [
        "No routed-pocket, net-section, rolling-shear, fastener, plate, fire, or moisture calculation is performed.",
        "No facade-system, seismic, durability, fabrication, or installation approval is provided."
      ]
    },
    {
      "candidate_id": "CONN-STEEL-BOLTED-SHELF-ANGLE",
      "name": "Bolted shelf angle at steel edge beam",
      "branch_id": "steel_frame_slab_support",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated bolted shelf angle using a coordinated hole pattern in a steel edge member.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 360 mm shelf angle bolts through a coordinated web or flange hole pattern and presents slotted adjustment to the panel shoe.",
        "panel_side_footprint_origin_mm": [1335, 85, 0],
        "panel_side_footprint_mm": { "width": 330, "height": 230, "depth": 100 },
        "substrate_side_footprint_origin_mm": [1300, 70, 0],
        "substrate_side_footprint_mm": { "width": 400, "height": 260, "depth": 90 },
        "nominal_offset_mm": [0, 0, 105],
        "adjustment_range_mm": { "x_plus_minus": 30, "y_plus_minus": 20, "z_plus_minus": 30 },
        "required_access_zone_mm": { "side": "interior_steel_side", "origin_mm": [1200, 400, 0], "width": 560, "height": 400, "depth": 450 },
        "keep_out_zones": [
          {
            "zone_id": "KO-STEEL-BOLTED-FLANGE",
            "purpose": "protect member edge, bolt access, and fire-protection repair zone",
            "side": "substrate_side",
            "origin_mm": [1190, 20, 0],
            "dimensions_mm": { "width": 620, "height": 360, "depth": 220 },
            "description": "No uncoordinated holes, studs, deck attachments, or fireproofing obstructions in the simulated zone."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-STEEL-BOLTED-HOLES",
            "purpose": "coordinated bolt-hole pattern",
            "side": "substrate_side",
            "origin_mm": [1370, 120, 0],
            "dimensions_mm": { "width": 260, "height": 160, "depth": 30 },
            "description": "Illustrative shop-hole envelope. Field drilling requires explicit approval."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "structural_steel",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the steel branch."
          },
          {
            "fact": "steel.grade",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "Steel grade must be declared."
          },
          {
            "fact": "steel.flange_thickness_mm",
            "operator": "greater_or_equal",
            "value": 12,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative flange-thickness screen."
          },
          {
            "fact": "steel.bolting_access",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Bolting access is required."
          },
          {
            "fact": "steel.hole_pattern_ref",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "A coordinated hole pattern is required."
          },
          {
            "any": [
              {
                "fact": "steel.shop_drilled",
                "operator": "equals",
                "value": true,
                "unit": null,
                "on_missing": "indeterminate",
                "description": "Shop-drilled holes are coordinated."
              },
              {
                "fact": "steel.field_drilling_approved",
                "operator": "equals",
                "value": true,
                "unit": null,
                "on_missing": "indeterminate",
                "description": "Field drilling is explicitly approved."
              }
            ]
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within tolerance."
          },
          "failure_message": "Plane gap exceeds tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "steel_hole_edge_distance",
          "condition": {
            "fact": "steel.hole_edge_distance_mm",
            "operator": "greater_or_equal",
            "value": 35,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative geometry screen, not steel design."
          },
          "failure_message": "Hole edge distance is below the simulated candidate minimum.",
          "missing_message": "Hole edge distance is absent."
        },
        {
          "gate_id": "panel_wind_screen",
          "condition": {
            "fact": "project.wind_demand_kpa",
            "operator": "less_or_equal_fact",
            "value_fact": "panel.wind_capacity_kpa",
            "unit": "kPa",
            "on_missing": "indeterminate",
            "description": "Demand must not exceed the panel's simulated screening value."
          },
          "failure_message": "Wind demand exceeds the simulated panel value.",
          "missing_message": "Wind demand or panel value is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 50,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen only."
          },
          "failure_message": "Reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 85,
        "adjustability": 85,
        "constructability": 80,
        "procurement": 75,
        "cost": 70,
        "embodied_carbon": 60
      },
      "evidence_refs": [
        "EV-CATALOG-STEEL-BOLTED",
        "EV-STEEL-MATERIAL"
      ],
      "explicit_exclusions": [
        "No bolt, hole, block-shear, local flange, prying, fatigue, stability, or member calculation is performed.",
        "No fire, coating, slab interaction, facade-system, seismic, fabrication, or erection approval is provided."
      ]
    },
    {
      "candidate_id": "CONN-STEEL-WELDED-PLATE",
      "name": "Welded plate and adjustable panel bracket",
      "branch_id": "steel_frame_slab_support",
      "catalog_status": "simulated_not_for_procurement",
      "classification": "illustrative_value",
      "rule_classification": "working_proposal",
      "description": "A simulated welded plate at a steel edge member with a bolted adjustable panel bracket.",
      "satisfies_port_pairs": [
        [
          "panel_side:upper_attachment",
          "substrate_side:upper_attachment"
        ],
        [
          "panel_side:lower_bearing",
          "substrate_side:lower_bearing"
        ],
        [
          "panel_side:alignment_feature",
          "substrate_side:alignment_feature"
        ]
      ],
      "geometry_solution": {
        "classification": "illustrative_value",
        "physical_description": "A 420 mm welded plate attaches to the steel edge member and carries an adjustable bolted bracket at the panel shoe.",
        "panel_side_footprint_origin_mm": [1330, 80, 0],
        "panel_side_footprint_mm": { "width": 340, "height": 240, "depth": 100 },
        "substrate_side_footprint_origin_mm": [1290, 50, 0],
        "substrate_side_footprint_mm": { "width": 420, "height": 300, "depth": 80 },
        "nominal_offset_mm": [0, 0, 110],
        "adjustment_range_mm": { "x_plus_minus": 25, "y_plus_minus": 18, "z_plus_minus": 25 },
        "required_access_zone_mm": { "side": "interior_steel_side", "origin_mm": [1100, 400, 0], "width": 700, "height": 500, "depth": 550 },
        "keep_out_zones": [
          {
            "zone_id": "KO-STEEL-WELDED-HEAT",
            "purpose": "protect weld access, heat-affected zone, inspection access, and coating repair zone",
            "side": "substrate_side",
            "origin_mm": [1120, 0, 0],
            "dimensions_mm": { "width": 760, "height": 520, "depth": 300 },
            "description": "No uncoordinated deck, slab, services, or fireproofing obstructions in the simulated welding and inspection zone."
          }
        ],
        "penetration_zones": [
          {
            "zone_id": "PEN-STEEL-WELDED-BEAD",
            "purpose": "welded joint footprint",
            "side": "substrate_side",
            "origin_mm": [1290, 50, 0],
            "dimensions_mm": { "width": 420, "height": 300, "depth": 25 },
            "description": "Illustrative weld footprint only. WPS, access, inspection, heat effects, and protection repair require qualified review."
          }
        ]
      },
      "applicability": {
        "all": [
          {
            "fact": "substrate.material",
            "operator": "equals",
            "value": "structural_steel",
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Candidate is limited to the steel branch."
          },
          {
            "fact": "steel.grade",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "Steel grade must be declared."
          },
          {
            "fact": "steel.field_welding_allowed",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Project authority must permit the proposed welding location and stage."
          },
          {
            "fact": "steel.weld_access",
            "operator": "equals",
            "value": true,
            "unit": null,
            "on_missing": "indeterminate",
            "description": "Weld access must be available."
          },
          {
            "fact": "steel.weld_procedure_ref",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "A welding procedure reference is required."
          },
          {
            "fact": "steel.coating_repair_plan_ref",
            "operator": "present",
            "on_missing": "indeterminate",
            "description": "A coating and fire-protection repair plan is required."
          }
        ]
      },
      "hard_gates": [
        {
          "gate_id": "geometry_plane_gap",
          "condition": {
            "fact": "geometry.plane_gap_mm",
            "operator": "less_or_equal",
            "value": 6,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Connection frames must fall within tolerance."
          },
          "failure_message": "Plane gap exceeds tolerance.",
          "missing_message": "Plane gap was not measured."
        },
        {
          "gate_id": "geometry_anchor_zone_overlap",
          "condition": {
            "fact": "geometry.anchor_zone_overlap_ratio",
            "operator": "greater_or_equal",
            "value": 0.95,
            "unit": "decimal",
            "on_missing": "indeterminate",
            "description": "Attachment zones must substantially overlap."
          },
          "failure_message": "Attachment-zone overlap is below the illustrative minimum.",
          "missing_message": "Attachment-zone overlap was not computed."
        },
        {
          "gate_id": "steel_plate_edge_clearance",
          "condition": {
            "fact": "steel.plate_edge_clearance_mm",
            "operator": "greater_or_equal",
            "value": 40,
            "unit": "mm",
            "on_missing": "indeterminate",
            "description": "Illustrative access screen, not weld design."
          },
          "failure_message": "Plate edge clearance is below the simulated candidate minimum.",
          "missing_message": "Plate edge clearance is absent."
        },
        {
          "gate_id": "panel_wind_screen",
          "condition": {
            "fact": "project.wind_demand_kpa",
            "operator": "less_or_equal_fact",
            "value_fact": "panel.wind_capacity_kpa",
            "unit": "kPa",
            "on_missing": "indeterminate",
            "description": "Demand must not exceed the panel's simulated screening value."
          },
          "failure_message": "Wind demand exceeds the simulated panel value.",
          "missing_message": "Wind demand or panel value is absent."
        },
        {
          "gate_id": "candidate_out_of_plane_screen",
          "condition": {
            "fact": "project.out_of_plane_reaction_kn",
            "operator": "less_or_equal",
            "value": 60,
            "unit": "kN",
            "on_missing": "indeterminate",
            "description": "Illustrative candidate demand screen only."
          },
          "failure_message": "Reaction exceeds the simulated candidate screening value.",
          "missing_message": "Out-of-plane reaction is absent."
        }
      ],
      "score_inputs": {
        "evidence_readiness": 70,
        "adjustability": 60,
        "constructability": 55,
        "procurement": 85,
        "cost": 75,
        "embodied_carbon": 65
      },
      "evidence_refs": [
        "EV-CATALOG-STEEL-WELDED",
        "EV-STEEL-MATERIAL"
      ],
      "explicit_exclusions": [
        "No weld, heat-affected-zone, local member, fatigue, stability, access, inspection, or repair calculation is performed.",
        "No fire, coating, slab interaction, facade-system, seismic, fabrication, or erection approval is provided."
      ]
    }
  ]
}
