May 18, 2026

Generated lab notebook from daily_summary, plan_journal, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.

🌅 Morning Cycle (5:46 AM) — iris-20260518-0543

Status

validated

Outcome score

7/10

Changed parameters

bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...

Result: Plan-window scorecard for the 2026-05-18 SUNRISE cold/wet suppression plan: score 73.7 with 75.0% both-axis compliance, temp compliance 75.3%, VPD compliance 84.3%, heat stress 0.22h, cold stress 0.90h, VPD-high 0.00h, VPD-low 0.05h, cost about USD 0.60 in the plan window. Full-day partial score by sunset improved to 87.0 with 88.6% both-axis compliance, temp 88.9%, VPD 99.5%, 0 dp-risk hours, and only 8 gal water. Hypothesis was mostly validated: conservative moisture posture kept VPD-low and condensation essentially at zero, while bias_cool +4 and gas staging bounded cold stress. Remaining score loss was mostly temp/cold-band alignment and gas cost from a cold saturated day, not VPD control failure.

Reflection

Validating previous cycle: iris-20260517-2014

Previous hypothesis: SUNSET overnight plan for Sunday 2026-05-17. Today’s score improved sharply versus the 7-day trend (80.1 vs 50.4) with both-axis compliance 76.6%, low cost USD 0.85 vs USD 4.79, and no dew-point risk. VPD-high was still the largest stress (3.23h), but the current and forecast risk has shifted: house VPD is now 0.50 kPa with RH 78% and a safe 7.1F dew margin, while the next 12h are cold, saturated, cloudy/rainy, and fall to 41-45F with outdoor VPD near 0.05-0.10 kPa. I evaluated the governing SUNRISE plan at 6/10 versus anchor 3; my grade is higher because the operator-level VPD-low, dew-risk, water, and VPD-high targets mostly succeeded, while the anchor penalized 171 guardrail events and the plan missed heat/compliance targets after actual solar exceeded forecast. Tonight I am suppressing mist/fog, shortening any sealed-mist residence, using wide VPD hysteresis, restoring safe nonzero timing/readback values where manual rows drifted, and using bias_cool +4 with modest heat/gas staging to prevent heater-to-vent chatter without raising crop bands.

{"conditions":{"outdoor_temp_peak_f":54.0,"outdoor_rh_min_pct":76.0,"solar_peak_w_m2":0,"cloud_cover_avg_pct":100,"notes":"Cold wet overnight: 54F at 21:00 falling to 41-42F by dawn, RH 76-95%, raw outdoor VPD 0.34 falling to 0.05 kPa, 100% cloud/rain. Current house is 66.9F, VPD 0.50 kPa, RH 78%, dew point 59.8F, dew margin 7.1F, IDLE. Main risks are VPD-low/condensation pressure and heater-to-vent oscillation, not dry-air VPD-high."},"stress_windows":[{"kind":"vpd_low","start":"2026-05-17T20:20:00-06:00","end":"2026-05-18T08:00:00-06:00","severity":"medium","mitigation":"Suppress mist/fog with engage 2.2-2.4, all 2.5, 60s gaps, 900s mist delays, fog_escalation 0.95-1.0, vpd_hysteresis 0.50, and short 120s sealed cap."},{"kind":"cold","start":"2026-05-18T01:00:00-06:00","end":"2026-05-18T08:00:00-06:00","severity":"medium","mitigation":"Use bias_heat 1.5-1.75, bias_cool 4.0, d_heat_stage_2 3.0, heat_hysteresis 1.5, and dwell gate on to use gas staging for sustained cold without heater-to-vent chatter."}],"rationale":[{"parameter":"bias_cool","old_value":3.5,"new_value":4.0,"forecast_anchor":"Forecast falls below 45F after 03:00 with heating likely; high-confidence lessons use +3 to +4 to prevent heater-to-vent oscillation.","expected_effect":"Keep cold stress under 1h overnight and avoid vent dumps after heater overshoot."},{"parameter":"bias_heat","old_value":0.75,"new_value":1.5,"forecast_anchor":"Cold wet night reaches 41-42F with rain/high RH; use modest warmth rather than raising crop bands.","expected_effect":"Hold stable 63-66F greenhouse and keep dew margin above 5F with gas/slab support."},{"parameter":"d_heat_stage_2","old_value":5.0,"new_value":3.0,"forecast_anchor":"Sustained <45F period from about 03:00-08:00 validates the heating lesson favoring gas for real cold.","expected_effect":"Shift sustained cold support to gas staging and avoid excessive electric-only runtime."},{"parameter":"mister_engage_kpa","old_value":1.3,"new_value":2.2,"forecast_anchor":"Current VPD is 0.50 and forecast outdoor VPD collapses to 0.05-0.10; retrieved lessons say avoid mist until live VPD actually rises.","expected_effect":"Prevent new VPD-low and keep mist water near zero overnight."},{"parameter":"mister_all_kpa","old_value":1.5,"new_value":2.5,"forecast_anchor":"No dry-air window overnight; all-zone mist should be effectively unavailable unless an unexpected VPD-high event occurs.","expected_effect":"Avoid over-humidifying the cool house."},{"parameter":"fog_escalation_kpa","old_value":1.0,"new_value":1.0,"forecast_anchor":"Fog is blocked overnight and conditions are saturated; conservative fog posture should persist until a live daytime dry ramp is observed.","expected_effect":"No unnecessary fog/condensation pressure overnight."},{"parameter":"mist_max_closed_vent_s","old_value":120.0,"new_value":120.0,"forecast_anchor":"Dew margin is safe but forecast RH is 90-95%; keep sealed-mist residence short if it is ever entered.","expected_effect":"Keep dp_risk_hours at 0."},{"parameter":"vpd_hysteresis","old_value":0.5,"new_value":0.5,"forecast_anchor":"Cool wet night with localized VPD spread and likely low-band edge behavior; preserve wide deadband.","expected_effect":"Reduce humidity/dehum oscillation and false mist starts."},{"parameter":"heat_hysteresis","old_value":0.0,"new_value":1.5,"forecast_anchor":"Current readback showed a manual zero row; safety lesson forbids zero timers/rails and prior plan used nonzero heat hysteresis.","expected_effect":"Restore stable heater clearing behavior and prevent rapid heat cycling."}]}

