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": "room_102_name_inconsistency_01", "category": "tag_or_reference_inconsistency", "severity": "low", "confidence": "high", "location": "Women's Restroom 102", "disciplines": ["General", "Architectural", "Electrical", "Plumbing"], "sheets": ["G21.01", "A51.01", "E03.01", "P02.01"], "description": "The women's restroom is labeled inconsistently across the drawing set. It is identified as 'WOMEN'S RESTROOM', 'WOMEN'S / RESTROOM', a generic 'RESTROOM', and 'WOMEN'S ROOM' on various plans. While the intent is clear, this inconsistency can lead to confusion during documentation, submittals, and RFIs. All drawings should be updated to use a single, consistent name for this room, preferably 'WOMEN'S RESTROOM 102'.", "evidence": [{"discipline": "General", "sheet": "G21.01", "source_text": "WOMEN'S RESTROOM", "asserted_value": "WOMEN'S RESTROOM"}, {"discipline": "Electrical", "sheet": "E03.01", "source_text": "RESTROOM", "asserted_value": "RESTROOM"}, {"discipline": "Architectural", "sheet": "A51.01", "source_text": "WOMEN'S / RESTROOM", "asserted_value": "WOMEN'S / RESTROOM"}, {"discipline": "Plumbing", "sheet": "P02.01", "source_text": "WOMEN'S ROOM", "asserted_value": "WOMEN'S ROOM"}], "recommended_resolution": "coordinate drawings"}]}