Cross-discipline design-contradiction checker for construction drawing sets. Standalone tool broken out from Iron_Bid; a pipeline stage may later fold back into Iron_Bid. Pipeline: PDF->images -> per-sheet assertion extraction -> deterministic clustering by location -> per-cluster reasoning -> report. Includes CLI (cli/run_check.py) and web UI (backend/main.py). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 line
5.5 KiB
JSON
1 line
5.5 KiB
JSON
{"sheet_number": "A25.01", "discipline": "Architectural", "sheet_title": "ROOF PLAN", "level": "Roof", "scale": "1/4\" = 1'-0\"", "assertions": [{"subject": "General Note A", "attribute": "text_content", "value": "ROOF PLAN IS FOR REFERENCE ONLY. CONTRACTORS ARE TO VERIFY EXISTING CONDITIONS (DIMENSIONS, CLEARANCES, STRUCTURE TYPE, ETC.) IN THE FIELD.", "source_text": "A. ROOF PLAN IS FOR REFERENCE ONLY. CONTRACTORS ARE TO VERIFY EXISTING CONDITIONS (DIMENSIONS, CLEARANCES, STRUCTURE TYPE, ETC.) IN THE FIELD.", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": "GENERAL NOTES"}}, {"subject": "General Note B", "attribute": "text_content", "value": "CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "source_text": "B. CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": "GENERAL NOTES"}}, {"subject": "General Note C", "attribute": "text_content", "value": "CONTRACTORS SHALL VERIFY LOCATIONS OF EXISTING SYSTEMS AND OPENINGS; SUCH AS EXISTING RTU'S, ROOF VENTS, HVAC, ROOF ACCESS, AND OTHER PENETRATIONS. VERIFY COORDINATIONS REQUIRED BETWEEN EXISTING PENETRATIONS AND EQUIPMENT WITH NEW.", "source_text": "C. CONTRACTORS SHALL VERIFY LOCATIONS OF EXISTING SYSTEMS AND OPENINGS; SUCH AS EXISTING RTU'S, ROOF VENTS, HVAC, ROOF ACCESS, AND OTHER PENETRATIONS, VERIFY COORDINATIONS REQUIRED BETWEEN EXISTING PENETRATIONS AND EQUIPMENT WITH NEW.", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": "GENERAL NOTES"}}, {"subject": "General Note D", "attribute": "text_content", "value": "REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "source_text": "D. REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": "GENERAL NOTES"}}, {"subject": "Keynote 2", "attribute": "text_content", "value": "NEW RTU, PROVIDE NEW MECHANICAL ROOF CURBS AS NECESSARY TO ACCOMODATE NEW RTU. GC TO INSTALL FLASHING PER PER ROOFING MANUFACTURING STANDARDS. GC SHALL COORDINATE ROOF WORK WITH LL REQUIREMENTS TO MAINTAIN EXISTING ROOFING WARRANTY. REFER TO MEP DRAWINGS FOR MORE INFORMATION.", "source_text": "2 NEW RTU, PROVIDE NEW MECHANICAL ROOF CURBS AS NECESSARY TO ACCOMODATE NEW RTU. GC TO INSTALL FLASHING PER PER ROOFING MANUFACTURING STANDARDS. GC SHALL COORDINATE ROOF WORK WITH LL REQUIREMENTS TO MAINTAIN EXISTING ROOFING WARRANTY. REFER TO MEP DRAWINGS FOR MORE INFORMATION.", "confidence": "high", "location_key": {"grid": "B-C/4-5", "room": null, "level": "Roof", "tag": "2"}}, {"subject": "RTU", "attribute": "new_equipment_count", "value": "2", "source_text": "2", "confidence": "high", "location_key": {"grid": "B-C/4-5", "room": null, "level": "Roof", "tag": "2"}}, {"subject": "Mechanical Zone", "attribute": "clearance_dimension", "value": "6'-9\"", "source_text": "6'-9\"", "confidence": "high", "location_key": {"grid": "B-C/5", "room": null, "level": "Roof", "tag": null}}, {"subject": "Mechanical Zone", "attribute": "clearance_dimension", "value": "3'-3 1/4\"", "source_text": "3'-3 1/4\"", "confidence": "high", "location_key": {"grid": "B/4-5", "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "detail_title", "value": "ROOF CURB DETAIL", "source_text": "ROOF CURB DETAIL", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "detail_scale", "value": "6\" = 1'-0\"", "source_text": "6\" = 1'-0\"", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "component", "value": "Prefabricated Metal Curb", "source_text": "PREFABRICATED METAL CURB", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "component", "value": "2X4 WOOD NAILER", "source_text": "2X4 WOOD NAILER", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "fastener_spacing", "value": "12", "source_text": "APPROPRIATE FASTENERS AT 12\" (304 MM) O.C.", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "component", "value": "TPO MEMBRANE ADHERED OR MECHANICALLY FASTENED", "source_text": "TPO MEMBRANE ADHERED OR MECHANICALLY FASTENED", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "weld_dimension", "value": "1 1/2", "source_text": "1 1/2\" (38 MM) MIN. WELD", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "general_note", "value": "WOOD NAILER INSTALLED TO MEET APPLICABLE BUILDING CODES", "source_text": "WOOD NAILER INSTALLED TO MEET APPLICABLE BUILDING CODES", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}, {"subject": "Roof Curb Detail", "attribute": "component", "value": "COUNTERFLASHING SKIRT", "source_text": "COUNTERFLASHING SKIRT", "confidence": "high", "location_key": {"grid": null, "room": null, "level": "Roof", "tag": null}}]} |