Result: Plan-window scorecard for the 2026-05-18 SUNRISE cold/wet suppression plan: score 73.7 with 75.0% both-axis compliance, temp compliance 75.3%, VPD compliance 84.3%, heat stress 0.22h, cold stress 0.90h, VPD-high 0.00h, VPD-low 0.05h, cost about USD 0.60 in the plan window. Full-day partial score by sunset improved to 87.0 with 88.6% both-axis compliance, temp 88.9%, VPD 99.5%, 0 dp-risk hours, and only 8 gal water. Hypothesis was mostly validated: conservative moisture posture kept VPD-low and condensation essentially at zero, while bias_cool +4 and gas staging bounded cold stress. Remaining score loss was mostly temp/cold-band alignment and gas cost from a cold saturated day, not VPD control failure. Score: 7/10

New finding: Cold wet overcast days with outdoor VPD near 0.1-0.3 kPa validate high moisture thresholds, conservative fog escalation, wide VPD hysteresis, short sealed-mist residence, and bias_cool +4 with gas staging; success should be judged by VPD-low and dp-risk avoidance plus bounded cold stress rather than water use alone. → Added to Lessons Learned

Hypothesis

Conditions: Cold wet overcast day: outdoor 38-44F, RH 85-100%, raw outdoor VPD 0.00-0.13 kPa, rain probability high through afternoon, and current house is 64.5F, VPD 0.48 kPa, RH 77%, dew margin 7.4F, IDLE with heat1 on. Primary risks are VPD-low/condensation pressure and heater-to-vent/heat overshoot, not dry-air VPD-high. | outdoor peak: 44.0, RH min: 85.0, solar peak: 294.0, cloud cover: 96.0 | stress windows: vpd_low 2026-05-18T05:45:00-06:00-2026-05-18T23:00:00-06:00 medium; cold 2026-05-18T05:45:00-06:00-2026-05-18T23:00:00-06:00 medium; heat 2026-05-18T10:30:00-06:00-2026-05-18T15:30:00-06:00 low Testing: All-day cold/wet suppression with daytime bias_heat trim: test whether high moisture thresholds plus bias_cool +4 and gas staging keep VPD-low/dp-risk at zero while reducing heat overshoot versus the overnight posture. Expected outcome: By tonight: planner score >80, both-axis compliance >80%, VPD compliance >95%, VPD-low 0h, dp-risk 0h, cold stress <1.5h, heat stress <1.0h, mister/fog water near zero, and total daily cost below the 7-day average.

Conditions (structured)

Outdoor peak

44.0°F

RH minimum

85.0%

Solar peak

294.0 W/m²

Cloud average

96.0%

Cold wet overcast day: outdoor 38-44F, RH 85-100%, raw outdoor VPD 0.00-0.13 kPa, rain probability high through afternoon, and current house is 64.5F, VPD 0.48 kPa, RH 77%, dew margin 7.4F, IDLE with heat1 on. Primary risks are VPD-low/condensation pressure and heater-to-vent/heat overshoot, not dry-air VPD-high.

Expected stress windows

vpd_lowmedium · 2026-05-18T05:45:00-06:00 to 2026-05-18T23:00:00-06:00

Keep mister_engage_kpa 2.35-2.45, mister_all_kpa 2.5, 60s gaps, 900s mist delays, fog_escalation 1.0, vpd_hysteresis 0.50, and mist_max_closed_vent_s 120s.

coldmedium · 2026-05-18T05:45:00-06:00 to 2026-05-18T23:00:00-06:00

Use d_heat_stage_2 3.0, heat_hysteresis 1.5, dwell gate ON, and bias_cool +4.0; keep bias_heat modest during day and restore 1.75 in the evening as outdoor falls toward the high 30s.

heatlow · 2026-05-18T10:30:00-06:00 to 2026-05-18T15:30:00-06:00

Avoid over-driving heaters through the small solar/rainy midday window by trimming bias_heat to 1.25 while keeping wide cooling bias to prevent vent dumps.

Parameter rationale

bias_heat1.75 → 1.25; Cold but not drying day with only weak solar pulses; partial morning already shows some heat stress while crop-band morning cold scoring is structurally hard to eliminate.

Reduce heater overshoot/heat stress while keeping cold stress under about 1.5h using gas staging and slab retention.

bias_cool4.0 → 4.0; Forecast stays below 45F with heat demand likely; validated lessons use +3 to +4 to prevent heater-to-vent oscillation.

