Files
Conflict_Checker/backend/.llm_cache/76b4c7d5aef957011c95b8df024de95b5f8dbd3d0f807a9eefb7620a534af216.json
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
26 KiB
JSON

[{"assertion_id": "M01.01#10", "attribute": "mca", "original_value": "24", "source_text": "MCA 24", "normalized_value": "24", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "MCA stands for Minimum Circuit Ampacity, measured in Amperes (A).", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#11", "attribute": "mocp", "original_value": "25", "source_text": "MOCP 25", "normalized_value": "25", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "MOCP stands for Maximum Overcurrent Protection, measured in Amperes (A).", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#12", "attribute": "efficiency_rating", "original_value": "11.2 EER - 15.5 IEER", "source_text": "11.2 EER - 15.5 IEER", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value contains multiple distinct ratings (EER and IEER) that cannot be combined into a single normalized value.", "source_text_preserved": true, "normalization_confidence": "low"}, {"assertion_id": "M01.01#13", "attribute": "filter_rating", "original_value": "8 MERV", "source_text": "REMARKS: 1. PROVIDE 8\" MERV FILTERS", "normalized_value": "8", "normalized_unit": "MERV", "normalized_attribute": null, "normalization_notes": "Normalized based on the extracted value '8 MERV'. The source text '8\"' may indicate filter thickness, but the extracted value specifies the MERV rating.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "M01.01#14", "attribute": "refrigerant_type", "original_value": "R-454B", "source_text": "6. REFRIGERANT SHALL BE R-454B.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Original value is a standard identifier.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#15", "attribute": "roof_curb_height", "original_value": "14", "source_text": "9. PROVIDE 14\" HIGH INSULATED ROOF CURB.", "normalized_value": "14", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Unit 'inches' inferred from the double prime symbol (\") in the source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#16", "attribute": "accessory", "original_value": "115V single phase powered convenience power outlet", "source_text": "5. PROVIDE 115V SINGLE PHASE POWERED CONVENIENCE POWER OUTLET ON UNIT.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M01.01#17", "attribute": "accessory", "original_value": "Low leak enthalpy economizer", "source_text": "10. FURNISH WITH LOW LEAK ENTHALPY ECONOMIZER PER IECC REQUIREMENTS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#0", "attribute": "scale", "original_value": "1/4\" = 1'-0\"", "source_text": "1 MECHANICAL ROOF PLAN 1/4\" = 1'-0\"", "normalized_value": "1:48", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Converted architectural scale to a unitless ratio.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#1", "attribute": "duct_size", "original_value": "8\"RD", "source_text": "VTR 8\"RD", "normalized_value": "8", "normalized_unit": "in", "normalized_attribute": "diameter", "normalization_notes": "RD is interpreted as Round Duct, so the dimension is a diameter. Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#2", "attribute": "duct_size", "original_value": "10\"RD", "source_text": "10\"RD VTR", "normalized_value": "10", "normalized_unit": "in", "normalized_attribute": "diameter", "normalization_notes": "RD is interpreted as Round Duct, so the dimension is a diameter. Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#3", "attribute": "keynote_assertion", "original_value": "Terminate exhaust duct to manufacturer provided vent cap.", "source_text": "TERMINATE EXHAUST DUCT TO MANUFACTURER PROVIDED VENT CAP.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#4", "attribute": "keynote_assertion", "original_value": "Supply / return duct to transition in vertical to RTU curb opening.", "source_text": "SUPPLY / RETURN DUCT TO TRANSITION IN VERTICAL TO RTU CURB OPENING.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#5", "attribute": "clearance_requirement", "original_value": "Limit of 10' radius from any outdoor air intake.", "source_text": "LIMIT OF 10' RADIUS FROM ANY OUTDOOR AIR INTAKE.", "normalized_value": "120", "normalized_unit": "in", "normalized_attribute": "radius", "normalization_notes": "Converted 10 feet to 120 inches.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M02.02#6", "attribute": "accessory", "original_value": "Economizer Hood", "source_text": "ECONOMIZER HOOD.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#0", "attribute": "max_length", "original_value": "6'-0\"", "source_text": "INSULATED FLEXIBLE DUCT MAX. LENGTH 6'-0\"", "normalized_value": "72", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Converted 6 feet 0 inches to 72 inches.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#1", "attribute": "sizing_criteria", "original_value": "Same as scheduled neck connection of diffuser", "source_text": "DUCT SIZE IS SAME AS SCHEDULED NECK CONNECTION OF DIFFUSER", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#2", "attribute": "general_note", "original_value": "The flanged bellmouth fitting must be provided, where height of duct shown on plans can accommodate the fitting. Only where the duct height does not allow the installation of bellmouth fitting, provide straight fitting.", "source_text": "THE FLANGED BELLMOUTH FITTING MUST BE PROVIDED, WHERE HEIGHT OF DUCT SHOWN ON PLANS CAN ACCOMMODATE THE FITTING. ONLY WHERE THE DUCT HEIGHT DOES NOT ALLOW THE INSTALLATION OF BELLMOUTH FITTING, PROVIDE STRAIGHT FITTING.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#3", "attribute": "slope", "original_value": "1/8\" per foot", "source_text": "PITCH DOWN TOWARD DRAIN MIN. 1/8\" PER FOOT", "normalized_value": "1:96", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Converted slope to a unitless ratio (1/8 inch rise per 12 inches run).", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#4", "attribute": "sizing_criteria", "original_value": "Not less than one pipe size large than the drain pan connection size", "source_text": "DRAIN LINE SHALL BE NOT LESS THAN ONE PIPE SIZE LARGE THAN THE DRAIN PAN CONNECTION SIZE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#5", "attribute": "vent_location", "original_value": "Top of vent nipple above top of AHU drain pan", "source_text": "TOP OF VENT NIPPLE ABOVE TOP OF AHU DRAIN PAN", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#6", "attribute": "termination_point", "original_value": "Sanitary sewer", "source_text": "NOTE: CONDENSATE DRAIN TO TERMINATE TO SANITARY SEWER.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#7", "attribute": "pipe_size", "original_value": "3/4\"", "source_text": "3/4\" CONDENSATE PIPING AT 1/8\" PER FOOT SLOPE", "normalized_value": "0.75", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Converted fraction to decimal. Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#8", "attribute": "slope", "original_value": "1/8\" per foot", "source_text": "3/4\" CONDENSATE PIPING AT 1/8\" PER FOOT SLOPE", "normalized_value": "1:96", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Converted slope to a unitless ratio (1/8 inch rise per 12 inches run).", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#9", "attribute": "scope_supply", "original_value": "Gasketed and insulated roof curb supplied with unit", "source_text": "GASKETED AND INSULATED ROOF CURB SUPPLIED WITH UNIT RE: ARCH.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#10", "attribute": "framing_requirement", "original_value": "Angle iron frame all around roof opening", "source_text": "ANGLE IRON FRAME ALL AROUND ROOF OPENING RE: STRUCTURAL.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#11", "attribute": "smoke_detector_type", "original_value": "Ionization-type smoke detector as required", "source_text": "IONIZATION-TYPE SMOKE DETECTOR AS REQUIRED.", "normalized_value": "Ionization-type", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted detector type from descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#12", "attribute": "opening_protection", "original_value": "Cover opening with 1/2\" galvanized steel mesh screen", "source_text": "RETURN AIR DUCT. COVER OPENING WITH 1/2\" GALVANIZED STEEL MESH SCREEN.", "normalized_value": "0.5", "normalized_unit": "in", "normalized_attribute": "mesh_size", "normalization_notes": "Converted fraction to decimal. Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#13", "attribute": "vibration_isolation", "original_value": "Spring isolations bolt to unit & plate", "source_text": "SPRING ISOLATIONS BOLT TO UNIT & PLATE", "normalized_value": "Spring", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Extracted isolator type from text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#14", "attribute": "roofing_material", "original_value": "E.P.D.M. Membrane", "source_text": "E.P.D.M. MEMBRANE", "normalized_value": "EPDM", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized abbreviation by removing periods.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#15", "attribute": "fastener_spacing", "original_value": "12\" O.C.", "source_text": "FASTENING PLATE FASTENED 12\" O.C.", "normalized_value": "12", "normalized_unit": "in", "normalized_attribute": "spacing", "normalization_notes": "O.C. means 'On Center'. Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "M03.01#16", "attribute": "vertical_clearance", "original_value": "12\"", "source_text": "MINIMUM 12\"", "normalized_value": "12", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Unit from double prime (\").", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#0", "attribute": "general_note", "original_value": "2023 NEC, 2021 IBC, 2021 IECC, NFPA, ETC.", "source_text": "CONTRACTOR SHALL CONFORM TO ALL LOCAL, STATE, AND APPLICABLE CODES, 2023 NEC, 2021 IBC, 2021 IECC, NFPA, ETC., AND ALL OTHER LOCAL CODES AND AMENDMENTS WHERE THERE ARE CONFLICTS BETWEEN CODES, STANDARDS AND DRAWINGS AND SPECIFICATIONS ARISE, THE MORE STRINGENT SHALL APPLY.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "List of applicable codes.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#1", "attribute": "material_rating", "original_value": "25/50 Flame and Smoke hazard ratings per ASTM E-84, NFPA 255 and UL 723", "source_text": "ALL PRODUCTS SHALL COMPLY WITH 25/50 FLAME AND SMOKE HAZARD RATINGS PER ASTM E-84, NFPA 255 AND UL 723.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#2", "attribute": "penetration_sealing", "original_value": "Penetrations between non-conditioned and conditioned spaces shall be sealed", "source_text": "CONNECTIONS PENETRATIONS BETWEEN NON-CONDITIONED AND CONDITIONED SPACES SHALL BE SEALED TO ELIMINATE MOISTURE INFILTRATION.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.01#3", "attribute": "housekeeping_pad_dimensions", "original_value": "Min 4\" high pad that extends a min of 4\" around the equipment", "source_text": "ALL ELECTRICAL EQUIPMENT SHALL BE PROVIDED WITH A MIN. 4\" HOUSEKEEPING PAD THAT EXTENDS A MINIMUM OF 4\" ALL THE WAY AROUND THE EQUIPMENT.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value contains multiple dimensions (height and clearance) that cannot be combined into a single normalized value.", "source_text_preserved": true, "normalization_confidence": "low"}, {"assertion_id": "E01.02#0", "attribute": "Base Voltage", "original_value": "480", "source_text": "Parameter: Base Voltage, Symbol: VB=, Value: 480, Units: V", "normalized_value": "480", "normalized_unit": "V", "normalized_attribute": null, "normalization_notes": "Unit provided in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#1", "attribute": "Phases", "original_value": "3", "source_text": "Parameter: Phases, Symbol: P=, Value: .3, Units: phi", "normalized_value": "3", "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Normalized based on the extracted value '3', which is assumed correct for electrical phases, despite the source text showing '.3'.", "source_text_preserved": true, "normalization_confidence": "medium"}, {"assertion_id": "E01.02#2", "attribute": "Utility Fault", "original_value": "35400", "source_text": "Parameter: Utility Fault, Symbol: ISC=, Value: 35400, Units: A", "normalized_value": "35400", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "Unit provided in source text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#3", "attribute": "Base Total Power", "original_value": "500", "source_text": "Parameter: Base Total Power, Symbol: SB=, Value: 500, Units: KVA", "normalized_value": "500", "normalized_unit": "kVA", "normalized_attribute": null, "normalization_notes": "Unit provided in source text, normalized casing to 'kVA'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#4", "attribute": "general_note", "original_value": "Provide low-voltage dry-type transformers that meet the minimum efficiency requirements of 2021 IECC table C405.8.", "source_text": "1. PROVIDE LOW-VOLTAGE DRY-TYPE TRANSFORMERS THAT MEET THE MINIMUM EFFICIENCY REQUIREMENTS OF 2021 IECC TABLE C405.8.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#5", "attribute": "general_note", "original_value": "Provide as-built drawings for electrical power systems to the building owner.", "source_text": "4. CONTRACTOR SHALL PROVIDE AS-BUILT DRAWINGS FOR ELECTRICAL POWER SYSTEMS TO THE BUILDING OWNER.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#6", "attribute": "schedule_entry", "original_value": "Type L-4 is a 2'x2' recessed indirect light fixture.", "source_text": "TYPE: L-4, MANUFACTURER: LITHONIA, CATALOG NUMBER: 2BLT2-33L-ADSM-EZ1-LP840, DESCRIPTION: 2'x2' RECESSED INDIRECT, 4000K, 90+CRI, ACRYLIC SHIELDING, WHITE FINISH, MOUNTING: RECESSED", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text which includes a dimension (2'x2'). Not safe to normalize part of the description.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#7", "attribute": "schedule_entry", "original_value": "Type L-4E is same as L-4 and includes an emergency battery backup.", "source_text": "TYPE: L-4E, CATALOG NUMBER: 2BLT2-33L-ADSM-EZ1-LP840-E10WLCP, NOTES: TYPE L-4E SAME EXCEPT PROVIDE WITH EMERGENCY BATTERY BACKUP.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#8", "attribute": "mounting_height_AFF", "original_value": "5'-5\"", "source_text": "TYPE: L-5, DESCRIPTION: 12\" PENDANT, MOUNTING: PENDANT, NOTES: PENDANT 5'-5\" AFF", "normalized_value": "65", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Converted 5 feet 5 inches to 65 inches. AFF means Above Finished Floor.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#9", "attribute": "mounting_height_AFF", "original_value": "5'-5\"", "source_text": "TYPE: L-6, DESCRIPTION: 16\" PENDANT, MOUNTING: PENDANT, NOTES: PENDANT 5'-5\" AFF", "normalized_value": "65", "normalized_unit": "in", "normalized_attribute": null, "normalization_notes": "Converted 5 feet 5 inches to 65 inches. AFF means Above Finished Floor.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#10", "attribute": "schedule_entry", "original_value": "Type X is a LED exit sign with Nickel Cadmium battery and self diagnostics.", "source_text": "TYPE: X, DESCRIPTION: LED EXIT SIGN WITH NICKEL CADMIUM BATTERY AND SELF DIAGNOSTICS", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#11", "attribute": "note", "original_value": "Emergency egress operation in fixtures shall provide minimum 400 lumens for minimum 90 minutes.", "source_text": "1. EMERGENCY EGRESS OPERATION IN FIXTURES SHALL PROVIDE MINIMUM 400 LUMENS FOR MINIMUM 90 MINUTES", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Value contains multiple distinct measures (lumens and minutes) that cannot be combined into a single normalized value.", "source_text_preserved": true, "normalization_confidence": "low"}, {"assertion_id": "E01.02#12", "attribute": "connected_load", "original_value": "5", "source_text": "DESCRIPTION: WATER HEATING, CONNECTED (KVA): 5, DEMAND (KVA): 5", "normalized_value": "5", "normalized_unit": "kVA", "normalized_attribute": null, "normalization_notes": "Unit 'kVA' from 'CONNECTED (KVA)' in source text. Normalized casing.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#13", "attribute": "connected_load", "original_value": "21", "source_text": "DESCRIPTION: HVAC HEATING *, CONNECTED (KVA): 21, DEMAND (KVA): 21", "normalized_value": "21", "normalized_unit": "kVA", "normalized_attribute": null, "normalization_notes": "Unit 'kVA' from 'CONNECTED (KVA)' in source text. Normalized casing.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#14", "attribute": "connected_load", "original_value": "<17", "source_text": "DESCRIPTION: HVAC COOLING *, CONNECTED (KVA): <17, DEMAND (KVA): <17", "normalized_value": "<17", "normalized_unit": "kVA", "normalized_attribute": null, "normalization_notes": "Unit 'kVA' from 'CONNECTED (KVA)' in source text. Preserved operator. Normalized casing.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#15", "attribute": "service_size", "original_value": "100", "source_text": "RECOMMENDED SERVICE SIZE AT 480V 3P 4W = 100 AMPS", "normalized_value": "100", "normalized_unit": "A", "normalized_attribute": null, "normalization_notes": "Unit 'AMPS' from source text normalized to 'A'.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#16", "attribute": "equipment_location", "original_value": "LOUNGE", "source_text": "PANEL NAME H, LOCATION LOUNGE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": "Original value is a location name.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#17", "attribute": "mounting", "original_value": "SURFACE", "source_text": "MOUNTING SURFACE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Original value is a standard categorical value.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E01.02#18", "attribute": "equipment_location", "original_value": "LOUNGE", "source_text": "PANEL NAME L, LOCATION LOUNGE", "normalized_value": null, "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": "Original value is a location name.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E02.01#0", "attribute": "general_note", "original_value": "Coordinate final receptacle/data locations with architect/owner prior to rough-in.", "source_text": "1. COORDINATE FINAL RECEPTACLE/DATA LOCATIONS WITH ARCHITECT/OWNER PRIOR TO ROUGH-IN.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E02.01#1", "attribute": "general_note", "original_value": "Coordinate final floorbox locations with architect/owner prior to rough-in.", "source_text": "2. COORDINATE FINAL FLOORBOX LOCATIONS WITH ARCHITECT/OWNER PRIOR TO ROUGH-IN.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E02.01#2", "attribute": "general_note", "original_value": "Refer to architectural drawings for dimensional locations of all outlets.", "source_text": "3. REFER TO ARCHITECTURAL DRAWINGS FOR DIMENSIONAL LOCATIONS OF ALL OUTLETS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E02.01#3", "attribute": "keynote_assertion", "original_value": "Provide combination (power/data) Hubbell Systemone fully recessed floorbox #CFB4G25 with flush round cover (finish approved by architect).", "source_text": "1 PROVIDE COMBINATION (POWER/DATA) HUBBELL SYSTEMONE FULLY RECESSED FLOORBOX #CFB4G25 WITH FLUSH ROUND COVER (FINISH APPROVED BY ARCHITECT). PROVIDE WITH (1) DUPLEX RECEPTACLE. COORDINATE CONCRETE DEPTH REQUIREMENTS WITH G.C. COORDINATE FLOOR BOX ACCESSORIES WITH OWNER.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text with a product model number.", "source_text_preserved": true, "normalization_confidence": "high"}, {"assertion_id": "E02.01#4", "attribute": "keynote_assertion", "original_value": "Provide (power) Hubbell Systemone fully recessed floorbox #PFBI with flush round cover (finish approved by architect).", "source_text": "2 PROVIDE (POWER) HUBBELL SYSTEMONE FULLY RECESSED FLOORBOX #PFBI WITH FLUSH ROUND COVER (FINISH APPROVED BY ARCHITECT). PROVIDE WITH (1) DUPLEX RECEPTACLE. COORDINATE CONCRETE DEPTH REQUIREMENTS WITH G.C. COORDINATE FLOOR BOX ACCESSORIES WITH OWNER.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Descriptive text with a product model number.", "source_text_preserved": true, "normalization_confidence": "high"}]