Files
Conflict_Checker/backend/.llm_cache/58ec57f3333fac1a12303359f1265861b8ce926365211792121f9458e3bff1a6.json
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
18 KiB
JSON

[{"assertion_id": "A51.01#16", "original_value": "33\"-36\"", "normalized_value": "33-36", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Value is a range.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "A51.01#17", "original_value": "17\"-19\"", "normalized_value": "17-19", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Value is a range.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "A51.01#18", "original_value": "7\"-9\"", "normalized_value": "7-9", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Value is a range.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "A51.01#19", "original_value": "3'-6\"", "normalized_value": "42", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Source text includes 'MIN.'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "A51.01#20", "original_value": "3'-4\"", "normalized_value": "40", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#0", "original_value": "ROOFTOP A/C UNIT", "normalized_value": "ROOFTOP A/C UNIT", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is already in a standard format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#1", "original_value": "CARRIER", "normalized_value": "Carrier", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to title case.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#2", "original_value": "50FE-M07", "normalized_value": "50FE-M07", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is already in a standard format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#3", "original_value": "711", "normalized_value": "711", "normalized_unit": "LBS", "normalized_attribute": null, "normalization_notes": "Unit 'LBS' from source text context.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#4", "original_value": "2100", "normalized_value": "2100", "normalized_unit": "CFM", "normalized_attribute": null, "normalization_notes": "Unit 'CFM' from source text context.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#5", "original_value": "3.0", "normalized_value": "3.0", "normalized_unit": "HP", "normalized_attribute": null, "normalization_notes": "Unit 'HP' from source text context.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#6", "original_value": "6.0", "normalized_value": "6.0", "normalized_unit": "Tons", "normalized_attribute": null, "normalization_notes": "Unit 'TONS' from source text context, normalized to 'Tons'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#7", "original_value": "10.6", "normalized_value": "10.6", "normalized_unit": "kW", "normalized_attribute": null, "normalization_notes": "Unit 'ELEC KW' from source text context, normalized to 'kW'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#8", "original_value": "460", "normalized_value": "460", "normalized_unit": "V", "normalized_attribute": null, "normalization_notes": "Unit 'VOLT' from source text context, normalized to 'V'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#9", "original_value": "3", "normalized_value": "3", "normalized_unit": "phase", "normalized_attribute": null, "normalization_notes": "Unit 'PH' from source text context, normalized to 'phase'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#10", "original_value": "24", "normalized_value": "24", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "Unit 'A' (Amps) inferred from attribute 'MCA' (Minimum Circuit Ampacity).", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M01.01#11", "original_value": "25", "normalized_value": "25", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "Unit 'A' (Amps) inferred from attribute 'MOCP' (Maximum Overcurrent Protection).", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M01.01#12", "original_value": "11.2 EER - 15.5 IEER", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Composite value with multiple ratings (EER, IEER). Not safe to normalize into a single value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#13", "original_value": "8 MERV", "normalized_value": "8", "normalized_unit": "MERV", "normalized_attribute": null, "normalization_notes": "Parsed value and unit from original string.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#14", "original_value": "R-454B", "normalized_value": "R-454B", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is already in a standard format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#15", "original_value": "14", "normalized_value": "14", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Unit 'inches' from '14\" HIGH' in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#16", "original_value": "115V single phase powered convenience power outlet", "normalized_value": "115V, 1-phase, powered convenience power outlet", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Standardized 'single phase' to '1-phase'.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M01.01#17", "original_value": "Low leak enthalpy economizer", "normalized_value": "Low Leak Enthalpy Economizer", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to title case.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#0", "original_value": "1/4\" = 1'-0\"", "normalized_value": "1/4\" = 1'-0\"", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is in standard drawing scale format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#1", "original_value": "8\"RD", "normalized_value": "8", "normalized_unit": "inches", "normalized_attribute": "diameter", "normalization_notes": "'RD' from original value interpreted as 'Round Duct', implying diameter.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M02.02#2", "original_value": "10\"RD", "normalized_value": "10", "normalized_unit": "inches", "normalized_attribute": "diameter", "normalization_notes": "'RD' from original value interpreted as 'Round Duct', implying diameter.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M02.02#3", "original_value": "Terminate exhaust duct to manufacturer provided vent cap.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#4", "original_value": "Supply / return duct to transition in vertical to RTU curb opening.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#5", "original_value": "Limit of 10' radius from any outdoor air intake.", "normalized_value": "10", "normalized_unit": "ft", "normalized_attribute": null, "normalization_notes": "Extracted clearance radius from descriptive text.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M02.02#6", "original_value": "Economizer Hood", "normalized_value": "Economizer Hood", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to title case.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#0", "original_value": "6'-0\"", "normalized_value": "72", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Source text includes 'MAX. LENGTH'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#1", "original_value": "Same as scheduled neck connection of diffuser", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#2", "original_value": "The flanged bellmouth fitting must be provided, where height of duct shown on plans can accommodate the fitting. Only where the duct height does not allow the installation of bellmouth fitting, provide straight fitting.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#3", "original_value": "1/8\" per foot", "normalized_value": "1/8", "normalized_unit": "in/ft", "normalized_attribute": null, "normalization_notes": "Standardized slope unit.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#4", "original_value": "Not less than one pipe size large than the drain pan connection size", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#5", "original_value": "Top of vent nipple above top of AHU drain pan", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#6", "original_value": "Sanitary sewer", "normalized_value": "Sanitary Sewer", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to title case.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#7", "original_value": "3/4\"", "normalized_value": "0.75", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#8", "original_value": "1/8\" per foot", "normalized_value": "1/8", "normalized_unit": "in/ft", "normalized_attribute": null, "normalization_notes": "Standardized slope unit.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#9", "original_value": "Gasketed and insulated roof curb supplied with unit", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#10", "original_value": "Angle iron frame all around roof opening", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#11", "original_value": "Ionization-type smoke detector as required", "normalized_value": "Ionization-type", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Condition 'as required' removed from normalized value.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M03.01#12", "original_value": "Cover opening with 1/2\" galvanized steel mesh screen", "normalized_value": "0.5", "normalized_unit": "inches", "normalized_attribute": "mesh_size", "normalization_notes": "Refers to mesh screen size.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M03.01#13", "original_value": "Spring isolations bolt to unit & plate", "normalized_value": "Spring isolations bolt to unit and plate", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Replaced '&' with 'and'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#14", "original_value": "E.P.D.M. Membrane", "normalized_value": "EPDM Membrane", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Standardized acronym.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#15", "original_value": "12\" O.C.", "normalized_value": "12", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "'O.C.' from original value means 'On Center'.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M03.01#16", "original_value": "12\"", "normalized_value": "12", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Source text includes 'MINIMUM'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#0", "original_value": "2023 NEC, 2021 IBC, 2021 IECC, NFPA, ETC.", "normalized_value": "NEC 2023, IBC 2021, IECC 2021, NFPA", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Standardized code list format and removed 'ETC.'.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "E01.01#1", "original_value": "25/50 Flame and Smoke hazard ratings per ASTM E-84, NFPA 255 and UL 723", "normalized_value": "25/50", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Flame and Smoke hazard rating. Standards listed in source: ASTM E-84, NFPA 255, UL 723.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "E01.01#2", "original_value": "Penetrations between non-conditioned and conditioned spaces shall be sealed", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#3", "original_value": "Min 4\" high pad that extends a min of 4\" around the equipment", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Complex value with multiple dimensions (height, extension). Not safe to normalize.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#0", "original_value": "480", "normalized_value": "480", "normalized_unit": "V", "normalized_attribute": null, "normalization_notes": "Unit 'V' from source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#1", "original_value": "3", "normalized_value": "3", "normalized_unit": "phase", "normalized_attribute": null, "normalization_notes": "Source text indicates 'Value: .3' and 'Units: phi', but assertion was extracted as '3', which is assumed correct for a 3-phase system.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "E01.02#2", "original_value": "35400", "normalized_value": "35400", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "Unit 'A' from source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#3", "original_value": "500", "normalized_value": "500", "normalized_unit": "kVA", "normalized_attribute": null, "normalization_notes": "Unit 'KVA' from source text, normalized to 'kVA'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#4", "original_value": "Provide low-voltage dry-type transformers that meet the minimum efficiency requirements of 2021 IECC table C405.8.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#5", "original_value": "Provide as-built drawings for electrical power systems to the building owner.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#6", "original_value": "Type L-4 is a 2'x2' recessed indirect light fixture.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Complex description. Contains fixture size 2'x2' from source text, but not safe to extract as a single normalized value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#7", "original_value": "Type L-4E is same as L-4 and includes an emergency battery backup.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text, no normalization applied.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#8", "original_value": "5'-5\"", "normalized_value": "65", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Attribute 'mounting_height_AFF' indicates height is Above Finished Floor.", "source_text_preserved": true, "normalization_confidence": "high"}]