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 @@
{"sheet_number": "A25.01", "discipline": "Architectural", "sheet_title": "ROOF PLAN", "level": "ROOF", "scale": "1/4\" = 1'-0\"", "assertions": [{"assertion_id": "A25.01-001", "subject": "Drawing Scale", "category": "note", "attribute": "scale", "value": "1/4\" = 1'-0\"", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": null, "room": null, "room_name": null, "level": "ROOF", "tag": "ROOF PLAN", "detail_reference": null, "plan_zone": null}, "source_text": "ROOF PLAN\n1/4\" = 1'-0\"", "coordination_targets": [], "conflict_potential": "low", "code_review_relevance": "none", "confidence": "high"}, {"assertion_id": "A25.01-002", "subject": "General Note B", "category": "general_note", "attribute": "coordination_instruction", "value": "CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": null, "room": null, "room_name": null, "level": "ROOF", "tag": null, "detail_reference": null, "plan_zone": null}, "source_text": "B. CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "coordination_targets": ["mechanical"], "conflict_potential": "high", "code_review_relevance": "medium", "confidence": "high"}, {"assertion_id": "A25.01-003", "subject": "General Note C", "category": "general_note", "attribute": "coordination_instruction", "value": "CONTRACTORS SHALL VERIFY LOCATIONS OF EXISTING SYSTEMS AND OPENINGS; SUCH AS EXISTING RTU'S, ROOF VENTS, HVAC, ROOF ACCESS, AND OTHER PENETRATIONS, VERIFY COORDINATIONS REQUIRED BETWEEN EXISTING PENETRATIONS AND EQUIPMENT WITH NEW.", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": null, "room": null, "room_name": null, "level": "ROOF", "tag": null, "detail_reference": null, "plan_zone": null}, "source_text": "C. CONTRACTORS SHALL VERIFY LOCATIONS OF EXISTING SYSTEMS AND OPENINGS; SUCH AS EXISTING RTU'S, ROOF VENTS, HVAC, ROOF ACCESS, AND OTHER PENETRATIONS, VERIFY COORDINATIONS REQUIRED BETWEEN EXISTING PENETRATIONS AND EQUIPMENT WITH NEW.", "coordination_targets": ["mechanical", "structural", "plumbing", "electrical"], "conflict_potential": "high", "code_review_relevance": "medium", "confidence": "high"}, {"assertion_id": "A25.01-004", "subject": "General Note D", "category": "general_note", "attribute": "roofing_requirement", "value": "REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": null, "room": null, "room_name": null, "level": "ROOF", "tag": null, "detail_reference": null, "plan_zone": null}, "source_text": "D. REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "coordination_targets": ["specialty", "owner_standard"], "conflict_potential": "medium", "code_review_relevance": "low", "confidence": "high"}, {"assertion_id": "A25.01-005", "subject": "Keynote 2", "category": "keynote_assertion", "attribute": "coordination_instruction", "value": "NEW RTU, PROVIDE NEW MECHANICAL ROOF CURBS AS NECESSARY TO ACCOMODATE NEW RTU. GC TO INSTALL FLASHING PER PER ROOFING MANUFACTURING STANDARDS, GC SHALL COORDINATE ROOF WORK WITH LL REQUIREMENTS TO MAINTAIN EXISTING ROOFING WARRANTY. REFER TO MEP DRAWINGS FOR MORE INFORMATION.", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": null, "room": null, "room_name": null, "level": "ROOF", "tag": "2", "detail_reference": null, "plan_zone": null}, "source_text": "2 NEW RTU, PROVIDE NEW MECHANICAL ROOF CURBS AS NECESSARY TO ACCOMODATE NEW RTU. GC TO INSTALL FLASHING PER PER ROOFING MANUFACTURING STANDARDS, GC SHALL COORDINATE ROOF WORK WITH LL REQUIREMENTS TO MAINTAIN EXISTING ROOFING WARRANTY. REFER TO MEP DRAWINGS FOR MORE INFORMATION.", "coordination_targets": ["mechanical", "structural", "owner_standard"], "conflict_potential": "high", "code_review_relevance": "medium", "confidence": "high"}, {"assertion_id": "A25.01-006", "subject": "New RTU", "category": "equipment_location", "attribute": "clearance", "value": "6'-9\"", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": "B-C/5", "room": null, "room_name": null, "level": "ROOF", "tag": "2", "detail_reference": null, "plan_zone": "MECHANICAL ZONE"}, "source_text": "6'-9\"", "coordination_targets": ["mechanical", "structural"], "conflict_potential": "high", "code_review_relevance": "medium", "confidence": "high"}, {"assertion_id": "A25.01-007", "subject": "New RTU", "category": "equipment_location", "attribute": "clearance", "value": "3'-3 1/4\"", "unit": null, "location_key": {"sheet_number": "A25.01", "grid": "B/4-5", "room": null, "room_name": null, "level": "ROOF", "tag": "2", "detail_reference": null, "plan_zone": "MECHANICAL ZONE"}, "source_text": "3'-3 1/4\"", "coordination_targets": ["mechanical", "structural"], "conflict_potential": "high", "code_review_relevance": "mLine truncated