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 @@
{"issues": [{"issue_id": "qaqc-0001", "source_stage": "qaqc", "category": "missing_sheet", "severity": "critical", "confidence": "high", "location": "Entire Project", "disciplines": ["Structural", "Architectural", "Mechanical", "Electrical"], "sheets": ["M03.01", "E05.02", "A25.01"], "description": "The drawing set is entirely missing the Structural discipline (S-series sheets). Structural drawings are required to specify support for new rooftop units (RTUs), suspended transformers, framing for roof openings, and requirements for any slab penetrations. Multiple notes on Architectural, Mechanical and Electrical sheets refer to coordination with a structural engineer, but no drawings are provided. This is critical for bidding, permitting, and construction.", "evidence": [{"discipline": "System", "sheet": "sheet_index", "source_text": "No sheets with the 'S' discipline prefix are present in the sheet index.", "asserted_value": "Missing Structural Drawings"}, {"discipline": "Electrical", "sheet": "E05.02", "source_text": "VERIFY SUPPORT SIZING AND DESIGNED WITH PROJECT STRUCTURAL ENGINEER PRIOR TO ASSEMBLY.", "asserted_value": "Reference to project structural engineer"}, {"discipline": "Mechanical", "sheet": "M03.01", "source_text": "ANGLE IRON FRAME ALL AROUND ROOF OPENING RE: STRUCTURAL.", "asserted_value": "Reference to structural drawings"}], "recommended_resolution": "Provide a complete set of structural drawings, including foundation plans, framing plans, and all necessary details for the new scope of work. Ensure MEP and Architectural drawings are coordinated with the new structural information.", "code_reference": null}, {"issue_id": "qaqc-0002", "source_stage": "qaqc", "category": "missing_sheet", "severity": "critical", "confidence": "high", "location": "pages 14, 15", "disciplines": ["Architectural", "Mechanical", "Electrical", "Plumbing"], "sheets": [], "description": "Critical architectural plans appear to be missing from the set, corresponding to pages 14 and 15 where file extraction failed. These are expected to be the primary Architectural Dimension/Construction Plan and the Reflected Ceiling Plan (RCP). Without a dimensioned plan, construction layout is impossible. Without an RCP, coordination of lighting, HVAC diffusers, and sprinkler heads is impossible and ceiling heights are undefined.", "evidence": [{"discipline": "Architectural", "sheet": "page-14", "source_text": "Page 14 (extraction failed)", "asserted_value": "Expected to be the Dimension/Construction Plan"}, {"discipline": "Architectural", "sheet": "page-15", "source_text": "Page 15 (extraction failed)", "asserted_value": "Expected to be the Reflected Ceiling Plan"}], "recommended_resolution": "Provide the missing Architectural Dimension Plan and Reflected Ceiling Plan. Ensure all disciplines are coordinated with these new sheets.", "code_reference": null}, {"issue_id": "qaqc-0003", "source_stage": "qaqc", "category": "missing_sheet", "severity": "critical", "confidence": "high", "location": "page 22", "disciplines": ["Mechanical", "Architectural"], "sheets": [], "description": "The Mechanical HVAC floor plan, expected as M02.01, is missing from the set, corresponding to page 22 where extraction failed. The sheet index jumps from Mechanical notes (M01.01) to the Mechanical Roof Plan (M02.02). Without the floor plan showing ductwork layout, diffuser locations, and thermostat locations, the HVAC system cannot be bid, permitted, or constructed.", "evidence": [{"discipline": "Mechanical", "sheet": "page-22", "source_text": "Page 22 (extraction failed)", "asserted_value": "Expected to be the Mechanical Floor Plan"}], "recommended_resolution": "Provide the missing Mechanical Floor Plan M02.01 and ensure it is coordinated with the architectural RCP and lighting plan.", "code_reference": null}, {"issue_id": "qaqc-0004", "source_stage": "qaqc", "category": "missing_schedule", "severity": "critical", "confidence": "high", "location": "Architectural Sheets", "disciplines": ["Architectural"], "sheets": ["G31.04"], "description": "The drawing set lacks a Door and Frame Schedule. Floor plans show new doors, but there is no schedule to define their type, size, material, fire rating, hardware group, or other essential attributes. This information is critical for procurement, accurate bidding, and code compliance.", "evidence": [{"discipline": "System", "sheet": "sheet_index", "source_text": "No sheet with a door schedule is present in the sheet index.", "asserted_value": "Missing Door Schedule"}, {"discipline": "General", "sheet": "G31.04", "source_text": "ANSI A250.8, SEAMLESS, MINIMUM 18 GAGE FACE SHEETS.", "asserted_value": "Specification for hollow metal doors exists, but no schedule applies it to specific locations."}], "recommended_resolution": "Create and issue a complete Door and Frame Schedule, including a hardware schedule/sets. Key all doors on the floor plans to this schedule.", "code_reference": null}, {"issue_id": "qaqc-0005", "source_Line truncated