May 04, 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 (6:00 AM) — iris-20260504-0556

Status

validated

Outcome score

5/10

Changed parameters

none recorded

Result: The plan successfully managed temperature and prevented daytime VPD-high stress. However, the heavy cloud cover and high humidity (89-100% RH) led to significant VPD-low stress (5.03 hours) as the transition to the cold wet front occurred. The ‘moderate dry ramp’ hypothesis was too aggressive for the actual saturation, failing to prevent the humidity surge when the sun remained obscured. Cost was slightly elevated due to heating needs, but within reasonable bounds for the season.

Reflection

Validating previous cycle: iris-20260503-1958

Previous hypothesis: Sunset overnight posture: tonight’s main challenge is not heat but the combination of current low VPD/high RH, a marginal dew-point buffer, and enough overnight cooling to invite heater→vent chatter if cooling bias is too tight. I am suppressing mist/fog overnight, holding bias_cool at +3 to +3.5 during heating windows, keeping sealed-mist caps short, then switching Monday morning to a moderate dry-day posture for the forecast 75°F / 15% RH shoulder without repeating the over-humidification mistake from May 2.

Expected result: keep dp_risk_hours near 0 overnight, reduce additional VPD-low stress below 0.5h after sunset, avoid cold-stress from vent oscillation, and keep Monday’s midday VPD-high stress under ~2h despite dry outdoor air. Result: The plan successfully managed temperature and prevented daytime VPD-high stress. However, the heavy cloud cover and high humidity (89-100% RH) led to significant VPD-low stress (5.03 hours) as the transition to the cold wet front occurred. The ‘moderate dry ramp’ hypothesis was too aggressive for the actual saturation, failing to prevent the humidity surge when the sun remained obscured. Cost was slightly elevated due to heating needs, but within reasonable bounds for the season. Score: 5/10

New finding: When forecast cloud cover is near 100% and outdoor RH is high (>80%), a ‘moderate dry ramp’ can lead to massive VPD-low overshoot. In these conditions, it is safer to pre-emptively raise VPD thresholds (mister_engage_kpa) or increase the mister pulse gap earlier in the day to avoid a humidity surge when the sun stays behind clouds. → Added to Lessons Learned

Hypothesis

Testing: Moderate dry-overcast ramp: use engage 1.4-1.55 / gap 30-40 / fog_esc 0.35-0.45 today instead of the extreme dry preset, then suppress humidification hard ahead of the wet cold front. Expected outcome: Target Monday score >70, VPD-high stress <1.0h, VPD-low stress <2.0h after 06:00, cost <USD 4 through the daytime; Tuesday may spend gas but should avoid cold stress and condensation risk.

Conditions (structured)

Outdoor peak

73.0°F

RH minimum

17.0%

Solar peak

423.0 W/m²

Cloud average

96.0%

Dry air during daylight but mostly overcast; cold wet front arrives overnight with near-saturated air Tuesday.

Expected stress windows

vpd_highmedium · 2026-05-04T09:00:00-06:00 to 2026-05-04T17:00:00-06:00

moderate misting: engage 1.45-1.55 kPa, gap 30-40s, fog escalation 0.35-0.45 only during the dry window

vpd_lowmedium · 2026-05-04T20:00:00-06:00 to 2026-05-05T18:00:00-06:00

raise mist thresholds to 2.4-2.5 kPa, widen gap to 60s, fog escalation 1.0, preserve heat/anti-oscillation bias

Parameter rationale

mister_engage_kpa2.0 → 1.45; outdoor VPD 1.7-2.3 kPa from 09:00-17:00 with RH 17-21%

prevent daytime VPD-high stress from exceeding 1.0h without triggering yesterday's multi-hour VPD-low overshoot

mister_pulse_gap_s55.0 → 30.0; short solar breaks near 13:00 and 15:00 can spike VPD even under cloud cover

hold VPD below 1.8 kPa during solar breaks while using moderate thresholds to avoid continuous misting

fog_escalation_kpa0.8 → 0.35; midday outdoor RH minimum 17% but solar peak only 423 W/m2

allow fog assist only if misting cannot control dry stress, target VPD-high stress under 1.0h

mister_engage_kpa1.45 → 2.5; cold wet front after 20:00, RH 63-100%, VPD 0.53 down to near zero Tuesday

reduce VPD-low stress versus yesterday's 4.43h and keep dew point risk under 0.25h

bias_cool3.5 → 4.0; overnight/tomorrow outdoor 32-40F and wet; vent-after-heat oscillation is more damaging than a small warm bias

avoid cold stress and heater→vent cycling through the frontal passage

