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
17 KiB
JSON
1 line
17 KiB
JSON
{"normalized_assertions": [{"assertion_id": "G01.01#0", "original_value": "VERIZON ELYSON", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#1", "original_value": "7022 ELYSON EXCHANGE WAY CYPRESS, TX 77433", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#2", "original_value": "OWNER: CK WARWICK GROUP, LLC, CHRIS WARCWICK, P: 214-906-0048", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#3", "original_value": "ARCHITECT: ESTUDIO, PROJECT MANAGER KELLY BARNETT, 1824 SPRING STREET, SUITE 100 HOUSTON, TEXAS 77007, P: 713-433-5000", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#4", "original_value": "MEP: POWERS INDUSTRY, KAMIL BEY, 5718 WESTHEIMER RD SUITE 1000 HOUSTON, TX 77057, P: 1-(713) 560-1418", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#5", "original_value": "00.000.00", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#6", "original_value": "CLIENT REVIEW", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#7", "original_value": "2026-06-18", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#8", "original_value": "verizon", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#9", "original_value": "Copyright @ eStudio Architecture 2026.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#0", "original_value": "7022 ELYSON EXCHANGE WAY, CYPRESS, TX 77433", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#1", "original_value": "BUILDING C", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#2", "original_value": "Through-fire-resistive walls shall conform to the authority having jurisdiction's current adopted version of the IBC and local ammendments.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#3", "original_value": "75", "normalized_value": "75", "normalized_unit": "'", "normalized_attribute": "max_travel_distance", "normalization_notes": "Assumed feet unit due to context of fire extinguisher travel distance.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.01#4", "original_value": "Indicated from the floor elevation to the face of the structural slab, unless otherwise noted", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#5", "original_value": "Indicated in RCP's are from finished floor elevation to face of suspended ceiling system or finish material", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#6", "original_value": "Dimensions are to centerline of grid/steel unless noted otherwise.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#7", "original_value": "Dimensions are to face of cast in place or precast concrete walls unless noted otherwise.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#8", "original_value": "Dimensions are to nominal face of masonry walls unless noted otherwise.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#9", "original_value": "NFPA STD. 13", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#10", "original_value": "DESIGN #U419", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#0", "original_value": "36", "normalized_value": "36", "normalized_unit": "\"", "normalized_attribute": "knee_clearance_width", "normalization_notes": "Assumed inches unit due to context of knee clearance.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#1", "original_value": "34", "normalized_value": "34", "normalized_unit": "\"", "normalized_attribute": "counter_height_AFF", "normalization_notes": "Assumed inches unit due to context of counter height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#2", "original_value": "28", "normalized_value": "28", "normalized_unit": "\"", "normalized_attribute": "knee_clearance_height", "normalization_notes": "Assumed inches unit due to context of knee clearance.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#3", "original_value": "48-60", "normalized_value": "48-60", "normalized_unit": "\"", "normalized_attribute": "mounting_height_range_AFF", "normalization_notes": "Assumed inches unit due to context of mounting height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#4", "original_value": "4", "normalized_value": "4", "normalized_unit": "\"", "normalized_attribute": "protrusion_allowance", "normalization_notes": "Assumed inches unit due to context of protrusion allowance.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#5", "original_value": "30-36", "normalized_value": "30-36", "normalized_unit": "\"", "normalized_attribute": "counter_height_range_AFF", "normalization_notes": "Assumed inches unit due to context of counter height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#6", "original_value": "33-36", "normalized_value": "33-36", "normalized_unit": "\"", "normalized_attribute": "mounting_height_range_AFF", "normalization_notes": "Assumed inches unit due to context of mounting height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#7", "original_value": "250", "normalized_value": "250", "normalized_unit": "lbs", "normalized_attribute": "load_requirement", "normalization_notes": "Assumed pounds unit due to context of load requirement.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#8", "original_value": "30x48", "normalized_value": "30x48", "normalized_unit": "\"", "normalized_attribute": "clear_floor_space", "normalization_notes": "Assumed inches unit for both dimensions due to context of clear floor space.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#9", "original_value": "34", "normalized_value": "34", "normalized_unit": "\"", "normalized_attribute": "rim_height_AFF", "normalization_notes": "Assumed inches unit due to context of rim height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#10", "original_value": "Insulate exposed pipes", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#11", "original_value": "40", "normalized_value": "40", "normalized_unit": "\"", "normalized_attribute": "mounting_height_AFF", "normalization_notes": "Assumed inches unit due to context of mounting height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.02#12", "original_value": "48", "normalized_value": "48", "normalized_unit": "\"", "normalized_attribute": "mounting_height_AFF", "normalization_notes": "Assumed inches unit due to context of mounting height.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.03#0", "original_value": "9PM-7AM", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#1", "original_value": "600 Amp 277/480Volt", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#2", "original_value": "1 1/2\" valved or 2\" PVC/PEX", "normalized_value": "1 1/2\" valved or 2\" PVC/PEX", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Inches unit already present in the value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#3", "original_value": "within the building shell ceiling", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#4", "original_value": "6\" grease and 6\" sanitary", "normalized_value": "6\" grease and 6\" sanitary", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Inches unit already present in the value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#5", "original_value": "2' or more", "normalized_value": "2' or more", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Feet unit already present in the value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#6", "original_value": "2500-gallon", "normalized_value": "2500-gallon", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Gallon unit already present in the value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#7", "original_value": "ALL ROOF PENETRATIONS MUST BE MADE BY LANDLORD'S ROOFING CONTRACTOR, AT TENANTS COST.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#8", "original_value": "TENANT IS REQUIRED TO USE LANDLORD'S FIRE ALARM MONITORING COMPANY TO CONNECT TENANT'S SYSTEM TO LANDLORD'S FIRE ALARM PANEL.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#9", "original_value": "R-19", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#10", "original_value": "from finished floor slab to roof deck", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#11", "original_value": "1 exterior storefront door per each occupant's space", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#12", "original_value": "15 Mil", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#13", "original_value": "#4 bars 15\" OCEW (on center each way)", "normalized_value": "#4 bars 15\" OCEW (on center each way)", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Inches unit already present in the value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#14", "original_value": "3000PSI", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#15", "original_value": "single story", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#16", "original_value": "PBC Roof Systems - 9119 Meadow Vista Blvd, Houston, TX 77064 1. 281-469-3622, Darrel Kirtley", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#17", "original_value": "BMF Solutions - 13602 Jarvis, Cypress, TX 77429 1. 832-220-1500 Tony Murray", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": "true", "normalization_confidence": "high"}, {"assertion_id": "G11.03#18", "original_value": "Impact Fire - 1 Chisolm Trail Road, Suite 330, Round Rock, TX 78681 1. 713-263-7535, James Fish", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#19", "original_value": "ConTor Glass - 27531 Gatlin Lane, Spring, TX 77386 1. 832-283-0599, Preston Wallace", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#20", "original_value": "10 day", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#0", "original_value": "Lease Space Build-out (LSBO)", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#1", "original_value": "Single Occupancy", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#2", "original_value": "75", "normalized_value": "75", "normalized_unit": "'", "normalized_attribute": "height_limitation", "normalization_notes": "Assumed feet unit due to context of height limitation.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.04#3", "original_value": "UNLIMITED", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#4", "original_value": "7022 ELYSON EXCHANGE WAY CYPRESS, TX 77433", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}]} |