Files
Conflict_Checker/backend/.llm_cache/cb9c0fab25d4b49368412b625ab9d8c633f2190c988ea8dd0556ec37738a5442.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
22 KiB
JSON

[{"assertion_id": "A23.01#11", "attribute": "keynote_assertion", "value": "Ceiling Tile Grid C4 A: Armstrong ULTIMA 1910, 24\" X 24\" X 3/4\", Fire Rating Class A", "source_text": "C4 A CEILING TILE GRID MANUF: ARMSTRONG PRODUCT: ULTIMA 1910 SURFACE: FIRE RATING CLASS A COLOR: WHITE SIZE: 24\" X 24\" X 3/4\" GRID: PRELUDE XL 15/16\" EXPOSED TEE IN WHITE EDGE PROFILE: 15/16\" SQUARE LAY IN LOCATION: THROUGHOUT ENTIRE SPACE", "normalized_value": {"manufacturer": "ARMSTRONG", "product": "ULTIMA 1910", "size": {"width": 24, "length": 24, "thickness": 0.75}, "fire_rating": "Class A"}, "normalized_unit": {"size": "inches"}, "normalized_attribute": "product_specification", "normalization_notes": "Parsed from keynote text. Size converted from string to separate dimensions. 3/4\" converted to 0.75.", "normalization_confidence": "high"}, {"assertion_id": "A23.01#12", "attribute": "keynote_assertion", "value": "Carpet Tile CPT 1: Shaw NEXT GEN 2.0, 24\" X 24\", Ashlar stack pattern 50% offset", "source_text": "CPT 1 CARPET TILE MANUF: SHAW PRODUCT: NEXT GEN 2.0, VERIZON STANDARD STYLE: 42JCP SIZE: 24\" X 24\" INSTALLATION: ASHLAR STACK PATTERN 50% OFFSET", "normalized_value": {"manufacturer": "SHAW", "product": "NEXT GEN 2.0", "size": {"width": 24, "length": 24}, "installation": "ASHLAR STACK PATTERN 50% OFFSET"}, "normalized_unit": {"size": "inches"}, "normalized_attribute": "product_specification", "normalization_notes": "Parsed from keynote text. Size converted from string to separate dimensions.", "normalization_confidence": "high"}, {"assertion_id": "A23.01#15", "attribute": "keynote_assertion", "value": "Polished Concrete PC 1: Grade 2 (Medium Exposed), with a Class 1 (Matte) Finish", "source_text": "PC 1 POLISHED CONCRETE GRADE: 2 (MEDIUMS EXPOSED), WITH A CLASS 1 (MATTE) FINISH", "normalized_value": {"grade": "2 (MEDIUMS EXPOSED)", "finish": "Class 1 (Matte)"}, "normalized_unit": null, "normalized_attribute": "finish_properties", "normalization_notes": "Parsed from keynote text.", "normalization_confidence": "high"}, {"assertion_id": "A23.01#16", "attribute": "slip_resistance", "value": ">= 0.50 SCOF", "source_text": "SLIP RESISTANCE OF FLOOR TO BE NO LESS THAN A 0.50 STATIC COEFFICIENT OF FRICTION (SCOF)", "normalized_value": {"operator": ">=", "value": 0.5}, "normalized_unit": "SCOF", "normalized_attribute": "slip_resistance", "normalization_notes": "Parsed from inequality string a structured object.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#0", "attribute": "general_note", "value": "Refer to project general notes on sheet G11.01.", "source_text": "A. REFER TO PROJECT GENERAL NOTES ON SHEET G11.01.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#1", "attribute": "general_note", "value": "Installation of all Cellular Sales / Verizon display fixtures shall be performed by a qualified Cellular Sales / Verizon vendor.", "source_text": "B. INSTALLATION OF ALL CELLULAR SALES / VERIZON DISPLAY FIXTURES SHALL BE PERFORMED BY A QUALIFIED CELLULAR SALES / VERIZON VENDOR.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#2", "attribute": "general_note", "value": "Contractor must coordinate with Cellular Sales / Verizon for installation date.", "source_text": "C. CONTRACTOR MUST COORDINATE WITH CELLULAR SALES / VERIZON FOR INSTALLATION DATE.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#3", "attribute": "general_note", "value": "Contractor's electrician must be available during installation to install electrical connections as needed.", "source_text": "D. CONTRACTOR'S ELECTRICIAN MUST BE AVAILABLE DURING INSTALLATION TO INSTALL ELECTRICAL CONNECTIONS AS NEEDED.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#4", "attribute": "detail_callout", "value": "Refer to detail 3/A92.01 for foundation pour back detail where existing slab is cut.", "source_text": "G. REFER TO DETAIL 3/A92.01 FOR FOUNDATION POUR BACK DETAIL WHERE EXISTING SLAB IS CUT.", "normalized_value": {"detail_number": "3", "sheet_number": "A92.01"}, "normalized_unit": null, "normalized_attribute": "detail_callout", "normalization_notes": "Parsed from reference text.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#5", "attribute": "general_note", "value": "Power outlets and data ports shown on this plan is for reference and coordination purposes only. Refer to electrical drawings for all power and data outlet information.", "source_text": "NOTE: POWER OUTLETS AND DATA PORTS SHOWN ON THIS PLAN IS FOR REFERENCE AND COORDINATION PURPOSES ONLY. REFER TO ELECTRICAL DRAWINGS FOR ALL POWER AND DATA OUTLET INFORMATION.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#6", "attribute": "room_name", "value": "EXISTING FIRE RISER ROOM", "source_text": "EXISTING FIRE RISER ROOM", "normalized_value": "EXISTING FIRE RISER ROOM", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#7", "attribute": "room_name", "value": "CORRIDOR", "source_text": "CORRIDOR", "normalized_value": "CORRIDOR", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#8", "attribute": "room_name", "value": "INVENTORY", "source_text": "INVENTORY", "normalized_value": "INVENTORY", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#9", "attribute": "room_name", "value": "LOUNGE", "source_text": "LOUNGE", "normalized_value": "LOUNGE", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#10", "attribute": "room_name", "value": "MEN'S RESTROOM", "source_text": "MEN'S RESTROOM", "normalized_value": "MEN'S RESTROOM", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#11", "attribute": "room_name", "value": "WOMEN'S RESTROOM", "source_text": "WOMEN'S RESTROOM", "normalized_value": "WOMEN'S RESTROOM", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#12", "attribute": "room_name", "value": "MANAGER'S OFFICE", "source_text": "MANAGER'S OFFICE", "normalized_value": "MANAGER'S OFFICE", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#13", "attribute": "room_name", "value": "CLEANING SUPPLIES/STORAGE", "source_text": "CLEANING SUPPLIES/STORAGE", "normalized_value": "CLEANING SUPPLIES/STORAGE", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#14", "attribute": "room_name", "value": "SALES AREA", "source_text": "SALES AREA", "normalized_value": "SALES AREA", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A24.01#15", "attribute": "keynote_assertion", "value": "Coordinate with tenant for plywood backing for mounting network rack.", "source_text": "COORDINATE WITH TENANT FOR PLYWOOD BACKING FOR MOUNTING NETWORK RACK", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#16", "attribute": "keynote_assertion", "value": "Provide (3) 3\" conduits from directly above the network rack into the sales ceiling plenum area for data cabling - field coordinate.", "source_text": "PROVIDE (3) 3\" CONDUITS FROM DIRECTLY ABOVE THE NETWORK RACK INTO THE SALES CEILING PLENUM AREA FOR DATA CABLING - FIELD COORDINATE.", "normalized_value": {"quantity": 3, "diameter": 3}, "normalized_unit": "inches", "normalized_attribute": "conduit_properties", "normalization_notes": "Parsed from keynote text.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#17", "attribute": "keynote_assertion", "value": "(2) 20A, outlets at 60\" A.F.F.", "source_text": "(2) 20A, OUTLETS AT 60\" A.F.F.", "normalized_value": {"quantity": 2, "amperage": 20, "mounting_height": 60}, "normalized_unit": {"amperage": "A", "mounting_height": "inches"}, "normalized_attribute": "outlet_properties", "normalization_notes": "Parsed from keynote text. Height is Above Finished Floor (A.F.F.).", "normalization_confidence": "high"}, {"assertion_id": "A24.01#18", "attribute": "keynote_assertion", "value": "(1) 10 gauge ground block with ground wire connected to the panel ground (required for warranty).", "source_text": "(1) 10 GAUGE GROUND BLOCK WITH GROUND WIRE CONNECTED TO THE PANEL GROUND (REQUIRED FOR WARRANTY)", "normalized_value": {"quantity": 1, "gauge": 10}, "normalized_unit": "gauge", "normalized_attribute": "ground_block_properties", "normalization_notes": "Parsed from keynote text.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#19", "attribute": "equipment_elev", "value": "74\" TO BOTTOM", "source_text": "RACK SYSTEM ABOVE SAFE @ -74\" TO BOTTOM", "normalized_value": 74, "normalized_unit": "inches", "normalized_attribute": "mounting_height_to_bottom", "normalization_notes": "Distance is to the bottom of the equipment.", "normalization_confidence": "high"}, {"assertion_id": "A24.01#20", "attribute": "equipment_location", "value": "PANEL", "source_text": "PANEL", "normalized_value": "PANEL", "normalized_unit": null, "normalized_attribute": "equipment_location", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A25.01#0", "attribute": "scale", "value": "1/4\" = 1'-0\"", "source_text": "ROOF PLAN\n1/4\" = 1'-0\"", "normalized_value": "1:48", "normalized_unit": null, "normalized_attribute": "scale", "normalization_notes": "Normalized from 1/4 inch = 1 foot (12 inches).", "normalization_confidence": "high"}, {"assertion_id": "A25.01#1", "attribute": "coordination_instruction", "value": "CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "source_text": "B. CONTRACTOR TO REFER TO MECHANICAL DRAWINGS FOR ALL ROOFTOP UNIT REQUIREMENTS, DETAILS, AND SPECIFICATIONS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A25.01#2", "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.", "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.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A25.01#3", "attribute": "roofing_requirement", "value": "REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "source_text": "D. REPAIR AND SEAL ROOF IF REQUIRED AROUND ALL NEW PENETRATIONS AND EQUIPMENT, PER MANUFACTURER'S RECOMMENDATIONS.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A25.01#4", "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.", "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.", "normalized_value": null, "normalized_unit": null, "normalized_attribute": null, "normalization_notes": "Textual note, no normalization applied.", "normalization_confidence": "high"}, {"assertion_id": "A25.01#5", "attribute": "clearance", "value": "6'-9\"", "source_text": "6'-9\"", "normalized_value": 81, "normalized_unit": "inches", "normalized_attribute": "clearance", "normalization_notes": "6 feet * 12 inches/foot + 9 inches = 81 inches", "normalization_confidence": "high"}, {"assertion_id": "A25.01#6", "attribute": "clearance", "value": "3'-3 1/4\"", "source_text": "3'-3 1/4\"", "normalized_value": 39.25, "normalized_unit": "inches", "normalized_attribute": "clearance", "normalization_notes": "3 feet * 12 inches/foot + 3 + 1/4 inches = 39.25 inches", "normalization_confidence": "high"}, {"assertion_id": "A25.01#7", "attribute": "scale", "value": "6\" = 1'-0\"", "source_text": "ROOF CURB DETAIL\n6\" = 1'-0\"", "normalized_value": "1:2", "normalized_unit": null, "normalized_attribute": "scale", "normalization_notes": "Normalized from 6 inches = 1 foot (12 inches).", "normalization_confidence": "high"}, {"assertion_id": "A51.01#0", "attribute": "room_name", "value": "MEN'S RESTROOM", "source_text": "MEN'S RESTROOM", "normalized_value": "MEN'S RESTROOM", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A51.01#1", "attribute": "room_number", "value": "103", "source_text": "103", "normalized_value": "103", "normalized_unit": null, "normalized_attribute": "room_number", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A51.01#2", "attribute": "room_name", "value": "WOMEN'S / RESTROOM", "source_text": "WOMEN'S / RESTROOM", "normalized_value": "WOMEN'S RESTROOM", "normalized_unit": null, "normalized_attribute": "room_name", "normalization_notes": "Removed slash from room name.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#3", "attribute": "room_number", "value": "102", "source_text": "102", "normalized_value": "102", "normalized_unit": null, "normalized_attribute": "room_number", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "A51.01#5", "attribute": "fixture_location", "value": "Restrooms contain WC-1", "source_text": "WC-1", "normalized_value": "WC-1", "normalized_unit": null, "normalized_attribute": "fixture_tag", "normalization_notes": "Extracted fixture tag from value.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#6", "attribute": "fixture_location", "value": "Restrooms contain L-1", "source_text": "L-1", "normalized_value": "L-1", "normalized_unit": null, "normalized_attribute": "fixture_tag", "normalization_notes": "Extracted fixture tag from value.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#7", "attribute": "detail_callout", "value": "SEE G11.02", "source_text": "HANDICAPPED RESTROOM SIGNAGE (SEE G11.02)", "normalized_value": "G11.02", "normalized_unit": null, "normalized_attribute": "sheet_reference", "normalization_notes": "Extracted sheet reference from value.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#8", "attribute": "clearance", "value": "9", "source_text": "9\" MIN. TOE CLEAR", "normalized_value": {"min": 9}, "normalized_unit": "inches", "normalized_attribute": "toe_clearance", "normalization_notes": "Qualifier 'MIN.' from source text applied.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#9", "attribute": "clearance", "value": "6", "source_text": "6\" MAX. TOE CLEAR", "normalized_value": {"max": 6}, "normalized_unit": "inches", "normalized_attribute": "toe_clearance", "normalization_notes": "Qualifier 'MAX.' from source text applied.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#10", "attribute": "mounting_height", "value": "2'-5\" MIN.", "source_text": "2'-5\" MIN.", "normalized_value": {"min": 29}, "normalized_unit": "inches", "normalized_attribute": "mounting_height", "normalization_notes": "2 feet * 12 inches/foot + 5 inches = 29 inches. Specified as minimum.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#11", "attribute": "mounting_height", "value": "2'-10\" MAX.", "source_text": "2'-10\" MAX.", "normalized_value": {"max": 34}, "normalized_unit": "inches", "normalized_attribute": "mounting_height", "normalization_notes": "2 feet * 12 inches/foot + 10 inches = 34 inches. Specified as maximum.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#12", "attribute": "mounting_height", "value": "17\"-19\"", "source_text": "17\"-19\"", "normalized_value": {"min": 17, "max": 19}, "normalized_unit": "inches", "normalized_attribute": "mounting_height", "normalization_notes": "Parsed from dimensional range.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#13", "attribute": "mounting_height", "value": "33\"-36\"", "source_text": "33\"-36\"", "normalized_value": {"min": 33, "max": 36}, "normalized_unit": "inches", "normalized_attribute": "mounting_height", "normalization_notes": "Parsed from dimensional range.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#14", "attribute": "length", "value": "3'-6\" MIN.", "source_text": "3'-6\" MIN.", "normalized_value": {"min": 42}, "normalized_unit": "inches", "normalized_attribute": "length", "normalization_notes": "3 feet * 12 inches/foot + 6 inches = 42 inches. Specified as minimum.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#15", "attribute": "length", "value": "3'-4\"", "source_text": "3'-4\"", "normalized_value": 40, "normalized_unit": "inches", "normalized_attribute": "length", "normalization_notes": "3 feet * 12 inches/foot + 4 inches = 40 inches.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#16", "attribute": "location", "value": "7\"-9\"", "source_text": "7\"-9\"", "normalized_value": {"min": 7, "max": 9}, "normalized_unit": "inches", "normalized_attribute": "location", "normalization_notes": "Parsed from dimensional range.", "normalization_confidence": "high"}, {"assertion_id": "A51.01#17", "attribute": "overall_dim", "value": "3'-0\"", "source_text": "3'-0\"", "normalized_value": 36, "normalized_unit": "inches", "normalized_attribute": "overall_dim", "normalization_notes": "3 feet * 12 inches/foot = 36 inches.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#0", "attribute": "equipment_type", "value": "ROOFTOP A/C UNIT", "source_text": "DESCRIPTION ROOFTOP A/C UNIT", "normalized_value": "ROOFTOP A/C UNIT", "normalized_unit": null, "normalized_attribute": "equipment_type", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "M01.01#1", "attribute": "manufacturer", "value": "CARRIER", "source_text": "MFR. CARRIER", "normalized_value": "CARRIER", "normalized_unit": null, "normalized_attribute": "manufacturer", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "M01.01#2", "attribute": "model_number", "value": "50FE-M07", "source_text": "MODEL 50FE-M07", "normalized_value": "50FE-M07", "normalized_unit": null, "normalized_attribute": "model_number", "normalization_notes": null, "normalization_confidence": "high"}, {"assertion_id": "M01.01#3", "attribute": "weight", "value": "711", "source_text": "WEIGHT (LBS) 711", "normalized_value": 711, "normalized_unit": "lbs", "normalized_attribute": "weight", "normalization_notes": "Unit 'lbs' derived from source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#4", "attribute": "supply_airflow", "value": "2100", "source_text": "CFM 2100", "normalized_value": 2100, "normalized_unit": "CFM", "normalized_attribute": "supply_airflow", "normalization_notes": "Unit 'CFM' derived from source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#5", "attribute": "fan_horsepower", "value": "3.0", "source_text": "HP 3.0", "normalized_value": 3.0, "normalized_unit": "HP", "normalized_attribute": "fan_horsepower", "normalization_notes": "Unit 'HP' derived from source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#6", "attribute": "cooling_capacity_nominal", "value": "6.0", "source_text": "NOM TONS 6.0", "normalized_value": 6.0, "normalized_unit": "Tons", "normalized_attribute": "cooling_capacity_nominal", "normalization_notes": "Unit 'Tons' derived from source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#7", "attribute": "heating_capacity", "value": "10.6", "source_text": "ELEC KW 10.6", "normalized_value": 10.6, "normalized_unit": "kW", "normalized_attribute": "heating_capacity", "normalization_notes": "Unit 'kW' derived from source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#8", "attribute": "voltage", "value": "460", "source_text": "VOLT 460", "normalized_value": 460, "normalized_unit": "V", "normalized_attribute": "voltage", "normalization_notes": "Unit 'V' normalized from 'VOLT' in source text.", "normalization_confidence": "high"}, {"assertion_id": "M01.01#9", "attribute": "phase", "value": "3", "source_text": "PH 3", "normalized_value": 3, "normalized_unit": "phase", "normalized_attribute": "phase", "normalization_notes": "Unit 'phase' derived from 'PH' in source text.", "normalization_confidence": "high"}]