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>
This commit is contained in:
woogiandClaude Opus 4.8 committed 2026-07-03 00:22:02 +00:00
commit 1d248a8808
262 files changed
+8209

No files matched your search

@@ -0,0 +1 @@
[{"assertion_id": "G31.05#6", "attribute": "tolerance", "original_value": "1/8 in 10 ft", "normalized_value": "0.125 in 10 ft", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized fraction to decimal.", "source_text": "TOLERANCES: A. MAXIMUM VARIATION OF FINISHED GYPSUM BOARD SURFACE FROM A TRUE PLANE IS 1/8 INCH IN 10 FEET IN ANY DIRECTION.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#7", "attribute": "wall_type", "original_value": "5/8 inch thick", "normalized_value": "0.625", "normalized_unit": "inches", "normalized_attribute": "material_thickness", "normalization_notes": "Normalized fraction to decimal and re-assigned attribute from 'wall_type' to 'material_thickness'.", "source_text": "THICKNESS: A. VERTICAL SURFACES: 5/8 INCH, UNLESS NOTED OTHERWISE ON DRAWINGS.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#8", "attribute": "material_thickness", "original_value": "5/8", "normalized_value": "0.625", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Normalized fraction to decimal. Unit 'inches' is from source text.", "source_text": "THICKNESS: ... B. CEILINGS: 5/8 INCH.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#9", "attribute": "material_thickness", "original_value": "5/8", "normalized_value": "0.625", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Normalized fraction to decimal. Unit 'inches' is from source text.", "source_text": "THICKNESS: 5/8 INCH UNLESS NOTED OTHERWISE ON DRAWINGS.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#10", "attribute": "slip_resistance", "original_value": "min 0.6 SCOF", "normalized_value": "0.6", "normalized_unit": "SCOF", "normalized_attribute": "minimum_static_coefficient_of_friction", "normalization_notes": "Applies to level surfaces, per ASTM C1028 or ANSI A137.1.", "source_text": "STATIC COEFFICIENT OF FRICTION: MIN. 0.6 FOR LEVEL SURFACES, MIN. 0.42 FOR RAMPS PER ASTM C1028 OR ANSI A137.1.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#11", "attribute": "slip_resistance", "original_value": "min 0.42 SCOF", "normalized_value": "0.42", "normalized_unit": "SCOF", "normalized_attribute": "minimum_static_coefficient_of_friction", "normalization_notes": "Applies to ramps, per ASTM C1028 or ANSI A137.1.", "source_text": "STATIC COEFFICIENT OF FRICTION: MIN. 0.6 FOR LEVEL SURFACES, MIN. 0.42 FOR RAMPS PER ASTM C1028 OR ANSI A137.1.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#12", "attribute": "material_thickness", "original_value": "1/2", "normalized_value": "0.5", "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Normalized fraction to decimal. Unit 'inches' is from source text, which also specifies a minimum requirement and a 13mm equivalent.", "source_text": "CEMENTITIOUS BACKER BOARD: A. 1/2 INCH (13 MM) THICKNESS MINIMUM", "normalization_confidence": "high"}, {"assertion_id": "G31.05#13", "attribute": "material_type", "original_value": "Polymer-modified sanded grout (ANSI A118.7)", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text": "GROUT: A. POLYMER-MODIFIED SANDED GROUT (ANSI A118.7).", "normalization_confidence": "high"}, {"assertion_id": "G31.05#14", "attribute": "material_requirement", "original_value": "Waterproof membrane for wet areas", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text": "WATERPROOF MEMBRANE FOR WET AREAS.", "normalization_confidence": "high"}, {"assertion_id": "G31.05#15", "attribute": "tolerance", "original_value": "1/4 in 10 ft", "normalized_value": "0.25 in 10 ft", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized fraction to decimal.", "source_text": "ENSURE SUBSTRATE DEVIATION DOES NOT EXCEED 1/4 INCH IN 10 FEET.", "normalization_confidence": "high"}, {"assertion_id": "G31.06#0", "attribute": "wall_rating", "original_value": "1, 2, 3, or 4 Hour", "normalized_value": "1, 2, 3, 4", "normalized_unit": "Hour", "normalized_attribute": null, "normalization_notes": "Represents a list of possible ratings.", "source_text": "Nonbearing Wall Ratings -- 1, 2, 3 or 4 Hr (See Items 4 & 5 through 5J)", "normalization_confidence": "high"}, {"assertion_id": "G31.06#1", "attribute": "UL Certification", "original_value": "BXUV - Fire Resistance Ratings - ANSI/UL 263 Certified for United States", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text": "BXUV - Fire Resistance Ratings - ANSI/UL 263 Certified for United States", "normalization_confidence": "high"}, {"assertion_id": "G31.06#2", "attribute": "UL Certification", "original_value": "BXUV7 - Fire Resistance Ratings - CAN/ULC S101 Certified for Canada", "normalized_value": null, "normalized_unit": nuLine truncated