@@ -1675,7 +1675,9 @@ def _select_rsmeans_door_hit(rsmeans_lookup_data):
16751675 factors .setFeature ("door_side_seal_gwp_per_m_kgCO2eq" , float (np .mean (gwp_per_m_side_list )))
16761676
16771677 # 5G) SimulationControl bucket (results)
1678- results .setFeature ("door_enhancement_embodied_carbon_kg" , total_embodied_carbon )
1678+ # Canonical embodied carbon key used by wall/roof/window measures.
1679+ results .setFeature ("door_enhancement_embodied_carbon_kgCO2eq" , total_embodied_carbon )
1680+
16791681
16801682 if rsmeans_lookup is not None and rsmeans_lookup .get ("status" ) == "ok" :
16811683 rsmeans_summary_dict = rsmeans_lookup .get ("summary" , {})
@@ -1718,9 +1720,10 @@ def _select_rsmeans_door_hit(rsmeans_lookup_data):
17181720 factors .setFeature ("door_enhancement_overhead_profit_percent" , rsmeans_overhead_percent )
17191721
17201722 # -- SimulationControl (results) bucket: mirrored scalars + JSON --
1721- results .setFeature ("door_enhancement_total_material_cost_$" , rsmeans_material_cost )
1722- results .setFeature ("door_enhancement_total_overhead_profit_cost_$" , rsmeans_overhead_cost )
1723- results .setFeature ("door_enhancement_total_cost_with_overhead_profit_$" , rsmeans_total_cost )
1723+ results .setFeature ("door_enhancement_material_cost_$" , rsmeans_material_cost )
1724+ results .setFeature ("door_enhancement_labor_cost_$" , 0.0 ) # Custom costs assumed to already include labor
1725+ results .setFeature ("door_enhancement_overhead_profit_cost_$" , rsmeans_overhead_cost )
1726+ results .setFeature ("door_enhancement_total_cost_with_overhead_and_profit_$" , rsmeans_total_cost )
17241727
17251728 # Three JSON payloads for full diagnostic traceability (mirrors
17261729 # the three-payload pattern used by wall and roof insulation measures).
0 commit comments