Prevent vent dumps after heater overshoot and keep cold stress bounded.

mister_engage_kpa2.4 → 2.4; Outdoor VPD remains near zero and indoor RH is already high; lesson 98 says high mist thresholds on cool high-RH days protect against VPD-low and condensation.

Keep VPD-low near 0h and misting water near zero unless an unexpected live VPD rise occurs.

fog_escalation_kpa1.0 → 1.0; Fog window exists during the day but forecast RH is saturated and fog is unsafe/unnecessary unless VPD unexpectedly rises far above band.

Avoid fog-driven condensation and keep dp_risk_hours at 0.

mist_max_closed_vent_s120.0 → 120.0; Dew margin is safe now but forecast outdoor RH is 85-100%; sealed-mist should not trap humid air for long if entered.

Maintain minimum dew margin above 5F.

sw_dwell_gate_enabled1.0 → 1.0; Recent equipment runtime showed many heat and vent/fan transitions; dwell gate has shipped and thermal relief preempts it.

Reduce ordinary mode churn without blocking safety or thermal-relief exits.

Setpoints

Monday May 18

Primary crop-band changes:

05:50hyst 0.5

Immediate sunrise cold/wet posture: suppress mist/fog, keep

08:30hyst 0.5

Morning rain block: outdoor VPD stays near zero; keep moistu

11:30hyst 0.5

Wet midday with possible small solar pulse: trim heat bias t

14:00hyst 0.5

Peak rain/cold period and forecast solar blip: remain humidi

18:30hyst 0.5

Evening cold returns with little solar: restore stronger hea

22:00hyst 0.5

Cold saturated overnight handoff: continue gas-friendly heat

Tactical tunable changes:

05:50d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

Immediate sunrise cold/wet posture: suppress mist/fog, keep

08:30d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

Morning rain block: outdoor VPD stays near zero; keep moistu

11:30d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

Wet midday with possible small solar pulse: trim heat bias t

14:00d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2

Peak rain/cold period and forecast solar blip: remain humidi

18:30d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

Evening cold returns with little solar: restore stronger hea

22:00d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

Cold saturated overnight handoff: continue gas-friendly heat

Changed secondary parameters:

05:50bias_cool

initial 4

05:50bias_heat

initial 1.5

05:50d_heat_stage_2

initial 3

05:50dwell_gate_ms

initial 300000

05:50enthalpy_close

initial 1

05:50enthalpy_open

initial -2

05:50fog_escalation_kpa

initial 1

05:50heat_hysteresis

initial 1.5

05:50min_fog_off_s

initial 180

05:50min_fog_on_s

initial 45

05:50min_heat_off_s

initial 180

05:50min_heat_on_s

initial 120

05:50min_vent_off_s

initial 60

05:50min_vent_on_s

initial 60

05:50mist_backoff_s

initial 2400

05:50mist_max_closed_vent_s

initial 120

05:50mist_thermal_relief_s

initial 90

05:50mister_all_delay_s

initial 900

05:50mister_engage_delay_s

initial 900

05:50mister_water_budget_gal

initial 600

05:50outdoor_staleness_max_s

initial 600

05:50sw_dwell_gate_enabled

initial 1

05:50sw_fog_closes_vent

initial 1

05:50sw_fsm_controller_enabled

initial 1

05:50sw_mister_closes_vent

initial 1

05:50sw_summer_vent_enabled

initial 1

05:50temp_hysteresis

initial 2

05:50vent_prefer_dp_delta_f

initial 5

05:50vent_prefer_temp_delta_f

initial 5

05:50vpd_watch_dwell_s

initial 120

11:30bias_heat

1.5 → 1.25

18:30bias_heat

1.25 → 1.75

Full secondary parameter dump
05:50bias_cool

Value 4.

05:50bias_heat

Value 1.5.

05:50d_heat_stage_2

Value 3.

05:50dwell_gate_ms

Value 300000.

05:50enthalpy_close

Value 1.

05:50enthalpy_open

Value -2.

05:50fog_escalation_kpa

Value 1.

05:50heat_hysteresis

Value 1.5.

05:50min_fog_off_s

Value 180.

05:50min_fog_on_s

Value 45.

05:50min_heat_off_s

Value 180.

05:50min_heat_on_s

Value 120.

05:50min_vent_off_s

Value 60.

05:50min_vent_on_s

Value 60.

05:50mist_backoff_s

Value 2400.

05:50mist_max_closed_vent_s

Value 120.

05:50mist_thermal_relief_s

Value 90.

05:50mister_all_delay_s

Value 900.

05:50mister_engage_delay_s

Value 900.

05:50mister_water_budget_gal

Value 600.

05:50outdoor_staleness_max_s

Value 600.

05:50sw_dwell_gate_enabled

Value 1.

05:50sw_fog_closes_vent

Value 1.

05:50sw_fsm_controller_enabled

Value 1.

05:50sw_mister_closes_vent

Value 1.

05:50sw_summer_vent_enabled

Value 1.

05:50temp_hysteresis

Value 2.

05:50vent_prefer_dp_delta_f

Value 5.

05:50vent_prefer_temp_delta_f

Value 5.

05:50vpd_watch_dwell_s

Value 120.

08:30bias_cool

Value 4.

08:30bias_heat

Value 1.5.

08:30d_heat_stage_2

Value 3.

08:30dwell_gate_ms

Value 300000.

08:30enthalpy_close