Setpoints

Monday May 04

Primary crop-band changes:

06:00hyst 0.5

Dawn: already humid enough, keep misting conservative while

08:00hyst 0.45

Morning dry-air ramp: start moderate humidification before o

10:00hyst 0.45

Midday dry window: outdoor VPD >2 kPa, but clouds argue for

13:00hyst 0.4

Peak risk: allow a little more fog/mist response for forecas

17:00hyst 0.5

Evening decline: relax humidity response as temperature and

20:00hyst 0.5

Cold wet front arrives: suppress humidification and use anti

Tactical tunable changes:

06:00d_cool 4; engage 1.8; all 2.4; pulse 60; gap 55; wt 1.6

Dawn: already humid enough, keep misting conservative while

08:00d_cool 4; engage 1.55; all 2; pulse 60; gap 40; wt 2.1

Morning dry-air ramp: start moderate humidification before o

10:00d_cool 4; engage 1.45; all 1.9; pulse 60; gap 35; wt 2.3

Midday dry window: outdoor VPD >2 kPa, but clouds argue for

13:00d_cool 3; engage 1.4; all 1.85; pulse 60; gap 30; wt 2.4

Peak risk: allow a little more fog/mist response for forecas

17:00d_cool 4; engage 1.8; all 2.3; pulse 60; gap 50; wt 1.7

Evening decline: relax humidity response as temperature and

20:00d_cool 5; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.2

Cold wet front arrives: suppress humidification and use anti

Tuesday May 05

Primary crop-band changes:

06:00hyst 0.5

Tuesday cold rain: protect against heater/vent oscillation a

Tactical tunable changes:

06:00d_cool 5; engage 2.5; all 2.5; pulse 60; gap 60; wt 1.2

Tuesday cold rain: protect against heater/vent oscillation a

Wednesday May 06

Primary crop-band changes:

08:00hyst 0.5

Wednesday recovery from cold rain: keep humidity conservativ

Tactical tunable changes:

08:00d_cool 5; engage 2.3; all 2.5; pulse 60; gap 60; wt 1.3

Wednesday recovery from cold rain: keep humidity conservativ

Changed secondary parameters:

06:00bias_cool

initial 3.5

06:00bias_heat

initial 1.2

06:00d_heat_stage_2

initial 3

06:00enthalpy_close

initial 1

06:00enthalpy_open

initial -2

06:00fog_escalation_kpa

initial 0.8

06:00heat_hysteresis

initial 1.2

06:00min_fog_off_s

initial 150

06:00min_fog_on_s

initial 60

06:00min_heat_off_s

initial 300

06:00min_heat_on_s

initial 180

06:00min_vent_off_s

initial 120

06:00min_vent_on_s

initial 120

06:00mist_backoff_s

initial 900

06:00mist_max_closed_vent_s

initial 120

06:00mist_thermal_relief_s

initial 90

06:00mist_vent_close_lead_s

initial 15

06:00mist_vent_reopen_delay_s

initial 30

06:00mister_all_delay_s

initial 180

06:00mister_engage_delay_s

initial 60

06:00mister_water_budget_gal

initial 500

06:00sw_dwell_gate_enabled

initial 1

06:00temp_hysteresis

initial 1.5

06:00vpd_watch_dwell_s

initial 75

08:00bias_cool

3.5 → 2.5

08:00bias_heat

1.2 → 0.8

08:00fog_escalation_kpa

0.8 → 0.45

08:00heat_hysteresis

1.2 → 1

08:00min_fog_off_s

150 → 120

08:00mist_backoff_s

900 → 600

08:00mist_max_closed_vent_s

120 → 150

08:00mister_all_delay_s

180 → 120

08:00mister_engage_delay_s

60 → 45

08:00vpd_watch_dwell_s

75 → 60

10:00bias_cool

2.5 → 2

10:00bias_heat

0.8 → 0.5

10:00d_heat_stage_2

3 → 4

10:00fog_escalation_kpa

0.45 → 0.4

10:00mister_all_delay_s

120 → 90

10:00mister_engage_delay_s

45 → 30

13:00fog_escalation_kpa

0.4 → 0.35

13:00mist_max_closed_vent_s

150 → 180

17:00bias_cool

2 → 3

17:00bias_heat

0.5 → 1

17:00d_heat_stage_2

4 → 3

17:00enthalpy_open

-2 → -1.5

17:00fog_escalation_kpa

0.35 → 0.7

17:00heat_hysteresis

1 → 1.2

17:00min_fog_off_s

120 → 150

17:00mist_backoff_s

600 → 900

17:00mist_max_closed_vent_s

