{ "schema": "mechanical_semantic_graph_v1", "model_identity": { "name": "string", "source_assembly_path": "string", "likely_equipment_type": "string", "confidence": 0, "evidence": [ "component/edge/region/relation ids" ] }, "nodes": [ { "id": "node_id", "type": "part|feature|face_region|interface|process_role|functional_role|missing_or_uncertain", "semantic_type": "cast_housing|end_cover|machined_register|local_machined_face|surrounding_unmachined_surface|raised_boss|tool_gap|ejector_port|unknown", "name": "human readable Chinese name", "source_refs": [ "component names, edge ids, region ids, patch ids, face ids" ], "confidence": 0, "evidence": "short explanation grounded in B-rep facts" } ], "edges": [ { "id": "edge_id", "type": "contacts|fits_with|coaxial_with|contains|adjacent_to|outside_accessible|supports|locates|is_machined_candidate_of|is_cast_candidate_of|has_boundary_step|missing_required_relation", "from": "node_id", "to": "node_id", "source_refs": [ "relation ids or edge/face refs" ], "confidence": 0, "evidence": "short explanation grounded in B-rep facts" } ], "measurements": [ { "id": "measurement_id", "type": "radius|diameter|axial_span|radial_margin|gap_width|step_height|area_ratio|unknown_threshold", "value": "number or null", "units": "mm|model_units|unitless|unknown", "source_refs": [ "dimension ids, cylinder faces, edges, patches" ], "confidence": 0 } ], "local_subgraphs": [ { "id": "subgraph_id", "pattern_type": "casting_boss_register_interface|machined_unmachined_surface_boundary|sleeve_removal_access|bearing_support|other", "primary_view": "assembly_contact_fit|disassembly_maintenance_access|drawing_annotation_requirement|feature_pattern|load_strength_stiffness|locating_limit_datum|motion_interference_dof|operation_safety_environment|part_local_shape|surface_role_boundary|system_function_condition|transmission_standard_parameters", "secondary_views": [ "optional diagnostic view ids" ], "retrieval_sentence": "neutral Chinese fact sentence for knowledge retrieval; no rule id and no fault judgement words", "inferred_functions": [ "assembly, locating, support, sealing, machining, maintenance, or motion functions inferred from evidence" ], "inferred_attributes": [ { "name": "machined_surface_candidate|unmachined_surface_candidate|locating_face_candidate|contact_face_candidate|tool_access_limited|other", "value": true, "confidence": 0, "reason": "short evidence-grounded reason; no final fault judgement", "source_image_names": [ "exact image names used for this inference" ], "source_brep_refs": [ "face/feature/component refs used for this inference" ], "source_relation_refs": [ "contact/mate/relation refs used for this inference" ] } ], "retrieval_fact_tags": [ "stable model-side fact tags aligned with knowledge required_model_facts; no rule ids" ], "retrieval_relations": [ "human-readable local relations used for retrieval" ], "image_evidence_names": [ "exact image names or image plan ids that support this local subgraph" ], "image_observations": [ { "image_name": "component_contexts/component_13/isometric", "observation": "what this image shows", "supports": [ "role or inferred attribute name" ], "confidence": 0 } ], "node_ids": [ "node_id" ], "edge_ids": [ "edge_id" ], "measurement_ids": [ "measurement_id" ], "roles": [ "semantic roles grounded by this subgraph" ], "retrieval_keywords": [ "Chinese and English keywords for knowledge-base retrieval" ], "confidence": 0, "evidence": [ "edge/region/patch/component/relation ids" ], "reason": "why this subgraph is suitable for matching a knowledge chunk" } ], "local_semantic_units": [ { "local_id": "unit_id", "linked_subgraph_id": "subgraph_id", "pattern_type": "casting_boss_register_interface|machined_unmachined_surface_boundary|sleeve_removal_access|bearing_support|other", "primary_view": "same taxonomy id used by the knowledge index", "secondary_views": [ "optional diagnostic view ids" ], "retrieval_sentence": "one neutral Chinese fact sentence. This is the primary retrieval unit.", "retrieval_chain": { "geometric_fact_for_retrieval": "human-readable geometric fact generalized for retrieval; no coordinates or raw ids", "mechanical_role": "mechanical role inferred from the geometry, such as internal machined surface, locating boss, contact pad, maintenance opening", "process_assembly_maintenance_semantics": "manufacturing, assembly, disassembly, maintenance, strength, locating, or motion semantics used for retrieval" }, "retrieval_semantic_roles": [ "retrieval-only semantic role labels; no raw B-rep ids" ], "inferred_functions": [ "component or local feature functions inferred for retrieval" ], "inferred_attributes": [ { "name": "machined_surface_candidate|unmachined_surface_candidate|locating_face_candidate|contact_face_candidate|tool_access_limited|other", "value": true, "confidence": 0, "reason": "short evidence-grounded reason; no final fault judgement", "source_image_names": [ "exact image names used for this inference" ], "source_brep_refs": [ "face/feature/component refs used for this inference" ], "source_relation_refs": [ "contact/mate/relation refs used for this inference" ] } ], "retrieval_fact_tags": [ "through_hole_candidate, entry_face_inclined, small_local_contact_face, surrounding_large_surface, etc." ], "retrieval_relations": [ "hole enters inclined surface, local contact face is near-coplanar with surrounding surface, etc." ], "image_evidence_names": [ "exact image names or image plan ids that support this local semantic unit" ], "image_observations": [ { "image_name": "component_highlights/component_13/isometric", "observation": "what this image supports", "supports": [ "retrieval role, function, or inferred attribute name" ], "confidence": 0 } ], "normalized_measurements": [ { "name": "axis_to_face_angle|step_height|diameter|clearance|area_ratio|other", "value": null, "unit": "mm|deg|unitless|unknown", "confidence": 0 } ], "fact_bundle": { "geometry_description_for_judgement": "concrete geometry description used only after retrieval for verification", "components": [ "component names or node ids" ], "roles": [ "local semantic roles" ], "measurements": [ "measurement ids and values if available" ], "evidence_refs": [ "edge/region/patch/component/relation ids" ], "uncertainties": [ "missing facts that affect final judgement" ] }, "dedup_key": "stable key for this local unit" } ], "semantic_coverage_audit": { "purpose": "machine-checkable audit proving local semantic units were split by coverage, not collapsed into a few generic descriptions", "candidate_anchor_types": [ "part", "feature", "interface", "functional_group" ], "minimum_rules": [ "Create at least one part-level local unit for every nonstandard component instance whose review_scope is part_design_required.", "Create feature-level local units for supported holes, hole groups, slots, bosses, ribs, steps, shafts, sleeves, pads, machining candidates, locating/contact faces, and tool-access candidates.", "Create interface-level local units for supported contacts, fits, coaxial relations, mate relations, support/locating relations, motion pairs, and clearance/accessibility relations.", "Create functional-group local units for each geometry-derived internal component group or connected mechanism group when evidence supports group-level judgement.", "Do not merge separate physical locations just because they share the same feature type; do merge repeated equivalent features into one group when they share owner, role, dimensions, and relation signature." ], "covered_part_component_ids": [ "component ids with at least one local semantic unit" ], "covered_feature_anchor_ids": [ "feature ids or face-group ids covered by feature-level units" ], "covered_interface_relation_ids": [ "contact/mate/relation ids covered by interface-level units" ], "covered_functional_group_ids": [ "internal/component group ids covered by group-level units" ], "uncovered_candidate_anchors": [ { "anchor_type": "part|feature|interface|functional_group", "anchor_id": "id from B-rep evidence", "reason_not_covered": "standard/context-only component, duplicate equivalent anchor, insufficient evidence, or intentionally excluded" } ], "local_unit_count_by_anchor_type": { "part": 0, "feature": 0, "interface": 0, "functional_group": 0 } }, "uncertain_roles": [ { "role": "string", "candidate_node_ids": [ "node_id" ], "why_uncertain": "string", "facts_needed": [ "specific B-rep or metadata facts" ] } ], "missing_facts": [ "specific missing facts that prevent reliable diagnosis" ], "evidence_index": [ { "ref": "edge/region/patch/component/face/relation id", "kind": "edge|region|patch|component|face|relation|dimension", "summary": "what this evidence supports" } ] }