Value 1.

08:30enthalpy_open

Value -2.

08:30fog_escalation_kpa

Value 1.

08:30heat_hysteresis

Value 1.5.

08:30min_fog_off_s

Value 180.

08:30min_fog_on_s

Value 45.

08:30min_heat_off_s

Value 180.

08:30min_heat_on_s

Value 120.

08:30min_vent_off_s

Value 60.

08:30min_vent_on_s

Value 60.

08:30mist_backoff_s

Value 2400.

08:30mist_max_closed_vent_s

Value 120.

08:30mist_thermal_relief_s

Value 90.

08:30mister_all_delay_s

Value 900.

08:30mister_engage_delay_s

Value 900.

08:30mister_water_budget_gal

Value 600.

08:30outdoor_staleness_max_s

Value 600.

08:30sw_dwell_gate_enabled

Value 1.

08:30sw_fog_closes_vent

Value 1.

08:30sw_fsm_controller_enabled

Value 1.

08:30sw_mister_closes_vent

Value 1.

08:30sw_summer_vent_enabled

Value 1.

08:30temp_hysteresis

Value 2.

08:30vent_prefer_dp_delta_f

Value 5.

08:30vent_prefer_temp_delta_f

Value 5.

08:30vpd_watch_dwell_s

Value 120.

11:30bias_cool

Value 4.

11:30bias_heat

Value 1.25.

11:30d_heat_stage_2

Value 3.

11:30dwell_gate_ms

Value 300000.

11:30enthalpy_close

Value 1.

11:30enthalpy_open

Value -2.

11:30fog_escalation_kpa

Value 1.

11:30heat_hysteresis

Value 1.5.

11:30min_fog_off_s

Value 180.

11:30min_fog_on_s

Value 45.

11:30min_heat_off_s

Value 180.

11:30min_heat_on_s

Value 120.

11:30min_vent_off_s

Value 60.

11:30min_vent_on_s

Value 60.

11:30mist_backoff_s

Value 2400.

11:30mist_max_closed_vent_s

Value 120.

11:30mist_thermal_relief_s

Value 90.

11:30mister_all_delay_s

Value 900.

11:30mister_engage_delay_s

Value 900.

11:30mister_water_budget_gal

Value 600.

11:30outdoor_staleness_max_s

Value 600.

11:30sw_dwell_gate_enabled

Value 1.

11:30sw_fog_closes_vent

Value 1.

11:30sw_fsm_controller_enabled

Value 1.

11:30sw_mister_closes_vent

Value 1.

11:30sw_summer_vent_enabled

Value 1.

11:30temp_hysteresis

Value 2.

11:30vent_prefer_dp_delta_f

Value 5.

11:30vent_prefer_temp_delta_f

Value 5.

11:30vpd_watch_dwell_s

Value 120.

14:00bias_cool

Value 4.

14:00bias_heat

Value 1.25.

14:00d_heat_stage_2

Value 3.

14:00dwell_gate_ms

Value 300000.

14:00enthalpy_close

Value 1.

14:00enthalpy_open

Value -2.

14:00fog_escalation_kpa

Value 1.

14:00heat_hysteresis

Value 1.5.

14:00min_fog_off_s

Value 180.

14:00min_fog_on_s

Value 45.

14:00min_heat_off_s

Value 180.

14:00min_heat_on_s

Value 120.

14:00min_vent_off_s

Value 60.

14:00min_vent_on_s

Value 60.

14:00mist_backoff_s

Value 2400.

14:00mist_max_closed_vent_s

Value 120.

14:00mist_thermal_relief_s

Value 90.

14:00mister_all_delay_s

Value 900.

14:00mister_engage_delay_s

Value 900.

14:00mister_water_budget_gal

Value 600.

14:00outdoor_staleness_max_s

Value 600.

14:00sw_dwell_gate_enabled

Value 1.

14:00sw_fog_closes_vent

Value 1.

14:00sw_fsm_controller_enabled

Value 1.

14:00sw_mister_closes_vent

Value 1.

14:00sw_summer_vent_enabled

Value 1.

14:00temp_hysteresis

Value 2.

14:00vent_prefer_dp_delta_f

Value 5.

14:00vent_prefer_temp_delta_f

Value 5.

14:00vpd_watch_dwell_s

Value 120.

18:30bias_cool

Value 4.

18:30bias_heat

Value 1.75.

18:30d_heat_stage_2

Value 3.

18:30dwell_gate_ms

Value 300000.

18:30enthalpy_close

Value 1.

18:30enthalpy_open

Value -2.

18:30fog_escalation_kpa

Value 1.

18:30heat_hysteresis

Value 1.5.

18:30min_fog_off_s

Value 180.

18:30min_fog_on_s

Value 45.

18:30min_heat_off_s

Value 180.

18:30min_heat_on_s

Value 120.

18:30min_vent_off_s

Value 60.

18:30min_vent_on_s

Value 60.

18:30mist_backoff_s

Value 2400.

18:30mist_max_closed_vent_s

Value 120.

18:30mist_thermal_relief_s

Value 90.

18:30mister_all_delay_s

Value 900.

18:30mister_engage_delay_s

Value 900.

18:30mister_water_budget_gal

Value 600.

18:30outdoor_staleness_max_s

Value 600.

18:30sw_dwell_gate_enabled

Value 1.

18:30sw_fog_closes_vent

Value 1.