180 → 120

17:00mister_all_delay_s

90 → 180

17:00mister_engage_delay_s

30 → 60

17:00vpd_watch_dwell_s

60 → 75

20:00bias_cool

3 → 3.8

20:00bias_heat

1 → 1.5

20:00enthalpy_close

1 → 0.5

20:00enthalpy_open

-1.5 → -1

20:00fog_escalation_kpa

0.7 → 1

20:00heat_hysteresis

1.2 → 1.5

20:00min_fog_off_s

150 → 180

20:00min_vent_off_s

120 → 180

20:00min_vent_on_s

120 → 180

20:00mist_backoff_s

900 → 1200

20:00mist_vent_reopen_delay_s

30 → 45

20:00mister_all_delay_s

180 → 240

20:00mister_engage_delay_s

60 → 90

20:00temp_hysteresis

1.5 → 1.8

20:00vpd_watch_dwell_s

75 → 90

06:00bias_cool

3.8 → 4

06:00enthalpy_open

-1 → -0.5

06:00min_fog_off_s

180 → 240

06:00mist_backoff_s

1200 → 1800

06:00mist_vent_reopen_delay_s

45 → 60

06:00mister_all_delay_s

240 → 300

06:00mister_engage_delay_s

90 → 120

06:00temp_hysteresis

1.8 → 2

06:00vpd_watch_dwell_s

90 → 120

08:00bias_cool

4 → 3.5

08:00bias_heat

1.5 → 1.3

08:00enthalpy_open

-0.5 → -1

08:00fog_escalation_kpa

1 → 0.9

08:00heat_hysteresis

1.5 → 1.4

08:00min_fog_off_s

240 → 210

08:00mist_backoff_s

1800 → 1500

08:00mist_vent_reopen_delay_s

60 → 45

08:00mister_all_delay_s

300 → 240

08:00mister_engage_delay_s

120 → 90

08:00temp_hysteresis

2 → 1.8

08:00vpd_watch_dwell_s

120 → 90

Full secondary parameter dump
06:00bias_cool

Value 3.5.

06:00bias_heat

Value 1.2.

06:00d_heat_stage_2

Value 3.

06:00enthalpy_close

Value 1.

06:00enthalpy_open

Value -2.

06:00fog_escalation_kpa

Value 0.8.

06:00heat_hysteresis

Value 1.2.

06:00min_fog_off_s

Value 150.

06:00min_fog_on_s

Value 60.

06:00min_heat_off_s

Value 300.

06:00min_heat_on_s

Value 180.

06:00min_vent_off_s

Value 120.

06:00min_vent_on_s

Value 120.

06:00mist_backoff_s

Value 900.

06:00mist_max_closed_vent_s

Value 120.

06:00mist_thermal_relief_s

Value 90.

06:00mist_vent_close_lead_s

Value 15.

06:00mist_vent_reopen_delay_s

Value 30.

06:00mister_all_delay_s

Value 180.

06:00mister_engage_delay_s

Value 60.

06:00mister_water_budget_gal

Value 500.

06:00sw_dwell_gate_enabled

Value 1.

06:00temp_hysteresis

Value 1.5.

06:00vpd_watch_dwell_s

Value 75.

08:00bias_cool

Value 2.5.

08:00bias_heat

Value 0.8.

08:00d_heat_stage_2

Value 3.

08:00enthalpy_close

Value 1.

08:00enthalpy_open

Value -2.

08:00fog_escalation_kpa

Value 0.45.

08:00heat_hysteresis

Value 1.

08:00min_fog_off_s

Value 120.

08:00min_fog_on_s

Value 60.

08:00min_heat_off_s

Value 300.

08:00min_heat_on_s

Value 180.

08:00min_vent_off_s

Value 120.

08:00min_vent_on_s

Value 120.

08:00mist_backoff_s

Value 600.

08:00mist_max_closed_vent_s

Value 150.

08:00mist_thermal_relief_s

Value 90.

08:00mist_vent_close_lead_s

Value 15.

08:00mist_vent_reopen_delay_s

Value 30.

08:00mister_all_delay_s

Value 120.

08:00mister_engage_delay_s

Value 45.

08:00mister_water_budget_gal

Value 500.

08:00sw_dwell_gate_enabled

Value 1.

08:00temp_hysteresis

Value 1.5.

08:00vpd_watch_dwell_s

Value 60.

10:00bias_cool

Value 2.

10:00bias_heat

Value 0.5.

10:00d_heat_stage_2

Value 4.

10:00enthalpy_close

Value 1.

10:00enthalpy_open

Value -2.

