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:
2026-07-03 00:22:02 +00:00
co-authored by Claude Opus 4.8
commit 1d248a8808
262 changed files with 8209 additions and 0 deletions
@@ -0,0 +1 @@
{"conflicts": [{"conflict_id": "c001", "category": "note_or_spec_contradiction", "severity": "medium", "confidence": "high", "location": "Rooftop Work", "disciplines": ["General", "Architectural"], "sheets": ["G11.03", "A25.01"], "description": "The Landlord Work Letter on G11.03 specifies that all roof penetrations must be made by the Landlord's roofer, at the Tenant's cost. However, the Architectural roof plan keynote on A25.01 states 'GC TO INSTALL FLASHING...'. This creates a contradiction regarding who performs the roofing work, which can lead to contractual disputes, warranty issues, and coordination problems during construction.", "evidence": [{"discipline": "General", "sheet": "G11.03", "source_text": "5. Roof, d. ALL ROOF PENETRATIONS MUST BE MADE BY LANDLORD'S ROOFING CONTRACTOR, AT TENANTS COST.", "asserted_value": "Landlord's roofer must perform all roof penetrations."}, {"discipline": "Architectural", "sheet": "A25.01", "source_text": "KEYNOTES 2. NEW RTU...GC TO INSTALL FLASHING PER PER ROOFING MANUFACTURING STANDARDS. GC SHALL COORDINATE ROOF WORK WITH LL REQUIREMENTS TO MAINTAIN EXISTING ROOFING WARRANTY.", "asserted_value": "GC to install flashing."}], "recommended_resolution": "coordinate drawings"}]}