Files
Conflict_Checker/backend/.llm_cache/7a86d0b4261b79fe346814c9664f3871041fbc21dad113a4430943dd63472e7f.json
T
woogiandClaude Opus 4.8 1d248a8808 Initial commit: Conflict Checker
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>
2026-07-03 00:22:02 +00:00

1 line
16 KiB
JSON

[{"assertion_id": "P02.02#2", "original_attribute": "room_name", "original_value": "MEN'S RESTROOM", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name. No normalization applied.", "source_text_preserved": "MEN'S RESTROOM", "normalization_confidence": "high"}, {"assertion_id": "P02.02#3", "original_attribute": "room_name", "original_value": "WOMEN'S RESTROOM", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name. No normalization applied.", "source_text_preserved": "WOMEN'S RESTROOM", "normalization_confidence": "high"}, {"assertion_id": "P02.02#4", "original_attribute": "room_name", "original_value": "CLEANING SUPPLIES/STORAGE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name. No normalization applied.", "source_text_preserved": "CLEANING SUPPLIES/STORAGE", "normalization_confidence": "high"}, {"assertion_id": "P02.02#5", "original_attribute": "room_name", "original_value": "MANAGER'S OFFICE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name. No normalization applied.", "source_text_preserved": "MANAGER'S OFFICE", "normalization_confidence": "high"}, {"assertion_id": "P02.02#6", "original_attribute": "room_name", "original_value": "SALES AREA", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name. No normalization applied.", "source_text_preserved": "SALES AREA", "normalization_confidence": "high"}, {"assertion_id": "P02.02#7", "original_attribute": "keynote_assertion", "original_value": "EWH-1 is located above ceiling, suspended as high as possible in ceiling plenum and requires an auxiliary drain pan.", "normalized_value": {"subject": "EWH-1", "location": "above ceiling", "installation": "suspended as high as possible in ceiling plenum", "requirement": "auxiliary drain pan"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed descriptive text into structured data.", "source_text_preserved": "KEYED NOTE: 1 EWH-1 ABOVE CEILING SUSPENDED AS HIGH AS POSSIBLE IN CEILING PLENUM. PROVIDE AUXILIARY DRAIN PAN BELOW WATER HEATER...", "normalization_confidence": "high"}, {"assertion_id": "P02.02#8", "original_attribute": "Drain Routing", "original_value": "Route 3/4\" T&P drain line and 3/4\" auxiliary drain lines to floor sink below.", "normalized_value": {"T&P_drain_line_size": {"value": 0.75, "unit": "inches"}, "auxiliary_drain_line_size": {"value": 0.75, "unit": "inches"}, "destination": "floor sink"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe sizes and destination from text. 3/4\" converted to 0.75 inches.", "source_text_preserved": "ROUTE 3/4\" T&P DRAIN LINE AND 3/4\" AUXILIARY DRAIN LINES TO FLOOR SINK BELOW.", "normalization_confidence": "high"}, {"assertion_id": "P02.02#9", "original_attribute": "Support Requirement", "original_value": "Provide adequate supports to prevent any movement of T&P and aux. drain lines.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Qualitative performance requirement. No normalization applied.", "source_text_preserved": "PROVIDE ADEQUATE SUPPORTS TO PREVENT ANY MOVEMENT OF T&P AND AUX. DRAIN LINES.", "normalization_confidence": "low"}, {"assertion_id": "P02.02#10", "original_attribute": "keynote_assertion", "original_value": "Route proposed 1-1/4\" CW line to existing 2\" water main line.", "normalized_value": {"proposed_line_size": {"value": 1.25, "unit": "inches"}, "existing_line_size": {"value": 2, "unit": "inches"}}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe sizes from text. 1-1/4\" converted to 1.25 inches.", "source_text_preserved": "KEYED NOTE: 2 ROUTE PROPOSED 1-1/4\" CW LINE TO EXISTING 2\" WATER MAIN LINE AT THIS APPROXIMATE LOCATION. FIELD VERIFY EXACT LOCATION AND SIZE OF EXISTING PIPE.", "normalization_confidence": "high"}, {"assertion_id": "P02.02#11", "original_attribute": "keynote_assertion", "original_value": "Route 1/2\" cold and hot water down.", "normalized_value": {"pipe_size": {"value": 0.5, "unit": "inches"}, "media": ["cold water", "hot water"]}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe size from text. 1/2\" converted to 0.5 inches.", "source_text_preserved": "KEYED NOTE: 3 ROUTE 1/2\" COLD AND HOT WATER DOWN.", "normalization_confidence": "high"}, {"assertion_id": "P02.02#12", "original_attribute": "keynote_assertion", "original_value": "Route 1/2\" cold water down to recessed valve box. Confirm exact location with owner/architect.", "normalized_value": {"pipe_size": {"value": 0.5, "unit": "inches"}, "media": "cold water", "destination": "recessed valve box"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe size from text. 1/2\" converted to 0.5 inches.", "source_text_preserved": "KEYED NOTE: 4 ROUTE 1/2\" COLD WATER DOWN TO RECESSED VALVE BOX. CONFIRM EXACT LOCATION WITH OWNER/ARCHITECT.", "normalization_confidence": "high"}, {"assertion_id": "P02.02#13", "original_attribute": "pipe_size", "original_value": "2", "normalized_value": 2, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "(E)2\"CW", "normalization_confidence": "high"}, {"assertion_id": "P03.01#0", "original_attribute": "general_note", "original_value": "Saw-cut and route proposed sanitary waste line to existing 4\" sanitary waste line or larger.", "normalized_value": {"target_pipe_size_min": {"value": 4, "unit": "inches"}, "target_pipe_type": "sanitary waste line"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted minimum pipe size from text.", "source_text_preserved": "KEYED NOTE: 1 SAW-CUT AND ROUTE PROPOSED SANITARY WASTE LINE TO EXISTING 4\" SANITARY WASTE LINE OR LARGER APPROXIMATELY THIS POINT. FIELD VERIFY EXACT LOCATION, SIZE. DIRECTION OF FLOW AND DEPTH OF OF EXISTING PIPE.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#1", "original_attribute": "general_note", "original_value": "Route proposed new vent branch line to existing 4\" vent main line or larger.", "normalized_value": {"target_pipe_size_min": {"value": 4, "unit": "inches"}, "target_pipe_type": "vent main line"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted minimum pipe size from text.", "source_text_preserved": "KEYED NOTE: 2 ROUTE PROPOSED NEW VENT BRANCH LINE TO EXISTING 4\" VENT MAIN LINE OR LARGER AT APPROXIMATELY THIS POINT. FIELD VERIFY EXACT LOCATION, SIZE, & ELEVATION OF EXISTING PIPE.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#2", "original_attribute": "equipment_model", "original_value": "170-LF LEONARD", "normalized_value": {"manufacturer": "LEONARD", "model": "170-LF"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed into manufacturer and model.", "source_text_preserved": "PROVIDE MODEL 170-LF LEONARD THERMOSTATIC MIXING VALVE.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#3", "original_attribute": "temperature", "original_value": "110", "normalized_value": 110, "normalized_unit": "degrees Fahrenheit", "normalized_attribute": "outlet_temperature", "normalization_notes": "Unit 'degrees Fahrenheit' inferred from source text '\u00b0F'.", "source_text_preserved": "OUTLET TEMP SHALL BE 110\u00b0F.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#4", "original_attribute": "pressure_relief_drain", "original_value": "Pipe discharge 3/4\" to floor sink per plans", "normalized_value": {"pipe_size": {"value": 0.75, "unit": "inches"}, "destination": "floor sink per plans"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe size from text. 3/4\" converted to 0.75 inches.", "source_text_preserved": "A.S.M.E. RATED TEMP. AND PRESSURE RELIEF VALVE. PIPE DISCHARGE 3/4\" TO FLOOR SINK PER PLANS", "normalization_confidence": "high"}, {"assertion_id": "P03.01#5", "original_attribute": "expansion_tank_model", "original_value": "A.O. SMITH PMC-2", "normalized_value": {"manufacturer": "A.O. SMITH", "model": "PMC-2"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed into manufacturer and model.", "source_text_preserved": "EXPANSION TANK A.O. SMITH PMC-2", "normalization_confidence": "high"}, {"assertion_id": "P03.01#6", "original_attribute": "drain_pan", "original_value": "4\" DEEP AUXILIARY DRAIN PAN 18 GAUGE GALVANIZED STEEL.", "normalized_value": {"type": "Auxiliary Drain Pan", "depth": {"value": 4, "unit": "inches"}, "gauge": 18, "material": "Galvanized Steel"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed description into structured data.", "source_text_preserved": "4\" DEEP AUXILIARY DRAIN PAN 18 GAUGE GALVANIZED STEEL.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#7", "original_attribute": "drain_line", "original_value": "3/4\" auxiliary drain line to floor sink", "normalized_value": {"pipe_size": {"value": 0.75, "unit": "inches"}, "type": "auxiliary drain line", "destination": "floor sink per plans"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted pipe size from text. 3/4\" converted to 0.75 inches.", "source_text_preserved": "3/4\" AUXILIARY DRAIN LINE TO FLOOR SINK PER PLANS", "normalization_confidence": "high"}, {"assertion_id": "P03.01#8", "original_attribute": "support_spec", "original_value": "2\" Unistrut support. 1/2\" All threaded rods complete with double nuts and lock washers.", "normalized_value": {"unistrut_support_size": {"value": 2, "unit": "inches"}, "threaded_rod_size": {"value": 0.5, "unit": "inches"}, "fasteners": "double nuts and lock washers"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed description into structured data. 1/2\" converted to 0.5 inches.", "source_text_preserved": "2\" UNISTRUT SUPPORT. 1/2\" ALL THREADED RODS COMPLETE WITH DOUBLE NUTS AND LOCK WASHERS.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#9", "original_attribute": "installation_note", "original_value": "Must be installed in an upright position.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Qualitative installation constraint. No normalization applied.", "source_text_preserved": "1. ALWAYS INSTALL IN UPRIGHT POSITION", "normalization_confidence": "low"}, {"assertion_id": "P03.01#10", "original_attribute": "accessibility", "original_value": "Install at an accessible location. Provide access panel where required.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Qualitative requirement. No normalization applied.", "source_text_preserved": "2. INSTALL AT AN ACCESSIBLE LOCATION. PROVIDE ACCESS PANEL WHERE REQUIRED.", "normalization_confidence": "low"}, {"assertion_id": "P03.01#11", "original_attribute": "vapor_retarder", "original_value": "6-mil Polyethylene vapor retarder minimum", "normalized_value": {"thickness_min": {"value": 6, "unit": "mil"}, "material": "Polyethylene"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed description into structured data. 'mil' is a standard unit (1/1000 inch).", "source_text_preserved": "PER 2021 IBC, CHAPTER 19, SECTION 1907: POLYETHYLENE VAPOR RETARDER MINIMUM 6-MIL SHALL BE REQUIRED.", "normalization_confidence": "high"}, {"assertion_id": "P03.01#12", "original_attribute": "sleeve_size", "original_value": "2\" larger than the pipe", "normalized_value": {"rule": "ADD", "value": 2, "unit": "inches", "base": "pipe diameter"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized as a rule for calculating sleeve size relative to pipe size.", "source_text_preserved": "SLEEVE SHALL BE 2\" LARGER THEN THE PIPE", "normalization_confidence": "high"}, {"assertion_id": "P03.01#13", "original_attribute": "pipe_material", "original_value": "Connection from PVC below slab to Cast Iron above slab with transition coupling", "normalized_value": {"below_slab_material": "PVC", "above_slab_material": "Cast Iron", "connection_method": "transition coupling"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed description of material transition into structured data.", "source_text_preserved": "MAKE CONNECTION FROM PVC BELOW SLAB TO CAST IRON ABOVE SLAB WITH TRANSISTION COUPLING", "normalization_confidence": "high"}, {"assertion_id": "P03.01#14", "original_attribute": "installation_note", "original_value": "No exposed PVC above slab", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Qualitative installation constraint. No normalization applied.", "source_text_preserved": "NO EXPOSED PVC ABOVE SLAB.", "normalization_confidence": "low"}, {"assertion_id": "P03.01#15", "original_attribute": "vent_size", "original_value": "1 1/2", "normalized_value": 1.5, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol. '1 1/2' converted to 1.5.", "source_text_preserved": "1 1/2\"V", "normalization_confidence": "high"}, {"assertion_id": "P03.01#16", "original_attribute": "sanitary_size", "original_value": "2", "normalized_value": 2, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "2\"SAN", "normalization_confidence": "high"}, {"assertion_id": "P03.01#17", "original_attribute": "vent_size", "original_value": "2", "normalized_value": 2, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "2\"V", "normalization_confidence": "high"}, {"assertion_id": "P03.01#18", "original_attribute": "sanitary_size", "original_value": "3", "normalized_value": 3, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "3\"SAN", "normalization_confidence": "high"}, {"assertion_id": "P03.01#19", "original_attribute": "sanitary_size", "original_value": "2", "normalized_value": 2, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "2\"SAN", "normalization_confidence": "high"}, {"assertion_id": "P03.01#20", "original_attribute": "vent_size", "original_value": "2", "normalized_value": 2, "normalized_unit": "inches", "normalized_attribute": "pipe_diameter", "normalization_notes": "Unit 'inches' inferred from source text '\"' symbol.", "source_text_preserved": "2\"V", "normalization_confidence": "high"}, {"assertion_id": "P03.01#21", "original_attribute": "schedule_entry", "original_value": "Fixture units 1-11 require J.R. SMITH FIG. NO 5005 (Symbol A), Size 3/4\", B Size 4\"", "normalized_value": {"manufacturer": "J.R. SMITH", "figure_no": "5005", "symbol": "A", "fixture_unit_range": {"min": 1, "max": 11}, "size_a": {"value": 0.75, "unit": "inches"}, "size_b": {"value": 4, "unit": "inches"}}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed schedule row into structured data. 3/4\" converted to 0.75 inches.", "source_text_preserved": "5005 | A | 1 - 11 | 3/4\" | 4\"", "normalization_confidence": "high"}]