10:00fog_escalation_kpa

Value 0.4.

10:00heat_hysteresis

Value 1.

10:00min_fog_off_s

Value 120.

10:00min_fog_on_s

Value 60.

10:00min_heat_off_s

Value 300.

10:00min_heat_on_s

Value 180.

10:00min_vent_off_s

Value 120.

10:00min_vent_on_s

Value 120.

10:00mist_backoff_s

Value 600.

10:00mist_max_closed_vent_s

Value 150.

10:00mist_thermal_relief_s

Value 90.

10:00mist_vent_close_lead_s

Value 15.

10:00mist_vent_reopen_delay_s

Value 30.

10:00mister_all_delay_s

Value 90.

10:00mister_engage_delay_s

Value 30.

10:00mister_water_budget_gal

Value 500.

10:00sw_dwell_gate_enabled

Value 1.

10:00temp_hysteresis

Value 1.5.

10:00vpd_watch_dwell_s

Value 60.

13:00bias_cool

Value 2.

13:00bias_heat

Value 0.5.

13:00d_heat_stage_2

Value 4.

13:00enthalpy_close

Value 1.

13:00enthalpy_open

Value -2.

13:00fog_escalation_kpa

Value 0.35.

13:00heat_hysteresis

Value 1.

13:00min_fog_off_s

Value 120.

13:00min_fog_on_s

Value 60.

13:00min_heat_off_s

Value 300.

13:00min_heat_on_s

Value 180.

13:00min_vent_off_s

Value 120.

13:00min_vent_on_s

Value 120.

13:00mist_backoff_s

Value 600.

13:00mist_max_closed_vent_s

Value 180.

13:00mist_thermal_relief_s

Value 90.

13:00mist_vent_close_lead_s

Value 15.

13:00mist_vent_reopen_delay_s

Value 30.

13:00mister_all_delay_s

Value 90.

13:00mister_engage_delay_s

Value 30.

13:00mister_water_budget_gal

Value 500.

13:00sw_dwell_gate_enabled

Value 1.

13:00temp_hysteresis

Value 1.5.

13:00vpd_watch_dwell_s

Value 60.

17:00bias_cool

Value 3.

17:00bias_heat

Value 1.

17:00d_heat_stage_2

Value 3.

17:00enthalpy_close

Value 1.

17:00enthalpy_open

Value -1.5.

17:00fog_escalation_kpa

Value 0.7.

17:00heat_hysteresis

Value 1.2.

17:00min_fog_off_s

Value 150.

17:00min_fog_on_s

Value 60.

17:00min_heat_off_s

Value 300.

17:00min_heat_on_s

Value 180.

17:00min_vent_off_s

Value 120.

17:00min_vent_on_s

Value 120.

17:00mist_backoff_s

Value 900.

17:00mist_max_closed_vent_s

Value 120.

17:00mist_thermal_relief_s

Value 90.

17:00mist_vent_close_lead_s

Value 15.

17:00mist_vent_reopen_delay_s

Value 30.

17:00mister_all_delay_s

Value 180.

17:00mister_engage_delay_s

Value 60.

17:00mister_water_budget_gal

Value 500.

17:00sw_dwell_gate_enabled

Value 1.

17:00temp_hysteresis

Value 1.5.

17:00vpd_watch_dwell_s

Value 75.

20:00bias_cool

Value 3.8.

20:00bias_heat

Value 1.5.

20:00d_heat_stage_2

Value 3.

20:00enthalpy_close

Value 0.5.

20:00enthalpy_open

Value -1.

20:00fog_escalation_kpa

Value 1.

20:00heat_hysteresis

Value 1.5.

20:00min_fog_off_s

Value 180.

20:00min_fog_on_s

Value 60.

20:00min_heat_off_s

Value 300.

20:00min_heat_on_s

Value 180.

20:00min_vent_off_s

Value 180.

20:00min_vent_on_s

Value 180.

20:00mist_backoff_s

Value 1200.

20:00mist_max_closed_vent_s

Value 120.

20:00mist_thermal_relief_s

Value 90.

20:00mist_vent_close_lead_s

Value 15.

20:00mist_vent_reopen_delay_s

Value 45.

20:00mister_all_delay_s

Value 240.

20:00mister_engage_delay_s

Value 90.

20:00mister_water_budget_gal

Value 500.

20:00sw_dwell_gate_enabled

Value 1.

20:00temp_hysteresis

Value 1.8.

20:00vpd_watch_dwell_s

Value 90.

06:00bias_cool

Value 4.

06:00bias_heat

Value 1.5.

06:00d_heat_stage_2

Value 3.