18:30sw_fsm_controller_enabled

Value 1.

18:30sw_mister_closes_vent

Value 1.

18:30sw_summer_vent_enabled

Value 1.

18:30temp_hysteresis

Value 2.

18:30vent_prefer_dp_delta_f

Value 5.

18:30vent_prefer_temp_delta_f

Value 5.

18:30vpd_watch_dwell_s

Value 120.

22:00bias_cool

Value 4.

22:00bias_heat

Value 1.75.

22:00d_heat_stage_2

Value 3.

22:00dwell_gate_ms

Value 300000.

22:00enthalpy_close

Value 1.

22:00enthalpy_open

Value -2.

22:00fog_escalation_kpa

Value 1.

22:00heat_hysteresis

Value 1.5.

22:00min_fog_off_s

Value 180.

22:00min_fog_on_s

Value 45.

22:00min_heat_off_s

Value 180.

22:00min_heat_on_s

Value 120.

22:00min_vent_off_s

Value 60.

22:00min_vent_on_s

Value 60.

22:00mist_backoff_s

Value 2400.

22:00mist_max_closed_vent_s

Value 120.

22:00mist_thermal_relief_s

Value 90.

22:00mister_all_delay_s

Value 900.

22:00mister_engage_delay_s

Value 900.

22:00mister_water_budget_gal

Value 600.

22:00outdoor_staleness_max_s

Value 600.

22:00sw_dwell_gate_enabled

Value 1.

22:00sw_fog_closes_vent

Value 1.

22:00sw_fsm_controller_enabled

Value 1.

22:00sw_mister_closes_vent

Value 1.

22:00sw_summer_vent_enabled

Value 1.

22:00temp_hysteresis

Value 2.

22:00vent_prefer_dp_delta_f

Value 5.

22:00vent_prefer_temp_delta_f

Value 5.

22:00vpd_watch_dwell_s

Value 120.


🌆 Evening Cycle (8:15 PM) — iris-20260518-2012

Status

Daily Summary So Far

Outcome score

not validated yet

Changed parameters

bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...

Reflection

Daily Summary So Far — this cycle will be validated at the next planning cycle.

Hypothesis

Conditions: Cold saturated overnight: outdoor 40F at sunset falling to 37-38F pre-dawn, RH 84-89%, raw outdoor VPD 0.09-0.12 kPa, 100% cloud, no meaningful solar. Current house is 63.3F, VPD 0.46 kPa, RH 78%, dew margin 7.2F, IDLE with heat1 on. Main challenge is stable gas/electric heating and avoiding VPD-low/condensation, not VPD-high. | outdoor peak: 40.0, RH min: 84.0, solar peak: 24.0, cloud cover: 100.0 | stress windows: cold 2026-05-18T22:00:00-06:00-2026-05-19T07:30:00-06:00 medium; vpd_low 2026-05-18T20:20:00-06:00-2026-05-19T08:30:00-06:00 low Testing: Cold saturated overnight restoration: test whether high mist thresholds plus bias_cool +4 and modest bias_heat +2 at the coldest hours keep VPD-low and dp-risk near zero while reducing cold stress versus today. Expected outcome: By Tuesday sunrise: VPD-high 0h, VPD-low under 0.25h, dp-risk 0h, cold stress near or below 1h, paired compliance above 80% for the overnight window, and cost dominated by gas but remaining proportional to sub-40F weather.

Conditions (structured)

Outdoor peak

40.0°F

RH minimum

84.0%

Solar peak

24.0 W/m²

Cloud average

100.0%

Cold saturated overnight: outdoor 40F at sunset falling to 37-38F pre-dawn, RH 84-89%, raw outdoor VPD 0.09-0.12 kPa, 100% cloud, no meaningful solar. Current house is 63.3F, VPD 0.46 kPa, RH 78%, dew margin 7.2F, IDLE with heat1 on. Main challenge is stable gas/electric heating and avoiding VPD-low/condensation, not VPD-high.

Expected stress windows

coldmedium · 2026-05-18T22:00:00-06:00 to 2026-05-19T07:30:00-06:00

bias_cool 4.0, bias_heat 1.75 rising to 2.0 at coldest hours, d_heat_stage_2 3.0, heat_hysteresis 1.5, dwell gate ON, and normal nonzero heat timers to prevent heater-to-vent oscillation while allowing sustained gas support.

vpd_lowlow · 2026-05-18T20:20:00-06:00 to 2026-05-19T08:30:00-06:00

mister_engage_kpa 2.35-2.45, mister_all_kpa 2.5, 60s pulse gaps, 300/600s mist delays, fog_escalation 1.0, vpd_hysteresis 0.50, and 120s sealed-mist cap. This also protects dew-point margin because structured hypothesis only allows heat/cold/vpd_high/vpd_low stress kinds.

Parameter rationale

mister_engage_kpa1.1 → 2.4; Outdoor VPD 0.09-0.12 kPa with RH 84-89% and no solar; lessons 98/99 favor high thresholds on cool saturated nights.

Prevent physical misting overnight and keep VPD-low under 0.25h with dp-risk at 0h.

mister_all_kpa1.3 → 2.5; No dry-air window overnight; all-zone mist escalation would only add condensation pressure.

Keep all-zone mist unavailable unless an unexpected severe VPD spike occurs.

mister_engage_delay_s30.0 → 300.0; Cool high-RH night; recent clamp history shows 300s is the safe upper engage-delay invariant.

