Files
Conflict_Checker/backend/.llm_cache/9af0116a2b0f21432c5e924d50c560e28a396f055bda307359a5cc3dbdbd74ea.json
T
woogiandClaude Opus 4.8 1d248a8808 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>
2026-07-03 00:22:02 +00:00

1 line
25 KiB
JSON

[{"assertion_id": "G01.01#0", "attribute": "project_name", "original_value": "VERIZON ELYSON", "source_text": "VERIZON ELYSON", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is a proper name.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#1", "attribute": "project_address", "original_value": "7022 ELYSON EXCHANGE WAY CYPRESS, TX 77433", "source_text": "7022 ELYSON EXCHANGE WAY\nCYPRESS, TX 77433", "normalized_value": {"street": "7022 ELYSON EXCHANGE WAY", "city": "CYPRESS", "state": "TX", "zip": "77433"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to structured address object.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#2", "attribute": "consultant_info", "original_value": "OWNER: CK WARWICK GROUP, LLC, CHRIS WARCWICK, P: 214-906-0048", "source_text": "OWNER:\nCK WARWICK GROUP, LLC\nCHRIS WARCWICK\nP: 214-906-0048", "normalized_value": {"role": "Owner", "company": "CK WARWICK GROUP, LLC", "contact_name": "CHRIS WARCWICK", "phone": "214-906-0048"}, "normalized_unit": null, "normalized_attribute": "owner_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#3", "attribute": "consultant_info", "original_value": "ARCHITECT: ESTUDIO, PROJECT MANAGER KELLY BARNETT, 1824 SPRING STREET, SUITE 100 HOUSTON, TEXAS 77007, P: 713-433-5000", "source_text": "ARCHITECT:\nESTUDIO\nPROJECT MANAGER\nKELLY BARNETT\n1824 SPRING STREET, SUITE 100\nHOUSTON, TEXAS 77007\nP: 713-433-5000", "normalized_value": {"role": "Architect", "company": "ESTUDIO", "contact_name": "KELLY BARNETT", "contact_title": "Project Manager", "address": "1824 SPRING STREET, SUITE 100 HOUSTON, TEXAS 77007", "phone": "713-433-5000"}, "normalized_unit": null, "normalized_attribute": "architect_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#4", "attribute": "consultant_info", "original_value": "MEP: POWERS INDUSTRY, KAMIL BEY, 5718 WESTHEIMER RD SUITE 1000 HOUSTON, TX 77057, P: 1-(713) 560-1418", "source_text": "MEP:\nPOWERS INDUSTRY\nKAMIL BEY\n5718 WESTHEIMER RD\nSUITE 1000\nHOUSTON, TX 77057\nP: 1-(713) 560-1418", "normalized_value": {"role": "MEP", "company": "POWERS INDUSTRY", "contact_name": "KAMIL BEY", "address": "5718 WESTHEIMER RD SUITE 1000 HOUSTON, TX 77057", "phone": "713-560-1418"}, "normalized_unit": null, "normalized_attribute": "mep_consultant_info", "normalization_notes": "Parsed into structured data. Removed country code from phone number.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#5", "attribute": "project_number", "original_value": "00.000.00", "source_text": "Project number 00.000.00", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#6", "attribute": "issuance_status", "original_value": "CLIENT REVIEW", "source_text": "Issue Description\nCLIENT REVIEW", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#7", "attribute": "issuance_date", "original_value": "2026-06-18", "source_text": "YYYY-MM-DD\n2026-06-18", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value is already in standard ISO 8601 date format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#8", "attribute": "signage_text", "original_value": "verizon", "source_text": "verizon", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G01.01#9", "attribute": "general_note", "original_value": "Copyright @ eStudio Architecture 2026.", "source_text": "Copyright @ eStudio Architecture 2026.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#0", "attribute": "address", "original_value": "7022 ELYSON EXCHANGE WAY, CYPRESS, TX 77433", "source_text": "7022 ELYSON EXCHANGE WAY CYPRESS, TX 77433", "normalized_value": {"street": "7022 ELYSON EXCHANGE WAY", "city": "CYPRESS", "state": "TX", "zip": "77433"}, "normalized_unit": null, "normalized_attribute": "project_address", "normalization_notes": "Normalized to structured address object.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#1", "attribute": "building_identifier", "original_value": "BUILDING C", "source_text": "ELYSON TOWN CENTER - BUILDING C", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#2", "attribute": "code_reference", "original_value": "Through-fire-resistive walls shall conform to the authority having jurisdiction's current adopted version of the IBC and local ammendments.", "source_text": "THROUGH-FIRE-RESISTIVE WALLS SHALL CONFORM TO THE AUTHORITY HAVING JURISDICTION'S CURRENT ADOPTED VERSION OF THE IBC AND LOCAL AMMENDMENTS AS WELL AS DIRECTIVES BY THE LOCAL FIRE MARSHAL'S AUTHORITY.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#3", "attribute": "max_travel_distance", "original_value": "75", "source_text": "PROVIDER FOR EXTINGUISHERS WITH TRAVEL DISTANCE NOT TO EXCEED 75' IN ACCORDANCE W/ NFPA STANDARD 10", "normalized_value": "75", "normalized_unit": "feet", "normalized_attribute": null, "normalization_notes": "Unit derived from ' symbol in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#4", "attribute": "dimension_convention", "original_value": "Indicated from the floor elevation to the face of the structural slab, unless otherwise noted", "source_text": "CEILING HEIGHTS SHOWN ARE INDICATED FROM THE FLOOR ELEVATION TO THE FACE OF THE STRUCTURAL SLAB, UNLESS SPECIFICALLY OTHERWISE NOTED.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#5", "attribute": "dimension_convention", "original_value": "Indicated in RCP's are from finished floor elevation to face of suspended ceiling system or finish material", "source_text": "CEILING HEIGHTS INDICATED IN RCP'S ARE INDICATED FROM THE FINISHED FLOOR ELEVATION TO THE FACE OF SUSPENDED CEILING SYSTEM OR FACE OF FINISH MATERIAL AS SCHEDULED.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#6", "attribute": "dimension_convention", "original_value": "Dimensions are to centerline of grid/steel unless noted otherwise.", "source_text": "DIMENSIONS ARE INDICATED TO: A. THE CENTERLINE OF THE STRUCTURAL GRID AND STRUCTURAL STEEL MEMBERS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#7", "attribute": "dimension_convention", "original_value": "Dimensions are to face of cast in place or precast concrete walls unless noted otherwise.", "source_text": "DIMENSIONS ARE INDICATED TO: B. THE FACE OF CAST IN PLACE OR PRECAST CONCRETE WALLS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#8", "attribute": "dimension_convention", "original_value": "Dimensions are to nominal face of masonry walls unless noted otherwise.", "source_text": "DIMENSIONS ARE INDICATED TO: C. THE NOMINAL FACE OF MASONRY WALLS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#9", "attribute": "code_reference", "original_value": "NFPA STD. 13", "source_text": "THE FIRE SPRINKLER CONTRACTOR...MODIFICATIONS TO THE EXISTING AUTOMATIC FIRE SPRINKLER SYSTEM SHALL CONFORM TO NFPA STD. 13.", "normalized_value": "NFPA Standard 13", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Expanded 'STD.' to 'Standard'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.01#10", "attribute": "wall_rating", "original_value": "DESIGN #U419", "source_text": "G31.06 UL RATINGS - DESIGN #U419", "normalized_value": "U419", "normalized_unit": null, "normalized_attribute": "ul_rating_design_number", "normalization_notes": "Extracted design number from value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#0", "attribute": "knee_clearance_width", "original_value": "36", "source_text": "36\" MIN", "normalized_value": "36", "normalized_unit": "inches", "normalized_attribute": "min_knee_clearance_width", "normalization_notes": "Unit derived from '\"' symbol in source text. Min qualifier from 'MIN'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#1", "attribute": "counter_height_AFF", "original_value": "34", "source_text": "34\" MAX", "normalized_value": "34", "normalized_unit": "inches", "normalized_attribute": "max_counter_height_aff", "normalization_notes": "Unit derived from '\"' symbol in source text. Max qualifier from 'MAX'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#2", "attribute": "knee_clearance_height", "original_value": "28", "source_text": "28\" MIN", "normalized_value": "28", "normalized_unit": "inches", "normalized_attribute": "min_knee_clearance_height", "normalization_notes": "Unit derived from '\"' symbol in source text. Min qualifier from 'MIN'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#3", "attribute": "mounting_height_range_AFF", "original_value": "48-60", "source_text": "TACTILE CHARACTERS ON SIGNS SHALL BE LOCATED 48\" AFF MIN MEASURED FROM THE BASELINE OF THE LOWEST TACTILE CHARACTER AND 60\" AFF MAX MEASURED FROM THE BASELINE OF THE HIGHEST TACTILE CHARACTER.", "normalized_value": {"min": "48", "max": "60"}, "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Unit derived from '\"' symbol in source text. Range parsed from 'MIN' and 'MAX' values in text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#4", "attribute": "protrusion_allowance", "original_value": "4", "source_text": "NOTE: FIRE EXTINGUISHER CANNOT PROTRUDE MORE THAN 4\"", "normalized_value": "4", "normalized_unit": "inches", "normalized_attribute": "max_protrusion_allowance", "normalization_notes": "Unit derived from '\"' symbol in source text. Max qualifier from 'cannot protrude more than'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#5", "attribute": "counter_height_range_AFF", "original_value": "30-36", "source_text": "COUNTER/CREDENZA @ 30\"-36\" UNO", "normalized_value": {"min": "30", "max": "36"}, "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Unit derived from '\"' symbol in source text. Range parsed from '30\"-36\"'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#6", "attribute": "mounting_height_range_AFF", "original_value": "33-36", "source_text": "33\"-36\" AFF", "normalized_value": {"min": "33", "max": "36"}, "normalized_unit": "inches", "normalized_attribute": null, "normalization_notes": "Unit derived from '\"' symbol in source text. Range parsed from '33\"-36\"'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#7", "attribute": "load_requirement", "original_value": "250", "source_text": "NOTE: ALLOWABLE STRESSES SHALL NOT BE EXCEEDED FOR MATERIALS USED WHERE A VERTICAL OR HORIZONTAL FORCE OF 250 LBS. IS APPLIED AT ANY POINT ON THE GRAB BAR, FASTENER MOUNTING DEVICE OR SUPPORTING STRUCTURE.", "normalized_value": "250", "normalized_unit": "lbs", "normalized_attribute": null, "normalization_notes": "Unit derived from 'LBS.' in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#8", "attribute": "clear_floor_space", "original_value": "30x48", "source_text": "CLEAR FLOOR SPACE 30\" MIN 48\" MIN", "normalized_value": {"width": "30", "depth": "48"}, "normalized_unit": "inches", "normalized_attribute": "min_clear_floor_space", "normalization_notes": "Unit derived from '\"' symbol in source text. Parsed as width x depth. Min qualifier from 'MIN'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#9", "attribute": "rim_height_AFF", "original_value": "34", "source_text": "34\" MAX", "normalized_value": "34", "normalized_unit": "inches", "normalized_attribute": "max_rim_height_aff", "normalization_notes": "Unit derived from '\"' symbol in source text. Max qualifier from 'MAX'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#10", "attribute": "general_note", "original_value": "Insulate exposed pipes", "source_text": "INSULATE EXPOSED PIPES", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#11", "attribute": "mounting_height_AFF", "original_value": "40", "source_text": "40\" MAX", "normalized_value": "40", "normalized_unit": "inches", "normalized_attribute": "max_mounting_height_aff", "normalization_notes": "Unit derived from '\"' symbol in source text. Max qualifier from 'MAX'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.02#12", "attribute": "mounting_height_AFF", "original_value": "48", "source_text": "48\" MAX", "normalized_value": "48", "normalized_unit": "inches", "normalized_attribute": "max_mounting_height_aff", "normalization_notes": "Unit derived from '\"' symbol in source text. Max qualifier from 'MAX'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#0", "attribute": "quiet_hours", "original_value": "9PM-7AM", "source_text": "Quiet hours for the premises are from 9PM-7AM", "normalized_value": {"start": "21:00", "end": "07:00"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized to 24-hour format.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#1", "attribute": "service_capacity", "original_value": "600 Amp 277/480Volt", "source_text": "Shared service to the building is to be 600 Amp 277/480Volt.", "normalized_value": {"amperage": 600, "voltage": "277/480"}, "normalized_unit": {"amperage": "A", "voltage": "V"}, "normalized_attribute": "electrical_service_capacity", "normalization_notes": "Parsed into structured electrical properties.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#2", "attribute": "pipe_size", "original_value": "1 1/2\" valved or 2\" PVC/PEX", "source_text": "Landlord to provide a single 1 1/2\" valved or 2\" PVC/PEX water service to Building shell.", "normalized_value": [{"size": 1.5, "type": "valved"}, {"size": 2, "type": "PVC/PEX"}], "normalized_unit": "inches", "normalized_attribute": "water_service_pipe_options", "normalization_notes": "Normalized fraction and parsed options. Unit 'inches' applies to both options.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "G11.03#3", "attribute": "stub_location", "original_value": "within the building shell ceiling", "source_text": "Line is stubbed within the building shell ceiling.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#4", "attribute": "pipe_size", "original_value": "6\" grease and 6\" sanitary", "source_text": "Landlord shall provide a minimum 4' concrete leave out with shared 6\" grease and 6\" sanitary sewer trunk line", "normalized_value": [{"size": 6, "service": "grease"}, {"size": 6, "service": "sanitary"}], "normalized_unit": "inches", "normalized_attribute": "sewer_pipe_sizes", "normalization_notes": "Parsed into two separate pipe definitions. Unit 'inches' applies to both.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#5", "attribute": "burial_depth", "original_value": "2' or more", "source_text": "sewer trunk line buried 2' or more, stubbed to the Premises of the shell building.", "normalized_value": "2", "normalized_unit": "feet", "normalized_attribute": "min_burial_depth", "normalization_notes": "Unit derived from ' symbol in source text. Min qualifier from 'or more'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#6", "attribute": "equipment_capacity", "original_value": "2500-gallon", "source_text": "There is a shared 2500-gallon grease interceptor that is designated for this shell building's Tenants.", "normalized_value": "2500", "normalized_unit": "gallons", "normalized_attribute": "grease_interceptor_capacity", "normalization_notes": "Extracted numeric value and unit.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#7", "attribute": "general_note", "original_value": "ALL ROOF PENETRATIONS MUST BE MADE BY LANDLORD'S ROOFING CONTRACTOR, AT TENANTS COST.", "source_text": "ALL ROOF PENETRATIONS MUST BE MADE BY LANDLORD'S ROOFING CONTRACTOR, AT TENANTS COST.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#8", "attribute": "general_note", "original_value": "TENANT IS REQUIRED TO USE LANDLORD'S FIRE ALARM MONITORING COMPANY TO CONNECT TENANT'S SYSTEM TO LANDLORD'S FIRE ALARM PANEL.", "source_text": "TENANT IS REQUIRED TO USE LANDLORD'S FIRE ALARM MONITORING COMPANY TO CONNECT TENANT'S SYSTEM TO LANDLORD'S FIRE ALARM PANEL.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#9", "attribute": "insulation_rating", "original_value": "R-19", "source_text": "Demising walls must be insulated with R-19 to limit sound penetration.", "normalized_value": "19", "normalized_unit": "R-value", "normalized_attribute": null, "normalization_notes": "Value is standard insulation rating.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#10", "attribute": "construction_extent", "original_value": "from finished floor slab to roof deck", "source_text": "Tenant shall furnish and install all demising partitions from finished floor slab to roof deck.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#11", "attribute": "door_count", "original_value": "1 exterior storefront door per each occupant's space", "source_text": "Landlord shall provide 1 exterior storefront door per each occupant's space.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": null, "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#12", "attribute": "vapor_barrier", "original_value": "15 Mil", "source_text": "ii. 15 Mil vapor barrier", "normalized_value": "15", "normalized_unit": "mil", "normalized_attribute": "vapor_barrier_thickness", "normalization_notes": "Extracted numeric value and unit.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#13", "attribute": "reinforcement", "original_value": "#4 bars 15\" OCEW (on center each way)", "source_text": "iv. #4 bars 15\" OCEW (on center each way)", "normalized_value": {"bar_size": "#4", "spacing": 15, "spacing_direction": "on center each way"}, "normalized_unit": {"spacing": "inches"}, "normalized_attribute": "rebar_reinforcement", "normalization_notes": "Parsed into structured rebar properties.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#14", "attribute": "compressive_strength", "original_value": "3000PSI", "source_text": "v. 3000PSI minimum concrete", "normalized_value": "3000", "normalized_unit": "psi", "normalized_attribute": "min_compressive_strength", "normalization_notes": "Min qualifier from 'minimum' in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#15", "attribute": "story_count", "original_value": "single story", "source_text": "c. All spaces are single story with no provision for additional floors.", "normalized_value": "1", "normalized_unit": "story", "normalized_attribute": null, "normalization_notes": "Normalized 'single' to '1'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#16", "attribute": "roofer", "original_value": "PBC Roof Systems - 9119 Meadow Vista Blvd, Houston, TX 77064 1. 281-469-3622, Darrel Kirtley", "source_text": "i. Roofer \u2014 PBC Roof Systems \u2013 9119 Meadow Vista Blvd, Houston, TX 77064\n1. 281-469-3622, Darrel Kirtley", "normalized_value": {"role": "Roofer", "company": "PBC Roof Systems", "address": "9119 Meadow Vista Blvd, Houston, TX 77064", "phone": "281-469-3622", "contact_name": "Darrel Kirtley"}, "normalized_unit": null, "normalized_attribute": "roofer_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#17", "attribute": "fire_sprinkler_contractor", "original_value": "BMF Solutions - 13602 Jarvis, Cypress, TX 77429 1. 832-220-1500 Tony Murray", "source_text": "ii. Fire Sprinkler \u2013 BMF Solutions \u2013 13602 Jarvis, Cypress, TX 77429\n1. 832-220-1500 Tony Murray", "normalized_value": {"role": "Fire Sprinkler", "company": "BMF Solutions", "address": "13602 Jarvis, Cypress, TX 77429", "phone": "832-220-1500", "contact_name": "Tony Murray"}, "normalized_unit": null, "normalized_attribute": "fire_sprinkler_contractor_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#18", "attribute": "fire_alarm_contractor", "original_value": "Impact Fire - 1 Chisolm Trail Road, Suite 330, Round Rock, TX 78681 1. 713-263-7535, James Fish", "source_text": "iii. Fire Alarm \u2013 Impact Fire \u2013 1 Chisolm Trail Road, Suite 330, Round Rock, TX 78681\n1. 713-263-7535, James Fish", "normalized_value": {"role": "Fire Alarm", "company": "Impact Fire", "address": "1 Chisolm Trail Road, Suite 330, Round Rock, TX 78681", "phone": "713-263-7535", "contact_name": "James Fish"}, "normalized_unit": null, "normalized_attribute": "fire_alarm_contractor_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#19", "attribute": "storefront_contractor", "original_value": "ConTor Glass - 27531 Gatlin Lane, Spring, TX 77386 1. 832-283-0599, Preston Wallace", "source_text": "iv. Storefront \u2013 ConTor Glass \u2013 27531 Gatlin Lane, Spring, TX 77386\n1. 832-283-0599, Preston Wallace", "normalized_value": {"role": "Storefront", "company": "ConTor Glass", "address": "27531 Gatlin Lane, Spring, TX 77386", "phone": "832-283-0599", "contact_name": "Preston Wallace"}, "normalized_unit": null, "normalized_attribute": "storefront_contractor_info", "normalization_notes": "Parsed into structured data.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.03#20", "attribute": "notice_period", "original_value": "10 day", "source_text": "These contractors must be given a 10 day notice to schedule the work.", "normalized_value": "10", "normalized_unit": "days", "normalized_attribute": null, "normalization_notes": "Extracted numeric value and unit.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#0", "attribute": "scope_of_work", "original_value": "Lease Space Build-out (LSBO)", "source_text": "X LEASE SPACE BUILD-OUT (LSBO)", "normalized_value": {"description": "Lease Space Build-out", "acronym": "LSBO"}, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Parsed description and acronym.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "G11.04#1", "attribute": "occupancy_separation", "original_value": "Single Occupancy", "source_text": "X SINGLE OCCUPANCY", "normalized_value": null}]