06:00enthalpy_close

Value 0.5.

06:00enthalpy_open

Value -0.5.

06:00fog_escalation_kpa

Value 1.

06:00heat_hysteresis

Value 1.5.

06:00min_fog_off_s

Value 240.

06:00min_fog_on_s

Value 60.

06:00min_heat_off_s

Value 300.

06:00min_heat_on_s

Value 180.

06:00min_vent_off_s

Value 180.

06:00min_vent_on_s

Value 180.

06:00mist_backoff_s

Value 1800.

06:00mist_max_closed_vent_s

Value 120.

06:00mist_thermal_relief_s

Value 90.

06:00mist_vent_close_lead_s

Value 15.

06:00mist_vent_reopen_delay_s

Value 60.

06:00mister_all_delay_s

Value 300.

06:00mister_engage_delay_s

Value 120.

06:00mister_water_budget_gal

Value 500.

06:00sw_dwell_gate_enabled

Value 1.

06:00temp_hysteresis

Value 2.

06:00vpd_watch_dwell_s

Value 120.

08:00bias_cool

Value 3.5.

08:00bias_heat

Value 1.3.

08:00d_heat_stage_2

Value 3.

08:00enthalpy_close

Value 0.5.

08:00enthalpy_open

Value -1.

08:00fog_escalation_kpa

Value 0.9.

08:00heat_hysteresis

Value 1.4.

08:00min_fog_off_s

Value 210.

08:00min_fog_on_s

Value 60.

08:00min_heat_off_s

Value 300.

08:00min_heat_on_s

Value 180.

08:00min_vent_off_s

Value 180.

08:00min_vent_on_s

Value 180.

08:00mist_backoff_s

Value 1500.

08:00mist_max_closed_vent_s

Value 120.

08:00mist_thermal_relief_s

Value 90.

08:00mist_vent_close_lead_s

Value 15.

08:00mist_vent_reopen_delay_s

Value 45.

08:00mister_all_delay_s

Value 240.

08:00mister_engage_delay_s

Value 90.

08:00mister_water_budget_gal

Value 500.

08:00sw_dwell_gate_enabled

Value 1.

08:00temp_hysteresis

Value 1.8.

08:00vpd_watch_dwell_s

Value 90.


🌆 Evening Cycle (9:05 PM) — iris-20260504-2059

Status

Daily Summary So Far

Outcome score

not validated yet

Changed parameters

none recorded

Reflection

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

Hypothesis

Expected outcome: Minimize cold stress and VPD-low stress during the overnight frost risk window, while maintaining heating efficiency.

Setpoints

Tuesday May 05

Primary crop-band changes:

00:00hyst 0.5

Primary crop-band transition.

06:00hyst 0.5

Primary crop-band transition.

Tactical tunable changes:

00:00d_cool 5; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.5

Tactical tunable transition.

06:00d_cool 5; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.5

Tactical tunable transition.

Changed secondary parameters:

00:00bias_cool

initial 2

00:00bias_heat

initial 1.5

00:00enthalpy_close

initial 0.5

00:00enthalpy_open

initial -1

00:00fog_escalation_kpa

initial 1

00:00min_fog_off_s

initial 180

00:00min_fog_on_s

initial 60

00:00min_heat_off_s

initial 300

00:00min_heat_on_s

initial 180

00:00min_vent_off_s

initial 180

00:00min_vent_on_s

initial 180

00:00mist_max_closed_vent_s

initial 120

00:00mist_thermal_relief_s

initial 90

00:00mist_vent_close_lead_s

initial 15

00:00mist_vent_reopen_delay_s

initial 45

00:00mister_water_budget_gal

initial 500

00:00vpd_watch_dwell_s

initial 90

06:00bias_cool

2 → 4

06:00bias_heat

1.5 → 1

Full secondary parameter dump
00:00bias_cool

Value 2.

00:00bias_heat

Value 1.5.

00:00enthalpy_close

Value 0.5.

00:00enthalpy_open

Value -1.

00:00fog_escalation_kpa

Value 1.

00:00min_fog_off_s

Value 180.

00:00min_fog_on_s

Value 60.

00:00min_heat_off_s

Value 300.

00:00min_heat_on_s

Value 180.

00:00min_vent_off_s

Value 180.

00:00min_vent_on_s

Value 180.

00:00mist_max_closed_vent_s

Value 120.

00:00mist_thermal_relief_s

Value 90.

00:00mist_vent_close_lead_s

Value 15.

00:00mist_vent_reopen_delay_s

Value 45.

00:00mister_water_budget_gal

Value 500.

00:00vpd_watch_dwell_s

