{ "schema_version": "2.0", "draft_kind": "llm_generalized_experience_proposals", "review_intent": "Transfer semantic construction methods, constraints, and dimensionless family priors without source geometry.", "proposals": [ { "id": "motif.flanged_rotational_part.repeated_axial_hole_pattern_and_circular_equal_radius_pattern", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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." }, { "id": "motif.flanged_rotational_part.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.flanged_rotational_part.rotational_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "rotational_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.flanged_rotational_part.rotational_body_and_flange_like_rotational_body", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "flange_like_rotational_body" ], "required_relations": [], "context_features": [ "rotational_body", "flange_like_rotational_body" ] }, "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." }, { "id": "motif.flanged_rotational_part.shaft_like_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "shaft_like_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "shaft_like_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.flanged_rotational_part.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.flanged_rotational_part.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "motif.flanged_rotational_part.rotational_body_and_toroidal_blend_or_groove", "kind": "feature_motif", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "toroidal_blend_or_groove" ], "required_relations": [], "context_features": [ "rotational_body", "toroidal_blend_or_groove" ] }, "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." }, { "id": "constraint.flanged_rotational_part.repeated_radius_group", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern" ], "required_relations": [ "repeated_radius_group" ], "context_features": [ "repeated_axial_hole_pattern" ] }, "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.", "check": "Confirm that the repeated radius group relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.common_pattern_radius", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [ "common_pattern_radius" ], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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.", "check": "Confirm that the common pattern radius relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.shared_passage_axis", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.multiple_axis_system", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.transition_axis_continuity", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.coaxial_stack", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "coaxial_stack" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "guidance": "Preserve coaxiality across the named sections of a rotational stack.", "semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.", "check": "Confirm that the coaxial stack relationship remains valid after creation or modification." }, { "id": "constraint.flanged_rotational_part.dominant_axis_alignment", "kind": "constraint", "scope": [ "flanged_rotational_part" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "dominant_axis_alignment" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "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.", "check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification." }, { "id": "distribution.flanged_rotational_part.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.flanged_rotational_part.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "flanged_rotational_part" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "constraint.general_mechanical_part.transition_axis_continuity", "kind": "constraint", "scope": [ "general_mechanical_part" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "distribution.general_mechanical_part.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.general_mechanical_part.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.general_mechanical_part.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.general_mechanical_part.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.general_mechanical_part.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.general_mechanical_part.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "general_mechanical_part" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.hollow_or_stepped_shaft.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.hollow_or_stepped_shaft.rotational_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "rotational_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "rotational_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.hollow_or_stepped_shaft.shaft_like_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "shaft_like_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "shaft_like_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.hollow_or_stepped_shaft.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.hollow_or_stepped_shaft.rotational_body_and_toroidal_blend_or_groove", "kind": "feature_motif", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "rotational_body", "toroidal_blend_or_groove" ], "required_relations": [], "context_features": [ "rotational_body", "toroidal_blend_or_groove" ] }, "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." }, { "id": "constraint.hollow_or_stepped_shaft.shared_passage_axis", "kind": "constraint", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.hollow_or_stepped_shaft.multiple_axis_system", "kind": "constraint", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.hollow_or_stepped_shaft.transition_axis_continuity", "kind": "constraint", "scope": [ "hollow_or_stepped_shaft" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "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" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "coaxial_stack" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "guidance": "Preserve coaxiality across the named sections of a rotational stack.", "semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.", "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" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "dominant_axis_alignment" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "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.", "check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification." }, { "id": "distribution.hollow_or_stepped_shaft.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.hollow_or_stepped_shaft.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.hollow_or_stepped_shaft.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.hollow_or_stepped_shaft.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.hollow_or_stepped_shaft.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.hollow_or_stepped_shaft.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "hollow_or_stepped_shaft" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.multi_axis_manifold.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.multi_axis_manifold.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.multi_axis_manifold.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "constraint.multi_axis_manifold.shared_passage_axis", "kind": "constraint", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.multi_axis_manifold.multiple_axis_system", "kind": "constraint", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.multi_axis_manifold.transition_axis_continuity", "kind": "constraint", "scope": [ "multi_axis_manifold" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "distribution.multi_axis_manifold.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.multi_axis_manifold.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.multi_axis_manifold.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.multi_axis_manifold.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.multi_axis_manifold.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.multi_axis_manifold.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "multi_axis_manifold" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.patterned_plate.repeated_axial_hole_pattern_and_circular_equal_radius_pattern", "kind": "feature_motif", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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." }, { "id": "motif.patterned_plate.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.patterned_plate.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.patterned_plate.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "constraint.patterned_plate.repeated_radius_group", "kind": "constraint", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern" ], "required_relations": [ "repeated_radius_group" ], "context_features": [ "repeated_axial_hole_pattern" ] }, "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.", "check": "Confirm that the repeated radius group relationship remains valid after creation or modification." }, { "id": "constraint.patterned_plate.common_pattern_radius", "kind": "constraint", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [ "common_pattern_radius" ], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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.", "check": "Confirm that the common pattern radius relationship remains valid after creation or modification." }, { "id": "constraint.patterned_plate.shared_passage_axis", "kind": "constraint", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.patterned_plate.multiple_axis_system", "kind": "constraint", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.patterned_plate.transition_axis_continuity", "kind": "constraint", "scope": [ "patterned_plate" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "distribution.patterned_plate.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_plate.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "patterned_plate" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.patterned_prismatic_part.repeated_axial_hole_pattern_and_circular_equal_radius_pattern", "kind": "feature_motif", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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." }, { "id": "motif.patterned_prismatic_part.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.patterned_prismatic_part.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.patterned_prismatic_part.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "constraint.patterned_prismatic_part.repeated_radius_group", "kind": "constraint", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern" ], "required_relations": [ "repeated_radius_group" ], "context_features": [ "repeated_axial_hole_pattern" ] }, "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.", "check": "Confirm that the repeated radius group relationship remains valid after creation or modification." }, { "id": "constraint.patterned_prismatic_part.common_pattern_radius", "kind": "constraint", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ], "required_relations": [ "common_pattern_radius" ], "context_features": [ "repeated_axial_hole_pattern", "circular_equal_radius_pattern" ] }, "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.", "check": "Confirm that the common pattern radius relationship remains valid after creation or modification." }, { "id": "constraint.patterned_prismatic_part.shared_passage_axis", "kind": "constraint", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.patterned_prismatic_part.multiple_axis_system", "kind": "constraint", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.patterned_prismatic_part.transition_axis_continuity", "kind": "constraint", "scope": [ "patterned_prismatic_part" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "distribution.patterned_prismatic_part.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.patterned_prismatic_part.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "patterned_prismatic_part" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.plate_or_bracket.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "plate_or_bracket" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "distribution.plate_or_bracket.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.plate_or_bracket.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.plate_or_bracket.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.plate_or_bracket.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.plate_or_bracket.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.plate_or_bracket.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "plate_or_bracket" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.prismatic_block.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "prismatic_block" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "constraint.prismatic_block.transition_axis_continuity", "kind": "constraint", "scope": [ "prismatic_block" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "distribution.prismatic_block.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.pattern_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "pattern_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.prismatic_block.repeated_feature_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "prismatic_block" ], "observation_name": "repeated_feature_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.rotational_part.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.rotational_part.rotational_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "rotational_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.rotational_part.rotational_body_and_flange_like_rotational_body", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "flange_like_rotational_body" ], "required_relations": [], "context_features": [ "rotational_body", "flange_like_rotational_body" ] }, "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." }, { "id": "motif.rotational_part.cylindrical_feature_network_and_multi_axis_passage", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "multi_axis_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "multi_axis_passage" ] }, "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." }, { "id": "motif.rotational_part.multi_level_planar_profile_and_planar_dominant_body", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "multi_level_planar_profile", "planar_dominant_body" ], "required_relations": [], "context_features": [ "multi_level_planar_profile", "planar_dominant_body" ] }, "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." }, { "id": "motif.rotational_part.rotational_body_and_toroidal_blend_or_groove", "kind": "feature_motif", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "rotational_body", "toroidal_blend_or_groove" ], "required_relations": [], "context_features": [ "rotational_body", "toroidal_blend_or_groove" ] }, "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." }, { "id": "constraint.rotational_part.shared_passage_axis", "kind": "constraint", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.rotational_part.multiple_axis_system", "kind": "constraint", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "multi_axis_passage" ], "required_relations": [ "multiple_axis_system" ], "context_features": [ "multi_axis_passage" ] }, "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.", "check": "Confirm that the multiple axis system relationship remains valid after creation or modification." }, { "id": "constraint.rotational_part.transition_axis_continuity", "kind": "constraint", "scope": [ "rotational_part" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "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" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "coaxial_stack" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "guidance": "Preserve coaxiality across the named sections of a rotational stack.", "semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.", "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" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "dominant_axis_alignment" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "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.", "check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification." }, { "id": "distribution.rotational_part.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.rotational_part.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.rotational_part.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.rotational_part.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.rotational_part.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.rotational_part.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "rotational_part" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "motif.shaft.cylindrical_feature_network_and_stepped_cylindrical_passage", "kind": "feature_motif", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ], "required_relations": [], "context_features": [ "cylindrical_feature_network", "stepped_cylindrical_passage" ] }, "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." }, { "id": "motif.shaft.rotational_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "rotational_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "rotational_body", "stepped_rotational_profile" ] }, "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." }, { "id": "motif.shaft.shaft_like_body_and_stepped_rotational_profile", "kind": "feature_motif", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "shaft_like_body", "stepped_rotational_profile" ], "required_relations": [], "context_features": [ "shaft_like_body", "stepped_rotational_profile" ] }, "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." }, { "id": "constraint.shaft.shared_passage_axis", "kind": "constraint", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "stepped_cylindrical_passage" ], "required_relations": [ "shared_passage_axis" ], "context_features": [ "stepped_cylindrical_passage" ] }, "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.", "check": "Confirm that the shared passage axis relationship remains valid after creation or modification." }, { "id": "constraint.shaft.transition_axis_continuity", "kind": "constraint", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "conical_transition" ], "required_relations": [ "transition_axis_continuity" ], "context_features": [ "conical_transition" ] }, "guidance": "Keep conical transitions axis-continuous with their participating analytic regions.", "semantic_rationale": "Axis continuity prevents eccentric transitions without fixing any source dimension.", "check": "Confirm that the transition axis continuity relationship remains valid after creation or modification." }, { "id": "constraint.shaft.coaxial_stack", "kind": "constraint", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "coaxial_stack" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "guidance": "Preserve coaxiality across the named sections of a rotational stack.", "semantic_rationale": "Coaxial constraints maintain rotational function across dimensional variants.", "check": "Confirm that the coaxial stack relationship remains valid after creation or modification." }, { "id": "constraint.shaft.dominant_axis_alignment", "kind": "constraint", "scope": [ "shaft" ], "evidence_query": { "required_features": [ "coaxial_cylindrical_stack", "rotational_body" ], "required_relations": [ "dominant_axis_alignment" ], "context_features": [ "coaxial_cylindrical_stack", "rotational_body" ] }, "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.", "check": "Confirm that the dominant axis alignment relationship remains valid after creation or modification." }, { "id": "distribution.shaft.bbox_short_to_long", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "bbox_short_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.shaft.bbox_middle_to_long", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "bbox_middle_to_long", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.shaft.planar_area_fraction", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "planar_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.shaft.cylindrical_area_fraction", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "cylindrical_area_fraction", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.shaft.largest_coaxial_radius_to_transverse_span", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "largest_coaxial_radius_to_transverse_span", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." }, { "id": "distribution.shaft.smallest_to_largest_coaxial_radius", "kind": "dimensionless_distribution", "scope": [ "shaft" ], "observation_name": "smallest_to_largest_coaxial_radius", "evidence_query": { "required_features": [], "required_relations": [], "context_features": [] }, "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." } ] }