Avoid short humidity pulses during transient VPD noise.

mister_all_delay_s60.0 → 600.0; Cool high-RH night; recent clamp history shows 600s is the safe upper all-delay invariant.

Avoid all-zone mist rotation overnight.

mister_pulse_gap_s30.0 → 60.0; Humidity holds better when sealed overnight and VPD-high risk is absent.

Reduce VPD-low and water use without increasing VPD-high stress.

bias_heat1.75 → 2.0; Forecast falls to 37-38F from 02:00-07:00; heating lesson favors modest bias plus gas staging for sustained cold.

Keep cold stress near or below 1h overnight while maintaining dew margin above 5F.

bias_cool4.0 → 4.0; Heaters are expected to run; high-confidence lesson uses +3 to +4 to prevent heater-to-vent oscillation.

Avoid vent dumps after heater overshoot and keep heat/cold whipsaw low.

mist_max_closed_vent_s120.0 → 120.0; Dew margin is safe at 7.2F but outdoor RH is saturated; sealed residence should remain short if entered.

Maintain dp_risk_hours at 0.

vpd_hysteresis0.5 → 0.5; Localized VPD spread is 0.50 kPa and humid conditions can oscillate around the low band.

Reduce dehum/mist chatter while preserving safety.

Setpoints

Monday May 18

Primary crop-band changes:

20:20hyst 0.5

evening_settle: restore conservative saturated-night moistur

22:30hyst 0.5

mid_evening_cold_deepening: outdoor near 39F, saturated and

Tactical tunable changes:

20:20d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

evening_settle: restore conservative saturated-night moistur

22:30d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 2

mid_evening_cold_deepening: outdoor near 39F, saturated and

Tuesday May 19

Primary crop-band changes:

02:00hyst 0.5

coldest_saturated_block: forecast 38F, RH near 89%, outdoor

05:30hyst 0.5

pre_dawn_hold: outdoor still 38F with no solar; hold heating

08:15hyst 0.5

morning_handoff_fallback: if the sunrise cycle is delayed, r

Tactical tunable changes:

02:00d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2

coldest_saturated_block: forecast 38F, RH near 89%, outdoor

05:30d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2

pre_dawn_hold: outdoor still 38F with no solar; hold heating

08:15d_cool 3; engage 2.35; all 2.5; pulse 60; gap 60; wt 2

morning_handoff_fallback: if the sunrise cycle is delayed, r

Changed secondary parameters:

20:20bias_cool

initial 4

20:20bias_heat

initial 1.75

20:20d_heat_stage_2

initial 3

20:20dwell_gate_ms

initial 300000

20:20enthalpy_close

initial 1

20:20enthalpy_open

initial -2

20:20fog_escalation_kpa

initial 1

20:20heat_hysteresis

initial 1.5

20:20min_fog_off_s

initial 180

20:20min_fog_on_s

initial 45

20:20min_heat_off_s

initial 180

20:20min_heat_on_s

initial 120

20:20min_vent_off_s

initial 60

20:20min_vent_on_s

initial 60

20:20mist_backoff_s

initial 2400

20:20mist_max_closed_vent_s

initial 120

20:20mist_thermal_relief_s

initial 90

20:20mister_all_delay_s

initial 600

20:20mister_engage_delay_s

initial 300

20:20mister_water_budget_gal

initial 600

20:20outdoor_staleness_max_s

initial 600

20:20sw_dwell_gate_enabled

initial 1

20:20sw_fog_closes_vent

initial 1

20:20sw_fsm_controller_enabled

initial 1

20:20sw_mister_closes_vent

initial 1

20:20sw_summer_vent_enabled

initial 1

20:20temp_hysteresis

initial 2

20:20vent_prefer_dp_delta_f

initial 5

20:20vent_prefer_temp_delta_f

initial 5

20:20vpd_watch_dwell_s

initial 120

22:30bias_heat

1.75 → 1.85

02:00bias_heat

1.85 → 2

08:15bias_cool

4 → 3.5

08:15bias_heat

2 → 1.5

Full secondary parameter dump
20:20bias_cool

Value 4.

20:20bias_heat

Value 1.75.

20:20d_heat_stage_2

Value 3.

20:20dwell_gate_ms

Value 300000.

20:20enthalpy_close

Value 1.

20:20enthalpy_open

Value -2.

20:20fog_escalation_kpa

Value 1.

20:20heat_hysteresis

Value 1.5.

20:20min_fog_off_s

Value 180.

20:20min_fog_on_s

Value 45.

20:20min_heat_off_s

Value 180.

20:20min_heat_on_s

Value 120.

20:20min_vent_off_s

Value 60.

20:20min_vent_on_s

Value 60.

20:20mist_backoff_s

Value 2400.

20:20mist_max_closed_vent_s

Value 120.

20:20mist_thermal_relief_s

Value 90.

20:20mister_all_delay_s

Value 600.

20:20mister_engage_delay_s

Value 300.

20:20mister_water_budget_gal

Value 600.

20:20outdoor_staleness_max_s

Value 600.

20:20sw_dwell_gate_enabled

Value 1.

20:20sw_fog_closes_vent

Value 1.

20:20sw_fsm_controller_enabled

Value 1.

20:20sw_mister_closes_vent

Value 1.

20:20sw_summer_vent_enabled

Value 1.

20:20temp_hysteresis

Value 2.