Value 90.

06:00bias_cool

Value 4.

06:00bias_heat

Value 1.

06:00enthalpy_close

Value 0.5.

06:00enthalpy_open

Value -1.

06:00fog_escalation_kpa

Value 1.

06:00min_fog_off_s

Value 180.

06:00min_fog_on_s

Value 60.

06:00min_heat_off_s

Value 300.

06:00min_heat_on_s

Value 180.

06:00min_vent_off_s

Value 180.

06:00min_vent_on_s

Value 180.

06:00mist_max_closed_vent_s

Value 120.

06:00mist_thermal_relief_s

Value 90.

06:00mist_vent_close_lead_s

Value 15.

06:00mist_vent_reopen_delay_s

Value 45.

06:00mister_water_budget_gal

Value 500.

06:00vpd_watch_dwell_s

Value 90.


🌙 Overnight Cycle (9:11 PM) — iris-20260504-2108

Status

validated

Outcome score

5/10

Changed parameters

none recorded

Result: The previous plan (iris-20260504-2108) aimed to handle the overnight frost risk (32F) and heavy cloud cover/high humidity. The forecast shows 100% cloud cover and very low VPD (0.01-0.1 kPa) throughout the day, which will almost certainly lead to significant VPD-low stress if not managed. The temperature is also forecast to stay low (36-43F range). Yesterday’s failure was primarily VPD-low stress (5h) due to high humidity. The current plan’s mitigation (bias_heat 2.0) is helpful for temp, but the humidity will be the main driver.

Reflection

Validating previous cycle: iris-20260504-0556

Previous hypothesis: Monday is a misleading dry-overcast day: outdoor RH falls to 17-21% from 09:00-17:00, but forecast cloud cover stays ~95-100% with only two possible solar breaks. Yesterday proved the bigger risk under collapsed solar is VPD-low overshoot, so today’s plan uses a moderate dry ramp rather than the extreme dry preset, then strongly suppresses humidification into the cold wet front tonight and Tuesday.

{
  "conditions": {
    "outdoor_temp_peak_f": 73.0,
    "outdoor_rh_min_pct": 17.0,
    "solar_peak_w_m2": 423,
    "cloud_cover_avg_pct": 96,
    "notes": "Dry air during daylight but mostly overcast; cold wet front arrives overnight with near-saturated air Tuesday."
  },
  "stress_windows": [
    {
      "kind": "vpd_high",
      "start": "2026-05-04T09:00:00-06:00",
      "end": "2026-05-04T17:00:00-06:00",
      "severity": "medium",
      "mitigation": "moderate misting: engage 1.45-1.55 kPa, gap 30-40s, fog escalation 0.35-0.45 only during the dry window"
    },
    {
      "kind": "vpd_low",
      "start": "2026-05-04T20:00:00-06:00",
      "end": "2026-05-05T18:00:00-06:00",
      "severity": "medium",
      "mitigation": "raise mist thresholds to 2.4-2.5 kPa, widen gap to 60s, fog escalation 1.0, preserve heat/anti-oscillation bias"
    }
  ],
  "rationale": [
    {
      "parameter": "mister_engage_kpa",
      "old_value": 2.0,
      "new_value": 1.45,
      "forecast_anchor": "outdoor VPD 1.7-2.3 kPa from 09:00-17:00 with RH 17-21%",
      "expected_effect": "prevent daytime VPD-high stress from exceeding 1.0h without triggering yesterday's multi-hour VPD-low overshoot"
    },
    {
      "parameter": "mister_pulse_gap_s",
      "old_value": 55,
      "new_value": 30,
      "forecast_anchor": "short solar breaks near 13:00 and 15:00 can spike VPD even under cloud cover",
      "expected_effect": "hold VPD below 1.8 kPa during solar breaks while using moderate thresholds to avoid continuous misting"
    },
    {
      "parameter": "fog_escalation_kpa",
      "old_value": 0.8,
      "new_value": 0.35,
      "forecast_anchor": "midday outdoor RH minimum 17% but solar peak only 423 W/m2",
      "expected_effect": "allow fog assist only if misting cannot control dry stress, target VPD-high stress under 1.0h"
    },
    {
      "parameter": "mister_engage_kpa",
      "old_value": 1.45,
      "new_value": 2.5,
      "forecast_anchor": "cold wet front after 20:00, RH 63-100%, VPD 0.53 down to near zero Tuesday",
      "expected_effect": "reduce VPD-low stress versus yesterday's 4.43h and keep dew point risk under 0.25h"
    },
    {
      "parameter": "bias_cool",
      "old_value": 3.5,
      "new_value": 4.0,
      "forecast_anchor": "overnight/tomorrow outdoor 32-40F and wet; vent-after-heat oscillation is more damaging than a small warm bias",
      "expected_effect": "avoid cold stress and heater→vent cycling through the frontal passage"
    }
  ]
}

