Files
cadSet/cad-experience-plugin/benchmarks/ab50/train-library.json
T

3199 lines
109 KiB
JSON

{
"schema_version": "2.0",
"library_kind": "generalized_cad_experience",
"generated_at": "2026-07-23T09:46:25+00:00",
"induction_mode": "llm_proposals_with_deterministic_evidence_verification",
"status": "ready",
"policy": {
"instance_parameters_allowed": false,
"absolute_coordinates_allowed": false,
"single_case_promotion_allowed": false,
"llm_semantic_review_required": true,
"draft_evidence_verified": true,
"router_consumable": true,
"minimum_support": 20,
"minimum_confidence": 0.8
},
"corpus_summary": {
"accepted_case_count": 950,
"duplicate_case_count": 0,
"rejected_case_count": 0,
"family_count": 11
},
"experience_summary": {
"llm_proposal_count": 139,
"promoted_experience_count": 112,
"candidate_experience_count": 27,
"by_kind": [
{
"kind": "constraint",
"count": 29
},
{
"kind": "dimensionless_distribution",
"count": 56
},
{
"kind": "feature_motif",
"count": 27
}
],
"by_scope": [
{
"scope": "flanged_rotational_part",
"count": 19
},
{
"scope": "hollow_or_stepped_shaft",
"count": 13
},
{
"scope": "multi_axis_manifold",
"count": 9
},
{
"scope": "patterned_plate",
"count": 15
},
{
"scope": "patterned_prismatic_part",
"count": 17
},
{
"scope": "plate_or_bracket",
"count": 5
},
{
"scope": "prismatic_block",
"count": 7
},
{
"scope": "rotational_part",
"count": 14
},
{
"scope": "shaft",
"count": 13
}
],
"candidate_by_kind": [
{
"kind": "constraint",
"count": 7
},
{
"kind": "dimensionless_distribution",
"count": 12
},
{
"kind": "feature_motif",
"count": 8
}
]
},
"experiences": [
{
"id": "constraint.flanged_rotational_part.coaxial_stack",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"coaxial_stack"
]
},
"guidance": "Preserve coaxiality across the named sections of a rotational stack.",
"semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.",
"support": 52,
"confidence": 1.0,
"check": "Confirm that the coaxial stack relationship remains valid after creation or modification."
},
{
"id": "constraint.flanged_rotational_part.common_pattern_radius",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": [
"common_pattern_radius"
]
},
"guidance": "Preserve a common radial placement role for members of a circular repeated-feature pattern.",
"semantic_rationale": "A shared pattern radius keeps the array coherent while permitting overall scaling.",
"support": 45,
"confidence": 1.0,
"check": "Confirm that the common pattern radius relationship remains valid after creation or modification."
},
{
"id": "constraint.flanged_rotational_part.dominant_axis_alignment",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"dominant_axis_alignment"
]
},
"guidance": "Reference rotational sections and dependent features to one dominant semantic axis.",
"semantic_rationale": "A dominant datum axis stabilizes both creation and later parameter edits.",
"support": 52,
"confidence": 1.0,
"check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification."
},
{
"id": "constraint.flanged_rotational_part.repeated_radius_group",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"repeated_axial_hole_pattern"
],
"relations": [
"repeated_radius_group"
]
},
"guidance": "Preserve a shared radius role across members of a repeated axial feature group.",
"semantic_rationale": "The invariant applies across sizes because it constrains equality of roles rather than an absolute radius.",
"support": 52,
"confidence": 1.0,
"check": "Confirm that the repeated radius group relationship remains valid after creation or modification."
},
{
"id": "constraint.flanged_rotational_part.shared_passage_axis",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 52,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.flanged_rotational_part.transition_axis_continuity",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 22,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "constraint.hollow_or_stepped_shaft.coaxial_stack",
"kind": "constraint",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"coaxial_stack"
]
},
"guidance": "Preserve coaxiality across the named sections of a rotational stack.",
"semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.",
"support": 44,
"confidence": 1.0,
"check": "Confirm that the coaxial stack relationship remains valid after creation or modification."
},
{
"id": "constraint.hollow_or_stepped_shaft.dominant_axis_alignment",
"kind": "constraint",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"dominant_axis_alignment"
]
},
"guidance": "Reference rotational sections and dependent features to one dominant semantic axis.",
"semantic_rationale": "A dominant datum axis stabilizes both creation and later parameter edits.",
"support": 44,
"confidence": 1.0,
"check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification."
},
{
"id": "constraint.hollow_or_stepped_shaft.shared_passage_axis",
"kind": "constraint",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 44,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.hollow_or_stepped_shaft.transition_axis_continuity",
"kind": "constraint",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 34,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "constraint.multi_axis_manifold.multiple_axis_system",
"kind": "constraint",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 52,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_plate.common_pattern_radius",
"kind": "constraint",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": [
"common_pattern_radius"
]
},
"guidance": "Preserve a common radial placement role for members of a circular repeated-feature pattern.",
"semantic_rationale": "A shared pattern radius keeps the array coherent while permitting overall scaling.",
"support": 62,
"confidence": 1.0,
"check": "Confirm that the common pattern radius relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_plate.multiple_axis_system",
"kind": "constraint",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 74,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_plate.repeated_radius_group",
"kind": "constraint",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"repeated_axial_hole_pattern"
],
"relations": [
"repeated_radius_group"
]
},
"guidance": "Preserve a shared radius role across members of a repeated axial feature group.",
"semantic_rationale": "The invariant applies across sizes because it constrains equality of roles rather than an absolute radius.",
"support": 199,
"confidence": 1.0,
"check": "Confirm that the repeated radius group relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_plate.shared_passage_axis",
"kind": "constraint",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 103,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_plate.transition_axis_continuity",
"kind": "constraint",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 51,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_prismatic_part.common_pattern_radius",
"kind": "constraint",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": [
"common_pattern_radius"
]
},
"guidance": "Preserve a common radial placement role for members of a circular repeated-feature pattern.",
"semantic_rationale": "A shared pattern radius keeps the array coherent while permitting overall scaling.",
"support": 151,
"confidence": 1.0,
"check": "Confirm that the common pattern radius relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_prismatic_part.multiple_axis_system",
"kind": "constraint",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 149,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_prismatic_part.repeated_radius_group",
"kind": "constraint",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"repeated_axial_hole_pattern"
],
"relations": [
"repeated_radius_group"
]
},
"guidance": "Preserve a shared radius role across members of a repeated axial feature group.",
"semantic_rationale": "The invariant applies across sizes because it constrains equality of roles rather than an absolute radius.",
"support": 322,
"confidence": 1.0,
"check": "Confirm that the repeated radius group relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_prismatic_part.shared_passage_axis",
"kind": "constraint",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 158,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.patterned_prismatic_part.transition_axis_continuity",
"kind": "constraint",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 84,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "constraint.rotational_part.coaxial_stack",
"kind": "constraint",
"scope": [
"rotational_part"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"coaxial_stack"
]
},
"guidance": "Preserve coaxiality across the named sections of a rotational stack.",
"semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.",
"support": 117,
"confidence": 1.0,
"check": "Confirm that the coaxial stack relationship remains valid after creation or modification."
},
{
"id": "constraint.rotational_part.dominant_axis_alignment",
"kind": "constraint",
"scope": [
"rotational_part"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"dominant_axis_alignment"
]
},
"guidance": "Reference rotational sections and dependent features to one dominant semantic axis.",
"semantic_rationale": "A dominant datum axis stabilizes both creation and later parameter edits.",
"support": 117,
"confidence": 1.0,
"check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification."
},
{
"id": "constraint.rotational_part.shared_passage_axis",
"kind": "constraint",
"scope": [
"rotational_part"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 117,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.rotational_part.transition_axis_continuity",
"kind": "constraint",
"scope": [
"rotational_part"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 56,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "constraint.shaft.coaxial_stack",
"kind": "constraint",
"scope": [
"shaft"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"coaxial_stack"
]
},
"guidance": "Preserve coaxiality across the named sections of a rotational stack.",
"semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.",
"support": 39,
"confidence": 1.0,
"check": "Confirm that the coaxial stack relationship remains valid after creation or modification."
},
{
"id": "constraint.shaft.dominant_axis_alignment",
"kind": "constraint",
"scope": [
"shaft"
],
"when": {
"features": [
"coaxial_cylindrical_stack",
"rotational_body"
],
"relations": [
"dominant_axis_alignment"
]
},
"guidance": "Reference rotational sections and dependent features to one dominant semantic axis.",
"semantic_rationale": "A dominant datum axis stabilizes both creation and later parameter edits.",
"support": 39,
"confidence": 1.0,
"check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification."
},
{
"id": "constraint.shaft.shared_passage_axis",
"kind": "constraint",
"scope": [
"shaft"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 39,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification."
},
{
"id": "constraint.shaft.transition_axis_continuity",
"kind": "constraint",
"scope": [
"shaft"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 27,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification."
},
{
"id": "distribution.flanged_rotational_part.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.01,
"p10": 0.166169,
"median": 0.909632,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.flanged_rotational_part.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.005,
"p10": 0.03456,
"median": 0.273751,
"p90": 0.64569,
"max": 0.886752
}
},
{
"id": "distribution.flanged_rotational_part.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.024972,
"p10": 0.089239,
"median": 0.312106,
"p90": 0.615614,
"max": 0.790983
}
},
{
"id": "distribution.flanged_rotational_part.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.002586,
"p10": 0.079846,
"median": 0.422709,
"p90": 0.5,
"max": 0.657143
}
},
{
"id": "distribution.flanged_rotational_part.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.113333,
"p10": 0.25729,
"median": 0.410564,
"p90": 0.514069,
"max": 0.587836
}
},
{
"id": "distribution.flanged_rotational_part.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.181639,
"p10": 0.341337,
"median": 0.68225,
"p90": 0.910761,
"max": 0.975028
}
},
{
"id": "distribution.flanged_rotational_part.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.001172,
"p10": 0.00755,
"median": 0.033494,
"p90": 0.085875,
"max": 0.313751
}
},
{
"id": "distribution.flanged_rotational_part.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"flanged_rotational_part"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.057143,
"p10": 0.163048,
"median": 0.420833,
"p90": 0.748016,
"max": 0.908571
}
},
{
"id": "distribution.hollow_or_stepped_shaft.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.029762,
"p10": 0.063343,
"median": 0.170197,
"p90": 0.272968,
"max": 0.333333
}
},
{
"id": "distribution.hollow_or_stepped_shaft.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.029762,
"p10": 0.063343,
"median": 0.170197,
"p90": 0.27199,
"max": 0.333333
}
},
{
"id": "distribution.hollow_or_stepped_shaft.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.009277,
"p10": 0.668668,
"median": 0.838041,
"p90": 0.966874,
"max": 0.986218
}
},
{
"id": "distribution.hollow_or_stepped_shaft.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.175334,
"p10": 0.5,
"median": 0.5,
"p90": 0.5,
"max": 0.55
}
},
{
"id": "distribution.hollow_or_stepped_shaft.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.013782,
"p10": 0.029027,
"median": 0.110078,
"p90": 0.256398,
"max": 0.328811
}
},
{
"id": "distribution.hollow_or_stepped_shaft.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 44,
"confidence": 1.0,
"distribution": {
"sample_count": 44,
"min": 0.14,
"p10": 0.243638,
"median": 0.345513,
"p90": 0.737982,
"max": 0.882353
}
},
{
"id": "distribution.multi_axis_manifold.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.018939,
"p10": 0.188324,
"median": 0.520671,
"p90": 0.906417,
"max": 1.0
}
},
{
"id": "distribution.multi_axis_manifold.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.0175,
"p10": 0.09096,
"median": 0.3,
"p90": 0.700038,
"max": 0.833333
}
},
{
"id": "distribution.multi_axis_manifold.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.009143,
"p10": 0.054095,
"median": 0.131117,
"p90": 0.495034,
"max": 0.864691
}
},
{
"id": "distribution.multi_axis_manifold.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 47,
"confidence": 1.0,
"distribution": {
"sample_count": 47,
"min": 0.021429,
"p10": 0.115,
"median": 0.285714,
"p90": 0.518682,
"max": 1.806003
}
},
{
"id": "distribution.multi_axis_manifold.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 52,
"confidence": 1.0,
"distribution": {
"sample_count": 52,
"min": 0.135309,
"p10": 0.439274,
"median": 0.860923,
"p90": 0.945887,
"max": 0.990857
}
},
{
"id": "distribution.multi_axis_manifold.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"multi_axis_manifold"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 47,
"confidence": 1.0,
"distribution": {
"sample_count": 47,
"min": 0.013245,
"p10": 0.035222,
"median": 0.090909,
"p90": 0.318432,
"max": 1.900495
}
},
{
"id": "distribution.patterned_plate.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.347826,
"p10": 0.390821,
"median": 0.6625,
"p90": 0.971699,
"max": 1.0
}
},
{
"id": "distribution.patterned_plate.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.001092,
"p10": 0.017031,
"median": 0.076923,
"p90": 0.150612,
"max": 0.214286
}
},
{
"id": "distribution.patterned_plate.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.000133,
"p10": 0.013706,
"median": 0.072976,
"p90": 0.194719,
"max": 0.996549
}
},
{
"id": "distribution.patterned_plate.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.088996,
"p10": 0.25,
"median": 0.388304,
"p90": 0.511533,
"max": 0.643742
}
},
{
"id": "distribution.patterned_plate.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.003451,
"p10": 0.799834,
"median": 0.925302,
"p90": 0.983357,
"max": 0.999867
}
},
{
"id": "distribution.patterned_plate.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 199,
"confidence": 1.0,
"distribution": {
"sample_count": 199,
"min": 0.001522,
"p10": 0.006146,
"median": 0.025,
"p90": 0.053552,
"max": 0.304846
}
},
{
"id": "distribution.patterned_prismatic_part.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.009341,
"p10": 0.0755,
"median": 0.361499,
"p90": 0.843896,
"max": 1.0
}
},
{
"id": "distribution.patterned_prismatic_part.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.000667,
"p10": 0.026044,
"median": 0.2,
"p90": 0.5,
"max": 0.961145
}
},
{
"id": "distribution.patterned_prismatic_part.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.000252,
"p10": 0.024342,
"median": 0.11379,
"p90": 0.313355,
"max": 0.820212
}
},
{
"id": "distribution.patterned_prismatic_part.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 29,
"confidence": 1.0,
"distribution": {
"sample_count": 29,
"min": 0.00431,
"p10": 0.018659,
"median": 0.0875,
"p90": 0.199186,
"max": 0.45
}
},
{
"id": "distribution.patterned_prismatic_part.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.02381,
"p10": 0.211394,
"median": 0.333333,
"p90": 0.480026,
"max": 0.64955
}
},
{
"id": "distribution.patterned_prismatic_part.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.142723,
"p10": 0.677592,
"median": 0.88485,
"p90": 0.974358,
"max": 0.999748
}
},
{
"id": "distribution.patterned_prismatic_part.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 322,
"confidence": 1.0,
"distribution": {
"sample_count": 322,
"min": 0.000833,
"p10": 0.0075,
"median": 0.034601,
"p90": 0.111062,
"max": 0.483198
}
},
{
"id": "distribution.patterned_prismatic_part.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"patterned_prismatic_part"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 29,
"confidence": 1.0,
"distribution": {
"sample_count": 29,
"min": 1.0,
"p10": 1.0,
"median": 1.0,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.plate_or_bracket.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 35,
"confidence": 1.0,
"distribution": {
"sample_count": 35,
"min": 0.363636,
"p10": 0.450358,
"median": 0.637255,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.plate_or_bracket.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 35,
"confidence": 1.0,
"distribution": {
"sample_count": 35,
"min": 0.0025,
"p10": 0.007895,
"median": 0.045455,
"p90": 0.153143,
"max": 0.214286
}
},
{
"id": "distribution.plate_or_bracket.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 35,
"confidence": 1.0,
"distribution": {
"sample_count": 35,
"min": 0.0,
"p10": 0.0,
"median": 0.0,
"p90": 0.044098,
"max": 0.253783
}
},
{
"id": "distribution.plate_or_bracket.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 35,
"confidence": 1.0,
"distribution": {
"sample_count": 35,
"min": 0.746217,
"p10": 0.954932,
"median": 1.0,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.prismatic_block.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 68,
"confidence": 1.0,
"distribution": {
"sample_count": 68,
"min": 0.009231,
"p10": 0.047697,
"median": 0.423227,
"p90": 0.866615,
"max": 1.0
}
},
{
"id": "distribution.prismatic_block.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 68,
"confidence": 1.0,
"distribution": {
"sample_count": 68,
"min": 0.0,
"p10": 0.008469,
"median": 0.2008,
"p90": 0.553471,
"max": 0.95
}
},
{
"id": "distribution.prismatic_block.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 68,
"confidence": 1.0,
"distribution": {
"sample_count": 68,
"min": 0.0,
"p10": 0.0,
"median": 0.034461,
"p90": 0.240921,
"max": 0.351376
}
},
{
"id": "distribution.prismatic_block.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 24,
"confidence": 1.0,
"distribution": {
"sample_count": 24,
"min": 0.027273,
"p10": 0.076066,
"median": 0.328947,
"p90": 0.612726,
"max": 0.707107
}
},
{
"id": "distribution.prismatic_block.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 68,
"confidence": 1.0,
"distribution": {
"sample_count": 68,
"min": 0.60741,
"p10": 0.678426,
"median": 0.960692,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.prismatic_block.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 24,
"confidence": 1.0,
"distribution": {
"sample_count": 24,
"min": 0.006932,
"p10": 0.014654,
"median": 0.0775,
"p90": 0.2478,
"max": 1.0
}
},
{
"id": "distribution.rotational_part.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.333507,
"p10": 0.395499,
"median": 0.998168,
"p90": 1.0,
"max": 1.0
}
},
{
"id": "distribution.rotational_part.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.033654,
"p10": 0.125,
"median": 0.435374,
"p90": 0.833333,
"max": 1.0
}
},
{
"id": "distribution.rotational_part.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.079284,
"p10": 0.22727,
"median": 0.542739,
"p90": 0.827523,
"max": 0.977011
}
},
{
"id": "distribution.rotational_part.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.13,
"p10": 0.400971,
"median": 0.5,
"p90": 0.5,
"max": 0.5
}
},
{
"id": "distribution.rotational_part.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.01974,
"p10": 0.141243,
"median": 0.328864,
"p90": 0.65977,
"max": 0.88406
}
},
{
"id": "distribution.rotational_part.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"rotational_part"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 117,
"confidence": 1.0,
"distribution": {
"sample_count": 117,
"min": 0.092308,
"p10": 0.24,
"median": 0.480389,
"p90": 0.826638,
"max": 0.95
}
},
{
"id": "distribution.shaft.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.03871,
"p10": 0.05254,
"median": 0.151899,
"p90": 0.304,
"max": 0.333333
}
},
{
"id": "distribution.shaft.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.03871,
"p10": 0.05254,
"median": 0.15,
"p90": 0.288571,
"max": 0.333333
}
},
{
"id": "distribution.shaft.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.084584,
"p10": 0.310933,
"median": 0.917008,
"p90": 0.963947,
"max": 0.990099
}
},
{
"id": "distribution.shaft.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.13125,
"p10": 0.351962,
"median": 0.5,
"p90": 0.5,
"max": 0.5
}
},
{
"id": "distribution.shaft.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.009901,
"p10": 0.023093,
"median": 0.069354,
"p90": 0.589173,
"max": 0.908523
}
},
{
"id": "distribution.shaft.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"shaft"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 39,
"confidence": 1.0,
"distribution": {
"sample_count": 39,
"min": 0.2,
"p10": 0.3265,
"median": 0.666667,
"p90": 0.94,
"max": 0.96
}
},
{
"id": "motif.flanged_rotational_part.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 52,
"confidence": 1.0
},
{
"id": "motif.flanged_rotational_part.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 28,
"confidence": 1.0
},
{
"id": "motif.flanged_rotational_part.repeated_axial_hole_pattern_and_circular_equal_radius_pattern",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": []
},
"guidance": "Organize repeated axial holes as one circular pattern referenced to a semantic pattern center.",
"semantic_rationale": "Pattern-level representation keeps count, radius role, and radial placement coherent across dimensional variants.",
"support": 45,
"confidence": 1.0
},
{
"id": "motif.flanged_rotational_part.rotational_body_and_flange_like_rotational_body",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"flange_like_rotational_body",
"rotational_body"
],
"relations": []
},
"guidance": "Separate the flange-like region from the remaining rotational profile while retaining their shared axis.",
"semantic_rationale": "Role separation permits flange and hub edits without losing rotational continuity.",
"support": 32,
"confidence": 1.0
},
{
"id": "motif.flanged_rotational_part.rotational_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"rotational_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Represent a rotational body as an ordered semantic profile of coaxial sections.",
"semantic_rationale": "A profile-level representation preserves shaft and hub topology when section proportions change.",
"support": 52,
"confidence": 1.0
},
{
"id": "motif.hollow_or_stepped_shaft.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 44,
"confidence": 1.0
},
{
"id": "motif.hollow_or_stepped_shaft.rotational_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"rotational_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Represent a rotational body as an ordered semantic profile of coaxial sections.",
"semantic_rationale": "A profile-level representation preserves shaft and hub topology when section proportions change.",
"support": 44,
"confidence": 1.0
},
{
"id": "motif.hollow_or_stepped_shaft.shaft_like_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"shaft_like_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Model a shaft-like body through named axial sections and shoulders.",
"semantic_rationale": "Named sections make length and diameter edits local while preserving the overall shaft topology.",
"support": 44,
"confidence": 1.0
},
{
"id": "motif.multi_axis_manifold.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 52,
"confidence": 1.0
},
{
"id": "motif.multi_axis_manifold.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 42,
"confidence": 1.0
},
{
"id": "motif.patterned_plate.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 74,
"confidence": 1.0
},
{
"id": "motif.patterned_plate.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 103,
"confidence": 1.0
},
{
"id": "motif.patterned_plate.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 192,
"confidence": 1.0
},
{
"id": "motif.patterned_plate.repeated_axial_hole_pattern_and_circular_equal_radius_pattern",
"kind": "feature_motif",
"scope": [
"patterned_plate"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": []
},
"guidance": "Organize repeated axial holes as one circular pattern referenced to a semantic pattern center.",
"semantic_rationale": "Pattern-level representation keeps count, radius role, and radial placement coherent across dimensional variants.",
"support": 62,
"confidence": 1.0
},
{
"id": "motif.patterned_prismatic_part.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 149,
"confidence": 1.0
},
{
"id": "motif.patterned_prismatic_part.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 158,
"confidence": 1.0
},
{
"id": "motif.patterned_prismatic_part.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 306,
"confidence": 1.0
},
{
"id": "motif.patterned_prismatic_part.repeated_axial_hole_pattern_and_circular_equal_radius_pattern",
"kind": "feature_motif",
"scope": [
"patterned_prismatic_part"
],
"when": {
"features": [
"circular_equal_radius_pattern",
"repeated_axial_hole_pattern"
],
"relations": []
},
"guidance": "Organize repeated axial holes as one circular pattern referenced to a semantic pattern center.",
"semantic_rationale": "Pattern-level representation keeps count, radius role, and radial placement coherent across dimensional variants.",
"support": 151,
"confidence": 1.0
},
{
"id": "motif.plate_or_bracket.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"plate_or_bracket"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 33,
"confidence": 1.0
},
{
"id": "motif.prismatic_block.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"prismatic_block"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 63,
"confidence": 1.0
},
{
"id": "motif.rotational_part.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 117,
"confidence": 1.0
},
{
"id": "motif.rotational_part.rotational_body_and_flange_like_rotational_body",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"flange_like_rotational_body",
"rotational_body"
],
"relations": []
},
"guidance": "Separate the flange-like region from the remaining rotational profile while retaining their shared axis.",
"semantic_rationale": "Role separation permits flange and hub edits without losing rotational continuity.",
"support": 57,
"confidence": 1.0
},
{
"id": "motif.rotational_part.rotational_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"rotational_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Represent a rotational body as an ordered semantic profile of coaxial sections.",
"semantic_rationale": "A profile-level representation preserves shaft and hub topology when section proportions change.",
"support": 117,
"confidence": 1.0
},
{
"id": "motif.rotational_part.rotational_body_and_toroidal_blend_or_groove",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"rotational_body",
"toroidal_blend_or_groove"
],
"relations": []
},
"guidance": "Attach toroidal blend or groove candidates to the surrounding rotational profile rather than treating them as free geometry.",
"semantic_rationale": "Referencing the host profile preserves the local transition role when the host diameter changes.",
"support": 32,
"confidence": 1.0
},
{
"id": "motif.shaft.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"shaft"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 39,
"confidence": 1.0
},
{
"id": "motif.shaft.rotational_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"shaft"
],
"when": {
"features": [
"rotational_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Represent a rotational body as an ordered semantic profile of coaxial sections.",
"semantic_rationale": "A profile-level representation preserves shaft and hub topology when section proportions change.",
"support": 39,
"confidence": 1.0
},
{
"id": "motif.shaft.shaft_like_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"shaft"
],
"when": {
"features": [
"shaft_like_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Model a shaft-like body through named axial sections and shoulders.",
"semantic_rationale": "Named sections make length and diameter edits local while preserving the overall shaft topology.",
"support": 39,
"confidence": 1.0
}
],
"candidate_experiences": [
{
"id": "constraint.flanged_rotational_part.multiple_axis_system",
"kind": "constraint",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 15,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 5,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.general_mechanical_part.transition_axis_continuity",
"kind": "constraint",
"scope": [
"general_mechanical_part"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 8,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 12,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.hollow_or_stepped_shaft.multiple_axis_system",
"kind": "constraint",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 14,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 6,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.multi_axis_manifold.shared_passage_axis",
"kind": "constraint",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"stepped_cylindrical_passage"
],
"relations": [
"shared_passage_axis"
]
},
"guidance": "Preserve a common semantic axis through all stages of a stepped cylindrical passage.",
"semantic_rationale": "The relation maintains passage continuity independently of stage diameters and depths.",
"support": 19,
"confidence": 1.0,
"check": "Confirm that the shared passage axis relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.multi_axis_manifold.transition_axis_continuity",
"kind": "constraint",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 9,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 11,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.prismatic_block.transition_axis_continuity",
"kind": "constraint",
"scope": [
"prismatic_block"
],
"when": {
"features": [
"conical_transition"
],
"relations": [
"transition_axis_continuity"
]
},
"guidance": "Keep conical transitions axis-continuous with their participating analytic regions.",
"semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.",
"support": 17,
"confidence": 1.0,
"check": "Confirm that the transition axis continuity relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 3,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "constraint.rotational_part.multiple_axis_system",
"kind": "constraint",
"scope": [
"rotational_part"
],
"when": {
"features": [
"multi_axis_passage"
],
"relations": [
"multiple_axis_system"
]
},
"guidance": "Represent each passage direction as a distinct axis system and validate their intended intersections.",
"semantic_rationale": "Explicit axis systems preserve multi-direction passage intent during local edits.",
"support": 13,
"confidence": 1.0,
"check": "Confirm that the multiple axis system relationship remains valid after creation or modification.",
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 7,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.bbox_middle_to_long",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "middle_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.bbox_short_to_long",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "short_bounding_span",
"denominator_role": "long_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.cylindrical_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "cylindrical_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 17,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 3,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.planar_area_fraction",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "planar_surface_area",
"denominator_role": "total_surface_area"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.general_mechanical_part.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"general_mechanical_part"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 17,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 3,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.patterned_plate.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.patterned_plate.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"patterned_plate"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.plate_or_bracket.pattern_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "pattern_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 9,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 11,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.plate_or_bracket.repeated_feature_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"plate_or_bracket"
],
"when": {
"ratio": {
"numerator_role": "repeated_feature_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 9,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 11,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.prismatic_block.largest_coaxial_radius_to_transverse_span",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "largest_coaxial_radius",
"denominator_role": "transverse_bounding_span"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "distribution.prismatic_block.smallest_to_largest_coaxial_radius",
"kind": "dimensionless_distribution",
"scope": [
"prismatic_block"
],
"when": {
"ratio": {
"numerator_role": "smallest_coaxial_radius",
"denominator_role": "largest_coaxial_radius"
}
},
"guidance": "Use the family-conditioned dimensionless distribution only when the user has not supplied the corresponding relationship.",
"semantic_rationale": "A ratio distribution transfers scale-independent proportion evidence without exposing source dimensions.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.flanged_rotational_part.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 15,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 5,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.flanged_rotational_part.rotational_body_and_toroidal_blend_or_groove",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"rotational_body",
"toroidal_blend_or_groove"
],
"relations": []
},
"guidance": "Attach toroidal blend or groove candidates to the surrounding rotational profile rather than treating them as free geometry.",
"semantic_rationale": "Referencing the host profile preserves the local transition role when the host diameter changes.",
"support": 8,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 12,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.flanged_rotational_part.shaft_like_body_and_stepped_rotational_profile",
"kind": "feature_motif",
"scope": [
"flanged_rotational_part"
],
"when": {
"features": [
"shaft_like_body",
"stepped_rotational_profile"
],
"relations": []
},
"guidance": "Model a shaft-like body through named axial sections and shoulders.",
"semantic_rationale": "Named sections make length and diameter edits local while preserving the overall shaft topology.",
"support": 9,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 11,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.hollow_or_stepped_shaft.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 14,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 6,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.hollow_or_stepped_shaft.rotational_body_and_toroidal_blend_or_groove",
"kind": "feature_motif",
"scope": [
"hollow_or_stepped_shaft"
],
"when": {
"features": [
"rotational_body",
"toroidal_blend_or_groove"
],
"relations": []
},
"guidance": "Attach toroidal blend or groove candidates to the surrounding rotational profile rather than treating them as free geometry.",
"semantic_rationale": "Referencing the host profile preserves the local transition role when the host diameter changes.",
"support": 15,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 5,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.multi_axis_manifold.cylindrical_feature_network_and_stepped_cylindrical_passage",
"kind": "feature_motif",
"scope": [
"multi_axis_manifold"
],
"when": {
"features": [
"cylindrical_feature_network",
"stepped_cylindrical_passage"
],
"relations": []
},
"guidance": "Represent stepped cylindrical passages as one axis-related feature group rather than unrelated cylindrical cuts.",
"semantic_rationale": "Grouping the passage stages preserves their shared functional axis while allowing individual stage proportions to change.",
"support": 19,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 1,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.rotational_part.cylindrical_feature_network_and_multi_axis_passage",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"cylindrical_feature_network",
"multi_axis_passage"
],
"relations": []
},
"guidance": "Partition cylindrical passages by axis system before constructing or modifying their intersections.",
"semantic_rationale": "Axis-system partitioning reduces unintended coupling between independent passage families.",
"support": 13,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 7,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
},
{
"id": "motif.rotational_part.multi_level_planar_profile_and_planar_dominant_body",
"kind": "feature_motif",
"scope": [
"rotational_part"
],
"when": {
"features": [
"multi_level_planar_profile",
"planar_dominant_body"
],
"relations": []
},
"guidance": "Treat major planar levels as named structural regions of the prismatic body.",
"semantic_rationale": "Named planar regions preserve plate, pocket, and shoulder relationships during edits.",
"support": 8,
"confidence": 1.0,
"promotion_state": "candidate",
"required_support": 20,
"remaining_support": 12,
"required_confidence": 0.8,
"consumer_policy": "visible_for_review_but_not_available_to_cad_router"
}
]
}