20:20vent_prefer_dp_delta_f

Value 5.

20:20vent_prefer_temp_delta_f

Value 5.

20:20vpd_watch_dwell_s

Value 120.

22:30bias_cool

Value 4.

22:30bias_heat

Value 1.85.

22:30d_heat_stage_2

Value 3.

22:30dwell_gate_ms

Value 300000.

22:30enthalpy_close

Value 1.

22:30enthalpy_open

Value -2.

22:30fog_escalation_kpa

Value 1.

22:30heat_hysteresis

Value 1.5.

22:30min_fog_off_s

Value 180.

22:30min_fog_on_s

Value 45.

22:30min_heat_off_s

Value 180.

22:30min_heat_on_s

Value 120.

22:30min_vent_off_s

Value 60.

22:30min_vent_on_s

Value 60.

22:30mist_backoff_s

Value 2400.

22:30mist_max_closed_vent_s

Value 120.

22:30mist_thermal_relief_s

Value 90.

22:30mister_all_delay_s

Value 600.

22:30mister_engage_delay_s

Value 300.

22:30mister_water_budget_gal

Value 600.

22:30outdoor_staleness_max_s

Value 600.

22:30sw_dwell_gate_enabled

Value 1.

22:30sw_fog_closes_vent

Value 1.

22:30sw_fsm_controller_enabled

Value 1.

22:30sw_mister_closes_vent

Value 1.

22:30sw_summer_vent_enabled

Value 1.

22:30temp_hysteresis

Value 2.

22:30vent_prefer_dp_delta_f

Value 5.

22:30vent_prefer_temp_delta_f

Value 5.

22:30vpd_watch_dwell_s

Value 120.

02:00bias_cool

Value 4.

02:00bias_heat

Value 2.

02:00d_heat_stage_2

Value 3.

02:00dwell_gate_ms

Value 300000.

02:00enthalpy_close

Value 1.

02:00enthalpy_open

Value -2.

02:00fog_escalation_kpa

Value 1.

02:00heat_hysteresis

Value 1.5.

02:00min_fog_off_s

Value 180.

02:00min_fog_on_s

Value 45.

02:00min_heat_off_s

Value 180.

02:00min_heat_on_s

Value 120.

02:00min_vent_off_s

Value 60.

02:00min_vent_on_s

Value 60.

02:00mist_backoff_s

Value 2400.

02:00mist_max_closed_vent_s

Value 120.

02:00mist_thermal_relief_s

Value 90.

02:00mister_all_delay_s

Value 600.

02:00mister_engage_delay_s

Value 300.

02:00mister_water_budget_gal

Value 600.

02:00outdoor_staleness_max_s

Value 600.

02:00sw_dwell_gate_enabled

Value 1.

02:00sw_fog_closes_vent

Value 1.

02:00sw_fsm_controller_enabled

Value 1.

02:00sw_mister_closes_vent

Value 1.

02:00sw_summer_vent_enabled

Value 1.

02:00temp_hysteresis

Value 2.

02:00vent_prefer_dp_delta_f

Value 5.

02:00vent_prefer_temp_delta_f

Value 5.

02:00vpd_watch_dwell_s

Value 120.

05:30bias_cool

Value 4.

05:30bias_heat

Value 2.

05:30d_heat_stage_2

Value 3.

05:30dwell_gate_ms

Value 300000.

05:30enthalpy_close

Value 1.

05:30enthalpy_open

Value -2.

05:30fog_escalation_kpa

Value 1.

05:30heat_hysteresis

Value 1.5.

05:30min_fog_off_s

Value 180.

05:30min_fog_on_s

Value 45.

05:30min_heat_off_s

Value 180.

05:30min_heat_on_s

Value 120.

05:30min_vent_off_s

Value 60.

05:30min_vent_on_s

Value 60.

05:30mist_backoff_s

Value 2400.

05:30mist_max_closed_vent_s

Value 120.

05:30mist_thermal_relief_s

Value 90.

05:30mister_all_delay_s

Value 600.

05:30mister_engage_delay_s

Value 300.

05:30mister_water_budget_gal

Value 600.

05:30outdoor_staleness_max_s

Value 600.

05:30sw_dwell_gate_enabled

Value 1.

05:30sw_fog_closes_vent

Value 1.

05:30sw_fsm_controller_enabled

Value 1.

05:30sw_mister_closes_vent

Value 1.

05:30sw_summer_vent_enabled

Value 1.

05:30temp_hysteresis

Value 2.

05:30vent_prefer_dp_delta_f

Value 5.

05:30vent_prefer_temp_delta_f

Value 5.

05:30vpd_watch_dwell_s

Value 120.

08:15bias_cool

Value 3.5.

08:15bias_heat

Value 1.5.

08:15d_heat_stage_2

Value 3.

08:15dwell_gate_ms

Value 300000.

08:15enthalpy_close

Value 1.

08:15enthalpy_open

Value -2.

08:15fog_escalation_kpa

Value 1.

08:15heat_hysteresis

Value 1.5.

08:15min_fog_off_s

Value 180.

08:15min_fog_on_s

Value 45.

08:15min_heat_off_s

Value 180.

08:15min_heat_on_s

Value 120.

08:15min_vent_off_s

Value 60.

08:15min_vent_on_s

Value 60.

08:15mist_backoff_s

Value 2400.

08:15mist_max_closed_vent_s

Value 120.