Result: The previous plan (iris-20260504-2108) aimed to handle the overnight frost risk (32F) and heavy cloud cover/high humidity. The forecast shows 100% cloud cover and very low VPD (0.01-0.1 kPa) throughout the day, which will almost certainly lead to significant VPD-low stress if not managed. The temperature is also forecast to stay low (36-43F range). Yesterday’s failure was primarily VPD-low stress (5h) due to high humidity. The current plan’s mitigation (bias_heat 2.0) is helpful for temp, but the humidity will be the main driver. Score: 5/10

Hypothesis

Expected outcome: Maintain temperature above 50F despite 32F frost risk and prevent VPD-low stress overnight from high humidity/cloud cover.

Setpoints

Monday May 04

Primary crop-band changes:

23:00hyst 0.5

evening settle, prepare for temperature drop

Tactical tunable changes:

23:00d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.5

evening settle, prepare for temperature drop

Tuesday May 05

Primary crop-band changes:

02:00hyst 0.5

midnight posture, maximize heating efficiency and minimize h

07:00hyst 0.5

pre-dawn transition, prepare for sunrise moisture accumulati

Tactical tunable changes:

02:00d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.5

midnight posture, maximize heating efficiency and minimize h

07:00d_cool 3; engage 2.4; all 2.5; pulse 60; gap 60; wt 1.5

pre-dawn transition, prepare for sunrise moisture accumulati

Changed secondary parameters:

23:00bias_cool

initial 0

23:00bias_heat

initial 1

23:00enthalpy_close

initial 0

23:00enthalpy_open

initial 0

23:00fog_escalation_kpa

initial 0.5

23:00min_fog_off_s

initial 60

23:00min_fog_on_s

initial 60

23:00min_heat_off_s

initial 300

23:00min_heat_on_s

initial 120

23:00min_vent_off_s

initial 60

23:00min_vent_on_s

initial 60

23:00mist_max_closed_vent_s

initial 600

23:00mist_thermal_relief_s

initial 90

23:00mist_vent_close_lead_s

initial 15

23:00mist_vent_reopen_delay_s

initial 45

23:00mister_water_budget_gal

initial 500

23:00vpd_watch_dwell_s

initial 60

02:00bias_heat

1 → 2

07:00bias_heat

2 → 1.5

Full secondary parameter dump
23:00bias_cool

Value 0.

23:00bias_heat

Value 1.

23:00enthalpy_close

Value 0.

23:00enthalpy_open

Value 0.

23:00fog_escalation_kpa

Value 0.5.

23:00min_fog_off_s

Value 60.

23:00min_fog_on_s

Value 60.

23:00min_heat_off_s

Value 300.

23:00min_heat_on_s

Value 120.

23:00min_vent_off_s

Value 60.

23:00min_vent_on_s

Value 60.

23:00mist_max_closed_vent_s

Value 600.

23:00mist_thermal_relief_s

Value 90.

23:00mist_vent_close_lead_s

Value 15.

23:00mist_vent_reopen_delay_s

Value 45.

23:00mister_water_budget_gal

Value 500.

23:00vpd_watch_dwell_s

Value 60.

02:00bias_cool

Value 0.

02:00bias_heat

Value 2.

02:00enthalpy_close

Value 0.

02:00enthalpy_open

Value 0.

02:00fog_escalation_kpa

Value 0.5.

02:00min_fog_off_s

Value 60.

02:00min_fog_on_s

Value 60.

02:00min_heat_off_s

Value 300.

02:00min_heat_on_s

Value 120.

02:00min_vent_off_s

Value 60.

02:00min_vent_on_s

Value 60.

02:00mist_max_closed_vent_s

Value 600.

02:00mist_thermal_relief_s

Value 90.

02:00mist_vent_close_lead_s

Value 15.

02:00mist_vent_reopen_delay_s

Value 45.

02:00mister_water_budget_gal

Value 500.

02:00vpd_watch_dwell_s

Value 60.

07:00bias_cool

Value 0.

07:00bias_heat

Value 1.5.

07:00enthalpy_close

Value 0.

07:00enthalpy_open

Value 0.

07:00fog_escalation_kpa

Value 0.5.

07:00min_fog_off_s

Value 60.

07:00min_fog_on_s

Value 60.

07:00min_heat_off_s

Value 300.

07:00min_heat_on_s

