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": "VZN_CYP_001", "source_stage": "code", "category": "ada_review", "severity": "high", "confidence": "high", "location": "Men's Restroom (103) and Women's Restroom (102)", "disciplines": ["Architectural"], "sheets": ["A51.01"], "description": "The doors to the single-user restrooms swing into the clear floor space required for the lavatory (L-1). This is not permitted unless specific conditions are met.", "evidence": [{"discipline": "Architectural", "sheet": "A51.01", "source_text": "WOMEN'S / RESTROOM, PLAN 1/2\" = 1'-0\"", "asserted_value": "Door swings into lavatory clear floor space"}, {"discipline": "Architectural", "sheet": "A51.01", "source_text": "MEN'S RESTROOM, PLAN 1/2\" = 1'-0\"", "asserted_value": "Door swings into lavatory clear floor space"}], "recommended_resolution": "Verify that a clear floor space of at least 30 inches by 48 inches is provided within the restroom, beyond the arc of the door swing, to meet Exception 2 of ADA 603.2.3. If this space is not available, the door swing must be reversed or the layout reconfigured so the door does not swing into any fixture's required clear floor space.", "code_reference": "ADA 603.2.3"}, {"issue_id": "VZN_CYP_002", "source_stage": "code", "category": "ada_review", "severity": "medium", "confidence": "high", "location": "Lounge", "disciplines": ["Architectural"], "sheets": ["A51.01"], "description": "The employee lounge sink is shown with a standard cabinet underneath, which likely does not provide the required knee and toe clearance for a forward approach.", "evidence": [{"discipline": "Architectural", "sheet": "A51.01", "source_text": "3'-0\"", "asserted_value": "36"}], "recommended_resolution": "Confirm the approach type for the lounge sink. If a forward approach is required, revise the cabinetry detail to provide knee and toe clearance compliant with ADA 306. Alternatively, confirm if a parallel approach is acceptable per ADA 606.2 Exception 1 (e.g., if it's considered a wet bar) and ensure clear floor space for a parallel approach is provided.", "code_reference": "ADA 606.2"}, {"issue_id": "VZN_CYP_003", "source_stage": "code", "category": "ada_review", "severity": "medium", "confidence": "high", "location": "Inventory Room", "disciplines": ["Architectural", "Electrical"], "sheets": ["A24.01"], "description": "Electrical outlets in the Inventory room are specified to be mounted at 60 inches above the finished floor, which exceeds the 48-inch maximum high reach range for accessible operable parts.", "evidence": [{"discipline": "Architectural", "sheet": "A24.01", "source_text": "(2) 20A, OUTLETS AT 60\" A.F.F.", "asserted_value": "60"}], "recommended_resolution": "Relocate the outlets to a height within the accessible reach range (typically 15\" min to 48\" max AFF). If the outlets serve a dedicated use and are not for general use, add a note to clarify this and confirm the exception in ADA 205.1 applies.", "code_reference": "ADA 205.1"}, {"issue_id": "VZN_CYP_004", "source_stage": "code", "category": "tas_tdlr", "severity": "medium", "confidence": "medium", "location": "Sales Area", "disciplines": ["Architectural", "Interiors"], "sheets": ["A22.01"], "description": "Pendant lights (L-6) in the Sales Area are noted to be mounted at 5'-5\" (65 inches) AFF. If these fixtures are located above a circulation path, they would be a head-height obstruction, violating the 80-inch minimum headroom clearance requirement.", "evidence": [{"discipline": "Architectural", "sheet": "A22.01", "source_text": "PENDANT 5'-5\" AFF", "asserted_value": "65"}], "recommended_resolution": "Verify the location of pendant light fixtures L-6 on the floor plan. Ensure they are not located in circulation paths or, if they are, raise the mounting height to provide at least 80 inches of clear headroom from the floor to the bottom of the fixture.", "code_reference": null}, {"issue_id": "VZN_CYP_005", "source_stage": "code", "category": "ada_review", "severity": "medium", "confidence": "high", "location": "Typical Restroom Details", "disciplines": ["Architectural"], "sheets": ["A51.01"], "description": "The typical rear grab bar is dimensioned as 3'-4\" (40 inches) long. A 40-inch bar may not comply with the requirement for the bar to extend at least 12 inches on one side and 24 inches on the other side of the water closet centerline.", "evidence": [{"discipline": "Architectural", "sheet": "A51.01", "source_text": "3'-4\"", "asserted_value": "40"}], "recommended_resolution": "Verify the rear grab bar dimensions and placement relative to the water closet centerline. The standard requires the bar to be a minimum of 36 inches long and extend from the centerline a minimum of 12 inches on one side and 24 inches on the other. A 36-inch or 42-inch bar is typical. The 40-inch dimension should be reviewed and corrected if it does not meet placement requirements.", "code_reference": "ADA 604.5"}, {"issue_id": "VZN_CYP_006", "source_stage": "code", "category": "builLine truncated