08:15mist_thermal_relief_s

Value 90.

08:15mister_all_delay_s

Value 600.

08:15mister_engage_delay_s

Value 300.

08:15mister_water_budget_gal

Value 600.

08:15outdoor_staleness_max_s

Value 600.

08:15sw_dwell_gate_enabled

Value 1.

08:15sw_fog_closes_vent

Value 1.

08:15sw_fsm_controller_enabled

Value 1.

08:15sw_mister_closes_vent

Value 1.

08:15sw_summer_vent_enabled

Value 1.

08:15temp_hysteresis

Value 2.

08:15vent_prefer_dp_delta_f

Value 5.

08:15vent_prefer_temp_delta_f

Value 5.

08:15vpd_watch_dwell_s

Value 120.


Daily Summary So Far

Climate

Temperature

61.7–76.5°F; avg 67.8°F

VPD

0.33–1.23 kPa; avg 0.67 kPa

Relative humidity

60.9–83.4%

Stress Hours

  • Heat stress (>85°F): 0.5h
  • VPD stress (>2.0 kPa): 0.0h
  • Cold stress (<55°F): 2.1h

Economics

Electric

USD 0.05

Gas

USD 3.27

Water

USD 0.040

Total

USD 3.36

Equipment Runtimes

Fan 10 min

Primary exhaust runtime.

Fan 20 min

Secondary exhaust runtime.

Vent0 min

Intake vent runtime.

Fog0 min

Fogger runtime.

Heat 1 electric1312 min

Electric heater runtime.

Heat 2 gas315 min

Gas heater runtime.

Grow lights1757 min

Supplemental lighting runtime.

Mister south0.00h

South mister runtime.

Mister west0.00h

West mister runtime.

Mister center0.01h

Center mister runtime.

Water

  • Total: 8 gal
  • Mister: 0 gal

Crop Health (Gemini Vision)

Canna Liliessouth · health 80% · 4 obs

Observation notes are collapsed below to avoid publishing partial vision snippets.

Vanda Orchidscenter · health 80% · 4 obs

Observation notes are collapsed below to avoid publishing partial vision snippets.

lettuceeast · health 80% · 4 obs

Observation notes are collapsed below to avoid publishing partial vision snippets.

peppereast · health 70% · 4 obs

Observation notes are collapsed below to avoid publishing partial vision snippets.

strawberryeast · health 80% · 4 obs

Observation notes are collapsed below to avoid publishing partial vision snippets.

Vision observation notes
Canna LiliesGemini Vision notes

Canna Lilies appear healthy with robust foliage visible in the IR image.

Vanda OrchidsGemini Vision notes

Hanging orchids appear healthy with green foliage.

lettuceGemini Vision notes

Seedlings appear healthy and are establishing well.

pepperGemini Vision notes

Seedlings are growing, but some variation in size is visible.

strawberryGemini Vision notes

Seedlings are growing steadily.

Hourly Pattern

12:0075.7°F; VPD 1.03 kPa

RH 66.1%.

13:0073.3°F; VPD 0.85 kPa

RH 70.0%.

14:0077.1°F; VPD 1.23 kPa

RH 62.3%.

15:0079.1°F; VPD 1.46 kPa

RH 57.7%.

16:0076.0°F; VPD 1.01 kPa

RH 67.3%.

17:0076.2°F; VPD 0.93 kPa

RH 70.1%.

18:0076.3°F; VPD 1.05 kPa

RH 66.3%.

19:0070.5°F; VPD 0.97 kPa

RH 62.1%.

20:0066.2°F; VPD 0.53 kPa

RH 76.4%.

21:0064.0°F; VPD 0.51 kPa

RH 75.6%.

22:0062.9°F; VPD 0.42 kPa

RH 78.6%.

23:0063.7°F; VPD 0.39 kPa

RH 80.5%.

00:0063.4°F; VPD 0.38 kPa

RH 81.1%.

01:0063.3°F; VPD 0.38 kPa

RH 81.0%.

02:0063.3°F; VPD 0.40 kPa

RH 80.0%.

03:0063.4°F; VPD 0.41 kPa

RH 79.4%.

04:0063.3°F; VPD 0.41 kPa

RH 79.3%.

05:0064.0°F; VPD 0.44 kPa

RH 78.5%.

06:0065.9°F; VPD 0.54 kPa

RH 75.8%.

07:0068.1°F; VPD 0.63 kPa

RH 73.5%.

08:0070.8°F; VPD 0.79 kPa

RH 69.9%.

09:0072.5°F; VPD 0.94 kPa

RH 66.4%.

10:0073.5°F; VPD 1.03 kPa

RH 64.3%.

11:0073.8°F; VPD 1.04 kPa

RH 64.0%.

7-Day Stress Context

2026-05-12Heat 8.0h; VPD high 7.9h

Cold stress 0.7h.

2026-05-13Heat 12.0h; VPD high 8.0h

Cold stress 0.6h.

2026-05-14Heat 11.4h; VPD high 10.9h

Cold stress 0.0h.

2026-05-15Heat 5.8h; VPD high 6.3h

Cold stress 0.2h.

2026-05-16Heat 9.1h; VPD high 8.6h

Cold stress 0.1h.

2026-05-17Heat 3.1h; VPD high 3.2h

Cold stress 0.4h.

2026-05-18Heat 0.5h; VPD high 0.0h

Cold stress 2.1h.