Value 120.

07:00min_vent_off_s

Value 60.

07:00min_vent_on_s

Value 60.

07:00mist_max_closed_vent_s

Value 600.

07:00mist_thermal_relief_s

Value 90.

07:00mist_vent_close_lead_s

Value 15.

07:00mist_vent_reopen_delay_s

Value 45.

07:00mister_water_budget_gal

Value 500.

07:00vpd_watch_dwell_s

Value 60.


Daily Summary So Far

Climate

Temperature

61.2–79.7°F; avg 68.0°F

VPD

0.24–1.81 kPa; avg 0.70 kPa

Relative humidity

48.0–87.9%

Stress Hours

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

Economics

Electric

USD 0.08

Gas

USD 3.15

Water

USD 1.230

Total

USD 4.46

Equipment Runtimes

Fan 163 min

Primary exhaust runtime.

Fan 254 min

Secondary exhaust runtime.

Vent109 min

Intake vent runtime.

Fog17 min

Fogger runtime.

Heat 1 electric1155 min

Electric heater runtime.

Heat 2 gas304 min

Gas heater runtime.

Grow lights0 min

Supplemental lighting runtime.

Mister south0.55h

South mister runtime.

Mister west0.73h

West mister runtime.

Mister center0.80h

Center mister runtime.

Water

  • Total: 254 gal
  • Mister: 254 gal

Crop Health (Gemini Vision)

Canna Liliessouth · health 68% · 4 obs

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

Vanda Orchidscenter · health 68% · 4 obs

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

lettuceeast · health 60% · 4 obs

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

peppereast · health 63% · 4 obs

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

strawberryeast · health 63% · 4 obs

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

Vision observation notes
Canna LiliesGemini Vision notes

Plants appear healthy with no obvious signs of stress.

Vanda OrchidsGemini Vision notes

Hanging orchids appear healthy with extensive root systems visible.

lettuceGemini Vision notes

Seedlings appear healthy, but small.

pepperGemini Vision notes

Seedlings look healthy and are growing well.

strawberryGemini Vision notes

Seedlings are small but appear healthy.

Hourly Pattern

12:0077.0°F; VPD 1.13 kPa

RH 64.5%.

13:0078.5°F; VPD 1.36 kPa

RH 59.8%.

14:0076.8°F; VPD 1.10 kPa

RH 65.5%.

15:0074.7°F; VPD 0.92 kPa

RH 69.1%.

16:0071.7°F; VPD 0.83 kPa

RH 68.9%.

17:0070.6°F; VPD 0.72 kPa

RH 72.2%.

18:0069.6°F; VPD 0.58 kPa

RH 76.8%.

19:0067.3°F; VPD 0.51 kPa

RH 77.8%.

20:0066.0°F; VPD 0.44 kPa

RH 80.0%.

21:0064.5°F; VPD 0.38 kPa

RH 81.6%.

22:0063.2°F; VPD 0.46 kPa

RH 76.8%.

23:0063.5°F; VPD 0.54 kPa

RH 72.9%.

00:0063.6°F; VPD 0.59 kPa

RH 70.1%.

01:0063.6°F; VPD 0.61 kPa

RH 69.4%.

02:0063.6°F; VPD 0.50 kPa

RH 75.0%.

03:0063.6°F; VPD 0.53 kPa

RH 73.9%.

04:0063.5°F; VPD 0.48 kPa

RH 76.0%.

05:0063.9°F; VPD 0.50 kPa

RH 75.3%.

06:0065.2°F; VPD 0.59 kPa

RH 72.1%.

07:0067.7°F; VPD 0.68 kPa

RH 71.1%.

08:0070.7°F; VPD 0.73 kPa

RH 71.7%.

09:0072.1°F; VPD 0.86 kPa

RH 67.8%.

10:0073.5°F; VPD 1.01 kPa

RH 64.4%.

11:0074.3°F; VPD 1.04 kPa

RH 64.3%.

7-Day Stress Context

2026-04-28Heat 3.6h; VPD high 4.5h

Cold stress 5.4h.

2026-04-29Heat 0.9h; VPD high 3.3h

Cold stress 2.4h.

2026-04-30Heat 0.0h; VPD high 0.0h

Cold stress 0.0h.

2026-05-01Heat 4.9h; VPD high 4.4h

Cold stress 0.0h.

2026-05-02Heat 0.0h; VPD high 0.0h

Cold stress 0.0h.

2026-05-03Heat 0.0h; VPD high 0.0h

Cold stress 0.0h.

2026-05-04Heat 0.0h; VPD high 0.0h

Cold stress 0.0h.