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": "rtu_curb_height_discrepancy_01", "category": "note_or_spec_contradiction", "severity": "medium", "confidence": "high", "location": "Roof Curb for new RTUs at Grid B-C/4-5", "disciplines": ["Architectural", "Mechanical"], "sheets": ["M01.01", "A25.01"], "description": "The mechanical schedule on M01.01 specifies a 14-inch high roof curb for the new RTUs. The architectural roof curb detail on A25.01 contains conflicting information: one note states '14\" HIGH PER IECC & MFR'S REQ.' which is consistent, but another note in the same detail says to 'Nominate 1'0\"' (12 inches). This ambiguity will cause confusion for bidding and installation, potentially impacting waterproofing and structural coordination.", "evidence": [{"discipline": "Mechanical", "sheet": "M01.01", "source_text": "9. PROVIDE 14\" HIGH INSULATED ROOF CURB.", "asserted_value": "14 inches"}, {"discipline": "Architectural", "sheet": "A25.01", "source_text": "Nominate 1'0\" for P.Con.", "asserted_value": "12 inches"}], "recommended_resolution": "coordinate drawings"}]}