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>
1 line
9.7 KiB
JSON
1 line
9.7 KiB
JSON
{"normalized_assertions": [{"assertion_id": "P02.02#2", "original_value": "MEN'S RESTROOM", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#3", "original_value": "WOMEN'S RESTROOM", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#4", "original_value": "CLEANING SUPPLIES/STORAGE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#5", "original_value": "MANAGER'S OFFICE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#6", "original_value": "SALES AREA", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#7", "original_value": "EWH-1 is located above ceiling, suspended as high as possible in ceiling plenum and requires an auxiliary drain pan.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#8", "original_value": "Route 3/4\" T&P drain line and 3/4\" auxiliary drain lines to floor sink below.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "Drain Routing", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#9", "original_value": "Provide adequate supports to prevent any movement of T&P and aux. drain lines.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "Support Requirement", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#10", "original_value": "Route proposed 1-1/4\" CW line to existing 2\" water main line.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "keynote_assertion", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#11", "original_value": "Route 1/2\" cold and hot water down.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "keynote_assertion", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#12", "original_value": "Route 1/2\" cold water down to recessed valve box. Confirm exact location with owner/architect.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "keynote_assertion", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P02.02#13", "original_value": "2", "normalized_value": "2", "normalized_unit": "inches", "normalized_attribute": "pipe_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#0", "original_value": "Saw-cut and route proposed sanitary waste line to existing 4\" sanitary waste line or larger.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "general_note", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#1", "original_value": "Route proposed new vent branch line to existing 4\" vent main line or larger.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "general_note", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#2", "original_value": "170-LF LEONARD", "normalized_value": "170-LF LEONARD", "normalized_unit": null, "normalized_attribute": "equipment_model", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#3", "original_value": "110", "normalized_value": "110", "normalized_unit": "\u00b0F", "normalized_attribute": "temperature", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#4", "original_value": "Pipe discharge 3/4\" to floor sink per plans", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "pressure_relief_drain", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#5", "original_value": "A.O. SMITH PMC-2", "normalized_value": "A.O. SMITH PMC-2", "normalized_unit": null, "normalized_attribute": "expansion_tank_model", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#6", "original_value": "4\" DEEP AUXILIARY DRAIN PAN 18 GAUGE GALVANIZED STEEL.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "drain_pan", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#7", "original_value": "3/4\" auxiliary drain line to floor sink", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "drain_line", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#8", "original_value": "2\" Unistrut support. 1/2\" All threaded rods complete with double nuts and lock washers.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "support_spec", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#9", "original_value": "Must be installed in an upright position.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "installation_note", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#10", "original_value": "Install at an accessible location. Provide access panel where required.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "accessibility", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#11", "original_value": "6-mil Polyethylene vapor retarder minimum", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "vapor_retarder", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#12", "original_value": "2\" larger than the pipe", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "sleeve_size", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#13", "original_value": "Connection from PVC below slab to Cast Iron above slab with transition coupling", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "pipe_material", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#14", "original_value": "No exposed PVC above slab", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "installation_note", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "P03.01#15", "original_value": "1 1/2", "normalized_value": "1 1/2", "normalized_unit": "inches", "normalized_attribute": "vent_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#16", "original_value": "2", "normalized_value": "2", "normalized_unit": "inches", "normalized_attribute": "sanitary_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#17", "original_value": "2", "normalized_value": "2", "normalized_unit": "inches", "normalized_attribute": "vent_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#18", "original_value": "3", "normalized_value": "3", "normalized_unit": "inches", "normalized_attribute": "sanitary_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#19", "original_value": "2", "normalized_value": "2", "normalized_unit": "inches", "normalized_attribute": "sanitary_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#20", "original_value": "2", "normalized_value": "2", "normalized_unit": "inches", "normalized_attribute": "vent_size", "normalization_notes": "Assumed 'inches' as unit for pipe size based on context.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "P03.01#21", "original_value": "Fixture units 1-11 require J.R. SMITH FIG. NO 5005 (Symbol A), Size 3/4\", B Size 4\"", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "schedule_entry", "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}]} |