April 11, 2026

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

🌅 Morning Cycle (11:57 PM) — iris-20260411-0000

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-1755

Previous hypothesis: Aggressive pre-dawn heating bias (+1°F) with bias_cool +3°F on all cold nights will prevent vent oscillation. During daytime dry periods (Sat-Mon), early mister engagement (1.3 kPa), short pulse gaps (20-25s), extended sealed-vent time (900s on Sun/Mon), and fog escalation at 0.3 kPa will maximize humidity retention against extreme outdoor dryness. This should reduce VPD_high stress hours compared to standard posture. Result: [backfill] compliance unavailable over plan window 2026-04-11 05:57 → 2026-04-11 06:42 Score: 4/10

Hypothesis

Conditions: Three challenging days ahead: Saturday (Apr 11) overcast with 75°F peak, 18% low RH, moderate VPD stress expected 5h; Sunday (Apr 12) clear skies, 76°F peak, extreme 8% RH — worst day, 11h stress forecast; Monday (Apr 13) partly cloudy, 70°F peak, 11% low RH with high winds (20-29 mph), 9h stress. Current nighttime bands are tight (vpd_high=0.6, temp_high=65) requiring engage at 1.3 and bias_cool=+3 at all times during heating. Crop health shows lettuce/strawberry stress in east zone (nutrient/light issues outside planner control). Dew point margin healthy at 9.9°F, no condensation risk. Testing: Compare Saturday (overcast, 18% RH) vs Sunday (clear, 8% RH) with identical peak-stress tuning (engage 1.3, gap 20s, weight 3.0, max_closed_vent 900s) to isolate whether solar load or humidity deficit is the dominant VPD driver. If Sunday vpd_high_stress exceeds Saturday by >3h despite identical tuning, solar load dominates and shade cloth is the structural fix. Expected outcome: Saturday vpd_high_stress ~3-4h (midday only), Sunday vpd_high_stress ~7-9h (solar + extreme dryness), Monday vpd_high_stress ~5-7h. If Sunday exceeds Saturday by >3h with identical tuning, solar load is confirmed as dominant driver. | target_score=45 | target_compliance=45% | expected_stress=[heat=4.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.0

Setpoints

Friday April 10

Primary crop-band changes:

TimeValuesNote
23:57hyst 0.2Immediate coverage (copied from first transition)

Tactical tunable changes:

TimeValuesNote
23:57d_cool 3; engage 1.3; all 1.6; pulse 60; gap 35; wt 1.5Immediate coverage (copied from first transition)

Saturday April 11

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.2Immediate corrective posture. Current VPD 0.82-0.89 with vpd
05:35hyst 0.2Pre-dawn Saturday. Outdoor 40°F, 88% RH — heaters running. b
09:59hyst 0.3Tree shade clears east zone — VPD ramp accelerates. Outdoor
13:00hyst 0.4Peak stress Saturday. Forecast 75°F/18% RH outdoor — extreme
15:00hyst 0.3Post-peak decline Saturday. Forecast shows temp drop to 62°F
19:25hyst 0.2Evening Saturday into cold night. Outdoor dropping to 51°F b

Tactical tunable changes:

TimeValuesNote
00:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 35; wt 1.5Immediate corrective posture. Current VPD 0.82-0.89 with vpd
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn Saturday. Outdoor 40°F, 88% RH — heaters running. b
09:59d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2Tree shade clears east zone — VPD ramp accelerates. Outdoor
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak stress Saturday. Forecast 75°F/18% RH outdoor — extreme
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak decline Saturday. Forecast shows temp drop to 62°F
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Evening Saturday into cold night. Outdoor dropping to 51°F b

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn Sunday. Outdoor 43°F/46% RH, clear skies. Heaters a
09:58hyst 0.3Tree shade clears Sunday — aggressive early. Clear skies, ou
16:00hyst 0.4Peak stress Sunday — VPD peaks at 16:00 per milestone table
17:00hyst 0.3Decline Sunday. Fog window closes at 17:00 — raise fog_escal
19:26hyst 0.2Evening Sunday into Monday overnight. Outdoor 64°F dropping

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn Sunday. Outdoor 43°F/46% RH, clear skies. Heaters a
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Tree shade clears Sunday — aggressive early. Clear skies, ou
16:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak stress Sunday — VPD peaks at 16:00 per milestone table
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Decline Sunday. Fog window closes at 17:00 — raise fog_escal
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Evening Sunday into Monday overnight. Outdoor 64°F dropping

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 51°F/25% — dry and cool. Heaters li
09:58hyst 0.3Tree shade clears Monday. Outdoor 63°F/15% at 10AM. High win
13:00hyst 0.4Peak stress Monday. Outdoor 69°F/11% at 1PM with 25 mph wind
14:00hyst 0.3Post-peak decline Monday. Outdoor 70°F/12% at 2PM, still win
19:27hyst 0.2Evening Monday. Outdoor dropping from 60°F to 45°F overnight

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn Monday. Outdoor 51°F/25% — dry and cool. Heaters li
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2Tree shade clears Monday. Outdoor 63°F/15% at 10AM. High win
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak stress Monday. Outdoor 69°F/11% at 1PM with 25 mph wind
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak decline Monday. Outdoor 70°F/12% at 2PM, still win
19:27d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Evening Monday. Outdoor dropping from 60°F to 45°F overnight

Changed secondary parameters:

TimeParameterChange
23:57bias_coolinitial 3
23:57bias_heatinitial 1
23:57enthalpy_closeinitial 1
23:57enthalpy_openinitial -2
23:57fog_escalation_kpainitial 0.3
23:57min_fog_off_sinitial 60
23:57min_fog_on_sinitial 60
23:57min_heat_off_sinitial 300
23:57min_heat_on_sinitial 120
23:57min_vent_off_sinitial 60
23:57min_vent_on_sinitial 60
23:57mist_max_closed_vent_sinitial 600
23:57mist_thermal_relief_sinitial 90
23:57mist_vent_close_lead_sinitial 15
23:57mist_vent_reopen_delay_sinitial 45
23:57mister_water_budget_galinitial 500
23:57vpd_watch_dwell_sinitial 30
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59mist_max_closed_vent_s600 → 900
09:59vpd_watch_dwell_s30 → 45
13:00bias_cool0 → -1
13:00vpd_watch_dwell_s45 → 30
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00mist_max_closed_vent_s900 → 600
15:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 4
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 30
05:34bias_cool4 → 3
05:34fog_escalation_kpa0.4 → 0.3
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58mist_max_closed_vent_s600 → 900
16:00bias_cool0 → -1
16:00fog_escalation_kpa0.3 → 0.2
16:00mist_vent_reopen_delay_s45 → 60
17:00bias_cool-1 → 0
17:00fog_escalation_kpa0.2 → 0.5
17:00min_fog_off_s60 → 120
17:00mist_max_closed_vent_s900 → 600
17:00mist_vent_reopen_delay_s60 → 45
17:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26fog_escalation_kpa0.5 → 0.4
19:26min_fog_off_s120 → 60
19:26vpd_watch_dwell_s45 → 30
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 90
09:58mist_max_closed_vent_s600 → 900
09:58vpd_watch_dwell_s30 → 45
13:00bias_cool0 → -1
13:00mist_vent_reopen_delay_s45 → 60
13:00vpd_watch_dwell_s45 → 30
14:00bias_cool-1 → 0
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s60 → 120
14:00mist_max_closed_vent_s900 → 600
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 3
19:27bias_heat0 → 1
19:27min_fog_off_s120 → 60
19:27min_vent_off_s90 → 60
19:27min_vent_on_s90 → 60
19:27vpd_watch_dwell_s45 → 30

🌅 Morning Cycle (12:42 AM) — iris-20260411-0045

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-1840

Previous hypothesis: By maintaining bias_cool=+3 during all heating periods and deploying maximum-aggression misting (engage 1.3, gap 20s, weight 2.5, sealed vent 900s) during the extreme dry afternoons of Sunday and Monday, we can reduce vpd_high stress from 34h to under 8h per day while eliminating cold stress from vent oscillation. Result: [backfill] compliance unavailable over plan window 2026-04-11 06:42 → 2026-04-11 07:27 Score: 4/10

Hypothesis

Conditions: Today (Sat) is overcast with a brief dry window 11AM-2PM (75°F, 18% RH outdoor), then clouds return with possible light rain. Sunday is the hardest day: clear skies, 76°F, 8% RH outdoor — extreme VPD stress expected for 11+ hours. Monday is windy (25-29 mph) with 70°F high and 11% RH, moderating by evening. Current nighttime VPD is 0.81-0.92 kPa against a band ceiling of 0.6 kPa — we’re already out of band. Today’s partial scorecard shows 17.3h total stress dominated by vpd_high (12.6h). East zone seedlings (lettuce, strawberry, pepper) show stress signs (wilting, yellowing, browning) — likely light/nutrient related, not directly addressable by this planner. Testing: Compare Sunday peak stress (gap=15s, fog_escalation=0.2, max_closed=900s) vs Monday peak stress (gap=20s, fog_escalation=0.3, max_closed=900s) to test whether 15s gap + 0.2 fog escalation provides meaningfully better VPD control on the drier day (8% RH Sun vs 11% RH Mon). If Sunday’s vpd_high_stress per outdoor VPD unit is lower than Monday’s, the ultra-aggressive posture justifies the water cost. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_vpd should be ≤ Monday’s ratio despite Sunday being drier, demonstrating that 15s gap + 0.2 fog escalation compensates for extreme dryness. | target_score=55 | target_compliance=55% | expected_stress=[heat=3.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
00:42hyst 0.2Immediate coverage (copied from first transition)
00:45hyst 0.2Current VPD is 0.81-0.92 against nighttime band ceiling of 0
05:35hyst 0.2Coldest hour approaching (40°F outdoor, 88% RH). Heaters wil
09:59hyst 0.3Tree shade clears east zone at 09:59. Outdoor temp rising to
13:00hyst 0.4Peak outdoor temp 75°F with 18% RH (VPD 2.39 kPa outdoor). T
15:00hyst 0.3Forecast shows temp dropping to 62°F with 50% RH at 15:00 —
19:00hyst 0.2Sunset at 19:25, brief clear sky at 19:00 (0% cloud). Outdoo

Tactical tunable changes:

TimeValuesNote
00:42d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Immediate coverage (copied from first transition)
00:45d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Current VPD is 0.81-0.92 against nighttime band ceiling of 0
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Coldest hour approaching (40°F outdoor, 88% RH). Heaters wil
09:59d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2Tree shade clears east zone at 09:59. Outdoor temp rising to
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak outdoor temp 75°F with 18% RH (VPD 2.39 kPa outdoor). T
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Forecast shows temp dropping to 62°F with 50% RH at 15:00 —
19:00d_cool 3; engage 1.3; all 1.9; pulse 60; gap 35; wt 1.5Sunset at 19:25, brief clear sky at 19:00 (0% cloud). Outdoo

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Outdoor 43°F/46% RH, clear skies. Heaters active. Maintain b
09:58hyst 0.3Tree shade clears. Outdoor already 60°F/27% RH and dropping
16:00hyst 0.4Peak stress at 16:00: 76°F/8% RH outdoor (VPD 2.83 kPa). Thi
17:00hyst 0.3Fog window closed at 17:00. Outdoor still extreme: 75°F/9% R
19:26hyst 0.2Sunset. Outdoor 69°F/15% RH dropping to 56°F/24% overnight.

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Outdoor 43°F/46% RH, clear skies. Heaters active. Maintain b
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Tree shade clears. Outdoor already 60°F/27% RH and dropping
16:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 3Peak stress at 16:00: 76°F/8% RH outdoor (VPD 2.83 kPa). Thi
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2.5Fog window closed at 17:00. Outdoor still extreme: 75°F/9% R
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 35; wt 1.5Sunset. Outdoor 69°F/15% RH dropping to 56°F/24% overnight.

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday overnight is warmer (55-56°F) but dry (24-29% RH). He
09:58hyst 0.3Tree shade clears. Outdoor 59°F/19% RH. Cloud shift at 11:00
13:00hyst 0.4Peak VPD at 13:00: 69°F/11% RH outdoor with 25 mph wind. Out
14:00hyst 0.3Post-peak solar decline. Outdoor temp dropping from 70°F to
19:27hyst 0.2Sunset Monday. Outdoor dropping to 45°F by 22:00 with 36% RH

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Monday overnight is warmer (55-56°F) but dry (24-29% RH). He
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2Tree shade clears. Outdoor 59°F/19% RH. Cloud shift at 11:00
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak VPD at 13:00: 69°F/11% RH outdoor with 25 mph wind. Out
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak solar decline. Outdoor temp dropping from 70°F to
19:27d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Outdoor dropping to 45°F by 22:00 with 36% RH

Changed secondary parameters:

TimeParameterChange
00:42bias_coolinitial 3
00:42bias_heatinitial 1
00:42enthalpy_closeinitial 1
00:42enthalpy_openinitial -2
00:42fog_escalation_kpainitial 0.4
00:42min_fog_off_sinitial 60
00:42min_fog_on_sinitial 60
00:42min_heat_off_sinitial 300
00:42min_heat_on_sinitial 120
00:42min_vent_off_sinitial 60
00:42min_vent_on_sinitial 60
00:42mist_max_closed_vent_sinitial 600
00:42mist_thermal_relief_sinitial 90
00:42mist_vent_close_lead_sinitial 15
00:42mist_vent_reopen_delay_sinitial 45
00:42mister_water_budget_galinitial 500
00:42vpd_watch_dwell_sinitial 30
05:35fog_escalation_kpa0.4 → 0.3
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59vpd_watch_dwell_s30 → 45
13:00bias_cool0 → -1
13:00enthalpy_close1 → 2
13:00enthalpy_open-2 → -3
13:00min_vent_off_s60 → 90
13:00min_vent_on_s60 → 45
13:00mist_max_closed_vent_s600 → 900
13:00mist_vent_close_lead_s15 → 20
13:00mist_vent_reopen_delay_s45 → 60
13:00vpd_watch_dwell_s45 → 30
15:00bias_cool-1 → 0
15:00enthalpy_close2 → 1
15:00enthalpy_open-3 → -2
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s90 → 60
15:00min_vent_on_s45 → 60
15:00mist_max_closed_vent_s900 → 600
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:00bias_cool0 → 3
19:00bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.3
05:34vpd_watch_dwell_s45 → 30
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58fog_escalation_kpa0.3 → 0.2
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_max_closed_vent_s600 → 900
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
16:00bias_cool0 → -1
16:00enthalpy_close2 → 3
16:00enthalpy_open-3 → -4
16:00min_fog_on_s60 → 90
16:00min_vent_off_s90 → 120
16:00min_vent_on_s45 → 30
16:00mist_thermal_relief_s90 → 120
16:00mist_vent_close_lead_s20 → 25
17:00bias_cool-1 → 0
17:00enthalpy_close3 → 2
17:00enthalpy_open-4 → -3
17:00fog_escalation_kpa0.2 → 0.5
17:00min_fog_on_s90 → 60
17:00min_vent_off_s120 → 60
17:00min_vent_on_s30 → 60
17:00mist_max_closed_vent_s900 → 600
17:00mist_thermal_relief_s120 → 90
17:00mist_vent_close_lead_s25 → 15
17:00mist_vent_reopen_delay_s60 → 45
17:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.5 → 0.4
19:26vpd_watch_dwell_s45 → 30
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_max_closed_vent_s600 → 900
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
13:00bias_cool0 → -1
13:00enthalpy_close2 → 3
13:00enthalpy_open-3 → -4
13:00min_fog_on_s60 → 90
13:00min_vent_off_s90 → 120
13:00min_vent_on_s45 → 30
13:00mist_thermal_relief_s90 → 120
14:00bias_cool-1 → 0
14:00enthalpy_close3 → 2
14:00enthalpy_open-4 → -3
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_on_s90 → 60
14:00min_vent_off_s120 → 60
14:00min_vent_on_s30 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s20 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 3
19:27bias_heat0 → 1
19:27enthalpy_close2 → 1
19:27enthalpy_open-3 → -2
19:27vpd_watch_dwell_s45 → 30

🌅 Morning Cycle (1:27 AM) — iris-20260411-0130

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-1925

Previous hypothesis: Maintaining bias_cool=+4 during all heating periods prevents the vent oscillation that caused 8.6h cold stress on April 10. Engaging misters at 1.3 kPa with 20s gap during peak dry hours (Sat-Mon) and extending mist_max_closed_vent_s to 900s on the driest days (Sun/Mon with RH 9-10%) will keep VPD closer to band despite extreme outdoor dryness. Result: [backfill] compliance unavailable over plan window 2026-04-11 07:27 → 2026-04-11 08:12 Score: 4/10

Hypothesis

Conditions: Three challenging days ahead: Saturday (today) high 75°F with 17% RH and 100% cloud cover most of the day, Sunday extreme dry (76°F, 8% RH, clear afternoon), Monday windy and dry (70°F, 11% RH, high winds 25-29 mph). Today’s partial scorecard shows 19.3h total stress dominated by 14.6h vpd_high — the current plan’s daytime posture hasn’t engaged yet (it’s 1:25 AM). Cold nights all three days (lows 40-51°F) require heating bias. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside tuning control. Tuesday transitions to much cooler (46°F high) with higher humidity — easy day. Testing: Compare Saturday (cloud-moderated, fog_escalation=0.3, max_closed=600, dwell=45s) vs Monday (clear+windy, fog_escalation=0.3, max_closed=900, dwell=30s) on vpd_high_stress hours. Monday is windier (25-29 mph) which increases infiltration losses. If Monday’s vpd_high_stress per outdoor VPD is comparable to Saturday’s despite worse conditions, the 900s sealed-vent + 30s dwell compensates for wind-driven humidity loss. Expected outcome: Monday’s vpd_high_stress_h / avg_outdoor_vpd ratio should be within 20% of Saturday’s ratio, demonstrating that extended sealed-vent time offsets wind-driven infiltration losses. | target_score=62 | target_compliance=65% | expected_stress=[heat=1.5, cold=0.0, vpd_high=6.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
01:27hyst 0.2Immediate coverage (copied from first transition)
01:30hyst 0.2Cold night (outdoor 46°F dropping to 40°F). bias_cool +3 pre
05:35hyst 0.2Sunrise 06:35, outdoor 41°F. Keep heating bias active. Lower
09:59hyst 0.3East zone gets direct sun. Outdoor 62°F/42% RH at 10:00, cli
14:00hyst 0.4Peak at 75°F/17% RH outdoor (2.43 kPa outdoor VPD). Most agg
16:00hyst 0.3Outdoor temp dropping to 66°F/29% RH. Solar declining. Relax
19:25hyst 0.2Sunset. Outdoor dropping to 58°F/31% then 51°F/41% overnight

Tactical tunable changes:

TimeValuesNote
01:27d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Immediate coverage (copied from first transition)
01:30d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Cold night (outdoor 46°F dropping to 40°F). bias_cool +3 pre
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Sunrise 06:35, outdoor 41°F. Keep heating bias active. Lower
09:59d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2East zone gets direct sun. Outdoor 62°F/42% RH at 10:00, cli
14:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Peak at 75°F/17% RH outdoor (2.43 kPa outdoor VPD). Most agg
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Outdoor temp dropping to 66°F/29% RH. Solar declining. Relax
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Outdoor dropping to 58°F/31% then 51°F/41% overnight

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday will be extreme: 76°F high, 8% RH low, clear sky afte
09:58hyst 0.3Outdoor 65°F/21% RH at 10:00, clear sky. VPD ramp will be st
16:00hyst 0.4Sunday peak: 76°F/8% RH outdoor (2.83 kPa outdoor VPD). Maxi
17:00hyst 0.3Fog window closes at 17:00. Outdoor 75°F/9% still very dry b
19:26hyst 0.2Sunday night is warmer than Saturday (low 56°F vs 43°F) but

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Sunday will be extreme: 76°F high, 8% RH low, clear sky afte
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Outdoor 65°F/21% RH at 10:00, clear sky. VPD ramp will be st
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Sunday peak: 76°F/8% RH outdoor (2.83 kPa outdoor VPD). Maxi
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Fog window closes at 17:00. Outdoor 75°F/9% still very dry b
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunday night is warmer than Saturday (low 56°F vs 43°F) but

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday: 70°F high, 11% RH, winds 20-29 mph afternoon. Outdoo
09:58hyst 0.3Outdoor 63°F/15% at 10:00. Wind picking up (3→20 mph by noon
13:00hyst 0.4Monday peak: 69°F/11% outdoor (2.18 kPa), winds 25 mph. Clou
14:00hyst 0.3Post-peak: outdoor 70°F/12% but declining. Wind still strong
19:27hyst 0.2Monday night: cold front arriving, dropping to 45°F by 22:00

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Monday: 70°F high, 11% RH, winds 20-29 mph afternoon. Outdoo
09:58d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2Outdoor 63°F/15% at 10:00. Wind picking up (3→20 mph by noon
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 3Monday peak: 69°F/11% outdoor (2.18 kPa), winds 25 mph. Clou
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak: outdoor 70°F/12% but declining. Wind still strong
19:27d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Monday night: cold front arriving, dropping to 45°F by 22:00

Changed secondary parameters:

TimeParameterChange
01:27bias_coolinitial 3
01:27bias_heatinitial 1
01:27enthalpy_closeinitial 1
01:27enthalpy_openinitial -2
01:27fog_escalation_kpainitial 0.4
01:27min_fog_off_sinitial 60
01:27min_fog_on_sinitial 60
01:27min_heat_off_sinitial 300
01:27min_heat_on_sinitial 120
01:27min_vent_off_sinitial 60
01:27min_vent_on_sinitial 60
01:27mist_max_closed_vent_sinitial 600
01:27mist_thermal_relief_sinitial 90
01:27mist_vent_close_lead_sinitial 15
01:27mist_vent_reopen_delay_sinitial 45
01:27mister_water_budget_galinitial 500
01:27vpd_watch_dwell_sinitial 60
05:35fog_escalation_kpa0.4 → 0.3
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59vpd_watch_dwell_s60 → 45
14:00bias_cool0 → -1
14:00enthalpy_open-2 → -3
14:00vpd_watch_dwell_s45 → 30
16:00bias_cool-1 → 0
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.3 → 0.4
16:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.3
05:34vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58fog_escalation_kpa0.3 → 0.2
09:58min_vent_off_s60 → 90
09:58mist_max_closed_vent_s600 → 900
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s45 → 30
16:00bias_cool0 → -1
16:00min_fog_off_s60 → 45
17:00bias_cool-1 → 0
17:00enthalpy_close2 → 1
17:00enthalpy_open-3 → -2
17:00fog_escalation_kpa0.2 → 0.5
17:00min_fog_off_s45 → 60
17:00min_vent_off_s90 → 60
17:00mist_max_closed_vent_s900 → 600
17:00mist_vent_close_lead_s20 → 15
17:00mist_vent_reopen_delay_s60 → 45
17:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26fog_escalation_kpa0.5 → 0.4
19:26vpd_watch_dwell_s45 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
05:33vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58mist_max_closed_vent_s600 → 900
09:58mist_thermal_relief_s90 → 120
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s45 → 30
13:00bias_cool0 → -1
13:00min_fog_off_s60 → 45
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 1
14:00enthalpy_open-3 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s45 → 60
14:00min_vent_off_s90 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s20 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 3
19:27bias_heat0 → 1
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (2:12 AM) — iris-20260411-0215

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-2010

Previous hypothesis: Maintaining bias_cool=+4 during all heating periods prevents vent oscillation cold stress, while aggressive daytime misting (engage 1.3, gap 20s, weight 2.5) with extended sealed-vent time (900s) and low fog escalation (0.3 kPa) will minimize vpd_high stress on these extreme dry days. The key validated lesson is that nighttime vpd_high ~0.6 means mister_engage_kpa must be at 1.3 even overnight to have any chance of engaging before the band ceiling. Result: [backfill] compliance unavailable over plan window 2026-04-11 08:12 → 2026-04-11 08:57 Score: 4/10

Hypothesis

Conditions: Today (Sat) is cloud-moderated with high 74°F and outdoor RH dropping to 17% — moderate VPD stress expected. Sunday is the hardest day: clear skies, 76°F high, outdoor RH plunging to 8%, extreme dryness requiring maximum misting aggression. Monday is windy (25-29 mph) with 70°F high and 11% RH — wind-driven infiltration will challenge humidity retention. Tuesday brings a cold front (46°F high, 33% RH) — much easier. Current partial-day scorecard shows 15.63h vpd_high_stress already accumulated today, indicating the active plan’s daytime posture needs more aggressive misting and longer sealed-vent periods. East zone seedlings (lettuce, strawberry, pepper) show stress signs but these are likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, vpd_watch_dwell_s=30, mister_pulse_gap_s=15) vs Monday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=900, vpd_watch_dwell_s=30, mister_pulse_gap_s=20) on vpd_high_stress hours normalized by outdoor VPD. Sunday is drier (8% RH) but calmer; Monday is windier (25-29 mph) but slightly less dry (11% RH). If fog_escalation_kpa=0.2 on Sunday produces fewer normalized vpd_high_stress hours than 0.3 on Monday, the lower fog threshold compensates for extreme dryness better than sealed-vent alone. Expected outcome: Sunday’s vpd_high_stress_h / avg_outdoor_vpd should be lower than Monday’s ratio despite worse outdoor humidity, demonstrating that fog_escalation_kpa=0.2 provides meaningful additional humidity control beyond misting alone on extreme dry days. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
02:12hyst 0.2Immediate coverage (copied from first transition)
02:15hyst 0.2Cold night (outdoor 42-44°F). bias_heat +1 for pre-heat, bia
05:35hyst 0.2Sunrise 06:35, outdoor 42°F. Keep heating bias active. Lower
09:59hyst 0.3Tree shade clears east zone. Outdoor warming to 60°F, RH dro
14:00hyst 0.4Peak VPD stress window. Outdoor 73°F/17% RH. Aggressive mist
15:00hyst 0.3Solar declining, outdoor temp dropping to 64°F. Relax mistin
19:25hyst 0.2Sunset. Outdoor dropping to 51°F overnight. bias_heat +1 for

Tactical tunable changes:

TimeValuesNote
02:12d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Immediate coverage (copied from first transition)
02:15d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Cold night (outdoor 42-44°F). bias_heat +1 for pre-heat, bia
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Sunrise 06:35, outdoor 42°F. Keep heating bias active. Lower
09:59d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2Tree shade clears east zone. Outdoor warming to 60°F, RH dro
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak VPD stress window. Outdoor 73°F/17% RH. Aggressive mist
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Solar declining, outdoor temp dropping to 64°F. Relax mistin
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Outdoor dropping to 51°F overnight. bias_heat +1 for

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday is the hardest day: 76°F high, 8% RH low, clear skies
09:58hyst 0.3East zone direct sun. Outdoor 65°F/21% RH and dropping fast.
16:00hyst 0.4Peak VPD at 16:00 per milestone table. Outdoor 76°F/8% RH —
17:00hyst 0.3Fog window closes at 17:00. Widen fog_escalation to 0.5 (eff
19:26hyst 0.2Sunset. Sunday night is warmer than Saturday (low 56°F vs 48

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday is the hardest day: 76°F high, 8% RH low, clear skies
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone direct sun. Outdoor 65°F/21% RH and dropping fast.
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak VPD at 16:00 per milestone table. Outdoor 76°F/8% RH —
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Fog window closes at 17:00. Widen fog_escalation to 0.5 (eff
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Sunday night is warmer than Saturday (low 56°F vs 48

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday: 70°F high, 11% RH, winds 25-29 mph. Wind increases i
09:58hyst 0.3East zone direct sun. Outdoor 63°F/15% RH, wind picking up t
13:00hyst 0.4Peak VPD at 13:00. Cloud shift at 11:00 (clear→cloudy) may m
14:00hyst 0.3Post-peak decline. Outdoor 70°F/12% RH but wind still 28 mph
19:27hyst 0.2Sunset. Cold front arriving — overnight low 45°F, dropping t

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday: 70°F high, 11% RH, winds 25-29 mph. Wind increases i
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2East zone direct sun. Outdoor 63°F/15% RH, wind picking up t
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak VPD at 13:00. Cloud shift at 11:00 (clear→cloudy) may m
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak decline. Outdoor 70°F/12% RH but wind still 28 mph
19:27d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Cold front arriving — overnight low 45°F, dropping t

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday cold front: 46°F high, 33% RH, 100% clouds. Minimal

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday cold front: 46°F high, 33% RH, 100% clouds. Minimal

Changed secondary parameters:

TimeParameterChange
02:12bias_coolinitial 3
02:12bias_heatinitial 1
02:12enthalpy_closeinitial 1
02:12enthalpy_openinitial -2
02:12fog_escalation_kpainitial 0.4
02:12min_fog_off_sinitial 60
02:12min_fog_on_sinitial 60
02:12min_heat_off_sinitial 300
02:12min_heat_on_sinitial 120
02:12min_vent_off_sinitial 60
02:12min_vent_on_sinitial 60
02:12mist_max_closed_vent_sinitial 600
02:12mist_thermal_relief_sinitial 90
02:12mist_vent_close_lead_sinitial 15
02:12mist_vent_reopen_delay_sinitial 45
02:12mister_water_budget_galinitial 500
02:12vpd_watch_dwell_sinitial 60
05:35fog_escalation_kpa0.4 → 0.3
05:35vpd_watch_dwell_s60 → 45
09:59bias_cool3 → 0
09:59bias_heat1 → 0
14:00bias_cool0 → -1
14:00min_vent_off_s60 → 90
14:00mist_vent_close_lead_s15 → 20
14:00vpd_watch_dwell_s45 → 30
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s90 → 60
15:00mist_vent_close_lead_s20 → 15
15:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.2
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_close_lead_s15 → 20
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58vpd_watch_dwell_s45 → 30
16:00bias_cool0 → -1
16:00enthalpy_close1 → 2
16:00enthalpy_open-2 → -3
16:00min_vent_off_s90 → 120
16:00mist_vent_close_lead_s20 → 25
17:00bias_cool-1 → 0
17:00enthalpy_close2 → 1
17:00enthalpy_open-3 → -2
17:00fog_escalation_kpa0.2 → 0.5
17:00min_fog_off_s60 → 90
17:00min_vent_off_s120 → 60
17:00mist_max_closed_vent_s900 → 600
17:00mist_vent_close_lead_s25 → 15
17:00mist_vent_reopen_delay_s60 → 45
17:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26fog_escalation_kpa0.5 → 0.4
19:26min_fog_off_s90 → 60
19:26vpd_watch_dwell_s45 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_close_lead_s15 → 20
05:33mist_vent_reopen_delay_s45 → 60
05:33vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58mist_thermal_relief_s90 → 120
09:58vpd_watch_dwell_s45 → 30
13:00bias_cool0 → -1
13:00enthalpy_close1 → 2
13:00enthalpy_open-2 → -3
13:00min_vent_off_s90 → 120
13:00mist_vent_close_lead_s20 → 25
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 1
14:00enthalpy_open-3 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s60 → 90
14:00min_vent_off_s120 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s25 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 3
19:27bias_heat0 → 1
19:27min_fog_off_s90 → 60
19:27vpd_watch_dwell_s45 → 60
02:00bias_cool3 → 4
02:00bias_heat1 → 2

🌅 Morning Cycle (2:57 AM) — iris-20260411-0300

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-2010

Result: [backfill] compliance unavailable over plan window 2026-04-11 08:57 → 2026-04-11 09:42 Score: 4/10

Hypothesis

Conditions: Today (Sat) is overcast with 75°F high, 18% low RH — moderate VPD stress expected. Sunday is the hardest day: 76°F, 7% RH, extreme dryness with clear-to-cloud transition at 11:00. Monday brings 70°F, 11% RH with high winds (25-29 mph) and cloud cover clearing at 11:00. Tuesday drops to 46°F with 33% RH — cold front arrives, minimal stress. Current partial-day scorecard shows 22.3h total stress (17.6h vpd_high + 4.7h heat) with only 7% compliance, but nighttime bands are tight (vpd_high=0.6, temp_high=65) and indoor VPD is 0.85-1.00 — the overnight band is very narrow. Lettuce and strawberry seedlings in east zone show stress (wilting, yellowing, browning) — likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, wind 3-18 mph, outdoor RH 7-15%) vs Monday (fog_escalation_kpa=0.3, wind 20-29 mph, outdoor RH 11-22%) on vpd_high_stress hours normalized by average outdoor VPD. If fog_escalation_kpa=0.2 on Sunday yields a lower stress-to-outdoor-VPD ratio than 0.3 on Monday, earlier fog engagement is the dominant lever for extreme dryness. Expected outcome: Sunday’s vpd_high_stress_hours / avg_outdoor_vpd should be lower than Monday’s ratio despite Sunday being 2x drier, demonstrating that fog_escalation_kpa=0.2 compensates for extreme dryness better than 0.3 with sealed-vent alone. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
02:57hyst 0.2Immediate coverage (copied from first transition)
03:00hyst 0.2Cold night (outdoor 40-44°F). bias_cool +3 prevents vent osc
05:35hyst 0.2Pre-dawn Saturday. Outdoor 41°F, 86% RH, overcast. Heaters s
09:59hyst 0.3Tree shade clears east zone. Outdoor 60°F, 46% RH, overcast.
13:00hyst 0.4Peak stress Saturday: 75°F, 18% RH outdoor, partial cloud br
16:00hyst 0.3Post-solar decline Saturday. Outdoor 68°F, 30% RH, still ove
19:25hyst 0.2Evening Saturday. Outdoor dropping to 52°F overnight, clear

Tactical tunable changes:

TimeValuesNote
02:57d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Immediate coverage (copied from first transition)
03:00d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Cold night (outdoor 40-44°F). bias_cool +3 prevents vent osc
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn Saturday. Outdoor 41°F, 86% RH, overcast. Heaters s
09:59d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2Tree shade clears east zone. Outdoor 60°F, 46% RH, overcast.
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak stress Saturday: 75°F, 18% RH outdoor, partial cloud br
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-solar decline Saturday. Outdoor 68°F, 30% RH, still ove
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Evening Saturday. Outdoor dropping to 52°F overnight, clear

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn Sunday. Outdoor 44°F, 54% RH, clear. Extreme drynes
09:58hyst 0.3Tree shade clears Sunday. Outdoor 65°F, 18% RH, clear sky. V
11:00hyst 0.3Cloud shift Sunday 11:00 — clouds arrive (63% cover) but out
15:00hyst 0.4Peak stress Sunday: 76°F, 7% RH outdoor — extreme. Maximum m
16:00hyst 0.4Post-solar decline Sunday. Outdoor 75°F, 7% RH, 100% cloud,
19:26hyst 0.2Evening Sunday. Outdoor dropping to 56°F overnight, still ve

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Sunday. Outdoor 44°F, 54% RH, clear. Extreme drynes
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears Sunday. Outdoor 65°F, 18% RH, clear sky. V
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud shift Sunday 11:00 — clouds arrive (63% cover) but out
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress Sunday: 76°F, 7% RH outdoor — extreme. Maximum m
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Post-solar decline Sunday. Outdoor 75°F, 7% RH, 100% cloud,
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Evening Sunday. Outdoor dropping to 56°F overnight, still ve

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 51°F, 25% RH, overcast, 9 mph wind.
09:58hyst 0.3Tree shade clears Monday. Outdoor 63°F, 15% RH, overcast. VP
11:00hyst 0.4Cloud shift Monday 11:00 — clearing to 0% cloud by noon. Sol
14:00hyst 0.3Post-solar decline Monday. Outdoor 70°F, 12% RH, 28 mph wind
19:27hyst 0.2Evening Monday. Cold front arriving — outdoor drops to 45°F

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday. Outdoor 51°F, 25% RH, overcast, 9 mph wind.
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2Tree shade clears Monday. Outdoor 63°F, 15% RH, overcast. VP
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Cloud shift Monday 11:00 — clearing to 0% cloud by noon. Sol
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-solar decline Monday. Outdoor 70°F, 12% RH, 28 mph wind
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Evening Monday. Cold front arriving — outdoor drops to 45°F

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday 02:00 — cold front in full effect. Outdoor 45°F, 38%

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday 02:00 — cold front in full effect. Outdoor 45°F, 38%

Changed secondary parameters:

TimeParameterChange
02:57bias_coolinitial 3
02:57bias_heatinitial 1
02:57enthalpy_closeinitial 1
02:57enthalpy_openinitial -2
02:57fog_escalation_kpainitial 0.4
02:57min_fog_off_sinitial 60
02:57min_fog_on_sinitial 60
02:57min_heat_off_sinitial 300
02:57min_heat_on_sinitial 120
02:57min_vent_off_sinitial 60
02:57min_vent_on_sinitial 60
02:57mist_max_closed_vent_sinitial 600
02:57mist_thermal_relief_sinitial 90
02:57mist_vent_close_lead_sinitial 15
02:57mist_vent_reopen_delay_sinitial 45
02:57mister_water_budget_galinitial 500
02:57vpd_watch_dwell_sinitial 60
05:35fog_escalation_kpa0.4 → 0.3
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59vpd_watch_dwell_s60 → 45
13:00bias_cool0 → -1
13:00vpd_watch_dwell_s45 → 30
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.3 → 0.4
16:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58vpd_watch_dwell_s60 → 30
11:00bias_cool0 → -1
11:00enthalpy_close1 → 2
11:00enthalpy_open-2 → -3
11:00min_fog_off_s60 → 45
11:00min_vent_off_s60 → 90
11:00mist_thermal_relief_s90 → 120
11:00mist_vent_reopen_delay_s45 → 60
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_vent_off_s90 → 60
16:00mist_thermal_relief_s120 → 90
16:00mist_vent_reopen_delay_s60 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s30 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58vpd_watch_dwell_s60 → 30
11:00bias_cool0 → -1
11:00enthalpy_close1 → 2
11:00enthalpy_open-2 → -3
11:00min_fog_off_s60 → 45
11:00min_vent_off_s60 → 90
11:00mist_thermal_relief_s90 → 120
11:00mist_vent_reopen_delay_s45 → 60
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 1
14:00enthalpy_open-3 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s45 → 60
14:00min_vent_off_s90 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (3:42 AM) — iris-20260411-0345

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-2100

Previous hypothesis: By maintaining bias_cool=+4 during all heating periods to prevent vent oscillation, keeping mister_engage_kpa=1.3 at all times (since nighttime vpd_high band is 0.6-0.8, well below the default 1.6 engage threshold), and using aggressive sealed-vent misting (gap=20s, max_closed=900s) during peak dry hours, we can reduce total stress hours from 69.6h to under 15h across the 3-day period. Result: [backfill] compliance unavailable over plan window 2026-04-11 09:42 → 2026-04-11 10:27 Score: 4/10

Hypothesis

Conditions: Today (Sat): overcast, high 75°F, outdoor RH dropping to 18% by 1 PM — moderate VPD stress expected. Sunday is the hardest day: clear-to-partly-cloudy, 76°F high, outdoor RH plunging to 7% with winds 14-18 mph — extreme dryness will drive sustained VPD_high stress. Monday: windy (20-29 mph), 70°F high, 11-12% RH, clearing by afternoon — still aggressive but slightly less extreme. Tuesday cold front arrives (46°F high, 33% RH) — easy day. Current partial scorecard shows 18.6h vpd_high_stress today already, indicating the active plan’s evening revert to engage=1.3/gap=45 was too conservative for the dry overnight. East zone seedlings (lettuce, strawberry) show stress signs but these are likely light/nutrient issues outside tuning scope. Testing: Compare Saturday (overcast, fog_escalation_kpa=0.3, mist_max_closed_vent_s=600) vs Monday (clear+windy, fog_escalation_kpa=0.3, mist_max_closed_vent_s=900) on vpd_high_stress hours. Monday has higher wind (20-29 mph) but similar outdoor VPD. If 900s sealed-vent on Monday yields fewer vpd_high stress hours per unit outdoor VPD than Saturday’s 600s, extended sealed-vent is the dominant lever even in windy conditions. Expected outcome: Monday’s vpd_high_stress_hours / avg_outdoor_vpd ratio should be lower than Saturday’s ratio, demonstrating that 900s sealed-vent compensates for wind-driven infiltration losses better than 600s. | target_score=45 | target_compliance=40% | expected_stress=[heat=3.0, cold=0.5, vpd_high=12.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
03:42hyst 0.2Immediate coverage (copied from first transition)
03:45hyst 0.2Cold night (40°F outdoor). bias_cool +3 prevents vent oscill
05:35hyst 0.2Pre-dawn: still cold (41°F), keep heating bias. Lower mister
09:59hyst 0.3Tree shade clears east zone. Outdoor warming to 60°F — drop
13:00hyst 0.4Peak stress: 75°F outdoor, 18% RH, clouds breaking briefly a
16:00hyst 0.3Declining solar, temp dropping to 68°F but outdoor RH still
19:25hyst 0.2Sunset. Overnight low ~47°F, heaters will run. bias_cool +3

Tactical tunable changes:

TimeValuesNote
03:42d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Immediate coverage (copied from first transition)
03:45d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Cold night (40°F outdoor). bias_cool +3 prevents vent oscill
05:35d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn: still cold (41°F), keep heating bias. Lower mister
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Tree shade clears east zone. Outdoor warming to 60°F — drop
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak stress: 75°F outdoor, 18% RH, clouds breaking briefly a
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Declining solar, temp dropping to 68°F but outdoor RH still
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low ~47°F, heaters will run. bias_cool +3

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday is the hardest day: 76°F high, 7% RH, winds 14-18 mph
09:58hyst 0.3Tree shade clears. Outdoor 62°F, 24% RH — VPD ramp accelerat
11:00hyst 0.3Cloud shift at 11:00 — 63% cloud cover arrives but outdoor R
15:00hyst 0.4Peak stress: 76°F outdoor, 7% RH, outdoor VPD 2.84 kPa, wind
16:00hyst 0.4Fog window closes at 17:00. Widen fog_escalation to 0.3 — ca
19:26hyst 0.2Sunset Sunday. Overnight low dropping to 55-56°F (warmer tha

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday is the hardest day: 76°F high, 7% RH, winds 14-18 mph
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears. Outdoor 62°F, 24% RH — VPD ramp accelerat
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud shift at 11:00 — 63% cloud cover arrives but outdoor R
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress: 76°F outdoor, 7% RH, outdoor VPD 2.84 kPa, wind
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Fog window closes at 17:00. Widen fog_escalation to 0.3 — ca
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Overnight low dropping to 55-56°F (warmer tha

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday: 70°F high, 11-12% RH, winds 20-29 mph. Wind will inc
09:58hyst 0.3Tree shade clears. Overcast (100%) but outdoor RH only 19%.
11:00hyst 0.4Clouds clearing (0% by 11AM), solar load jumps to 698 W/m².
14:00hyst 0.3Post-peak solar. Temp declining (70→68°F) but wind still 28-
19:27hyst 0.2Sunset Monday. Cold front arriving — overnight low 45°F, out

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday: 70°F high, 11-12% RH, winds 20-29 mph. Wind will inc
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2Tree shade clears. Overcast (100%) but outdoor RH only 19%.
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Clouds clearing (0% by 11AM), solar load jumps to 698 W/m².
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak solar. Temp declining (70→68°F) but wind still 28-
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Cold front arriving — overnight low 45°F, out

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday: cold front (46°F high, 33% RH, 100% cloud at 02:00)

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday: cold front (46°F high, 33% RH, 100% cloud at 02:00)

Changed secondary parameters:

TimeParameterChange
03:42bias_coolinitial 3
03:42bias_heatinitial 1
03:42enthalpy_closeinitial 1
03:42enthalpy_openinitial -2
03:42fog_escalation_kpainitial 0.4
03:42min_fog_off_sinitial 60
03:42min_fog_on_sinitial 60
03:42min_heat_off_sinitial 300
03:42min_heat_on_sinitial 120
03:42min_vent_off_sinitial 60
03:42min_vent_on_sinitial 60
03:42mist_max_closed_vent_sinitial 600
03:42mist_thermal_relief_sinitial 90
03:42mist_vent_close_lead_sinitial 15
03:42mist_vent_reopen_delay_sinitial 45
03:42mister_water_budget_galinitial 500
03:42vpd_watch_dwell_sinitial 60
05:35fog_escalation_kpa0.4 → 0.3
05:35vpd_watch_dwell_s60 → 45
09:59bias_cool3 → 0
09:59bias_heat1 → 0
13:00bias_cool0 → -1
13:00vpd_watch_dwell_s45 → 30
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.3 → 0.4
16:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34enthalpy_close1 → 2
05:34enthalpy_open-2 → -3
05:34fog_escalation_kpa0.4 → 0.2
05:34min_fog_off_s60 → 45
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_close_lead_s15 → 20
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 30
09:58bias_cool3 → 0
09:58bias_heat1 → 0
11:00bias_cool0 → -1
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.3 → 0.4
19:26min_vent_off_s90 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33enthalpy_close1 → 2
05:33enthalpy_open-2 → -3
05:33fog_escalation_kpa0.4 → 0.3
05:33min_fog_off_s60 → 45
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_thermal_relief_s90 → 120
05:33mist_vent_close_lead_s15 → 20
05:33mist_vent_reopen_delay_s45 → 60
05:33vpd_watch_dwell_s60 → 30
09:58bias_cool3 → 0
09:58bias_heat1 → 0
11:00bias_cool0 → -1
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 1
14:00enthalpy_open-3 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s45 → 60
14:00min_vent_off_s90 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s20 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (4:27 AM) — iris-20260411-0430

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-2145

Previous hypothesis: By maintaining mister_engage_kpa=1.3 and bias_cool=+4 at ALL times (including overnight), we prevent the two dominant failure modes: (1) mister engage threshold above the tight nighttime vpd_high band ceiling, and (2) vent oscillation during heating. During daytime peak stress, aggressive misting (gap=20s, weight=2.5-3.0) with extended sealed-vent periods (900s) will maximize evaporative cooling. This should dramatically reduce the 41.1h vpd_high stress seen on April 10. Result: [backfill] compliance unavailable over plan window 2026-04-11 10:27 → 2026-04-11 11:12 Score: 4/10

Hypothesis

Conditions: Three challenging days ahead: Saturday (today) overcast with 76°F high and 17% low RH, Sunday extremely dry (7% RH, 76°F, clear afternoon), Monday windy (20-29 mph) with 70°F and 11% RH clearing to sun midday. Tuesday brings a cold front (46°F high, 33% RH) — much easier. Current state is SEALED_MIST_S1 at 4:25 AM with indoor temps 61-68°F and VPD 0.82-1.16 kPa. Today’s partial scorecard shows 0% compliance and 20.6h vpd_high stress — the active plan’s daytime settings are struggling against dry conditions despite overcast skies. Lettuce and strawberry seedlings in east zone show stress (wilting, yellowing, browning) likely from temperature/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s at peak) vs Saturday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=600, pulse_gap=20s at peak) on vpd_high stress hours normalized by outdoor VPD. Sunday is ~2.5x drier. If fog_escalation 0.2 + 900s sealed-vent compensates, Sunday’s vpd_high_stress / avg_outdoor_VPD ratio should be ≤ Saturday’s ratio. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Saturday’s ratio, demonstrating that tighter fog escalation (0.2 vs 0.3) is the dominant lever for extreme dryness beyond sealed-vent extension alone. | target_score=55 | target_compliance=55% | expected_stress=[heat=2.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
04:27hyst 0.2Immediate coverage (copied from first transition)
04:30hyst 0.2Pre-dawn cold night posture. Outdoor 41°F, heaters active. b
09:59hyst 0.3East zone gets direct sun, VPD ramp accelerates. Overcast bu
14:00hyst 0.4Peak at 76°F/17% RH outdoor. Forecast shows 453 W/m² solar a
16:00hyst 0.3Solar declining, outdoor temp dropping to 69°F. Relax mistin
19:25hyst 0.2Sunset. Outdoor dropping to 61°F/32% RH overnight then 52°F

Tactical tunable changes:

TimeValuesNote
04:27d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Immediate coverage (copied from first transition)
04:30d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 1.5Pre-dawn cold night posture. Outdoor 41°F, heaters active. b
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2East zone gets direct sun, VPD ramp accelerates. Overcast bu
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak at 76°F/17% RH outdoor. Forecast shows 453 W/m² solar a
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Solar declining, outdoor temp dropping to 69°F. Relax mistin
19:25d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Outdoor dropping to 61°F/32% RH overnight then 52°F

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday is the hardest day: 7% RH, 76°F, clear afternoon. Pre
09:58hyst 0.3Clear sky, 503 W/m² solar by 10AM, outdoor 65°F/18% RH. VPD
11:00hyst 0.3Cloud cover increases to 63% at 11AM but solar still 591 W/m
15:00hyst 0.4Peak conditions: 76°F/7% RH outdoor, 636 W/m² solar, wind 14
16:00hyst 0.3Solar declining but still dry (75°F/7% RH, wind 17 mph). Fog
19:26hyst 0.2Sunday night: outdoor drops from 70°F to 56°F by midnight, s

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday is the hardest day: 7% RH, 76°F, clear afternoon. Pre
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Clear sky, 503 W/m² solar by 10AM, outdoor 65°F/18% RH. VPD
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud cover increases to 63% at 11AM but solar still 591 W/m
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak conditions: 76°F/7% RH outdoor, 636 W/m² solar, wind 14
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Solar declining but still dry (75°F/7% RH, wind 17 mph). Fog
19:26d_cool 3; engage 1.3; all 1.9; pulse 60; gap 45; wt 1.5Sunday night: outdoor drops from 70°F to 56°F by midnight, s

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday pre-dawn: 51°F/25% RH outdoor, wind 9 mph. Cold-dry p
09:58hyst 0.3Monday morning: overcast clearing to sun by 11AM. Outdoor 59
11:00hyst 0.4Clouds clear at 11AM — 698 W/m² solar, outdoor 66°F/12% RH.
14:00hyst 0.3Monday 14:00: outdoor 70°F/12% RH, wind 28 mph, 757 W/m² sol
19:27hyst 0.2Monday evening: outdoor dropping from 60°F to 45°F overnight

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday pre-dawn: 51°F/25% RH outdoor, wind 9 mph. Cold-dry p
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2Monday morning: overcast clearing to sun by 11AM. Outdoor 59
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Clouds clear at 11AM — 698 W/m² solar, outdoor 66°F/12% RH.
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2Monday 14:00: outdoor 70°F/12% RH, wind 28 mph, 757 W/m² sol
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Monday evening: outdoor dropping from 60°F to 45°F overnight

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday cold front: 46°F high, 33% RH, overcast with 22% pre

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday cold front: 46°F high, 33% RH, overcast with 22% pre

Changed secondary parameters:

TimeParameterChange
04:27bias_coolinitial 3
04:27bias_heatinitial 1
04:27enthalpy_closeinitial 1
04:27enthalpy_openinitial -2
04:27fog_escalation_kpainitial 0.4
04:27min_fog_off_sinitial 60
04:27min_fog_on_sinitial 60
04:27min_heat_off_sinitial 300
04:27min_heat_on_sinitial 120
04:27min_vent_off_sinitial 60
04:27min_vent_on_sinitial 60
04:27mist_max_closed_vent_sinitial 600
04:27mist_thermal_relief_sinitial 90
04:27mist_vent_close_lead_sinitial 15
04:27mist_vent_reopen_delay_sinitial 45
04:27mister_water_budget_galinitial 500
04:27vpd_watch_dwell_sinitial 45
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59fog_escalation_kpa0.4 → 0.3
14:00bias_cool0 → -1
14:00min_vent_off_s60 → 90
14:00mist_vent_close_lead_s15 → 20
14:00vpd_watch_dwell_s45 → 30
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.3 → 0.4
16:00min_fog_off_s60 → 90
16:00min_vent_off_s90 → 60
16:00mist_vent_close_lead_s20 → 15
16:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25min_fog_off_s90 → 60
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.2
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_fog_off_s60 → 45
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s45 → 30
11:00bias_cool0 → -1
15:00min_fog_off_s45 → 30
15:00min_vent_off_s90 → 120
15:00mist_vent_close_lead_s20 → 25
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s30 → 60
16:00min_vent_off_s120 → 90
16:00mist_vent_close_lead_s25 → 20
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26fog_escalation_kpa0.3 → 0.4
19:26min_vent_off_s90 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26vpd_watch_dwell_s45 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_close_lead_s15 → 20
05:33mist_vent_reopen_delay_s45 → 60
05:33vpd_watch_dwell_s60 → 45
09:58bias_cool3 → 0
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_fog_off_s60 → 45
09:58mist_vent_close_lead_s20 → 25
09:58vpd_watch_dwell_s45 → 30
11:00bias_cool0 → -1
11:00min_vent_off_s90 → 120
11:00mist_thermal_relief_s90 → 120
11:00mist_vent_close_lead_s25 → 30
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 1
14:00enthalpy_open-3 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s45 → 90
14:00min_vent_off_s120 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s30 → 25
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27min_fog_off_s90 → 60
19:27mist_vent_close_lead_s25 → 15
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (5:12 AM) — iris-20260411-0515

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260410-2230

Previous hypothesis: Maintaining mister_engage_kpa=1.3 at ALL transitions (including overnight), bias_cool=+3 to +4 during all heating periods, and aggressive daytime misting posture (gap 20s, weight 3.0) on the extreme dry days will reduce vpd_high_stress from 41h to under 8h while keeping cold_stress under 1h by preventing vent oscillation during heating. Result: [backfill] compliance unavailable over plan window 2026-04-11 11:12 → 2026-04-11 12:02 Score: 4/10

Hypothesis

Conditions: Today (Sat) peaks 75°F with 17% RH and 100% cloud cover — moderate VPD stress expected. Sunday is the hardest day: 76°F peak with 7% RH, extreme dryness requiring maximum humidity retention. Monday peaks 70°F with 11% RH and high winds (20-29 mph), moderate difficulty. Tuesday brings a cold front (46°F high, 33% RH) — easy day, heater-dominant. Current scorecard shows 21.6h vpd_high stress today already, indicating the active plan’s morning posture was too passive before tree shade cleared. East zone lettuce/strawberry seedlings show stress (wilting, yellowing) — likely nutrient/light issues outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s at peak, mister_vpd_weight=3.0) vs Monday (fog_escalation_kpa=0.3, mist_max_closed_vent_s=900, pulse_gap=20s at peak, mister_vpd_weight=2.5) on vpd_high stress hours normalized by outdoor VPD. Sunday is ~2x drier but calmer winds. If fog_escalation 0.2 compensates for extreme dryness, Sunday’s vpd_high_stress / avg_outdoor_VPD should be ≤ Monday’s ratio. Expected outcome: Sunday vpd_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that fog_escalation 0.2 + 3.0 weight effectively compensates for extreme dryness better than 0.3 + 2.5 weight on a windy moderate-dry day. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.5, cold=0.0, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
05:12hyst 0.2Immediate coverage (copied from first transition)
05:15hyst 0.2Pre-dawn: outdoor 41°F, heaters active. bias_cool +3 prevent
07:00hyst 0.3Cloud shift at 07:00 (100% cloud). Fog window now open. Drop
09:59hyst 0.3Tree shade clears east zone — direct sun accelerates VPD ram
13:00hyst 0.4Peak: 75°F/17% RH outdoor, VPD ~2.44 kPa outdoor. Max mistin
15:00hyst 0.3Post-peak: outdoor drops to 69°F/26% RH at 15:00 with 16 mph
19:25hyst 0.2Evening: sunset 19:25, outdoor dropping to 59°F/34% by 20:00

Tactical tunable changes:

TimeValuesNote
05:12d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Immediate coverage (copied from first transition)
05:15d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn: outdoor 41°F, heaters active. bias_cool +3 prevent
07:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Cloud shift at 07:00 (100% cloud). Fog window now open. Drop
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears east zone — direct sun accelerates VPD ram
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak: 75°F/17% RH outdoor, VPD ~2.44 kPa outdoor. Max mistin
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak: outdoor drops to 69°F/26% RH at 15:00 with 16 mph
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Evening: sunset 19:25, outdoor dropping to 59°F/34% by 20:00

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn Sunday: outdoor 44°F/54% RH, clear skies. Extreme d
09:58hyst 0.3Tree shade clears: outdoor 62°F/24% at 09:00, rapidly drying
11:00hyst 0.3Cloud shift at 11:00 (63% cloud). Outdoor 68°F/15% RH — extr
15:00hyst 0.4Peak stress: 76°F/7% RH outdoor, VPD 2.84 kPa outdoor — extr
16:00hyst 0.3Post-peak: outdoor still extreme (75°F/7% RH, 17 mph wind) b
19:26hyst 0.2Evening: sunset 19:26, outdoor 70°F/8% dropping to 56°F/20%

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Sunday: outdoor 44°F/54% RH, clear skies. Extreme d
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears: outdoor 62°F/24% at 09:00, rapidly drying
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud shift at 11:00 (63% cloud). Outdoor 68°F/15% RH — extr
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress: 76°F/7% RH outdoor, VPD 2.84 kPa outdoor — extr
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Post-peak: outdoor still extreme (75°F/7% RH, 17 mph wind) b
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Evening: sunset 19:26, outdoor 70°F/8% dropping to 56°F/20%

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday: outdoor 51°F/25% RH, 100% cloud, 9 mph wind
09:58hyst 0.3Tree shade clears: outdoor 59°F/19% at 09:00, cloud clearing
13:00hyst 0.4Peak: 69°F/11% RH outdoor, 25 mph wind, VPD 2.18 kPa outdoor
14:00hyst 0.3Post-peak: outdoor 70°F/12% at 14:00 but declining to 64°F/1
19:27hyst 0.2Evening: sunset 19:27, outdoor 60°F/22% dropping to 45°F/36%

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday: outdoor 51°F/25% RH, 100% cloud, 9 mph wind
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2Tree shade clears: outdoor 59°F/19% at 09:00, cloud clearing
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Peak: 69°F/11% RH outdoor, 25 mph wind, VPD 2.18 kPa outdoor
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-peak: outdoor 70°F/12% at 14:00 but declining to 64°F/1
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Evening: sunset 19:27, outdoor 60°F/22% dropping to 45°F/36%

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Cold front: outdoor 45°F/38% RH, 100% cloud, 8 mph wind. Tue

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Cold front: outdoor 45°F/38% RH, 100% cloud, 8 mph wind. Tue

Changed secondary parameters:

TimeParameterChange
05:12bias_coolinitial 3
05:12bias_heatinitial 1
05:12enthalpy_closeinitial 1
05:12enthalpy_openinitial -2
05:12fog_escalation_kpainitial 0.4
05:12min_fog_off_sinitial 60
05:12min_fog_on_sinitial 60
05:12min_heat_off_sinitial 300
05:12min_heat_on_sinitial 120
05:12min_vent_off_sinitial 60
05:12min_vent_on_sinitial 60
05:12mist_max_closed_vent_sinitial 600
05:12mist_thermal_relief_sinitial 90
05:12mist_vent_close_lead_sinitial 15
05:12mist_vent_reopen_delay_sinitial 45
05:12mister_water_budget_galinitial 500
05:12vpd_watch_dwell_sinitial 30
07:00bias_cool3 → 0
07:00bias_heat1 → 0
07:00fog_escalation_kpa0.4 → 0.3
09:59bias_cool0 → -1
13:00enthalpy_open-2 → -3
13:00min_vent_off_s60 → 90
13:00mist_vent_close_lead_s15 → 20
13:00mist_vent_reopen_delay_s45 → 60
15:00bias_cool-1 → 0
15:00enthalpy_open-3 → -2
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s90 → 60
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
05:34vpd_watch_dwell_s60 → 30
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
11:00min_fog_off_s60 → 45
11:00mist_thermal_relief_s90 → 120
15:00enthalpy_close2 → 3
15:00enthalpy_open-3 → -4
15:00min_fog_off_s45 → 30
15:00min_fog_on_s60 → 90
15:00min_vent_off_s90 → 120
15:00mist_vent_close_lead_s20 → 25
16:00bias_cool-1 → 0
16:00enthalpy_close3 → 2
16:00enthalpy_open-4 → -3
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s30 → 60
16:00min_fog_on_s90 → 60
16:00min_vent_off_s120 → 90
16:00mist_thermal_relief_s120 → 90
16:00mist_vent_close_lead_s25 → 20
16:00mist_vent_reopen_delay_s60 → 45
19:26bias_cool0 → 4
19:26bias_heat0 → 2
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.3 → 0.4
19:26min_vent_off_s90 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26vpd_watch_dwell_s30 → 60
05:33bias_cool4 → 3
05:33bias_heat2 → 1
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33vpd_watch_dwell_s60 → 30
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58mist_thermal_relief_s90 → 120
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
13:00enthalpy_close2 → 3
13:00enthalpy_open-3 → -4
13:00min_fog_off_s60 → 45
13:00min_vent_off_s90 → 120
14:00bias_cool-1 → 0
14:00enthalpy_close3 → 1
14:00enthalpy_open-4 → -2
14:00fog_escalation_kpa0.3 → 0.4
14:00min_fog_off_s45 → 60
14:00min_vent_off_s120 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_thermal_relief_s120 → 90
14:00mist_vent_close_lead_s20 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27vpd_watch_dwell_s45 → 60
02:00min_heat_on_s120 → 180

🌅 Morning Cycle (6:02 AM) — iris-20260411-0605

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0000

Previous hypothesis: Maintaining mister_engage_kpa=1.3 at ALL transitions (including overnight) with bias_cool=+3 during heating periods will eliminate the nighttime vpd_high stress that dominated April 10. Aggressive daytime misting (gap 20s, weight 3.0, max_closed_vent 900s) on Sunday/Monday will limit peak VPD stress despite extreme dryness. Saturday’s overcast conditions should allow moderate compliance. Result: [backfill] compliance unavailable over plan window 2026-04-11 12:02 → 2026-04-11 12:07 Score: 4/10

Hypothesis

Conditions: Today (Sat) is transitioning from overcast/cold morning (39°F) to warm dry afternoon (75°F, 16% RH) — extreme VPD stress expected 11AM-5PM. Today’s partial scorecard already shows 22.87h vpd_high stress, indicating the current plan’s daytime posture is insufficient. Sunday is the most extreme day: 76°F with 7% RH outdoor, producing outdoor VPD near 2.8 kPa — maximum misting aggression needed. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — mild day, heating overnight. East zone seedlings (lettuce, strawberry, pepper) show stress from temperature/light issues outside this planner’s control surface. Vanda orchids and Canna lilies healthy. Testing: Compare Saturday afternoon (fog_escalation_kpa=0.3, mist_max_closed_vent_s=600, pulse_gap=20s) vs Sunday peak (fog_escalation_kpa=0.2, mist_max_closed_vent_s=900, pulse_gap=15s) on vpd_high stress hours per unit outdoor VPD. Sunday is ~2x drier. If the more aggressive Sunday posture compensates, Sunday’s vpd_high_stress/avg_outdoor_VPD ratio should be ≤ Saturday’s. Expected outcome: Sunday vpd_high_stress normalized by average outdoor VPD (expected ~2.5 kPa avg) should be ≤ Saturday’s ratio (expected ~2.0 kPa avg outdoor VPD). Specifically: Sunday vpd_high_h/2.5 ≤ Saturday vpd_high_h/2.0. | target_score=45 | target_compliance=40% | expected_stress=[heat=1.0, cold=0.5, vpd_high=10.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
06:02hyst 0.3Immediate coverage (copied from first transition)
06:05hyst 0.3Morning is cold (39°F outdoor) and overcast but warming fast
09:59hyst 0.3East zone loses tree shade, solar gain increases. Outdoor te
14:00hyst 0.4Peak outdoor temp 75°F, 16% RH. Outdoor VPD ~2.46 kPa. Incre
18:00hyst 0.3Skies clearing at 18:00 (6% cloud). Outdoor temp 67°F, RH 29
19:25hyst 0.2Sunset. Tonight drops to 52°F by midnight, 44°F by 5AM. Heat

Tactical tunable changes:

TimeValuesNote
06:02d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Immediate coverage (copied from first transition)
06:05d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Morning is cold (39°F outdoor) and overcast but warming fast
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone loses tree shade, solar gain increases. Outdoor te
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor temp 75°F, 16% RH. Outdoor VPD ~2.46 kPa. Incre
18:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Skies clearing at 18:00 (6% cloud). Outdoor temp 67°F, RH 29
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Tonight drops to 52°F by midnight, 44°F by 5AM. Heat

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday is the hardest day: 76°F high, 7% RH outdoor. Pre-pos
09:58hyst 0.3Tree shade clears east zone. Outdoor already 65°F, 18% RH at
11:00hyst 0.3Clouds arrive at 11AM (63% cover) but outdoor RH still only
15:00hyst 0.4Peak VPD hour: 76°F, 7% RH outdoor = 2.84 kPa outdoor VPD. T
16:00hyst 0.3Outdoor temp still 75°F but solar declining. Wind picking up
19:26hyst 0.2Sunset Sunday. Tonight drops to 43°F by 6AM Monday. Heaters

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday is the hardest day: 76°F high, 7% RH outdoor. Pre-pos
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears east zone. Outdoor already 65°F, 18% RH at
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Clouds arrive at 11AM (63% cover) but outdoor RH still only
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak VPD hour: 76°F, 7% RH outdoor = 2.84 kPa outdoor VPD. T
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Outdoor temp still 75°F but solar declining. Wind picking up
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Tonight drops to 43°F by 6AM Monday. Heaters

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday forecast: 72°F high, 9% RH low. Similar to Sunday but
09:58hyst 0.3Tree shade clears. Outdoor 64°F, 12% RH at 10AM. Remove heat
14:00hyst 0.4Peak Monday: 72°F, 9% RH outdoor = 2.40 kPa outdoor VPD. Max
15:00hyst 0.3Solar declining, wind 21 mph. Slightly relax pulse gap to 20
19:27hyst 0.2Sunset Monday. Tonight drops to 45°F by Tuesday midnight, th

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday forecast: 72°F high, 9% RH low. Similar to Sunday but
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears. Outdoor 64°F, 12% RH at 10AM. Remove heat
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak Monday: 72°F, 9% RH outdoor = 2.40 kPa outdoor VPD. Max
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Solar declining, wind 21 mph. Slightly relax pulse gap to 20
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Tonight drops to 45°F by Tuesday midnight, th

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday 2AM: outdoor 41°F, 46% RH. Coldest point in horizon.

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday 2AM: outdoor 41°F, 46% RH. Coldest point in horizon.

Changed secondary parameters:

TimeParameterChange
06:02bias_coolinitial 0
06:02bias_heatinitial 0
06:02enthalpy_closeinitial 1
06:02enthalpy_openinitial -2
06:02fog_escalation_kpainitial 0.3
06:02min_fog_off_sinitial 60
06:02min_fog_on_sinitial 60
06:02min_heat_off_sinitial 300
06:02min_heat_on_sinitial 120
06:02min_vent_off_sinitial 60
06:02min_vent_on_sinitial 60
06:02mist_max_closed_vent_sinitial 600
06:02mist_thermal_relief_sinitial 90
06:02mist_vent_close_lead_sinitial 15
06:02mist_vent_reopen_delay_sinitial 45
06:02mister_water_budget_galinitial 500
06:02vpd_watch_dwell_sinitial 30
09:59bias_cool0 → -1
18:00bias_cool-1 → 0
18:00fog_escalation_kpa0.3 → 0.4
18:00vpd_watch_dwell_s30 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34enthalpy_close1 → 2
05:34enthalpy_open-2 → -3
05:34fog_escalation_kpa0.4 → 0.2
05:34min_fog_off_s60 → 45
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_close_lead_s15 → 20
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 30
09:58bias_cool3 → -1
09:58bias_heat1 → 0
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.3 → 0.4
19:26min_vent_off_s90 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33enthalpy_close1 → 2
05:33enthalpy_open-2 → -3
05:33fog_escalation_kpa0.4 → 0.3
05:33min_fog_off_s60 → 45
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_close_lead_s15 → 20
05:33mist_vent_reopen_delay_s45 → 60
05:33vpd_watch_dwell_s60 → 30
09:58bias_cool3 → -1
09:58bias_heat1 → 0
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s45 → 60
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27enthalpy_close2 → 1
19:27enthalpy_open-3 → -2
19:27min_vent_off_s90 → 60
19:27mist_max_closed_vent_s900 → 600
19:27mist_vent_close_lead_s20 → 15
19:27mist_vent_reopen_delay_s60 → 45
19:27vpd_watch_dwell_s30 → 60

🌅 Morning Cycle (6:07 AM) — iris-20260411-0610

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0000

Result: [backfill] compliance unavailable over plan window 2026-04-11 12:07 → 2026-04-11 12:47 Score: 4/10

Hypothesis

Conditions: Today (Sat) is transitioning from overcast morning to clearing by 18:00, with outdoor highs of 75°F and extreme dryness (16% RH). Current indoor conditions show VPD 0.88-1.09 kPa across zones with temps 61-67°F. Today’s partial scorecard shows 22.87h vpd_high stress — the active plan’s misting posture is insufficient for the dry conditions despite engage at 1.3. Sunday is the most extreme day: 76°F high with 7% RH outdoor, producing outdoor VPD up to 2.84 kPa. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — much easier. East zone seedlings (lettuce, strawberry, pepper) show stress signs but these are likely light/nutrient issues outside tuning control. Canna lilies and Vandas healthy. Testing: Compare Sunday peak (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday peak (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours. Sunday is drier (7% vs 9% RH) but has more aggressive misting. If the extra aggression compensates, Sunday’s vpd_high_stress per unit outdoor VPD should be ≤ Monday’s. Expected outcome: Sunday vpd_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that fog_escalation 0.2 + gap 15s provides meaningful additional VPD control vs 0.3 + gap 20s on extreme dry days. | target_score=52 | target_compliance=50% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
06:07hyst 0.3Immediate coverage (copied from first transition)
06:10hyst 0.3Current state is SEALED_MIST_S1 with VPD 0.88-1.09 — within
09:59hyst 0.3East zone loses tree shade, direct sun hits. Outdoor temp ri
14:00hyst 0.4Peak outdoor VPD ~2.46 kPa at 75°F/16% RH. Hysteresis 0.4 fo
18:00hyst 0.3Skies clearing at 18:00 (6% cloud) but outdoor temp dropping
19:25hyst 0.2Tonight drops to 44°F by 05:00. Heaters will run. bias_heat

Tactical tunable changes:

TimeValuesNote
06:07d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Immediate coverage (copied from first transition)
06:10d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Current state is SEALED_MIST_S1 with VPD 0.88-1.09 — within
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone loses tree shade, direct sun hits. Outdoor temp ri
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor VPD ~2.46 kPa at 75°F/16% RH. Hysteresis 0.4 fo
18:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Skies clearing at 18:00 (6% cloud) but outdoor temp dropping
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tonight drops to 44°F by 05:00. Heaters will run. bias_heat

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday is the hardest day: 76°F high, 7% RH low. Pre-positio
09:58hyst 0.3Outdoor 62°F/24% RH at 09:00, climbing fast. Clear skies. Ea
11:00hyst 0.363% cloud at 11:00 reduces solar gain temporarily but outdoo
15:00hyst 0.4Peak outdoor VPD 2.84 kPa at 76°F/7% RH — the most extreme c
19:26hyst 0.2Sunset. Outdoor dropping from 70°F to 48°F overnight. Heater

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday is the hardest day: 76°F high, 7% RH low. Pre-positio
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Outdoor 62°F/24% RH at 09:00, climbing fast. Clear skies. Ea
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.563% cloud at 11:00 reduces solar gain temporarily but outdoo
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak outdoor VPD 2.84 kPa at 76°F/7% RH — the most extreme c
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Outdoor dropping from 70°F to 48°F overnight. Heater

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday: 72°F high, 9% RH low. Similar to Sunday but slightly
09:58hyst 0.3Outdoor 61°F/14% RH at 09:00, climbing. 100% cloud cover mod
14:00hyst 0.4Peak outdoor VPD 2.40 kPa at 72°F/9% RH. Experiment arm B: f
15:00hyst 0.3Outdoor temp declining from 72°F, wind increasing to 21-25 m
19:27hyst 0.2Monday night into Tuesday is the coldest: dropping to 41°F b

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday: 72°F high, 9% RH low. Similar to Sunday but slightly
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Outdoor 61°F/14% RH at 09:00, climbing. 100% cloud cover mod
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor VPD 2.40 kPa at 72°F/9% RH. Experiment arm B: f
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5Outdoor temp declining from 72°F, wind increasing to 21-25 m
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Monday night into Tuesday is the coldest: dropping to 41°F b

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Coldest point: 41°F outdoor, 46% RH. Slab thermal mass provi

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Coldest point: 41°F outdoor, 46% RH. Slab thermal mass provi

Changed secondary parameters:

TimeParameterChange
06:07bias_coolinitial 0
06:07bias_heatinitial 0
06:07enthalpy_closeinitial 1
06:07enthalpy_openinitial -2
06:07fog_escalation_kpainitial 0.3
06:07min_fog_off_sinitial 60
06:07min_fog_on_sinitial 60
06:07min_heat_off_sinitial 300
06:07min_heat_on_sinitial 120
06:07min_vent_off_sinitial 60
06:07min_vent_on_sinitial 60
06:07mist_max_closed_vent_sinitial 600
06:07mist_thermal_relief_sinitial 90
06:07mist_vent_close_lead_sinitial 15
06:07mist_vent_reopen_delay_sinitial 45
06:07mister_water_budget_galinitial 500
06:07vpd_watch_dwell_sinitial 45
09:59bias_cool0 → -1
09:59mist_vent_close_lead_s15 → 20
09:59vpd_watch_dwell_s45 → 40
14:00enthalpy_open-2 → -3
14:00min_vent_off_s60 → 90
14:00min_vent_on_s60 → 45
14:00mist_vent_reopen_delay_s45 → 60
14:00vpd_watch_dwell_s40 → 30
18:00bias_cool-1 → 0
18:00enthalpy_open-3 → -2
18:00fog_escalation_kpa0.3 → 0.4
18:00min_vent_off_s90 → 60
18:00min_vent_on_s45 → 60
18:00mist_vent_close_lead_s20 → 15
18:00mist_vent_reopen_delay_s60 → 45
18:00vpd_watch_dwell_s30 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
05:34vpd_watch_dwell_s60 → 45
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s45 → 40
11:00min_fog_off_s60 → 45
11:00mist_thermal_relief_s90 → 120
15:00enthalpy_close1 → 2
15:00enthalpy_open-3 → -4
15:00min_fog_on_s60 → 90
15:00min_vent_off_s90 → 120
15:00min_vent_on_s45 → 30
15:00mist_thermal_relief_s120 → 90
15:00mist_vent_close_lead_s20 → 25
15:00vpd_watch_dwell_s40 → 30
19:26bias_cool-1 → 3
19:26bias_heat0 → 1
19:26enthalpy_close2 → 1
19:26enthalpy_open-4 → -2
19:26fog_escalation_kpa0.2 → 0.4
19:26min_fog_off_s45 → 60
19:26min_fog_on_s90 → 60
19:26min_vent_off_s120 → 60
19:26min_vent_on_s30 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s25 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33vpd_watch_dwell_s60 → 45
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s45 → 40
14:00enthalpy_close1 → 2
14:00enthalpy_open-3 → -4
14:00min_vent_off_s90 → 120
14:00min_vent_on_s45 → 30
14:00mist_vent_close_lead_s20 → 25
14:00vpd_watch_dwell_s40 → 30
15:00bias_cool-1 → 0
15:00enthalpy_close2 → 1
15:00enthalpy_open-4 → -3
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s120 → 90
15:00min_vent_on_s30 → 45
15:00mist_thermal_relief_s90 → 120
15:00mist_vent_close_lead_s25 → 20
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27enthalpy_open-3 → -2
19:27min_vent_off_s90 → 60
19:27min_vent_on_s45 → 60
19:27mist_max_closed_vent_s900 → 600
19:27mist_thermal_relief_s120 → 90
19:27mist_vent_close_lead_s20 → 15
19:27vpd_watch_dwell_s45 → 60
02:00min_heat_on_s120 → 150

🌅 Morning Cycle (6:47 AM) — iris-20260411-0650

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0045

Previous hypothesis: Maintaining mister_engage_kpa at 1.3 with aggressive sealed-vent misting (900s max closed on peak days) and fog escalation at 0.2 kPa on Sunday will reduce VPD_high stress hours. Nighttime bias_cool of +3-4°F prevents vent oscillation during heating. On Sunday’s extreme dryness, extending mist_max_closed_vent_s to 900s with mister_pulse_gap_s of 15s during peak stress will maximize humidity retention. Result: [backfill] compliance unavailable over plan window 2026-04-11 12:47 → 2026-04-11 13:32 Score: 4/10

Hypothesis

Conditions: Today (Sat) is overcast with clearing at 18:00, high 75°F, low RH 16% — moderate VPD stress expected during afternoon. Sunday is the hardest day: clear to partly cloudy, 76°F high, extreme dryness (7% RH), 13h forecast stress. Monday similar but slightly cooler (72°F) with 9% RH. Tuesday brings a cold front (45°F high, 38% RH) — much easier VPD but cold overnight (41°F). Current scorecard shows 0% compliance today with 23.87h vpd_high and 11.5h cold stress — the active plan’s morning settings haven’t engaged yet (tree shade transition at 09:59). East zone seedlings (lettuce, strawberry, pepper) show stress from low temps/light — informational only, outside tuning surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting. If the extra aggression compensates, Sunday’s vpd_high_stress per unit outdoor VPD should be ≤ Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_vpd ≤ Monday vpd_high_stress_h / avg_outdoor_vpd, demonstrating that fog_escalation 0.2 + gap 15s compensates for the extra dryness vs 0.3 + gap 20s. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
06:47hyst 0.3Immediate coverage (copied from first transition)
06:50hyst 0.3Overcast morning, outdoor 42°F/85% RH. Indoor VPD 0.89-1.07
09:59hyst 0.3East zone gets direct sun, VPD ramp accelerates. Outdoor war
14:00hyst 0.4Peak outdoor 75°F/16% RH, VPD forecast 2.46 kPa. Most aggres
18:00hyst 0.3Sky clearing at 18:00 but solar declining. Outdoor 67°F/29%
19:25hyst 0.2Sunset. Overnight low forecast 44°F — heaters will run. bias

Tactical tunable changes:

TimeValuesNote
06:47d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 2Immediate coverage (copied from first transition)
06:50d_cool 3; engage 1.3; all 1.6; pulse 60; gap 30; wt 2Overcast morning, outdoor 42°F/85% RH. Indoor VPD 0.89-1.07
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone gets direct sun, VPD ramp accelerates. Outdoor war
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor 75°F/16% RH, VPD forecast 2.46 kPa. Most aggres
18:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Sky clearing at 18:00 but solar declining. Outdoor 67°F/29%
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low forecast 44°F — heaters will run. bias

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn for extreme dry day (7% RH, 76°F high). Early miste
09:58hyst 0.3East zone direct sun. Outdoor 62°F/24% RH and dropping fast.
15:00hyst 0.4Peak outdoor 76°F/7% RH — outdoor VPD 2.84 kPa. Maximum aggr
19:26hyst 0.2Sunset Sunday. Overnight low forecast 47°F — heaters will ru

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn for extreme dry day (7% RH, 76°F high). Early miste
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone direct sun. Outdoor 62°F/24% RH and dropping fast.
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak outdoor 76°F/7% RH — outdoor VPD 2.84 kPa. Maximum aggr
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Overnight low forecast 47°F — heaters will ru

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 50°F/30% RH — less extreme than Sun
09:58hyst 0.3East zone direct sun. Outdoor 61°F/14% RH — VPD ramp startin
14:00hyst 0.4Peak outdoor 72°F/9% RH — outdoor VPD 2.40 kPa. Maximum mist
15:00hyst 0.3Solar declining, outdoor 71°F/10% RH but wind picking up to
19:27hyst 0.2Sunset Monday. Coldest night of the horizon — forecast low 4

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday. Outdoor 50°F/30% RH — less extreme than Sun
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone direct sun. Outdoor 61°F/14% RH — VPD ramp startin
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor 72°F/9% RH — outdoor VPD 2.40 kPa. Maximum mist
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5Solar declining, outdoor 71°F/10% RH but wind picking up to
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Coldest night of the horizon — forecast low 4

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
02:00hyst 0.2Tuesday cold front: outdoor 41°F/46% RH. Slab thermal mass p

Tactical tunable changes:

TimeValuesNote
02:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday cold front: outdoor 41°F/46% RH. Slab thermal mass p

Changed secondary parameters:

TimeParameterChange
06:47bias_coolinitial 0
06:47bias_heatinitial 0
06:47enthalpy_closeinitial 1
06:47enthalpy_openinitial -2
06:47fog_escalation_kpainitial 0.4
06:47min_fog_off_sinitial 60
06:47min_fog_on_sinitial 60
06:47min_heat_off_sinitial 300
06:47min_heat_on_sinitial 120
06:47min_vent_off_sinitial 60
06:47min_vent_on_sinitial 60
06:47mist_max_closed_vent_sinitial 600
06:47mist_thermal_relief_sinitial 90
06:47mist_vent_close_lead_sinitial 15
06:47mist_vent_reopen_delay_sinitial 45
06:47mister_water_budget_galinitial 500
06:47vpd_watch_dwell_sinitial 60
09:59bias_cool0 → -1
09:59fog_escalation_kpa0.4 → 0.3
09:59vpd_watch_dwell_s60 → 45
14:00enthalpy_open-2 → -3
14:00min_vent_off_s60 → 90
14:00mist_vent_close_lead_s15 → 20
14:00vpd_watch_dwell_s45 → 30
18:00bias_cool-1 → 0
18:00enthalpy_open-3 → -2
18:00fog_escalation_kpa0.3 → 0.4
18:00min_vent_off_s90 → 60
18:00mist_vent_close_lead_s20 → 15
18:00vpd_watch_dwell_s30 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34enthalpy_close1 → 2
05:34enthalpy_open-2 → -3
05:34fog_escalation_kpa0.4 → 0.2
05:34min_fog_off_s60 → 45
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 45
15:00enthalpy_open-3 → -4
15:00min_fog_off_s45 → 30
15:00min_fog_on_s60 → 90
15:00min_vent_off_s90 → 120
15:00min_vent_on_s60 → 45
15:00mist_vent_close_lead_s20 → 25
15:00vpd_watch_dwell_s45 → 30
19:26bias_cool-1 → 3
19:26bias_heat0 → 1
19:26enthalpy_close2 → 1
19:26enthalpy_open-4 → -2
19:26fog_escalation_kpa0.2 → 0.4
19:26min_fog_off_s30 → 60
19:26min_fog_on_s90 → 60
19:26min_vent_off_s120 → 60
19:26min_vent_on_s45 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s25 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33enthalpy_close1 → 2
05:33enthalpy_open-2 → -3
05:33fog_escalation_kpa0.4 → 0.3
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 45
14:00enthalpy_open-3 → -4
14:00min_vent_off_s90 → 120
14:00min_vent_on_s60 → 45
14:00mist_vent_close_lead_s20 → 25
14:00vpd_watch_dwell_s45 → 30
15:00bias_cool-1 → 0
15:00enthalpy_close2 → 1
15:00enthalpy_open-4 → -3
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s120 → 90
15:00min_vent_on_s45 → 60
15:00mist_vent_close_lead_s25 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27enthalpy_open-3 → -2
19:27min_vent_off_s90 → 60
19:27mist_max_closed_vent_s900 → 600
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (7:32 AM) — iris-20260411-0735

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0130

Previous hypothesis: Maintaining bias_cool +3 on cold nights prevents vent oscillation (validated). For daytime dry stress, using fog_escalation_kpa=0.3 with mist_max_closed_vent_s=900 on the two extreme days (Sun/Mon) and 600 on the moderate day (Sat) will keep VPD_high stress under 4h/day. Shortening vpd_watch_dwell_s to 30s during peak stress windows will catch VPD spikes faster. Result: [backfill] compliance unavailable over plan window 2026-04-11 13:32 → 2026-04-11 14:17 Score: 4/10

Hypothesis

Conditions: Today (Sat) is overcast with outdoor high 76°F and very low RH (16-26%), creating significant VPD stress potential. Current indoor temps 63-67°F with VPD 0.80-0.93 kPa — within band but approaching ceiling. Today’s partial scorecard shows 24.4h cold_stress and 7.4h vpd_high_stress, indicating overnight vent oscillation and daytime dryness issues from the prior plan’s early transitions. Sunday is the most extreme day: 76°F high with 7% RH outdoor, producing massive VPD pressure. Monday similar but slightly cooler (72°F, 9% RH). Tuesday brings a cold front (45°F high, 38% RH) — much easier conditions. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues — not addressable via this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting settings. Expected outcome: If fog_escalation 0.2 with 15s gap compensates for extreme dryness, Sunday’s vpd_high_stress_hours / avg_outdoor_VPD ratio should be ≤ Monday’s ratio despite Sunday being ~30% drier. This tests whether the extra fog aggression is proportional to the dryness increase. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 6.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
07:32hyst 0.3Immediate coverage (copied from first transition)
07:35hyst 0.3Immediate posture for Saturday morning. Outdoor 43°F/80% RH,
09:59hyst 0.3East zone direct sun exposure begins. Outdoor RH dropping to
13:00hyst 0.4Peak outdoor 76°F/16% RH. Outdoor VPD 2.55 kPa — massive dry
17:00hyst 0.3Cloud cover drops from 100% to 55% at 17:00. Fog window clos
19:25hyst 0.2Sunset. Overnight low forecast 44-46°F — heaters will run. b

Tactical tunable changes:

TimeValuesNote
07:32d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Immediate coverage (copied from first transition)
07:35d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2Immediate posture for Saturday morning. Outdoor 43°F/80% RH,
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5East zone direct sun exposure begins. Outdoor RH dropping to
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak outdoor 76°F/16% RH. Outdoor VPD 2.55 kPa — massive dry
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Cloud cover drops from 100% to 55% at 17:00. Fog window clos
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low forecast 44-46°F — heaters will run. b

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sunday pre-dawn. Outdoor 44°F/54% RH, heaters still running.
09:58hyst 0.3Sunday tree shade clears. Outdoor already 62°F/24% RH at 09:
11:00hyst 0.3Sunday cloud shift at 11:00 — clouds increase to 63%. Solar
15:00hyst 0.4Sunday peak: 76°F/7% RH outdoor, VPD 2.84 kPa — the most ext
19:26hyst 0.2Sunday sunset. Overnight low 48-53°F — heaters will run. bia

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sunday pre-dawn. Outdoor 44°F/54% RH, heaters still running.
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Sunday tree shade clears. Outdoor already 62°F/24% RH at 09:
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Sunday cloud shift at 11:00 — clouds increase to 63%. Solar
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Sunday peak: 76°F/7% RH outdoor, VPD 2.84 kPa — the most ext
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunday sunset. Overnight low 48-53°F — heaters will run. bia

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Monday pre-dawn. Outdoor 51°F/30% RH. Heaters still running.
09:58hyst 0.3Monday tree shade clears. Overcast (100% cloud) but outdoor
14:00hyst 0.4Monday peak: 72°F/9% RH outdoor, VPD 2.40 kPa. Very aggressi
15:00hyst 0.3Monday post-solar decline. Outdoor VPD still 2.36 but solar
19:27hyst 0.2Monday sunset into Tuesday. Overnight low forecast 41-43°F —

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Monday pre-dawn. Outdoor 51°F/30% RH. Heaters still running.
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Monday tree shade clears. Overcast (100% cloud) but outdoor
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Monday peak: 72°F/9% RH outdoor, VPD 2.40 kPa. Very aggressi
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Monday post-solar decline. Outdoor VPD still 2.36 but solar
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Monday sunset into Tuesday. Overnight low forecast 41-43°F —

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Tuesday pre-dawn. Outdoor 43-44°F/43-48% RH. Forecast high o

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tuesday pre-dawn. Outdoor 43-44°F/43-48% RH. Forecast high o

Changed secondary parameters:

TimeParameterChange
07:32bias_coolinitial 0
07:32bias_heatinitial 0
07:32enthalpy_closeinitial 1
07:32enthalpy_openinitial -2
07:32fog_escalation_kpainitial 0.3
07:32min_fog_off_sinitial 60
07:32min_fog_on_sinitial 60
07:32min_heat_off_sinitial 300
07:32min_heat_on_sinitial 120
07:32min_vent_off_sinitial 60
07:32min_vent_on_sinitial 60
07:32mist_max_closed_vent_sinitial 600
07:32mist_thermal_relief_sinitial 90
07:32mist_vent_close_lead_sinitial 15
07:32mist_vent_reopen_delay_sinitial 45
07:32mister_water_budget_galinitial 500
07:32vpd_watch_dwell_sinitial 45
09:59bias_cool0 → -1
09:59vpd_watch_dwell_s45 → 30
13:00enthalpy_open-2 → -3
13:00min_vent_off_s60 → 90
13:00mist_vent_close_lead_s15 → 20
17:00bias_cool-1 → 0
17:00enthalpy_open-3 → -2
17:00fog_escalation_kpa0.3 → 0.4
17:00min_fog_off_s60 → 90
17:00min_vent_off_s90 → 60
17:00mist_vent_close_lead_s20 → 15
17:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25min_fog_off_s90 → 60
19:25vpd_watch_dwell_s45 → 60
05:34enthalpy_close1 → 2
05:34enthalpy_open-2 → -3
05:34fog_escalation_kpa0.4 → 0.2
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_open-3 → -4
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 30
11:00mist_thermal_relief_s90 → 120
15:00enthalpy_close2 → 3
15:00enthalpy_open-4 → -5
15:00min_fog_off_s60 → 45
15:00min_vent_off_s90 → 120
15:00min_vent_on_s60 → 30
15:00mist_thermal_relief_s120 → 90
19:26bias_cool-1 → 3
19:26bias_heat0 → 1
19:26enthalpy_close3 → 1
19:26enthalpy_open-5 → -2
19:26fog_escalation_kpa0.2 → 0.4
19:26min_fog_off_s45 → 90
19:26min_vent_off_s120 → 60
19:26min_vent_on_s30 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33enthalpy_close1 → 2
05:33enthalpy_open-2 → -3
05:33fog_escalation_kpa0.4 → 0.3
05:33min_fog_off_s90 → 60
05:33min_vent_off_s60 → 90
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_open-3 → -4
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 30
14:00enthalpy_close2 → 3
14:00enthalpy_open-4 → -5
14:00min_fog_off_s60 → 45
14:00min_vent_off_s90 → 120
14:00min_vent_on_s60 → 30
15:00bias_cool-1 → 0
15:00enthalpy_close3 → 2
15:00enthalpy_open-5 → -3
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s45 → 90
15:00min_vent_off_s120 → 60
15:00min_vent_on_s30 → 60
15:00mist_thermal_relief_s90 → 120
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27enthalpy_close2 → 1
19:27enthalpy_open-3 → -2
19:27min_fog_off_s90 → 60
19:27mist_max_closed_vent_s900 → 600
19:27mist_thermal_relief_s120 → 90
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (8:17 AM) — iris-20260411-0820

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0215

Previous hypothesis: Lowering vpd_watch_dwell_s to 30s during peak stress periods, extending mist_max_closed_vent_s to 900s on the driest days (Sun/Mon), using fog_escalation_kpa=0.2 on Sunday (extreme dry), and maintaining aggressive mister_pulse_gap_s=15-20s during peak hours will reduce vpd_high_stress hours compared to the current plan’s posture which is accumulating excessive VPD stress. Result: [backfill] compliance unavailable over plan window 2026-04-11 14:17 → 2026-04-11 15:02 Score: 4/10

Hypothesis

Conditions: Today (Sat) is partially cloudy with outdoor high 76°F and extremely low RH (16-26%). Current indoor temps 64-67°F, VPD 0.93-1.06 kPa — within band but approaching VPD ceiling. Today’s partial scorecard shows severe cold_stress (26.8h) and vpd_high_stress (7.9h) indicating the previous plan’s daytime settings haven’t been active long enough or overnight was problematic. Sunday is the most extreme day: 76°F high with 7% RH outdoor — unprecedented dryness requiring maximum humidity retention. Monday similar (72°F, 9% RH). Tuesday brings a cold front (50°F high, 35% RH) — much easier. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues but these are outside this planner’s control surface. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (7% vs 9% RH) but has more aggressive fog/misting settings. If fog_escalation 0.2 with gap 15s compensates for the extra dryness, Sunday’s vpd_high_stress/outdoor_VPD ratio should be equal to or lower than Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Monday vpd_high_stress_h / avg_outdoor_VPD, demonstrating that 0.2 fog escalation + 15s gap adequately compensates for 7% vs 9% outdoor RH. | target_score=60 | target_compliance=65% | expected_stress=[heat=1.0, cold=0.5, vpd_high=8.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
08:17hyst 0.3Immediate coverage (copied from first transition)
08:20hyst 0.3Current VPD 0.93-1.06 approaching band ceiling. Outdoor 43°F
13:00hyst 0.4Forecast peak: 76°F/16% RH outdoor. VPD will spike. Increase
14:00hyst 0.3Forecast shows temp dropping to 70°F by 3 PM with clouds arr
17:00hyst 0.3Forecast shows clearing at 17:00 (55% cloud) with 67°F/22% R
19:25hyst 0.2Sunset. Overnight low forecast 44-52°F — heaters will run. b

Tactical tunable changes:

TimeValuesNote
08:17d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Immediate coverage (copied from first transition)
08:20d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Current VPD 0.93-1.06 approaching band ceiling. Outdoor 43°F
13:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Forecast peak: 76°F/16% RH outdoor. VPD will spike. Increase
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 2.5Forecast shows temp dropping to 70°F by 3 PM with clouds arr
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Forecast shows clearing at 17:00 (55% cloud) with 67°F/22% R
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low forecast 44-52°F — heaters will run. b

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn Sunday. Outdoor 44°F/54% RH, dropping to 7% by afte
09:58hyst 0.3Tree shade clears east zone. Outdoor already 62°F/24% RH and
11:00hyst 0.3Cloud shift at 11:00 (63% cloud) but outdoor RH drops to 15%
15:00hyst 0.4Peak stress: 76°F/7% RH outdoor — VPD will be extreme (~2.84
16:00hyst 0.3Solar declining but outdoor still 75°F/7% RH. Slightly relax
19:26hyst 0.2Sunset Sunday. Overnight low forecast 47-54°F — gas heater w

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Sunday. Outdoor 44°F/54% RH, dropping to 7% by afte
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Tree shade clears east zone. Outdoor already 62°F/24% RH and
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Cloud shift at 11:00 (63% cloud) but outdoor RH drops to 15%
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress: 76°F/7% RH outdoor — VPD will be extreme (~2.84
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Solar declining but outdoor still 75°F/7% RH. Slightly relax
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Overnight low forecast 47-54°F — gas heater w

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 50°F/30% RH — cold but less extreme
09:58hyst 0.3Tree shade clears. Outdoor 64°F/12% RH — dry but cooler than
14:00hyst 0.4Peak stress Monday: 72°F/9% RH outdoor (VPD ~2.40 kPa). Hyst
15:00hyst 0.3Post-peak Monday. Outdoor 71°F/10% still dry but declining.
19:27hyst 0.2Sunset Monday. Overnight low forecast 41-45°F — coldest nigh

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday. Outdoor 50°F/30% RH — cold but less extreme
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears. Outdoor 64°F/12% RH — dry but cooler than
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak stress Monday: 72°F/9% RH outdoor (VPD ~2.40 kPa). Hyst
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Post-peak Monday. Outdoor 71°F/10% still dry but declining.
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Overnight low forecast 41-45°F — coldest nigh

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn Tuesday. Cold front: outdoor 41-44°F, 43-48% RH. Fo

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn Tuesday. Cold front: outdoor 41-44°F, 43-48% RH. Fo

Changed secondary parameters:

TimeParameterChange
08:17bias_coolinitial -1
08:17bias_heatinitial 0
08:17enthalpy_closeinitial 1
08:17enthalpy_openinitial -2
08:17fog_escalation_kpainitial 0.3
08:17min_fog_off_sinitial 60
08:17min_fog_on_sinitial 60
08:17min_heat_off_sinitial 300
08:17min_heat_on_sinitial 120
08:17min_vent_off_sinitial 60
08:17min_vent_on_sinitial 60
08:17mist_max_closed_vent_sinitial 600
08:17mist_thermal_relief_sinitial 90
08:17mist_vent_close_lead_sinitial 15
08:17mist_vent_reopen_delay_sinitial 45
08:17mister_water_budget_galinitial 500
08:17vpd_watch_dwell_sinitial 45
13:00mist_vent_close_lead_s15 → 20
13:00vpd_watch_dwell_s45 → 30
14:00bias_cool-1 → 0
14:00mist_vent_close_lead_s20 → 15
14:00vpd_watch_dwell_s30 → 45
17:00fog_escalation_kpa0.3 → 0.4
17:00vpd_watch_dwell_s45 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 45
11:00min_fog_off_s60 → 45
11:00min_fog_on_s60 → 45
11:00vpd_watch_dwell_s45 → 30
15:00mist_vent_close_lead_s20 → 25
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_fog_on_s45 → 60
16:00mist_vent_close_lead_s25 → 15
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33mist_vent_reopen_delay_s45 → 60
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58mist_vent_close_lead_s15 → 20
09:58vpd_watch_dwell_s60 → 45
14:00min_fog_off_s60 → 45
14:00min_fog_on_s60 → 45
14:00vpd_watch_dwell_s45 → 30
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s45 → 60
15:00min_fog_on_s45 → 60
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27mist_max_closed_vent_s900 → 600
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (9:02 AM) — iris-20260411-0905

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0300

Previous hypothesis: Maintaining bias_cool +3 and bias_heat +1 on cold nights prevents vent oscillation (validated). For daytime dry periods, lowering fog_escalation_kpa to 0.2 on Sunday (extreme dryness) vs 0.3 on Monday (windy but less dry) will test whether earlier fog engagement compensates for extreme outdoor dryness. Extending mist_max_closed_vent_s to 900s on both dry days maximizes humidity retention. Shortening vpd_watch_dwell_s to 30s on peak stress periods ensures faster misting response. Result: [backfill] compliance unavailable over plan window 2026-04-11 15:02 → 2026-04-11 15:47 Score: 4/10

Hypothesis

Conditions: Today (Sat) is hot-dry with 77°F/13% RH peak, clearing to cold clear night (low 44°F). Sunday is the most extreme day: 77°F/6% RH — exceptionally dry with VPD stress expected 13h. Monday moderates to 72°F/9% RH with clouds clearing midday, then a cold front drops Tuesday to 54°F/30% RH (easy day). Current scorecard shows 29.4h cold_stress today — likely from overnight vent oscillation before the active plan’s bias_cool kicked in. East zone lettuce/strawberry showing stress (health 5-6) but this is likely light/nutrient, not tuning-addressable. Dew point margin healthy at 9.9°F, zero disease risk. Testing: Compare Sunday (fog_escalation_kpa=0.2, pulse_gap=15s, mist_max_closed_vent_s=900s) vs Monday (fog_escalation_kpa=0.3, pulse_gap=20s, mist_max_closed_vent_s=900s) on vpd_high stress hours normalized by average outdoor VPD. Sunday is drier (6% vs 9% RH) but has more aggressive fog/misting settings. If fog_escalation 0.2 with gap 15s compensates for the extra dryness, Sunday’s vpd_high_stress/outdoor_VPD ratio should be equal to or lower than Monday’s. Expected outcome: Sunday vpd_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that 0.2 fog escalation + 15s gap compensates for 6% vs 9% RH difference. Expected Sunday vpd_high ~6-8h (physics-limited), Monday ~4-5h. | target_score=52 | target_compliance=50% | expected_stress=[heat=1.0, cold=0.5, vpd_high=7.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
09:02hyst 0.4Immediate coverage (copied from first transition)
09:05hyst 0.4Outdoor 50°F/72% RH currently but dropping to 13% RH by 15:0
14:00hyst 0.477°F/15% RH outdoor peak. Max VPD weight 3.0 to prioritize d
15:00hyst 0.3Temp dropping to 68-75°F, RH still 13-26%. Relax misting sli
19:00hyst 0.3Clearing to 0% cloud by 20:00, outdoor dropping to 61°F. Pre
19:25hyst 0.2Sunset. Cold night ahead — low 44°F by 06:00 Sun. bias_heat

Tactical tunable changes:

TimeValuesNote
09:02d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Immediate coverage (copied from first transition)
09:05d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Outdoor 50°F/72% RH currently but dropping to 13% RH by 15:0
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 377°F/15% RH outdoor peak. Max VPD weight 3.0 to prioritize d
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Temp dropping to 68-75°F, RH still 13-26%. Relax misting sli
19:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Clearing to 0% cloud by 20:00, outdoor dropping to 61°F. Pre
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Cold night ahead — low 44°F by 06:00 Sun. bias_heat

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn 44°F/44% RH outdoor. Keep heating posture (bias_hea
09:58hyst 0.3Tree shade clears east zone. 66°F/20% RH outdoor, clear skie
14:00hyst 0.4Clouds arrive (98%) but outdoor still 76°F/7% RH — extreme V
16:00hyst 0.377°F/7% RH still extreme but solar declining. Slightly relax
19:26hyst 0.2Sunset Sunday. Cold night ahead — outdoor dropping to 49°F b

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn 44°F/44% RH outdoor. Keep heating posture (bias_hea
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Tree shade clears east zone. 66°F/20% RH outdoor, clear skie
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Clouds arrive (98%) but outdoor still 76°F/7% RH — extreme V
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.577°F/7% RH still extreme but solar declining. Slightly relax
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Cold night ahead — outdoor dropping to 49°F b

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn 50°F/26% RH. Keep heating posture. Pre-position mis
09:58hyst 0.3Tree shade clears. 64°F/12% RH outdoor, clouds clearing at 1
11:00hyst 0.3Clouds clearing from 100% to 12% — solar gain jumps signific
14:00hyst 0.472°F/9% RH outdoor, 100% clouds but still high solar (626 W/
15:00hyst 0.3Solar declining, 71°F/10% RH. Relax misting — widen all_kpa
19:27hyst 0.2Sunset Monday. Coldest night of the horizon — outdoor droppi

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn 50°F/26% RH. Keep heating posture. Pre-position mis
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears. 64°F/12% RH outdoor, clouds clearing at 1
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Clouds clearing from 100% to 12% — solar gain jumps signific
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 372°F/9% RH outdoor, 100% clouds but still high solar (626 W/
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Solar declining, 71°F/10% RH. Relax misting — widen all_kpa
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Coldest night of the horizon — outdoor droppi

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn Tuesday 44°F/43% RH. Coldest morning of the horizon

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn Tuesday 44°F/43% RH. Coldest morning of the horizon

Changed secondary parameters:

TimeParameterChange
09:02bias_coolinitial 0
09:02bias_heatinitial 0
09:02enthalpy_closeinitial 1
09:02enthalpy_openinitial -2
09:02fog_escalation_kpainitial 0.3
09:02min_fog_off_sinitial 60
09:02min_fog_on_sinitial 60
09:02min_heat_off_sinitial 300
09:02min_heat_on_sinitial 120
09:02min_vent_off_sinitial 60
09:02min_vent_on_sinitial 60
09:02mist_max_closed_vent_sinitial 600
09:02mist_thermal_relief_sinitial 90
09:02mist_vent_close_lead_sinitial 15
09:02mist_vent_reopen_delay_sinitial 45
09:02mister_water_budget_galinitial 500
09:02vpd_watch_dwell_sinitial 30
14:00bias_cool0 → -1
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00vpd_watch_dwell_s30 → 45
19:00bias_cool0 → 2
19:00vpd_watch_dwell_s45 → 60
19:25bias_cool2 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
05:34vpd_watch_dwell_s60 → 45
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58vpd_watch_dwell_s45 → 30
14:00mist_vent_reopen_delay_s45 → 60
16:00bias_cool-1 → 0
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.2 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33vpd_watch_dwell_s60 → 45
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58vpd_watch_dwell_s45 → 30
11:00enthalpy_open-2 → -3
14:00enthalpy_open-3 → -2
14:00mist_vent_reopen_delay_s45 → 60
15:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27mist_max_closed_vent_s900 → 600
19:27vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (9:47 AM) — iris-20260411-0950

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0345

Previous hypothesis: Maintaining aggressive misting posture (engage 1.3, gap 20-25s) through the full daytime window on Sunday/Monday, combined with 900s sealed-vent time and fog_escalation_kpa=0.2 on Sunday (the driest day), will limit vpd_high_stress to <10h on Sunday despite 7% outdoor RH. On cold nights, bias_cool +3 and bias_heat +1 will prevent vent oscillation (validated lesson). Widening fog_escalation to 0.4 on the mild Tuesday night will prevent vpd_low overshoot. Result: [backfill] compliance unavailable over plan window 2026-04-11 15:47 → 2026-04-11 16:32 Score: 4/10

Hypothesis

Conditions: Today (Sat) is warm-dry with outdoor highs 77°F and RH dropping to 13%, clearing to calm evening with lows near 50°F. Sunday is the most extreme day: 77°F high with 6-7% RH, clear morning transitioning to overcast by 14:00, extremely dry all day. Monday is slightly cooler (72°F high, 9-12% RH) with clouds clearing at 11:00 then returning. Tuesday is cold (54°F high, 30% RH) and wet — minimal stress expected. Today’s partial scorecard shows 30h cold_stress which is alarming — likely from overnight vent oscillation before the current plan’s bias_cool took effect. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside tuning control. Testing: Compare Sunday evening-to-overnight transition: bias_cool +3 with min_heat_off_s 300 vs Monday evening with bias_cool +4 and min_heat_off_s 240. Monday night is colder (lows 47°F vs 50°F). If bias_cool +4 with shorter heat cycling prevents cold_stress on the colder night while bias_cool +3 handles the milder night, we establish the threshold where +4 is needed. Expected outcome: Sunday night (bias_cool +3, low ~50°F) should have 0h cold_stress. Monday night (bias_cool +4, low ~47°F) should also have 0h cold_stress. If Monday shows any cold_stress with +4, the heater capacity is the bottleneck at sub-47°F outdoor temps. Both nights should have <0.5h vpd_low_stress. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
09:47hyst 0.4Immediate coverage (copied from first transition)
09:50hyst 0.4Current outdoor 56°F/56% RH but forecast shows 77°F/13% RH b
14:00hyst 0.4Peak VPD hour: 77°F/15% RH outdoor. Tighten enthalpy thresho
15:00hyst 0.3Outdoor temp dropping to 75°F, still dry (13% RH). Relax mis
19:00hyst 0.3Clouds clearing to 52%, outdoor dropping to 66°F/30% RH. Rev
19:25hyst 0.2Sunset. Overnight low ~50°F — heaters will run. bias_heat +1

Tactical tunable changes:

TimeValuesNote
09:47d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Immediate coverage (copied from first transition)
09:50d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Current outdoor 56°F/56% RH but forecast shows 77°F/13% RH b
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak VPD hour: 77°F/15% RH outdoor. Tighten enthalpy thresho
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Outdoor temp dropping to 75°F, still dry (13% RH). Relax mis
19:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Clouds clearing to 52%, outdoor dropping to 66°F/30% RH. Rev
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low ~50°F — heaters will run. bias_heat +1

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn Sunday. Outdoor 44°F/44% RH, clear skies. Extreme d
09:58hyst 0.3Tree shade clears, direct sun hits east zone. Outdoor alread
14:00hyst 0.4Clouds arrive at 14:00 (98-100%) reducing solar gain, but ou
16:00hyst 0.3Post-peak but still extreme: 77°F/7% RH outdoor. Slightly re
19:26hyst 0.2Sunset Sunday. Overnight low ~50°F with outdoor RH only 8-15

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Sunday. Outdoor 44°F/44% RH, clear skies. Extreme d
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 2.5Tree shade clears, direct sun hits east zone. Outdoor alread
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Clouds arrive at 14:00 (98-100%) reducing solar gain, but ou
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2.5Post-peak but still extreme: 77°F/7% RH outdoor. Slightly re
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Overnight low ~50°F with outdoor RH only 8-15

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 50°F/26% RH. Another dry day ahead
09:58hyst 0.3Tree shade clears Monday. Outdoor 61°F/14% RH, overcast (100
11:00hyst 0.3Clouds clearing at 11:00 (100% → 12%). Solar gain will spike
14:00hyst 0.4Peak stress Monday: 72°F/9% RH outdoor, clouds returning (93
15:00hyst 0.3Declining solar, outdoor dropping to 71°F/10% RH. Relax mist
19:27hyst 0.2Sunset Monday. Cold night ahead — lows 43-47°F, outdoor RH 1

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday. Outdoor 50°F/26% RH. Another dry day ahead
09:58d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears Monday. Outdoor 61°F/14% RH, overcast (100
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Clouds clearing at 11:00 (100% → 12%). Solar gain will spike
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak stress Monday: 72°F/9% RH outdoor, clouds returning (93
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Declining solar, outdoor dropping to 71°F/10% RH. Relax mist
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Cold night ahead — lows 43-47°F, outdoor RH 1

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn Tuesday. Outdoor 44°F/43% RH — cold but moderate hu

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn Tuesday. Outdoor 44°F/43% RH — cold but moderate hu

Changed secondary parameters:

TimeParameterChange
09:47bias_coolinitial -1
09:47bias_heatinitial 0
09:47enthalpy_closeinitial 1
09:47enthalpy_openinitial -2
09:47fog_escalation_kpainitial 0.3
09:47min_fog_off_sinitial 60
09:47min_fog_on_sinitial 60
09:47min_heat_off_sinitial 300
09:47min_heat_on_sinitial 120
09:47min_vent_off_sinitial 60
09:47min_vent_on_sinitial 60
09:47mist_max_closed_vent_sinitial 600
09:47mist_thermal_relief_sinitial 90
09:47mist_vent_close_lead_sinitial 15
09:47mist_vent_reopen_delay_sinitial 45
09:47mister_water_budget_galinitial 500
09:47vpd_watch_dwell_sinitial 30
14:00enthalpy_close1 → 2
14:00enthalpy_open-2 → -3
14:00min_vent_off_s60 → 90
14:00min_vent_on_s60 → 45
14:00mist_vent_close_lead_s15 → 20
14:00mist_vent_reopen_delay_s45 → 60
15:00bias_cool-1 → 0
15:00enthalpy_close2 → 1
15:00enthalpy_open-3 → -2
15:00fog_escalation_kpa0.3 → 0.4
15:00min_vent_off_s90 → 60
15:00min_vent_on_s45 → 60
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:00bias_cool0 → 2
19:00vpd_watch_dwell_s45 → 60
19:25bias_cool2 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_fog_off_s60 → 45
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s60 → 30
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 3
14:00enthalpy_open-3 → -4
14:00min_vent_off_s90 → 120
14:00mist_thermal_relief_s90 → 120
16:00enthalpy_close3 → 2
16:00enthalpy_open-4 → -3
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_vent_off_s120 → 60
16:00min_vent_on_s45 → 60
16:00mist_thermal_relief_s120 → 90
16:00mist_vent_close_lead_s20 → 15
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
09:58bias_cool3 → -1
09:58bias_heat1 → 0
09:58enthalpy_close1 → 2
09:58enthalpy_open-2 → -3
09:58min_vent_off_s60 → 90
09:58min_vent_on_s60 → 45
09:58mist_vent_close_lead_s15 → 20
09:58mist_vent_reopen_delay_s45 → 60
09:58vpd_watch_dwell_s60 → 30
11:00min_fog_off_s60 → 45
14:00bias_cool-1 → 0
14:00enthalpy_close2 → 3
14:00enthalpy_open-3 → -4
14:00min_vent_off_s90 → 120
14:00mist_thermal_relief_s90 → 120
15:00enthalpy_close3 → 2
15:00enthalpy_open-4 → -3
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s45 → 60
15:00min_vent_off_s120 → 60
15:00min_vent_on_s45 → 60
15:00mist_thermal_relief_s120 → 90
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27enthalpy_close2 → 1
19:27enthalpy_open-3 → -2
19:27min_heat_off_s300 → 240
19:27mist_max_closed_vent_s900 → 600
19:27vpd_watch_dwell_s45 → 60

☀️ Midday Cycle (10:32 AM) — iris-20260411-1035

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0430

Previous hypothesis: Tightening fog_escalation_kpa to 0.2 on the two extreme dry days (Sun/Mon) combined with 900s sealed-vent and 15s pulse gaps during peak stress will reduce vpd_high stress hours below 6h/day despite outdoor RH of 7-11%. On Saturday (moderate), fog_escalation 0.3 with 600s sealed-vent should keep vpd_high under 4h. Cold nights get bias_cool +3 and bias_heat +1 per validated lesson. Result: [backfill] compliance unavailable over plan window 2026-04-11 16:32 → 2026-04-11 17:32 Score: 4/10

Hypothesis

Conditions: Today (Sat) is clearing with outdoor RH 13-21% and highs ~76°F — moderate VPD stress expected through afternoon. Current scorecard shows 31.2h cold_stress and 6.1h vpd_low_stress today, indicating severe overnight vent oscillation issues that bias_cool must address. Sunday is the most extreme day: clear AM transitioning to overcast PM, outdoor RH dropping to 6-8% with highs 77°F — peak VPD stress day requiring maximum misting aggression. Monday is slightly cooler (72°F high) with clouds arriving at 11:00, easing VPD pressure. Tuesday is cool (56°F high, 28% RH) with minimal stress expected. East zone seedlings (lettuce, strawberry, pepper) show stress from cold/light issues — maintaining warmer overnight temps via bias_heat will help. Overnight lows: Sat 48°F, Sun 55°F, Mon 45°F, Tue 41°F — all nights need heating with bias_cool protection against vent oscillation. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, mist_max_closed_vent_s=900, fog_escalation_kpa=0.2, gap=15s) vs Monday peak (11:00-15:00, outdoor RH 9-12%, mist_max_closed_vent_s=900, fog_escalation_kpa=0.3, gap=20s). Sunday is ~40% drier. If the more aggressive Sunday posture (0.2 fog escalation, 15s gap) keeps VPD_high stress per unit outdoor VPD comparable to Monday’s milder posture, it validates scaling fog_escalation inversely with outdoor RH. Expected outcome: Sunday VPD_high stress hours / avg outdoor VPD should be within 20% of Monday’s ratio, demonstrating that fog_escalation_kpa 0.2 + gap 15s adequately compensates for extreme dryness. If Sunday’s ratio is >50% worse, fog_escalation 0.2 is insufficient for sub-10% RH conditions. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=1.0, vpd_high=5.0, vpd_low=1.0] | expected_cost=USD 7.5

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
10:32hyst 0.4Immediate coverage (copied from first transition)
10:35hyst 0.4Mid-morning Sat: outdoor 73°F/18% RH, moderate VPD stress. E
12:00hyst 0.4Sat peak: outdoor 76°F/15% RH, VPD forecast 2.59 kPa outdoor
13:00hyst 0.3Sat afternoon: outdoor temp dropping to 71°F, RH rising to 2
19:25hyst 0.2Sat night: lows forecast 48°F. Heaters will run. bias_cool +

Tactical tunable changes:

TimeValuesNote
10:32d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Immediate coverage (copied from first transition)
10:35d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Mid-morning Sat: outdoor 73°F/18% RH, moderate VPD stress. E
12:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Sat peak: outdoor 76°F/15% RH, VPD forecast 2.59 kPa outdoor
13:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Sat afternoon: outdoor temp dropping to 71°F, RH rising to 2
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sat night: lows forecast 48°F. Heaters will run. bias_cool +

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Sun pre-dawn: outdoor 44°F/44% RH, heaters still running. Ma
09:57hyst 0.3Sun tree shade clears: east zone gets direct sun, VPD ramp b
14:00hyst 0.4Sun peak + cloud shift (14:00): outdoor 76°F/7% RH — extreme
16:00hyst 0.4Sun late afternoon: outdoor 77°F/7% RH but solar declining.
19:26hyst 0.2Sun night: lows forecast 55°F — milder than Sat but still ne

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Sun pre-dawn: outdoor 44°F/44% RH, heaters still running. Ma
09:57d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Sun tree shade clears: east zone gets direct sun, VPD ramp b
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Sun peak + cloud shift (14:00): outdoor 76°F/7% RH — extreme
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Sun late afternoon: outdoor 77°F/7% RH but solar declining.
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sun night: lows forecast 55°F — milder than Sat but still ne

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Mon pre-dawn: outdoor 50°F/26% RH, heaters running. Maintain
09:55hyst 0.3Mon tree shade clears: east zone direct sun. Outdoor 64°F/12
11:00hyst 0.3Mon cloud shift at 11:00: clouds clear briefly (12% at noon)
14:00hyst 0.4Mon peak: outdoor 72°F/9% RH, overcast. VPD peak forecast 2.
15:00hyst 0.3Mon decline: outdoor temp dropping to 71°F, RH rising to 10%
19:27hyst 0.2Mon night: lows forecast 45°F — coldest night in the plan. b

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Mon pre-dawn: outdoor 50°F/26% RH, heaters running. Maintain
09:55d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Mon tree shade clears: east zone direct sun. Outdoor 64°F/12
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Mon cloud shift at 11:00: clouds clear briefly (12% at noon)
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Mon peak: outdoor 72°F/9% RH, overcast. VPD peak forecast 2.
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Mon decline: outdoor temp dropping to 71°F, RH rising to 10%
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Mon night: lows forecast 45°F — coldest night in the plan. b

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Tue pre-dawn: outdoor 44°F/43% RH, heaters running. Maintain
09:54hyst 0.2Tue tree shade clears: outdoor 56°F/28% RH, overcast. Cool m

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tue pre-dawn: outdoor 44°F/43% RH, heaters running. Maintain
09:54d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tue tree shade clears: outdoor 56°F/28% RH, overcast. Cool m

Changed secondary parameters:

TimeParameterChange
10:32bias_coolinitial 0
10:32bias_heatinitial 0
10:32enthalpy_closeinitial 1
10:32enthalpy_openinitial -2
10:32fog_escalation_kpainitial 0.3
10:32min_fog_off_sinitial 60
10:32min_fog_on_sinitial 60
10:32min_heat_off_sinitial 300
10:32min_heat_on_sinitial 120
10:32min_vent_off_sinitial 60
10:32min_vent_on_sinitial 60
10:32mist_max_closed_vent_sinitial 600
10:32mist_thermal_relief_sinitial 90
10:32mist_vent_close_lead_sinitial 15
10:32mist_vent_reopen_delay_sinitial 45
10:32mister_water_budget_galinitial 500
10:32vpd_watch_dwell_sinitial 45
12:00mist_vent_close_lead_s15 → 20
12:00vpd_watch_dwell_s45 → 30
13:00fog_escalation_kpa0.3 → 0.4
13:00mist_vent_close_lead_s20 → 15
13:00vpd_watch_dwell_s30 → 45
19:25bias_cool0 → 3
19:25bias_heat0 → 1
19:25vpd_watch_dwell_s45 → 60
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_reopen_delay_s45 → 60
09:57bias_cool3 → -1
09:57bias_heat1 → 0
09:57mist_vent_close_lead_s15 → 20
09:57vpd_watch_dwell_s60 → 30
14:00enthalpy_close1 → 2
14:00enthalpy_open-2 → -3
14:00min_vent_off_s60 → 90
14:00mist_thermal_relief_s90 → 120
14:00mist_vent_close_lead_s20 → 25
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s60 → 90
16:00min_vent_off_s90 → 60
16:00mist_thermal_relief_s120 → 90
16:00mist_vent_close_lead_s25 → 20
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26min_fog_off_s90 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
09:55bias_cool3 → -1
09:55bias_heat1 → 0
09:55mist_vent_close_lead_s15 → 20
09:55vpd_watch_dwell_s60 → 30
11:00bias_cool-1 → 0
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s60 → 90
15:00mist_max_closed_vent_s900 → 600
15:00mist_vent_close_lead_s20 → 15
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27min_fog_off_s90 → 60
19:27min_heat_off_s300 → 240
19:27vpd_watch_dwell_s45 → 60
09:54bias_cool4 → 0
09:54bias_heat2 → 0
09:54min_heat_off_s240 → 300

☀️ Midday Cycle (11:32 AM) — iris-20260411-1135

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0515

Previous hypothesis: Lowering fog_escalation_kpa to 0.2 on Sunday (extreme dry, 7% RH) combined with 900s sealed-vent and 15s pulse gap at peak will keep vpd_high stress below 6h despite 2.5x drier conditions than Saturday. On Saturday, fog_escalation 0.3 with 600s sealed-vent should limit vpd_high to ~4h. Monday’s high winds will reduce vent effectiveness — extending sealed-vent to 900s and using fog_escalation 0.3 compensates. Result: [backfill] compliance unavailable over plan window 2026-04-11 17:32 → 2026-04-11 18:02 Score: 4/10

Hypothesis

Conditions: Today (Sat) is partly cloudy with outdoor high 77°F and very dry air (15-27% RH), transitioning to a brutally dry Sunday (6-8% RH, 77°F, clear until 14:00 cloud shift) — the driest day in the horizon. Monday is moderately dry (9-28% RH, 72°F high) with clouds clearing at 11:00. Tuesday is the coolest day (58°F high, 27-48% RH) with precipitation chances rising to 39%. Today’s partial scorecard shows 31h cold_stress and 6h vpd_low_stress — likely from overnight band mismatch or ESP32 reboot corruption earlier today, not from the active plan’s tuning. East zone seedlings (lettuce, strawberry, pepper) show stress indicators but these are likely light/nutrient issues outside this planner’s control surface. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (11:00-15:00, outdoor RH 9-12%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Sunday is ~40% drier. If Sunday’s VPD_high stress hours per unit outdoor VPD is comparable to or lower than Monday’s ratio, it validates scaling fog_escalation inversely with outdoor RH on extreme dry days. Expected outcome: Sunday VPD_high_stress / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating that 0.2 fog escalation + 15s gap compensates for extreme dryness. Expected Sunday VPD_high: 4-6h (physics-limited at 6% RH). Monday VPD_high: 2-4h. Tuesday: <1h. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=6.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
11:32hyst 0.4Immediate coverage (copied from first transition)
11:35hyst 0.4Current VPD 2.0-2.25 across zones with outdoor 72°F/24% RH.
14:00hyst 0.4Forecast peak: 77°F/15% RH at 14:00. Tighten gap to 15s for
18:00hyst 0.3Cloud shift at 18:00 (clear sky). Solar declining, outdoor 6
19:25hyst 0.2Sunset. Overnight low forecast 44-50°F — heaters will run. b

Tactical tunable changes:

TimeValuesNote
11:32d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Immediate coverage (copied from first transition)
11:35d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Current VPD 2.0-2.25 across zones with outdoor 72°F/24% RH.
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Forecast peak: 77°F/15% RH at 14:00. Tighten gap to 15s for
18:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Cloud shift at 18:00 (clear sky). Solar declining, outdoor 6
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low forecast 44-50°F — heaters will run. b

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn at 44°F/44% outdoor. Heaters still running — mainta
09:49hyst 0.3Tree shade clears east zone. Outdoor 63°F/23% RH and droppin
15:00hyst 0.4Peak stress: 77°F/7% outdoor RH — most extreme conditions in
16:00hyst 0.4Solar declining but outdoor still 77°F/7% RH — VPD may still
19:26hyst 0.2Sunset. Overnight low forecast 49-55°F — heaters will run. b

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn at 44°F/44% outdoor. Heaters still running — mainta
09:49d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears east zone. Outdoor 63°F/23% RH and droppin
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress: 77°F/7% outdoor RH — most extreme conditions in
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Solar declining but outdoor still 77°F/7% RH — VPD may still
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Overnight low forecast 49-55°F — heaters will run. b

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn at 50°F/26% outdoor. Heaters still running — mainta
11:00hyst 0.3Cloud shift at 11:00 (clouds clear from 100% to 12%). Tree s
14:00hyst 0.4Peak stress: 72°F/9% outdoor RH. Moderately aggressive: gap
15:00hyst 0.3Post-solar decline. Outdoor 71°F/10% RH but solar waning. Re
19:27hyst 0.2Sunset. Coldest night in horizon — forecast low 41-43°F. Agg

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn at 50°F/26% outdoor. Heaters still running — mainta
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud shift at 11:00 (clouds clear from 100% to 12%). Tree s
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Peak stress: 72°F/9% outdoor RH. Moderately aggressive: gap
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Post-solar decline. Outdoor 71°F/10% RH but solar waning. Re
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Coldest night in horizon — forecast low 41-43°F. Agg

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn at 44°F/43% outdoor. Heaters still running — mainta
09:43hyst 0.2Tree shade clears. Tuesday high only 58°F with 27% RH — mild

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn at 44°F/43% outdoor. Heaters still running — mainta
09:43d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tree shade clears. Tuesday high only 58°F with 27% RH — mild

Changed secondary parameters:

TimeParameterChange
11:32bias_coolinitial 0
11:32bias_heatinitial 0
11:32enthalpy_closeinitial 1
11:32enthalpy_openinitial -2
11:32fog_escalation_kpainitial 0.3
11:32min_fog_off_sinitial 60
11:32min_fog_on_sinitial 60
11:32min_heat_off_sinitial 300
11:32min_heat_on_sinitial 120
11:32min_vent_off_sinitial 60
11:32min_vent_on_sinitial 60
11:32mist_max_closed_vent_sinitial 600
11:32mist_thermal_relief_sinitial 90
11:32mist_vent_close_lead_sinitial 15
11:32mist_vent_reopen_delay_sinitial 45
11:32mister_water_budget_galinitial 500
11:32vpd_watch_dwell_sinitial 30
18:00fog_escalation_kpa0.3 → 0.4
18:00vpd_watch_dwell_s30 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
09:49bias_cool3 → -1
09:49bias_heat1 → 0
09:49vpd_watch_dwell_s60 → 30
15:00enthalpy_close1 → 2
15:00enthalpy_open-2 → -3
15:00min_vent_off_s60 → 90
15:00min_vent_on_s60 → 30
15:00mist_vent_close_lead_s15 → 20
15:00mist_vent_reopen_delay_s45 → 60
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_vent_off_s90 → 60
16:00min_vent_on_s30 → 60
16:00mist_vent_close_lead_s20 → 15
16:00mist_vent_reopen_delay_s60 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s30 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
11:00bias_cool3 → 0
11:00bias_heat1 → 0
11:00vpd_watch_dwell_s60 → 30
15:00fog_escalation_kpa0.3 → 0.4
15:00mist_max_closed_vent_s900 → 600
15:00vpd_watch_dwell_s30 → 60
19:27bias_cool0 → 4
19:27bias_heat0 → 2
09:43bias_cool4 → 0
09:43bias_heat2 → 0

☀️ Midday Cycle (12:02 PM) — iris-20260411-1205

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0515

Result: [backfill] compliance unavailable over plan window 2026-04-11 18:02 → 2026-04-11 18:17 Score: 4/10

Hypothesis

Conditions: Today (Sat) is partly cloudy with outdoor RH 15-27%, high 77°F — moderate dry stress remaining. Sunday is the most extreme day: clear morning transitioning to clouds at 14:00, outdoor RH drops to 6-8% with highs of 77°F — extreme VPD stress expected. Monday is similar but slightly cooler (72°F high) with clouds from 11:00 and outdoor RH 9-12%. Tuesday is mild (59°F high, 26-48% RH) — easy day. Today’s partial scorecard shows 31h cold_stress dominating, likely from overnight vent oscillation before the current plan’s bias_cool took effect. Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold overnight temps in east zone. Testing: Compare Sunday peak (13:00-18:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (11:00-15:00, outdoor RH 9-12%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). If Sunday’s VPD_high stress hours per unit outdoor VPD is comparable to or lower than Monday’s ratio, it validates scaling fog_escalation inversely with outdoor RH on extreme dry days. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio. Sunday target: <4h VPD_high stress despite 6% RH. Monday target: <3h VPD_high stress with 9-12% RH. Both nights should have 0h cold_stress with bias_cool +3. | target_score=55 | target_compliance=55% | expected_stress=[heat=1.0, cold=0.5, vpd_high=6.0, vpd_low=1.0] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
12:02hyst 0.4Immediate coverage (copied from first transition)
12:05hyst 0.4Outdoor RH 15-23%, temp 70-77°F. Aggressive misting posture
18:00hyst 0.3Post-peak decline. Outdoor temp dropping to 69°F, RH rising
19:25hyst 0.2Sunset. Tonight drops to 44°F — heaters will run. bias_heat

Tactical tunable changes:

TimeValuesNote
12:02d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Immediate coverage (copied from first transition)
12:05d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 3Outdoor RH 15-23%, temp 70-77°F. Aggressive misting posture
18:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Post-peak decline. Outdoor temp dropping to 69°F, RH rising
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Tonight drops to 44°F — heaters will run. bias_heat

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn at 44°F outdoor, 44% RH. Heaters still running. Kee
09:45hyst 0.3Tree shade clears east zone. Outdoor 63°F/23% RH, VPD ramp a
15:00hyst 0.4Peak VPD stress: 77°F/7% RH outdoor, forecast VPD ~2.98 kPa.
16:00hyst 0.4Sunday driest hour is 18:00 (6% RH) — VPD remains extreme ev
19:26hyst 0.2Sunset Sunday. Tonight drops to 45°F with outdoor RH rising

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn at 44°F outdoor, 44% RH. Heaters still running. Kee
09:45d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears east zone. Outdoor 63°F/23% RH, VPD ramp a
15:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak VPD stress: 77°F/7% RH outdoor, forecast VPD ~2.98 kPa.
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Sunday driest hour is 18:00 (6% RH) — VPD remains extreme ev
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Sunday. Tonight drops to 45°F with outdoor RH rising

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday at 50°F/26% RH. Heaters still running. Keep
11:00hyst 0.3Cloud shift at 11:00 — clouds clear to 12% cover, solar jump
14:00hyst 0.4Peak stress Monday: 72°F/9% RH outdoor, VPD 2.40 kPa. Maximu
15:00hyst 0.3Solar declining, outdoor temp dropping to 71°F. Wind 21 mph
19:27hyst 0.2Sunset Monday. Tonight drops to 41°F — coldest night in the

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday at 50°F/26% RH. Heaters still running. Keep
11:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Cloud shift at 11:00 — clouds clear to 12% cover, solar jump
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Peak stress Monday: 72°F/9% RH outdoor, VPD 2.40 kPa. Maximu
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5Solar declining, outdoor temp dropping to 71°F. Wind 21 mph
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset Monday. Tonight drops to 41°F — coldest night in the

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn Tuesday at 44°F/43% RH. Heaters still running. Keep
09:38hyst 0.2Tree shade clears. Tuesday is mild: high 59°F, outdoor RH 26

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn Tuesday at 44°F/43% RH. Heaters still running. Keep
09:38d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tree shade clears. Tuesday is mild: high 59°F, outdoor RH 26

Changed secondary parameters:

TimeParameterChange
12:02bias_coolinitial 0
12:02bias_heatinitial 0
12:02enthalpy_closeinitial 1
12:02enthalpy_openinitial -2
12:02fog_escalation_kpainitial 0.3
12:02min_fog_off_sinitial 60
12:02min_fog_on_sinitial 60
12:02min_heat_off_sinitial 300
12:02min_heat_on_sinitial 120
12:02min_vent_off_sinitial 60
12:02min_vent_on_sinitial 60
12:02mist_max_closed_vent_sinitial 600
12:02mist_thermal_relief_sinitial 90
12:02mist_vent_close_lead_sinitial 15
12:02mist_vent_reopen_delay_sinitial 45
12:02mister_water_budget_galinitial 500
12:02vpd_watch_dwell_sinitial 45
18:00fog_escalation_kpa0.3 → 0.4
18:00vpd_watch_dwell_s45 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
09:45bias_cool3 → -1
09:45bias_heat1 → 0
09:45vpd_watch_dwell_s60 → 45
15:00enthalpy_close1 → 2
15:00enthalpy_open-2 → -3
15:00min_vent_off_s60 → 90
15:00min_vent_on_s60 → 45
15:00mist_vent_close_lead_s15 → 20
15:00mist_vent_reopen_delay_s45 → 60
15:00vpd_watch_dwell_s45 → 30
16:00bias_cool-1 → 0
16:00min_fog_off_s60 → 90
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26enthalpy_close2 → 1
19:26enthalpy_open-3 → -2
19:26fog_escalation_kpa0.2 → 0.4
19:26min_fog_off_s90 → 60
19:26min_vent_off_s90 → 60
19:26min_vent_on_s45 → 60
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26mist_vent_reopen_delay_s60 → 45
19:26vpd_watch_dwell_s30 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
11:00bias_cool3 → 0
11:00bias_heat1 → 0
11:00vpd_watch_dwell_s60 → 45
14:00enthalpy_close1 → 2
14:00enthalpy_open-2 → -3
14:00min_vent_off_s60 → 90
14:00min_vent_on_s60 → 45
14:00mist_vent_close_lead_s15 → 20
14:00mist_vent_reopen_delay_s45 → 60
14:00vpd_watch_dwell_s45 → 30
15:00enthalpy_close2 → 1
15:00enthalpy_open-3 → -2
15:00fog_escalation_kpa0.3 → 0.4
15:00min_fog_off_s60 → 90
15:00min_vent_off_s90 → 60
15:00min_vent_on_s45 → 60
15:00mist_max_closed_vent_s900 → 600
15:00mist_vent_close_lead_s20 → 15
15:00mist_vent_reopen_delay_s60 → 45
15:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27min_fog_off_s90 → 60
19:27vpd_watch_dwell_s45 → 60
09:38bias_cool4 → 0
09:38bias_heat2 → 0

☀️ Midday Cycle (12:17 PM) — iris-20260411-1220

Status

validated

Outcome score

4/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0610

Previous hypothesis: Reducing mister_pulse_gap_s to 15s during peak stress on Sunday/Monday (the driest hours), combined with mist_max_closed_vent_s=900s and fog_escalation_kpa=0.2, will keep VPD_high stress under 6h/day despite 7-9% outdoor RH. On cold nights (Sun-Tue), bias_cool=+3 with bias_heat=+1 will prevent vent oscillation. Tuesday’s mild conditions should achieve near-zero stress. Result: [backfill] compliance unavailable over plan window 2026-04-11 18:17 → 2026-04-11 19:02 Score: 4/10

Hypothesis

Conditions: Today (Sat) is overcast with outdoor 76°F/17% RH, clearing tonight to cold clear night (low 44°F). Sunday is the most extreme day: clear skies, 77°F high, outdoor RH dropping to 6-8% — the driest conditions in the horizon. Monday is cooler (70°F high) with clouds building by 10:00, still dry (11-15% RH). Tuesday is mild and cloudy (62°F, 25% RH) with rain chances. Today’s partial scorecard shows 31h cold_stress dominating — likely from overnight vent oscillation before the current plan’s bias_cool took effect. Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold or light, not actionable via this planner. Testing: Compare Sunday peak (13:00-19:00, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (10:00-17:00, outdoor RH 11-15%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Normalize VPD_high stress hours by average outdoor VPD for each period. If Sunday’s ratio is comparable to or lower than Monday’s, it validates that scaling fog_escalation inversely with outdoor RH compensates for extreme dryness. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD should be ≤ Monday’s ratio, demonstrating fog_escalation 0.2 at 6% RH performs as well as 0.3 at 13% RH. Sunday total stress target <6h, Monday <3h, Tuesday <1h. | target_score=60 | target_compliance=65% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
12:17hyst 0.3Immediate coverage (copied from first transition)
12:20hyst 0.3Current state is SEALED_MIST_S1 with north VPD 2.28. Outdoor
14:00hyst 0.3Forecast peak: 77°F/16% RH outdoor. Tighten gap to 20s and l
15:00hyst 0.3Solar dropping (60 W/m² forecast), temp declining to 75°F. R
19:25hyst 0.2Sunset. Cold night ahead — forecast low 44°F. bias_heat +1 f

Tactical tunable changes:

TimeValuesNote
12:17d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Immediate coverage (copied from first transition)
12:20d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Current state is SEALED_MIST_S1 with north VPD 2.28. Outdoor
14:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Forecast peak: 77°F/16% RH outdoor. Tighten gap to 20s and l
15:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Solar dropping (60 W/m² forecast), temp declining to 75°F. R
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Cold night ahead — forecast low 44°F. bias_heat +1 f

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn for extreme dry day (6% RH forecast). Lower engage
09:43hyst 0.3Tree shade clears east zone — direct sun hits, VPD ramp acce
14:00hyst 0.4Clouds arrive at 14:00 (98%) reducing solar but outdoor RH d
16:00hyst 0.4Solar near zero but outdoor still 77°F/7% RH — VPD remains e
19:26hyst 0.2Sunset. Cold night — forecast low 47°F (Sun night into Mon).

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn for extreme dry day (6% RH forecast). Lower engage
09:43d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears east zone — direct sun hits, VPD ramp acce
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Clouds arrive at 14:00 (98%) reducing solar but outdoor RH d
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Solar near zero but outdoor still 77°F/7% RH — VPD remains e
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Cold night — forecast low 47°F (Sun night into Mon).

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn Monday. Outdoor 50°F/24% RH — less extreme than Sun
09:39hyst 0.3Tree shade clears. Clouds clearing at 10:00 (73%→7%). Outdoo
10:00hyst 0.3Clouds clear (73%→7%). Solar ramp begins — 528 W/m² forecast
14:00hyst 0.3Clouds return (100% from 13:00). Solar drops to 349 W/m². Re
19:27hyst 0.2Sunset. Coldest night in horizon — forecast low 43°F. bias_h

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn Monday. Outdoor 50°F/24% RH — less extreme than Sun
09:39d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears. Clouds clearing at 10:00 (73%→7%). Outdoo
10:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Clouds clear (73%→7%). Solar ramp begins — 528 W/m² forecast
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Clouds return (100% from 13:00). Solar drops to 349 W/m². Re
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunset. Coldest night in horizon — forecast low 43°F. bias_h

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn Tuesday. Outdoor 44°F/48% RH — cold but more humid.
09:35hyst 0.2Tree shade clears but Tuesday is mild and cloudy (62°F high,

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn Tuesday. Outdoor 44°F/48% RH — cold but more humid.
09:35d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tree shade clears but Tuesday is mild and cloudy (62°F high,

Changed secondary parameters:

TimeParameterChange
12:17bias_coolinitial 0
12:17bias_heatinitial 0
12:17enthalpy_closeinitial 1
12:17enthalpy_openinitial -2
12:17fog_escalation_kpainitial 0.4
12:17min_fog_off_sinitial 60
12:17min_fog_on_sinitial 60
12:17min_heat_off_sinitial 300
12:17min_heat_on_sinitial 120
12:17min_vent_off_sinitial 60
12:17min_vent_on_sinitial 60
12:17mist_max_closed_vent_sinitial 600
12:17mist_thermal_relief_sinitial 90
12:17mist_vent_close_lead_sinitial 15
12:17mist_vent_reopen_delay_sinitial 45
12:17mister_water_budget_galinitial 500
12:17vpd_watch_dwell_sinitial 45
15:00vpd_watch_dwell_s45 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34enthalpy_close1 → 2
05:34enthalpy_open-2 → -3
05:34fog_escalation_kpa0.4 → 0.2
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_close_lead_s15 → 20
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 45
09:43bias_cool3 → -1
09:43bias_heat1 → 0
09:43min_fog_off_s60 → 45
09:43vpd_watch_dwell_s45 → 30
14:00mist_vent_close_lead_s20 → 25
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_vent_off_s90 → 60
16:00mist_vent_close_lead_s25 → 20
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26mist_vent_close_lead_s20 → 15
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33vpd_watch_dwell_s60 → 45
09:39bias_cool3 → 0
09:39bias_heat1 → 0
10:00min_vent_off_s60 → 90
10:00mist_vent_close_lead_s15 → 20
10:00mist_vent_reopen_delay_s45 → 60
10:00vpd_watch_dwell_s45 → 30
14:00fog_escalation_kpa0.3 → 0.4
14:00min_vent_off_s90 → 60
14:00mist_max_closed_vent_s900 → 600
14:00mist_vent_close_lead_s20 → 15
14:00mist_vent_reopen_delay_s60 → 45
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27vpd_watch_dwell_s45 → 60
09:35bias_cool4 → 0
09:35bias_heat2 → 0

☀️ Midday Cycle (1:02 PM) — iris-20260411-1305

Status

validated

Outcome score

2/10

Changed parameters

vpd_hysteresis, vpd_watch_dwell_s, mister_engage_kpa, mister_all_kpa, mister_pulse_on_s, mister_pulse_gap_s, mister_vpd_weight, mister_water_budget_gal ...

Reflection

Validating previous cycle: iris-20260411-0650

Previous hypothesis: Maintaining aggressive misting (engage 1.3, gap 20s, weight 2.5-3.0) with 900s sealed-vent on the extreme dry days (Sun/Mon) and fog_escalation 0.2 on Sunday (7% RH) vs 0.3 on Monday (9% RH) will keep VPD_high stress under 8h/day despite outdoor VPD >2.5 kPa. Cold nights get bias_cool +3 and bias_heat +1 to prevent vent oscillation. Tuesday’s mild conditions allow relaxed defaults. Result: [backfill] avg compliance 17.6% (stress 3.5 h) over plan window 2026-04-11 19:02 → 2026-04-12 12:31 Score: 2/10

Hypothesis

Conditions: Today (Sat) is clearing with outdoor 75°F/21% RH, indoor temps 77-79°F with highly variable zone VPD (south 0.52, north 2.01). Today’s partial scorecard shows severe cold_stress (31.2h) dominating — likely overnight vent oscillation before the current plan’s bias_cool took effect. Sunday is the most extreme day: clear skies, outdoor RH dropping to 6-8%, high 77°F — 13h forecast stress. Monday moderates (high 70°F, RH 11-17%, clouds clearing midday). Tuesday is mild (high 63°F, RH 23%, overcast). Crop health is generally good; lettuce seedlings show some stress (wilting/yellowing) possibly from cold overnight exposure. Testing: Compare Sunday peak (10:00-19:26, outdoor RH 6-8%, fog_escalation_kpa=0.2, gap=15s, mist_max_closed_vent_s=900) vs Monday peak (09:59-19:27, outdoor RH 11-17%, fog_escalation_kpa=0.3, gap=20s, mist_max_closed_vent_s=900). Normalize VPD_high stress hours by average outdoor VPD for each period. If Sunday’s normalized ratio is ≤ Monday’s, it validates that scaling fog_escalation inversely with outdoor RH compensates for extreme dryness. Expected outcome: Sunday VPD_high_stress_h / avg_outdoor_VPD ≤ Monday’s ratio, demonstrating fog_escalation 0.2 compensates for 2x drier conditions vs fog_escalation 0.3. | target_score=62 | target_compliance=70% | expected_stress=[heat=1.0, cold=0.5, vpd_high=5.0, vpd_low=0.5] | expected_cost=USD 7.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
13:02hyst 0.3Immediate coverage (copied from first transition)
13:05hyst 0.3North zone VPD 2.01 — engage misting aggressively (1.3 kPa,
16:00hyst 0.3Outdoor temp dropping to 71°F, RH rising to 20%. Solar decli
19:25hyst 0.2Cold night ahead: forecast low 44°F. bias_heat +1 pre-heats

Tactical tunable changes:

TimeValuesNote
13:02d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Immediate coverage (copied from first transition)
13:05d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5North zone VPD 2.01 — engage misting aggressively (1.3 kPa,
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Outdoor temp dropping to 71°F, RH rising to 20%. Solar decli
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Cold night ahead: forecast low 44°F. bias_heat +1 pre-heats

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Pre-dawn at 44°F outdoor. Keep heating biases active. Pre-po
10:00hyst 0.3Tree shade clears, east zone gets direct sun. Outdoor 66°F/2
14:00hyst 0.4Cloud shift at 14:00 (98-100% cloud) reduces solar gain but
16:00hyst 0.4Post-peak decline but outdoor still 77°F/7% RH. Ease gap to
19:26hyst 0.2Cold night: forecast low 47°F (Sun night into Mon). bias_hea

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn at 44°F outdoor. Keep heating biases active. Pre-po
10:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Tree shade clears, east zone gets direct sun. Outdoor 66°F/2
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Cloud shift at 14:00 (98-100% cloud) reduces solar gain but
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Post-peak decline but outdoor still 77°F/7% RH. Ease gap to
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Cold night: forecast low 47°F (Sun night into Mon). bias_hea

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Pre-dawn 50°F outdoor, 24% RH. Keep heating biases. Pre-posi
09:59hyst 0.3Tree shade clears at 09:59. Cloud shift at 10:00 — clouds cl
14:00hyst 0.3Post-solar-peak but VPD peaks at 17:00 due to thermal lag. C
17:00hyst 0.3Peak VPD at 17:00 (outdoor 70°F/11%, VPD 2.19). Fog window c
19:27hyst 0.2Coldest night of the horizon: forecast low 43°F. Increase bi

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Pre-dawn 50°F outdoor, 24% RH. Keep heating biases. Pre-posi
09:59d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Tree shade clears at 09:59. Cloud shift at 10:00 — clouds cl
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Post-solar-peak but VPD peaks at 17:00 due to thermal lag. C
17:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Peak VPD at 17:00 (outdoor 70°F/11%, VPD 2.19). Fog window c
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Coldest night of the horizon: forecast low 43°F. Increase bi

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Pre-dawn 44°F outdoor, 48% RH — much more humid than previou
09:58hyst 0.2Tree shade clears. Tuesday is the mildest day: high 63°F, ou
13:00hyst 0.2End of 72h horizon. Tuesday afternoon: 63°F/23% RH, overcast

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn 44°F outdoor, 48% RH — much more humid than previou
09:58d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tree shade clears. Tuesday is the mildest day: high 63°F, ou
13:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5End of 72h horizon. Tuesday afternoon: 63°F/23% RH, overcast

Changed secondary parameters:

TimeParameterChange
13:02bias_coolinitial 0
13:02bias_heatinitial 0
13:02enthalpy_closeinitial 1
13:02enthalpy_openinitial -2
13:02fog_escalation_kpainitial 0.4
13:02min_fog_off_sinitial 60
13:02min_fog_on_sinitial 60
13:02min_heat_off_sinitial 300
13:02min_heat_on_sinitial 120
13:02min_vent_off_sinitial 60
13:02min_vent_on_sinitial 60
13:02mist_max_closed_vent_sinitial 600
13:02mist_thermal_relief_sinitial 90
13:02mist_vent_close_lead_sinitial 15
13:02mist_vent_reopen_delay_sinitial 45
13:02mister_water_budget_galinitial 500
13:02vpd_watch_dwell_sinitial 45
16:00vpd_watch_dwell_s45 → 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34min_vent_off_s60 → 90
05:34mist_max_closed_vent_s600 → 900
05:34mist_vent_close_lead_s15 → 20
05:34mist_vent_reopen_delay_s45 → 60
05:34vpd_watch_dwell_s60 → 45
10:00bias_cool3 → -1
10:00bias_heat1 → 0
10:00enthalpy_close1 → 2
10:00enthalpy_open-2 → -3
10:00min_fog_off_s60 → 45
10:00min_vent_on_s60 → 45
10:00vpd_watch_dwell_s45 → 30
14:00mist_thermal_relief_s90 → 120
16:00bias_cool-1 → 0
16:00enthalpy_close2 → 1
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_vent_off_s90 → 60
16:00min_vent_on_s45 → 60
16:00mist_thermal_relief_s120 → 90
16:00mist_vent_close_lead_s20 → 15
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
19:26vpd_watch_dwell_s45 → 60
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
05:33vpd_watch_dwell_s60 → 45
09:59bias_cool3 → 0
09:59bias_heat1 → 0
09:59vpd_watch_dwell_s45 → 30
14:00fog_escalation_kpa0.3 → 0.4
14:00mist_max_closed_vent_s900 → 600
14:00vpd_watch_dwell_s30 → 45
19:27bias_cool0 → 4
19:27bias_heat0 → 2
19:27vpd_watch_dwell_s45 → 60
09:58bias_cool4 → 0
09:58bias_heat2 → 0

☀️ Midday Cycle (1:57 PM) — iris-20260411-1346

Status

validated

Outcome score

3/10

Changed parameters

fog_escalation_kpa, vpd_hysteresis, mister_pulse_gap_s, bias_cool, bias_heat

Reflection

Validating previous cycle: iris-20260411-0735

Previous hypothesis: Maintaining bias_cool +3 on cold nights prevents vent oscillation cold_stress. During extreme dry daytime (Sun/Mon), aggressive sealed-vent misting (engage 1.3, gap 15-20s, max_closed 900s) with fog_escalation 0.2 kPa will minimize vpd_high stress. On moderate days (Sat with 16-26% RH), fog_escalation 0.3 kPa balances humidity without vpd_low overshoot. Tuesday’s mild conditions allow relaxed defaults. Result: [dominant: vpd_high_stress] Score 27.5, compliance 17.6% (temp 85.4%, VPD 23.1%). 17.25h vpd_high, 2.52h cold, 0.98h heat, 1.17h vpd_low. Cost USD 4.97. 8 ESP32 reboots during 9-11 AM disrupted morning VPD ramp control. Tight nighttime VPD band (0.3-0.6) vs natural 0.8-0.95 drift produced ~10-12h structural non-compliance. 36 gal misting water (below average) suggests insufficient daytime aggression. Score: 3/10

New finding: ESP32 reboot instability during morning peak (8 reboots in 2h) eliminates planning benefits for that window. When reboots are frequent, plan defensively — assume control will be interrupted and set wider bands/more conservative settings that degrade gracefully. Also: tight nighttime VPD bands (0.3-0.6 kPa) structurally cap compliance at ~55-60% regardless of daytime performance. Scoring methodology should eventually account for controllability windows. → Added to Lessons Learned

Hypothesis

Conditions: Sat afternoon SUNRISE. Current: 80.7F avg, north VPD 2.22, south 0.83. Outdoor 76.9F/20.7% RH. Yesterday: score 87, 97.1% compliance, 0.7h stress, USD 7.99. Sunday extreme dry (6-8% RH, 77F), Monday moderate dry (11-17% RH, 68F), Tuesday cooling with precip (43-63F, 23-53% RH). Testing: Compare Sunday peak (10-16, hysteresis 0.4, fog 0.2, gap 15s) vs Monday peak (10-14, hysteresis 0.3, fog 0.3, gap 20s). Normalize VPD_high stress by avg outdoor VPD. Expected outcome: Sunday normalized VPD_high ratio Monday despite 2x drier. Target score 55, compliance 55%, expected cost ~USD 6.50.

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
14:00hyst 0.3Standard
16:00hyst 0.3Standard
19:25hyst 0.2Standard

Tactical tunable changes:

TimeValuesNote
14:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Standard
16:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 30; wt 2Standard
19:25d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Standard

Sunday April 12

Primary crop-band changes:

TimeValuesNote
05:34hyst 0.2Standard
10:00hyst 0.3Standard
14:00hyst 0.4Standard
16:00hyst 0.4Standard
19:26hyst 0.2Standard

Tactical tunable changes:

TimeValuesNote
05:34d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Standard
10:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Standard
14:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 15; wt 3Standard
16:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Standard
19:26d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Standard

Monday April 13

Primary crop-band changes:

TimeValuesNote
05:33hyst 0.2Standard
10:00hyst 0.3Standard
14:00hyst 0.3Standard
19:27hyst 0.2Standard

Tactical tunable changes:

TimeValuesNote
05:33d_cool 3; engage 1.3; all 1.5; pulse 60; gap 25; wt 1.5Standard
10:00d_cool 3; engage 1.3; all 1.5; pulse 60; gap 20; wt 2.5Standard
14:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2Standard
19:27d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Standard

Tuesday April 14

Primary crop-band changes:

TimeValuesNote
05:31hyst 0.2Standard
10:00hyst 0.3Standard
13:00hyst 0.3Standard

Tactical tunable changes:

TimeValuesNote
05:31d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Standard
10:00d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2Standard
13:00d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2Standard

Changed secondary parameters:

TimeParameterChange
14:00bias_coolinitial 0
14:00bias_heatinitial 0
14:00enthalpy_closeinitial 1
14:00enthalpy_openinitial -2
14:00fog_escalation_kpainitial 0.4
14:00min_fog_off_sinitial 60
14:00min_fog_on_sinitial 60
14:00min_heat_off_sinitial 300
14:00min_heat_on_sinitial 120
14:00min_vent_off_sinitial 60
14:00min_vent_on_sinitial 60
14:00mist_max_closed_vent_sinitial 600
14:00mist_thermal_relief_sinitial 90
14:00mist_vent_close_lead_sinitial 15
14:00mist_vent_reopen_delay_sinitial 45
14:00mister_water_budget_galinitial 500
14:00vpd_watch_dwell_sinitial 60
19:25bias_cool0 → 3
19:25bias_heat0 → 1
05:34fog_escalation_kpa0.4 → 0.2
05:34mist_max_closed_vent_s600 → 900
10:00bias_cool3 → -1
10:00bias_heat1 → 0
16:00bias_cool-1 → 0
16:00fog_escalation_kpa0.2 → 0.3
19:26bias_cool0 → 3
19:26bias_heat0 → 1
19:26fog_escalation_kpa0.3 → 0.4
19:26mist_max_closed_vent_s900 → 600
05:33fog_escalation_kpa0.4 → 0.3
05:33mist_max_closed_vent_s600 → 900
10:00bias_cool3 → 0
10:00bias_heat1 → 0
14:00fog_escalation_kpa0.3 → 0.4
14:00mist_max_closed_vent_s900 → 600
19:27bias_cool0 → 4
19:27bias_heat0 → 2
10:00bias_cool4 → 0
10:00bias_heat2 → 0

🌆 Evening Cycle (8:12 PM) — iris-20260411-2006

Status

validated

Outcome score

5/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260411-1346

Previous hypothesis: Sunday extreme dry: fog_escalation 0.2, gap 15s, sealed-vent 900s, engage 1.3, vpd_hysteresis 0.4 at peak keeps VPD_high under 6h. Wider hysteresis reduces VPD sawtooth. Monday moderate treatment as control. Tuesday conservative. Result: Governed overnight 4/11 8PM → 4/12 6:27AM. Today’s partial scorecard: score 58.3, compliance 62.9% (overnight easier conditions). Overnight VPD dipped to 0.38 kPa at times — below vpd_low 0.4, contributing ~1.2h vpd_low stress. Both heaters running at dawn (heat1 since 5:29, heat2 since 6:24) as expected for 46°F outdoor. bias_cool +3 / bias_heat +1 prevented cold_stress oscillation overnight — only 1.1h cold stress vs 0h with similar settings previously. Heat stress of 4.07h surprising for overnight — likely from slab thermal retention keeping temps above tight nighttime temp_high band. Hypothesis partially validated: overnight posture was reasonable but structural nighttime band tightness continues to limit compliance. The 2006 plan’s fog_escalation 0.2 setting didn’t apply overnight (fog blocked outside 07:00-17:00 window). Score: 5/10

New finding: Overnight heat stress (4h) on nights where outdoor drops to 46°F but indoor stays 62-63°F indicates the nighttime temp_high band (~62-65°F from crop profiles) is too tight for the slab’s thermal retention. The slab stores enough heat to keep greenhouse 7-10°F above outdoor regardless of bias settings. This is structural non-compliance that bias_cool cannot fix — it requires either crop band adjustment or acceptance as baseline. → Added to Lessons Learned

Hypothesis

Testing: Compare Sunday fog_escalation 0.2 at 7% outdoor RH vs Monday fog_escalation 0.2 at 13-18% outdoor RH. If Sunday produces any vpd_low_stress despite 7% outdoor RH, fog_escalation 0.2 is too aggressive even for extreme dry — should raise floor to 0.3. Expected outcome: Sunday: compliance 25-35% (structural overnight cap + extreme daytime), vpd_high 10-14h, cost USD 5-7. Monday: compliance 35-45% (less extreme, cloud cover), vpd_high 6-10h, cost USD 4-6. Zero vpd_low_stress on Sunday validates fog 0.2 for extreme conditions. | target_score=35 | target_compliance=30% | expected_stress=[heat=1.0, cold=1.0, vpd_high=12.0, vpd_low=0.5] | expected_cost=USD 6.0

Setpoints

Saturday April 11

Primary crop-band changes:

TimeValuesNote
20:15hyst 0.3Cold night posture. Outdoor dropping to 44°F by dawn. bias_h

Tactical tunable changes:

TimeValuesNote
20:15d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Cold night posture. Outdoor dropping to 44°F by dawn. bias_h

Sunday April 12

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.3Sunday dawn. 44°F/31% RH outdoor. Cold-dry lesson: don't go
08:30hyst 0.25Sunday morning ramp. Outdoor warming 51→61°F, RH crashing to
10:30hyst 0.2Sunday peak stress onset. 66°F/14% RH, VPD climbing fast. Ma
16:00hyst 0.2Sunday late afternoon. 78°F/8% RH, solar declining. Fog wind
18:30hyst 0.3Sunday evening. 66°F/10% outdoor, cooling. Transition to nig
21:00hyst 0.3Sunday night. Outdoor dropping to mid-50s. Standard night po

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 1.4; all 1.8; pulse 60; gap 35; wt 1.5Sunday dawn. 44°F/31% RH outdoor. Cold-dry lesson: don't go
08:30d_cool 3; engage 1.3; all 1.6; pulse 60; gap 25; wt 2Sunday morning ramp. Outdoor warming 51→61°F, RH crashing to
10:30d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Sunday peak stress onset. 66°F/14% RH, VPD climbing fast. Ma
16:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2Sunday late afternoon. 78°F/8% RH, solar declining. Fog wind
18:30d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5Sunday evening. 66°F/10% outdoor, cooling. Transition to nig
21:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Sunday night. Outdoor dropping to mid-50s. Standard night po

Monday April 13

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.3Monday dawn. 49°F/24% RH. Less extreme than Sunday. Moderate
09:00hyst 0.25Monday morning ramp. 58°F/23%, mostly cloudy. Engage 1.3, ga
11:00hyst 0.2Monday midday. 64-70°F/11-18% RH. Full aggression: gap 15s,
18:30hyst 0.3Monday evening. Transitioning to night. Tuesday brings moist
21:00hyst 0.3Monday night into Tuesday. 43°F low overnight. Standard cold

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 1.4; all 1.8; pulse 60; gap 35; wt 1.5Monday dawn. 49°F/24% RH. Less extreme than Sunday. Moderate
09:00d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2Monday morning ramp. 58°F/23%, mostly cloudy. Engage 1.3, ga
11:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2Monday midday. 64-70°F/11-18% RH. Full aggression: gap 15s,
18:30d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5Monday evening. Transitioning to night. Tuesday brings moist
21:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Monday night into Tuesday. 43°F low overnight. Standard cold

Changed secondary parameters:

TimeParameterChange
20:15bias_coolinitial 3
20:15bias_heatinitial 1
20:15enthalpy_closeinitial 1
20:15enthalpy_openinitial -2
20:15fog_escalation_kpainitial 0.4
20:15min_fog_off_sinitial 60
20:15min_fog_on_sinitial 60
20:15min_heat_off_sinitial 300
20:15min_heat_on_sinitial 120
20:15min_vent_off_sinitial 60
20:15min_vent_on_sinitial 60
20:15mist_max_closed_vent_sinitial 600
20:15mist_thermal_relief_sinitial 90
20:15mist_vent_close_lead_sinitial 15
20:15mist_vent_reopen_delay_sinitial 45
20:15mister_water_budget_galinitial 500
20:15vpd_watch_dwell_sinitial 60
06:00bias_cool3 → 2
08:30bias_heat1 → 0
08:30fog_escalation_kpa0.4 → 0.3
08:30mist_max_closed_vent_s600 → 900
08:30vpd_watch_dwell_s60 → 45
10:30enthalpy_close1 → 3
10:30enthalpy_open-2 → -3
10:30fog_escalation_kpa0.3 → 0.2
10:30min_fog_off_s60 → 45
10:30min_fog_on_s60 → 45
10:30mist_thermal_relief_s90 → 60
10:30mist_vent_reopen_delay_s45 → 60
10:30vpd_watch_dwell_s45 → 30
16:00enthalpy_close3 → 2
16:00enthalpy_open-3 → -2
16:00fog_escalation_kpa0.2 → 0.3
16:00min_fog_off_s45 → 60
16:00min_fog_on_s45 → 60
16:00mist_thermal_relief_s60 → 90
16:00mist_vent_reopen_delay_s60 → 45
16:00vpd_watch_dwell_s30 → 45
18:30bias_cool2 → 3
18:30bias_heat0 → 1
18:30enthalpy_close2 → 1
18:30fog_escalation_kpa0.3 → 0.4
18:30mist_max_closed_vent_s900 → 600
18:30vpd_watch_dwell_s45 → 60
06:00bias_cool3 → 2
09:00bias_heat1 → 0
09:00enthalpy_close1 → 2
09:00fog_escalation_kpa0.4 → 0.3
09:00mist_max_closed_vent_s600 → 900
09:00vpd_watch_dwell_s60 → 45
11:00fog_escalation_kpa0.3 → 0.2
11:00min_fog_off_s60 → 45
11:00min_fog_on_s60 → 45
11:00mist_thermal_relief_s90 → 60
11:00mist_vent_reopen_delay_s45 → 60
11:00vpd_watch_dwell_s45 → 30
18:30bias_cool2 → 3
18:30bias_heat0 → 1
18:30enthalpy_close2 → 1
18:30fog_escalation_kpa0.2 → 0.4
18:30min_fog_off_s45 → 60
18:30min_fog_on_s45 → 60
18:30mist_max_closed_vent_s900 → 600
18:30mist_thermal_relief_s60 → 90
18:30mist_vent_reopen_delay_s60 → 45
18:30vpd_watch_dwell_s30 → 60

End-of-Day Summary

Climate

Temperature

61.9–81.1°F; avg 69.0°F

VPD

0.29–2.15 kPa; avg 0.85 kPa

Relative humidity

33.5–85.6%

Stress Hours

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

Economics

Electric

USD 2.17

Gas

USD 2.52

Water

USD 1.990

Total

USD 6.68

Equipment Runtimes

EquipmentRuntimeReading
Fan 1120 minPrimary exhaust runtime.
Fan 2135 minSecondary exhaust runtime.
Vent193 minIntake vent runtime.
Fog24 minFogger runtime.
Heat 1 electric718 minElectric heater runtime.
Heat 2 gas243 minGas heater runtime.
Grow lights67 minSupplemental lighting runtime.
Mister south1.91hSouth mister runtime.
Mister west0.85hWest mister runtime.
Mister center0.81hCenter mister runtime.

Water

  • Total: 412 gal
  • Mister: 177 gal

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Canna Liliessouth70%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vanda Orchidscenter78%4Observation notes are collapsed below to avoid publishing partial vision snippets.
lettuceeast58%4Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast70%4Observation notes are collapsed below to avoid publishing partial vision snippets.
strawberryeast63%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna LiliesGemini Vision notes

Canna Lilies appear healthy with no visible signs of stress in the dark.

Vanda OrchidsGemini Vision notes

Hanging orchids appear healthy with green leaves and extensive aerial root systems.

lettuceGemini Vision notes

Seedlings appear healthy and are establishing well.

pepperGemini Vision notes

Pepper seedlings look relatively healthy, but growth may be slow due to low light.

strawberryGemini Vision notes

Seedlings are growing steadily, no visible issues.

Hourly Pattern

HourTemperatureVPDRH
12:0076.7°F1.15 kPa63.8%
13:0076.0°F1.20 kPa61.5%
14:0072.8°F0.79 kPa71.2%
15:0074.0°F0.96 kPa66.6%
16:0072.2°F0.99 kPa63.2%
17:0071.2°F0.97 kPa62.8%
18:0066.9°F0.75 kPa66.9%
19:0065.2°F0.79 kPa63.0%
20:0064.3°F0.79 kPa61.4%
21:0064.6°F0.85 kPa59.3%
22:0064.2°F0.81 kPa60.3%
23:0063.4°F0.85 kPa57.3%
00:0063.4°F0.87 kPa56.1%
01:0063.3°F0.86 kPa57.0%
02:0063.3°F0.87 kPa56.2%
03:0063.3°F0.90 kPa54.9%
04:0063.3°F0.91 kPa54.2%
05:0063.4°F0.94 kPa53.2%
06:0063.7°F0.95 kPa53.2%
07:0064.2°F0.88 kPa57.3%
08:0068.1°F0.90 kPa61.5%
09:0071.5°F0.94 kPa64.2%
10:0075.8°F1.02 kPa66.4%
11:0077.2°F1.56 kPa50.6%

7-Day Stress Context

DateHeatVPD highCold
2026-04-058.7h13.2h12.2h
2026-04-067.8h10.6h13.6h
2026-04-077.8h13.2h9.5h
2026-04-082.5h10.6h14.5h
2026-04-090.5h13.2h9.0h
2026-04-102.2h15.3h1.1h
2026-04-114.6h10.8h2.6h