July 29, 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.

Planner Execution Ledger

Planner checkpoints can acknowledge that the active plan is still suitable without writing a new public plan ID. Those no-change decisions are part of the audit trail.

Delivery events

8

Plan writes

3

No-change acknowledgements

5

Pending

0

EventDeliveredTypeStatusNote
End-of-day review and reset00:16MIDNIGHTplan_writtenWrote public plan iris-20260729-0016. Resolved 00:19 MDT.
Morning planning cycle05:58SUNRISEplan_writtenWrote public plan iris-20260729-0558. Resolved 05:59 MDT.
Solar peak planning checkpoint13:08SOLAR_MAXackedAcknowledged: SOLAR_MAX no-action: live solar is far below the 14:00 forecast peak (328 W/m2 observed vs 712 W/m2 forecast, not an overshoot), indoor temp 83.3F is below temp_high 84F, VPD 1.17 kPa is below vpd_high 1.22 kPa, dew margin is safe at 10.9F, and the active SUNRISE plan already carries guardrail-clean afternoon moisture/fog posture through the remaining hot/dry window. Resolved 13:09 MDT.
Forecast deviation13:55FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: observed solar (~105 W/m2) is far below the earlier 946 W/m2 forecast, consistent with a cloud/storm forecast error rather than equipment failure. Live climate is inside/near corridor (84.2F, VPD 1.04 kPa, RH 74%, dew margin 9.1F), ESP32 is IDLE, and all climate/wet relays are off with no fault signature. Active dry-ramp posture is already guardrail-clean and aggressive enough if heat/VPD returns, so no tunable change is warranted. Resolved 13:55 MDT.
Forecast deviation14:09FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed as forecast VPD overcall/catch-up, not an actionable live climate miss. Live climate is near/inside corridor: 84.2F vs 84F high edge with controller IDLE/resource, VPD 1.03 kPa below 1.22 high edge, RH 74%, dew margin 9.1F. All climate and wet-assist equipment are off with no fault pattern. Historical VPD forecast bias is positive and the deviation is the same direction, so no tunable change is warranted. Resolved 14:10 MDT.
Peak Stress15:08TRANSITIONackedAcknowledged: Peak-stress transition reviewed: live climate is tracking the active sunrise plan. Temp is only ~0.3F above temp_high, VPD is inside band at 1.19 kPa vs vpd_high 1.22, dew margin is safe at 10.7F, controller is IDLE/resource, and all relays/wet assist are off. Current posture already has guardrail-clean hot-dry settings in place (mister_engage_kpa 1.25, mister_all_kpa 1.44, mister_pulse_gap_s 33, fog_escalation_kpa 0.16), with the 15:30 plan waypoint about to continue dry-window assist... Resolved 15:08 MDT.
Decline19:18TRANSITIONackedAcknowledged: TRANSITION decline check: live climate is tracking the existing sunset taper. Current 79.2F and VPD 1.23 kPa is only 0.01 kPa above the 1.22 high edge with 13.0F dew margin, wet/fog are off, vent/fan2 are handling temperature, and the active plan already raises moisture thresholds at 19:30 and again at 22:00 to avoid carrying dry-day wet assist into the evening. No tactical override needed. Resolved 19:19 MDT.
Evening planning cycle20:19SUNSETplan_writtenWrote public plan iris-20260729-2019. Resolved 20:21 MDT.

🌅 Morning Cycle (12:19 AM) — iris-20260729-0016

Status

validated

Outcome score

5/10

Changed parameters

band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...

Reflection

Validating previous cycle: iris-20260728-0556

Previous hypothesis: SUNRISE plan for Tuesday 2026-07-28. Yesterday scored 72.1 versus a 67.2 seven-day baseline, with dew safety intact (dp_min 7.9F, dp-risk 0h), no cold stress, and no VPD-low stress. The bottleneck was hot/dry dual-axis stress, slightly worse on VPD: temp compliance 47.3%, VPD compliance 46.9%, heat stress 10.93h, VPD-high stress 11.08h. I scored iris-20260727-0555 at 6/10 because it improved the daily score and protected dew safety, but plan_evaluate returned anchor 2 due to 200 VPD-high guardrail events and 166 held events. I accept the gap: the outcome was operationally safe, but materialization was dirty. Today’s plan asks closer to the dispatcher VPD-high guardrail surface during dry stress instead of relying on repair. Mandatory semantic retrieval was attempted, but knowledge_search and lessons_search are degraded because OPENAI_API_KEY is missing for query embeddings… Result: MIDNIGHT plan governed about 23.7% of the day and scored 58.0, below the 7-day average 65.8. Temp compliance was 54.8% and VPD compliance 50.3%, so VPD was the tighter axis. Stress totaled 1.71h in the window with heat about 0.76h and VPD-high about 0.96h; no cold or VPD-low stress. Dew safety held with the day dp_min 6.4F and 0h dew-risk. The plan correctly anticipated humid pre-dawn and later heat/VPD-high risk, but corridor compliance stayed weak and dry-ramp wet-assist materialization remained guardrail-involved. Overall safe but not clean enough for high score. Score: 5/10

Hypothesis

Testing: Guardrail-clean midnight reset: humid/dew-safe pre-dawn taper, early dry-ramp handoff, and band-coupled wet/fog assist only when heat/VPD risk returns. Expected outcome: 2026-07-29 keeps dp_risk_hours at 0, avoids overnight cold/VPD-low escalation, preserves dew margin >5F, and reduces new VPD-high guardrail holds versus iris-20260728-0556/2019 by requesting a surface closer to the dispatcher guardrail during live dry windows. Midday heat stress is expected to remain partly structural under 95F/800+ W/m2 forecast.

Conditions

Outdoor peak

95.0°F

RH minimum

25.0%

Solar peak

833.0 W/m²

Cloud average

58.0%

humid/dew-safe pre-dawn, then hot dry Wednesday midday with raw VPD 3.7-4.2 kPa and forecast VPD known to overcall reality; Thursday/Friday repeat hot dry daytime ramps with storm-humid evening recoveries

Expected stress windows

vpd_lowmedium · 2026-07-29T00:15:00-06:00 to 2026-07-29T08:30:00-06:00

low mist duty, high dew margin floor, fog held back, resource-sensitive humid-night posture while live VPD remains near/inside corridor

vpd_highhigh · 2026-07-29T10:30:00-06:00 to 2026-07-29T17:30:00-06:00

reopen guardrail-clean band-coupled moisture: engage near vpd_high+0.05, all-zone near +0.22, fog escalation near 0.16-0.18 during fog-safe heat/VPD window

heathigh · 2026-07-29T11:30:00-06:00 to 2026-07-29T16:30:00-06:00

thermal lead, solar pre-cool, full cooling authority, and evaporative assist while acknowledging physics-limited cooling near 95F

vpd_lowmedium · 2026-07-29T19:00:00-06:00 to 2026-07-30T08:30:00-06:00

storm-humid taper after observed/forecast VPD recovery; reduce wet duty and hold fog back while preserving dehumidifying/ventilation posture

vpd_highhigh · 2026-07-30T10:30:00-06:00 to 2026-07-30T22:00:00-06:00

Thursday hotter/drier and longer dry ramp: early band-coupled moisture, short mist gaps, lower fog escalation, later wet cutoff because evening remains dry

vpd_highhigh · 2026-07-31T08:00:00-06:00 to 2026-07-31T18:00:00-06:00

Friday severe dry ramp gets early wet/fog assist, then fast storm taper as RH recovers after 18:00

Parameter rationale

mister_engage_kpa0.82 → 1.27; current vpd_high is about 1.22 kPa; hot/dry windows return after 10:30 but current overnight VPD is only 0.75 kPa

avoid unnecessary overnight wetting while keeping S1 wet assist close to the high edge during confirmed daytime dry stress

mister_all_kpa1.02 → 1.44; broad dry stress is likely in Wednesday midday and stronger Thursday/Friday, but pre-dawn forecast is humid

allow all-zone rotation in true dry windows without repeating conservative-threshold guardrail holds

mister_pulse_gap_s30.0 → 22.0; lessons support 18-22s gaps during hot/dry VENTILATE; overnight humid posture should keep duty low rather than asking long gaps while guardrail is active

improve VPD recovery during hot/dry windows and reduce held guardrail repairs compared with 55-60s requests

fog_escalation_kpa0.2 → 0.16; VPD-high overlaps 07:00-17:00 fog window and dew margin is currently safe; fog is 7x mister effectiveness

make fog assist available earlier during safe hot/dry VENTILATE while tapering it back in humid/storm windows

mister_water_budget_gal120.0 → 260.0; water is not the binding constraint; prior day used only 80 gal while VPD and heat compliance were weak

avoid budget-limited VPD recovery during dry windows without spending water overnight

direct_wet_stress_latest_hour21.0 → 21.0; Wednesday turns humid after about 19:00, while Thursday stays dry later into evening

preserve bounded evening dry recovery when needed without extending wet assist into storm-humid nights

Setpoints

Wednesday July 29

Primary crop-band changes:

TimeValuesNote
00:15hyst 0.2125Midnight humid/dew-safe reset: current VPD is near corridor
05:30hyst 0.20749999999999996Pre-dawn remains humid/low-VPD by forecast; keep dew protect
08:30hyst 0.19749999999999998Sunrise ramp: VPD forecast is rising but biased high, so pre
10:30hyst 0.1925Hot/dry onset: reopen band-coupled wet assist close to vpd_h
12:30hyst 0.1925Wednesday peak heat/VPD: compliance-first moisture while dew
16:30hyst 0.20249999999999999Late afternoon transition: keep wet assist available until o
19:30hyst 0.2125Storm-humid evening: taper wet/fog authority sharply after r

Tactical tunable changes:

TimeValuesNote
00:15s2 2.04; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 17; engage 1.4; all 1.5699999999999998; pulse 30; gap 60; wt 1.3333333333333333Midnight humid/dew-safe reset: current VPD is near corridor
05:30s2 1.9375; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 17; engage 1.38; all 1.54; pulse 30; gap 60; wt 1.3733333333333333Pre-dawn remains humid/low-VPD by forecast; keep dew protect
08:30s2 1.76; cool_exit 1.78; all_fans 0; dw_stress 0; dw_until 19; engage 1.3; all 1.47; pulse 30; gap 48.75; wt 1.6533333333333333Sunrise ramp: VPD forecast is rising but biased high, so pre
10:30s2 1.6800000000000002; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.44; pulse 36; gap 37.5; wt 1.8199999999999998Hot/dry onset: reopen band-coupled wet assist close to vpd_h
12:30s2 1.665; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.42; pulse 39; gap 33.75; wt 1.88Wednesday peak heat/VPD: compliance-first moisture while dew
16:30s2 1.83; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 19; engage 1.3; all 1.47; pulse 30; gap 48.75; wt 1.6666666666666665Late afternoon transition: keep wet assist available until o
19:30s2 2.04; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.42; all 1.5699999999999998; pulse 30; gap 60; wt 1.3333333333333333Storm-humid evening: taper wet/fog authority sharply after r

Thursday July 30

Primary crop-band changes:

TimeValuesNote
08:30hyst 0.19749999999999998Thursday ramp begins from humid dawn but turns hotter/drier;
11:30hyst 0.1925Thursday hot/dry peak starts earlier and lasts longer; use s
18:30hyst 0.19749999999999998Thursday evening remains dry by forecast; do not unwind wet
22:30hyst 0.2125Late Thursday transition: taper toward night but do not full

Tactical tunable changes:

TimeValuesNote
08:30s2 1.745; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 1.29; all 1.46; pulse 30; gap 45; wt 1.7000000000000002Thursday ramp begins from humid dawn but turns hotter/drier;
11:30s2 1.665; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 39; gap 33.75; wt 1.88Thursday hot/dry peak starts earlier and lasts longer; use s
18:30s2 1.8025000000000002; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 34.5; gap 37.5; wt 1.8066666666666666Thursday evening remains dry by forecast; do not unwind wet
22:30s2 1.995; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 22; engage 1.3599999999999999; all 1.52; pulse 30; gap 60; wt 1.4533333333333334Late Thursday transition: taper toward night but do not full

Friday July 31

Primary crop-band changes:

TimeValuesNote
08:00hyst 0.1925Friday dry ramp starts early; keep wet assist band-coupled b
12:30hyst 0.1925Friday severe peak dry heat: maximum compliance-first wet/fo
18:30hyst 0.2125Friday storm-humid recovery: rapidly taper moisture after th

Tactical tunable changes:

TimeValuesNote
08:00s2 1.715; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.44; pulse 36; gap 37.5; wt 1.8199999999999998Friday dry ramp starts early; keep wet assist band-coupled b
12:30s2 1.6560000000000001; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.42; pulse 40.5; gap 31.5; wt 1.9133333333333336Friday severe peak dry heat: maximum compliance-first wet/fo
18:30s2 2.04; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.42; all 1.5699999999999998; pulse 30; gap 60; wt 1.3333333333333333Friday storm-humid recovery: rapidly taper moisture after th

Changed secondary parameters:

TimeParameterChange
00:15band_track_fractioninitial 0
00:15cold_vent_guard_delta_finitial 8
00:15cool_stage2_exit_hysteresis_finitial 1
00:15direct_wet_stress_min_dew_margin_finitial 10
00:15direct_wet_stress_vpd_margin_kpainitial 0.18
00:15dwell_gate_msinitial 285000
00:15enthalpy_closeinitial 1
00:15enthalpy_openinitial -2
00:15fog_escalation_kpainitial 0.45
00:15heat_hysteresisinitial 1
00:15min_fog_off_sinitial 126
00:15min_fog_on_sinitial 41.25
00:15mist_backoff_sinitial 600
00:15mist_max_closed_vent_sinitial 600
00:15mist_thermal_relief_sinitial 90
00:15mister_all_delay_sinitial 97.5
00:15mister_engage_delay_sinitial 48.75
00:15mister_water_budget_galinitial 120
00:15night_vpd_bias_kpainitial 0
00:15outdoor_staleness_max_sinitial 600
00:15sw_dwell_gate_enabledinitial 1
00:15sw_fog_closes_ventinitial 1
00:15sw_mister_closes_ventinitial 0
00:15sw_summer_vent_enabledinitial 1
00:15temp_hysteresisinitial 2.05
00:15vent_exchange_fractioninitial 0.3
00:15vent_prefer_dp_delta_finitial 3
00:15vent_prefer_temp_delta_finitial 4
00:15vpd_watch_dwell_sinitial 71.25
05:30direct_wet_stress_vpd_margin_kpa0.18 → 0.16
05:30dwell_gate_ms285000 → 270000
05:30fog_escalation_kpa0.45 → 0.42
05:30min_fog_off_s126 → 120
05:30mister_all_delay_s97.5 → 93
05:30mister_engage_delay_s48.75 → 46.5
05:30mister_water_budget_gal120 → 140
05:30temp_hysteresis2.05 → 1.96
05:30vpd_watch_dwell_s71.25 → 67.5
08:30direct_wet_stress_min_dew_margin_f10 → 8
08:30direct_wet_stress_vpd_margin_kpa0.16 → 0.08
08:30dwell_gate_ms270000 → 240000
08:30fog_escalation_kpa0.42 → 0.25
08:30min_fog_off_s120 → 84
08:30min_fog_on_s41.25 → 54.75
08:30mister_all_delay_s93 → 84
08:30mister_engage_delay_s46.5 → 42
08:30mister_water_budget_gal140 → 220
08:30temp_hysteresis1.96 → 1.78
08:30vpd_watch_dwell_s67.5 → 60
10:30direct_wet_stress_vpd_margin_kpa0.08 → 0.05
10:30dwell_gate_ms240000 → 225000
10:30fog_escalation_kpa0.25 → 0.18
10:30min_fog_off_s84 → 66
10:30min_fog_on_s54.75 → 61.5
10:30mister_all_delay_s84 → 79.5
10:30mister_engage_delay_s42 → 39.75
10:30mister_water_budget_gal220 → 260
10:30temp_hysteresis1.78 → 1.69
10:30vpd_watch_dwell_s60 → 56.25
12:30fog_escalation_kpa0.18 → 0.16
12:30min_fog_off_s66 → 60
12:30min_fog_on_s61.5 → 63.75
12:30mister_water_budget_gal260 → 280
16:30direct_wet_stress_vpd_margin_kpa0.05 → 0.08
16:30dwell_gate_ms225000 → 255000
16:30fog_escalation_kpa0.16 → 0.24
16:30min_fog_off_s60 → 84
16:30min_fog_on_s63.75 → 54.75
16:30mister_all_delay_s79.5 → 88.5
16:30mister_engage_delay_s39.75 → 44.25
16:30mister_water_budget_gal280 → 240
16:30temp_hysteresis1.69 → 1.87
16:30vpd_watch_dwell_s56.25 → 63.75
19:30direct_wet_stress_min_dew_margin_f8 → 10
19:30direct_wet_stress_vpd_margin_kpa0.08 → 0.2
19:30dwell_gate_ms255000 → 285000
19:30fog_escalation_kpa0.24 → 0.45
19:30min_fog_off_s84 → 126
19:30min_fog_on_s54.75 → 41.25
19:30mister_all_delay_s88.5 → 97.5
19:30mister_engage_delay_s44.25 → 48.75
19:30mister_water_budget_gal240 → 140
19:30temp_hysteresis1.87 → 2.05
19:30vpd_watch_dwell_s63.75 → 71.25
08:30direct_wet_stress_min_dew_margin_f10 → 8
08:30direct_wet_stress_vpd_margin_kpa0.2 → 0.07
08:30dwell_gate_ms285000 → 240000
08:30fog_escalation_kpa0.45 → 0.22
08:30min_fog_off_s126 → 78
08:30min_fog_on_s41.25 → 57
08:30mister_all_delay_s97.5 → 84
08:30mister_engage_delay_s48.75 → 42
08:30mister_water_budget_gal140 → 240
08:30temp_hysteresis2.05 → 1.78
08:30vpd_watch_dwell_s71.25 → 60
11:30direct_wet_stress_vpd_margin_kpa0.07 → 0.05
11:30dwell_gate_ms240000 → 225000
11:30fog_escalation_kpa0.22 → 0.16
11:30min_fog_off_s78 → 60
11:30min_fog_on_s57 → 63.75
11:30mister_all_delay_s84 → 79.5
11:30mister_engage_delay_s42 → 39.75
11:30mister_water_budget_gal240 → 280
11:30temp_hysteresis1.78 → 1.69
11:30vpd_watch_dwell_s60 → 56.25
18:30dwell_gate_ms225000 → 240000
18:30fog_escalation_kpa0.16 → 0.18
18:30min_fog_off_s60 → 66
18:30min_fog_on_s63.75 → 61.5
18:30mister_all_delay_s79.5 → 84
18:30mister_engage_delay_s39.75 → 42
18:30mister_water_budget_gal280 → 260
18:30temp_hysteresis1.69 → 1.78
18:30vpd_watch_dwell_s56.25 → 60
22:30direct_wet_stress_min_dew_margin_f8 → 9
22:30direct_wet_stress_vpd_margin_kpa0.05 → 0.14
22:30dwell_gate_ms240000 → 285000
22:30fog_escalation_kpa0.18 → 0.38
22:30min_fog_off_s66 → 108
22:30min_fog_on_s61.5 → 45.75
22:30mister_all_delay_s84 → 97.5
22:30mister_engage_delay_s42 → 48.75
22:30mister_water_budget_gal260 → 180
22:30temp_hysteresis1.78 → 2.05
22:30vpd_watch_dwell_s60 → 71.25
08:00direct_wet_stress_min_dew_margin_f9 → 8
08:00direct_wet_stress_vpd_margin_kpa0.14 → 0.05
08:00dwell_gate_ms285000 → 225000
08:00fog_escalation_kpa0.38 → 0.18
08:00min_fog_off_s108 → 66
08:00min_fog_on_s45.75 → 61.5
08:00mister_all_delay_s97.5 → 79.5
08:00mister_engage_delay_s48.75 → 39.75
08:00mister_water_budget_gal180 → 270
08:00temp_hysteresis2.05 → 1.69
08:00vpd_watch_dwell_s71.25 → 56.25
12:30fog_escalation_kpa0.18 → 0.15
12:30min_fog_off_s66 → 56.4
12:30min_fog_on_s61.5 → 65.1
12:30mister_water_budget_gal270 → 290
18:30direct_wet_stress_min_dew_margin_f8 → 10
18:30direct_wet_stress_vpd_margin_kpa0.05 → 0.2
18:30dwell_gate_ms225000 → 285000
18:30fog_escalation_kpa0.15 → 0.45
18:30min_fog_off_s56.4 → 126
18:30min_fog_on_s65.1 → 41.25
18:30mister_all_delay_s79.5 → 97.5
18:30mister_engage_delay_s39.75 → 48.75
18:30mister_water_budget_gal290 → 140
18:30temp_hysteresis1.69 → 2.05
18:30vpd_watch_dwell_s56.25 → 71.25

🌅 Morning Cycle (5:59 AM) — iris-20260729-0558

Status

validated

Outcome score

4/10

Changed parameters

band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...

Reflection

Validating previous cycle: iris-20260728-2019

Previous hypothesis: SUNSET overnight plan for Tuesday 2026-07-28. Today underperformed at score 60.4 versus 66.9 seven-day average. Temp and VPD were essentially tied as the bottleneck (54.1% temp compliance, 53.9% VPD compliance), with stress dominated by heat 7.80h, then VPD-high 4.57h and VPD-low 3.12h. Dew safety held: dp_min 6.3F and 0h dew-risk. Cost fields are unavailable/resource terms are not score-eligible, so I am using water/runtime only; total water context was 80 gal today versus a 245 gal 7-day average, so water was not the binding constraint. I evaluated iris-20260728-0017 at 5/10 versus anchor 3. The gap is small and explained by safe dew outcome but dirty materialization: 406 VPD-high guardrail events and 396 held guardrail events mean the previous early-day posture still depended on dispatcher repair… Result: SUNRISE plan governed about 59.7% of the day and scored 48.6, well below the 7-day average 65.8. Temp compliance was 45.9% and VPD compliance 42.2%, so VPD was the bottleneck by axis, while stress was dominated by VPD-high about 2.04h and heat about 1.61h with no cold or VPD-low in the governed window. Dew safety remained acceptable for the day: dp_min 6.4F and 0h dew-risk. The plan predicted a hot/dry ramp and correctly kept dew-safe moisture available, but it still unwound too conservatively into sunset: recent clamps/guardrails show requested evening taper values were held back while live VPD-high persisted, and the vent_vpd_moisture_gap alert fired before resolving. Overall this was safe for dew and crops, but weak on corridor compliance and dirty in materialization. Score: 4/10

New finding: When a hot dry sunrise plan reaches sunset with live VPD still near or above the high edge and dew margin is healthy, do not use a clock-only humid-night taper. Keep the first sunset segment guardrail-clean and moisture-capable until observed VPD recovers, then sharply taper for the humid overnight. → Added to Lessons Learned

Hypothesis

Testing: Guardrail-clean sunrise dry-ramp handoff: suppress moisture during humid dawn, then request band-coupled wet/fog assist close to vpd_high only during the confirmed hot-dry window to reduce held VPD-high guardrail events versus yesterday. Expected outcome: Hold dew-risk at 0h, keep VPD-low from expanding in the dawn/night taper, and reduce VPD-high stress below Tuesday’s 6.4h despite structural heat stress; expect daily score near or above the recent 66.9 baseline only if peak heat is not fully physics-limited.

Conditions

Outdoor peak

94.0°F

RH minimum

24.0%

Solar peak

836.0 W/m²

Cloud average

50.0%

humid/wet dawn with VPD below band and dew margin 6.4F, then hot dry ramp from about 10:00 through 21:00; forecast VPD has positive bias but corrected midday VPD remains above band; storm-humid recovery begins around 22:00.

Expected stress windows

vpd_lowmedium · 2026-07-29T05:55:00-06:00 to 2026-07-29T08:30:00-06:00

high dew margin floor, very low mist duty, fog held back while live VPD is below low edge

vpd_highhigh · 2026-07-29T10:00:00-06:00 to 2026-07-29T21:00:00-06:00

guardrail-clean band-coupled moisture engage near vpd_high+0.05, all-zone near +0.22 to +0.25, short effective mist gaps, and fog escalation 0.16 to 0.20 while the firmware fog window and dew gates allow

heathigh · 2026-07-29T11:00:00-06:00 to 2026-07-29T18:00:00-06:00

solar precool, thermal lead, all-fan cooling authority, evaporative assist, and acceptance that peak heat is partly physics-limited

vpd_lowmedium · 2026-07-29T22:00:00-06:00 to 2026-07-30T08:30:00-06:00

humid-night taper with wet assist suppressed, fog held back, resource sensitivity up, and dew margin guarded

Parameter rationale

mister_engage_kpa1.38 → 1.27; current vpd_high about 1.22 kPa; corrected VPD rises above band by late morning while dawn live VPD is below band

avoid dawn wetting but make S1 wet assist available close to the high edge once dry stress starts, with fewer VPD-high guardrail holds

mister_all_kpa1.54 → 1.47; broad hot dry stress is expected from noon through evening, with raw VPD 2.94-4.09 kPa and corrected VPD still above band

allow broad all-zone assist during dry stress without suppressing recovery

mister_pulse_gap_s60.0 → 22.0; hot/dry lessons call for 18-22s gaps during VENTILATE dry stress; recent guardrails held long requested gaps down to 30s

increase useful wet duty during confirmed VPD-high while reducing held guardrail repairs

fog_escalation_kpa0.42 → 0.16; VPD-high overlaps the 07:00-17:00 fog window, solar peaks near 836 W/m2, and dew margin should widen as the dry ramp starts

make 7x fog assist available earlier during safe hot-dry VENTILATE, but not during the humid dawn or night taper

mister_water_budget_gal140.0 → 260.0; Tuesday used only about 80 gal versus 245 gal 7-day average while heat/VPD compliance stayed weak

avoid budget-limited VPD recovery during today’s dry window without spending water during humid dawn/night

Setpoints

Wednesday July 29

Primary crop-band changes:

TimeValuesNote
05:55hyst 0.20749999999999996Humid/wet dawn: live VPD is below band with dp margin only ~
08:30hyst 0.20249999999999999Morning ramp: start precooling and make light wet assist pos
10:30hyst 0.1925Dry ramp begins: corrected VPD is above band and temperature
12:30hyst 0.1875Peak heat/solar/VPD window: compliance first, use moisture a
15:30hyst 0.1925Cloud/storm-risk afternoon but still dry and hot: sustain we
19:30hyst 0.20249999999999999Evening remains dry until about 21:00: keep a bounded recove
22:00hyst 0.2125Humid/storm night taper: suppress wet/fog, protect dew margi

Tactical tunable changes:

TimeValuesNote
05:55s2 1.94; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 17; engage 1.4; all 1.5699999999999998; pulse 30; gap 60; wt 1.1533333333333333Humid/wet dawn: live VPD is below band with dp margin only ~
08:30s2 1.7750000000000001; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 19; engage 1.3; all 1.5; pulse 30; gap 56.25; wt 1.38Morning ramp: start precooling and make light wet assist pos
10:30s2 1.6324999999999998; cool_exit 1.69; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.46; pulse 33.75; gap 41.25; wt 1.6Dry ramp begins: corrected VPD is above band and temperature
12:30s2 1.5474999999999999; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.26; all 1.44; pulse 37.5; gap 33.75; wt 1.7000000000000002Peak heat/solar/VPD window: compliance first, use moisture a
15:30s2 1.685; cool_exit 1.69; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.47; pulse 33; gap 41.25; wt 1.5933333333333333Cloud/storm-risk afternoon but still dry and hot: sustain we
19:30s2 1.8900000000000001; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 21; engage 1.3; all 1.52; pulse 30; gap 56.25; wt 1.38Evening remains dry until about 21:00: keep a bounded recove
22:00s2 2.045; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 17; engage 1.4; all 1.6; pulse 30; gap 60; wt 1.12Humid/storm night taper: suppress wet/fog, protect dew margi

Changed secondary parameters:

TimeParameterChange
05:55band_track_fractioninitial 0
05:55cold_vent_guard_delta_finitial 8
05:55cool_stage2_exit_hysteresis_finitial 1
05:55direct_wet_stress_min_dew_margin_finitial 9
05:55direct_wet_stress_vpd_margin_kpainitial 0.18
05:55dwell_gate_msinitial 270000
05:55enthalpy_closeinitial 1
05:55enthalpy_openinitial -2
05:55fog_escalation_kpainitial 0.45
05:55heat_hysteresisinitial 1
05:55min_fog_off_sinitial 126
05:55min_fog_on_sinitial 39
05:55mist_backoff_sinitial 600
05:55mist_max_closed_vent_sinitial 600
05:55mist_thermal_relief_sinitial 90
05:55mister_all_delay_sinitial 93
05:55mister_engage_delay_sinitial 46.5
05:55mister_water_budget_galinitial 140
05:55night_vpd_bias_kpainitial 0
05:55outdoor_staleness_max_sinitial 600
05:55sw_dwell_gate_enabledinitial 1
05:55sw_fog_closes_ventinitial 1
05:55sw_mister_closes_ventinitial 0
05:55sw_summer_vent_enabledinitial 1
05:55temp_hysteresisinitial 1.96
05:55vent_exchange_fractioninitial 0.3
05:55vent_prefer_dp_delta_finitial 4
05:55vent_prefer_temp_delta_finitial 4
05:55vpd_watch_dwell_sinitial 67.5
08:30direct_wet_stress_min_dew_margin_f9 → 8
08:30direct_wet_stress_vpd_margin_kpa0.18 → 0.08
08:30dwell_gate_ms270000 → 255000
08:30fog_escalation_kpa0.45 → 0.28
08:30min_fog_off_s126 → 96
08:30min_fog_on_s39 → 50.25
08:30mister_all_delay_s93 → 88.5
08:30mister_engage_delay_s46.5 → 44.25
08:30mister_water_budget_gal140 → 220
08:30temp_hysteresis1.96 → 1.87
08:30vent_prefer_dp_delta_f4 → 3
08:30vpd_watch_dwell_s67.5 → 63.75
10:30direct_wet_stress_vpd_margin_kpa0.08 → 0.05
10:30dwell_gate_ms255000 → 225000
10:30fog_escalation_kpa0.28 → 0.18
10:30min_fog_off_s96 → 72
10:30min_fog_on_s50.25 → 59.25
10:30mister_all_delay_s88.5 → 79.5
10:30mister_engage_delay_s44.25 → 39.75
10:30mister_water_budget_gal220 → 260
10:30temp_hysteresis1.87 → 1.69
10:30vpd_watch_dwell_s63.75 → 56.25
12:30direct_wet_stress_vpd_margin_kpa0.05 → 0.04
12:30dwell_gate_ms225000 → 210000
12:30fog_escalation_kpa0.18 → 0.16
12:30min_fog_off_s72 → 60
12:30min_fog_on_s59.25 → 63.75
12:30mister_all_delay_s79.5 → 75
12:30mister_engage_delay_s39.75 → 37.5
12:30temp_hysteresis1.69 → 1.6
12:30vpd_watch_dwell_s56.25 → 52.5
15:30direct_wet_stress_vpd_margin_kpa0.04 → 0.05
15:30dwell_gate_ms210000 → 225000
15:30fog_escalation_kpa0.16 → 0.2
15:30min_fog_off_s60 → 72
15:30min_fog_on_s63.75 → 59.25
15:30mister_all_delay_s75 → 79.5
15:30mister_engage_delay_s37.5 → 39.75
15:30mister_water_budget_gal260 → 240
15:30temp_hysteresis1.6 → 1.69
15:30vpd_watch_dwell_s52.5 → 56.25
19:30direct_wet_stress_min_dew_margin_f8 → 9
19:30direct_wet_stress_vpd_margin_kpa0.05 → 0.08
19:30dwell_gate_ms225000 → 255000
19:30fog_escalation_kpa0.2 → 0.35
19:30min_fog_off_s72 → 96
19:30min_fog_on_s59.25 → 50.25
19:30mister_all_delay_s79.5 → 88.5
19:30mister_engage_delay_s39.75 → 44.25
19:30mister_water_budget_gal240 → 200
19:30temp_hysteresis1.69 → 1.87
19:30vpd_watch_dwell_s56.25 → 63.75
22:00direct_wet_stress_min_dew_margin_f9 → 10
22:00direct_wet_stress_vpd_margin_kpa0.08 → 0.18
22:00dwell_gate_ms255000 → 285000
22:00fog_escalation_kpa0.35 → 0.48
22:00min_fog_off_s96 → 132
22:00min_fog_on_s50.25 → 36.75
22:00mister_all_delay_s88.5 → 97.5
22:00mister_engage_delay_s44.25 → 48.75
22:00mister_water_budget_gal200 → 140
22:00temp_hysteresis1.87 → 2.05
22:00vent_prefer_dp_delta_f3 → 4
22:00vpd_watch_dwell_s63.75 → 71.25

🌆 Evening Cycle (8:21 PM) — iris-20260729-2019

Status

Daily Summary So Far

Outcome score

not validated yet

Changed parameters

band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...

Reflection

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

Hypothesis

Testing: Two-phase sunset taper: short observed-VPD recovery check, then humid-night suppression, with a morning handoff for Thursday hot/dry ramp. Expected outcome: Overnight VPD-low stress stays under 2.5h, dew-risk remains 0h, and Thursday morning enters the dry ramp with wet assist available without repeating heavy guardrail-held conservative thresholds.

Conditions

Outdoor peak

95.0°F

RH minimum

21.0%

Solar peak

865.0 W/m²

Cloud average

42.0%

dew-safe warm sunset after weak compliance day; humid overnight forecast with VPD-low/dew risk through dawn, followed by a severe Thursday hot-dry ramp with high solar and physics-limited heat risk

Expected stress windows

vpd_highlow · 2026-07-29T20:19:00-06:00 to 2026-07-29T21:30:00-06:00

brief guardrail-clean moisture-capable evening segment while live VPD remains near high edge and dew margin is 12F

vpd_lowhigh · 2026-07-29T22:00:00-06:00 to 2026-07-30T08:00:00-06:00

sharp humid-night taper: low mist duty, high dew-margin floor, fog held back, higher resource sensitivity, stable dwell

vpd_highhigh · 2026-07-30T09:00:00-06:00 to 2026-07-30T21:00:00-06:00

morning handoff opens band-coupled wet assist near vpd_high+0.05, all-zone near +0.22, moderate fog escalation during fog-safe hours

heathigh · 2026-07-30T10:30:00-06:00 to 2026-07-30T19:30:00-06:00

thermal lead, solar precool, full cooling authority already enabled, and wet/fog evaporative assist while accepting structural cooling limits near 95F

Parameter rationale

mister_engage_kpa1.0 → 1.3; live VPD 1.09 is below but near 1.22 high edge at sunset; overnight VPD falls below band, then Thursday dry ramp returns by 09:00

avoid unnecessary overnight wetting while keeping the short evening and morning dry-ramp surfaces close enough to the high edge to reduce guardrail-held VPD-high misses

mister_all_kpa1.21 → 1.47; humid overnight needs broad wet assist suppressed, but Thursday midday dry stress is broad and severe

prevent all-zone wetting overnight and re-enable broad support during confirmed Thursday dry stress

mister_pulse_gap_s30.0 → 55.0; forecast RH rises to 78-85% overnight and raw VPD falls to 0.32-0.59 before sunrise

reduce VPD-low overshoot, water use, and mister cycling during the humid night

fog_escalation_kpa0.2 → 0.45; fog window is closed overnight and VPD-low/dew risk dominates until morning; fog should only reopen when Thursday dry ramp confirms

hold 7x wet assist back overnight, then allow lower morning escalation for hot-dry VENTILATE

mister_water_budget_gal200.0 → 120.0; water is not binding, but overnight stress shifts humid and wet assist should be bounded until the dry ramp

avoid spending water overnight while preserving enough budget for Thursday recovery after sunrise

Setpoints

Wednesday July 29

Primary crop-band changes:

TimeValuesNote
20:19hyst 0.20749999999999996evening_settle: live air is warm and dew-safe with VPD near
22:00hyst 0.2125humid_taper: forecast VPD falls toward and below the lower b

Tactical tunable changes:

TimeValuesNote
20:19s2 1.86; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.3; all 1.5; pulse 30; gap 60; wt 1.3133333333333332evening_settle: live air is warm and dew-safe with VPD near
22:00s2 1.955; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 21; engage 1.52; all 1.67; pulse 30; gap 60; wt 1.1333333333333333humid_taper: forecast VPD falls toward and below the lower b

Thursday July 30

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.2175midnight_posture: no heating crisis is forecast; keep wet/fo
05:30hyst 0.20749999999999996pre_dawn: continue humid-night dew protection while preparin
08:30hyst 0.1925morning_handoff: Thursday turns hot and dry quickly; reopen

Tactical tunable changes:

TimeValuesNote
00:30s2 1.97; cool_exit 2.14; all_fans 0; dw_stress 0; dw_until 21; engage 1.5699999999999998; all 1.72; pulse 30; gap 60; wt 1.0866666666666667midnight_posture: no heating crisis is forecast; keep wet/fo
05:30s2 1.8900000000000001; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.47; all 1.62; pulse 30; gap 60; wt 1.2pre_dawn: continue humid-night dew protection while preparin
08:30s2 1.6099999999999999; cool_exit 1.69; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.44; pulse 33.75; gap 41.25; wt 1.6morning_handoff: Thursday turns hot and dry quickly; reopen

Changed secondary parameters:

TimeParameterChange
20:19band_track_fractioninitial 0
20:19cold_vent_guard_delta_finitial 8
20:19cool_stage2_exit_hysteresis_finitial 1
20:19direct_wet_stress_min_dew_margin_finitial 9
20:19direct_wet_stress_vpd_margin_kpainitial 0.08
20:19dwell_gate_msinitial 270000
20:19enthalpy_closeinitial 1
20:19enthalpy_openinitial -2
20:19fog_escalation_kpainitial 0.35
20:19heat_hysteresisinitial 1
20:19min_fog_off_sinitial 108
20:19min_fog_on_sinitial 45.75
20:19mist_backoff_sinitial 600
20:19mist_max_closed_vent_sinitial 600
20:19mist_thermal_relief_sinitial 90
20:19mister_all_delay_sinitial 93
20:19mister_engage_delay_sinitial 46.5
20:19mister_water_budget_galinitial 140
20:19night_vpd_bias_kpainitial 0
20:19outdoor_staleness_max_sinitial 600
20:19sw_dwell_gate_enabledinitial 1
20:19sw_fog_closes_ventinitial 1
20:19sw_mister_closes_ventinitial 0
20:19sw_summer_vent_enabledinitial 1
20:19temp_hysteresisinitial 1.96
20:19vent_exchange_fractioninitial 0.3
20:19vent_prefer_dp_delta_finitial 3
20:19vent_prefer_temp_delta_finitial 4
20:19vpd_watch_dwell_sinitial 67.5
22:00direct_wet_stress_min_dew_margin_f9 → 10
22:00direct_wet_stress_vpd_margin_kpa0.08 → 0.3
22:00dwell_gate_ms270000 → 285000
22:00fog_escalation_kpa0.35 → 0.5
22:00min_fog_off_s108 → 132
22:00min_fog_on_s45.75 → 36.75
22:00mister_all_delay_s93 → 97.5
22:00mister_engage_delay_s46.5 → 48.75
22:00mister_water_budget_gal140 → 120
22:00temp_hysteresis1.96 → 2.05
22:00vpd_watch_dwell_s67.5 → 71.25
00:30direct_wet_stress_vpd_margin_kpa0.3 → 0.35
00:30dwell_gate_ms285000 → 300000
00:30min_fog_off_s132 → 138
00:30min_fog_on_s36.75 → 34.5
00:30mister_all_delay_s97.5 → 102
00:30mister_engage_delay_s48.75 → 51
00:30temp_hysteresis2.05 → 2.14
00:30vpd_watch_dwell_s71.25 → 75
05:30direct_wet_stress_min_dew_margin_f10 → 9
05:30direct_wet_stress_vpd_margin_kpa0.35 → 0.25
05:30dwell_gate_ms300000 → 270000
05:30fog_escalation_kpa0.5 → 0.45
05:30min_fog_off_s138 → 120
05:30min_fog_on_s34.5 → 41.25
05:30mister_all_delay_s102 → 93
05:30mister_engage_delay_s51 → 46.5
05:30mister_water_budget_gal120 → 130
05:30temp_hysteresis2.14 → 1.96
05:30vpd_watch_dwell_s75 → 67.5
08:30direct_wet_stress_min_dew_margin_f9 → 8
08:30direct_wet_stress_vpd_margin_kpa0.25 → 0.05
08:30dwell_gate_ms270000 → 225000
08:30fog_escalation_kpa0.45 → 0.18
08:30min_fog_off_s120 → 72
08:30min_fog_on_s41.25 → 59.25
08:30mister_all_delay_s93 → 79.5
08:30mister_engage_delay_s46.5 → 39.75
08:30mister_water_budget_gal130 → 240
08:30temp_hysteresis1.96 → 1.69
08:30vpd_watch_dwell_s67.5 → 56.25

Daily Summary So Far

Climate

Temperature

69.7–85.8°F; avg 76.9°F

VPD

0.50–1.55 kPa; avg 0.91 kPa

Relative humidity

60.9–80.2%

Interior Light Evidence

  • Crop DLI: unavailable
  • Reason: source_day_incomplete
  • Provenance: legacy_invalid_exterior_proxy_plus_fixture_estimate
  • Validity: dli-validity-v1; 2024-01-01T00:00:00+00:00 → open
  • Qualified-light minutes and photoperiod remain independent of unavailable DLI.

Stress Hours

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

Economics

Electric

Not available

Gas

Not available

Water

Not available

Total

Not available

Equipment Runtimes

EquipmentRuntimeReading
Fan 1360 minPrimary exhaust runtime.
Fan 2360 minSecondary exhaust runtime.
Vent553 minIntake vent runtime.
Fog37 minFogger runtime.
Heat 1 electric17 minElectric heater runtime.
Heat 2 gas0 minGas heater runtime.
Grow lights1060 minSupplemental lighting runtime.
Mister south0.00hSouth mister runtime.
Mister west0.00hWest mister runtime.
Mister center0.46hCenter mister runtime.

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Lime Treewest77%7Observation notes are collapsed below to avoid publishing partial vision snippets.
Vanda Orchidscenter78%5Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast73%3Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Lime TreeGemini Vision notes

Foliage appears healthy. Soil moisture is adequate. || Lime tree looks healthy with no visible signs of stress. || Lime tree on the west floor appears healthy with good soil moisture. || Potted plants on the right side appear okay, but detail is limited by lighting. || Potted plants on west shelving look generally healthy. || Tree appears healthy with adequate soil moisture. || Tree appears healthy, but difficult to assess fully in IR light.

Vanda OrchidsGemini Vision notes

Hanging orchid in center is blooming and appears very healthy. || Hanging orchids appear healthy with extensive root systems visible. || Hanging orchids appear healthy, though lighting is low. || Orchids hanging in the center appear healthy, though resolution limits detailed inspection. || Roots appear healthy and active. No visible signs of stress.

pepperGemini Vision notes

Seedlings appear healthy, no visible signs of stress. || Seedlings appear to be growing normally in the hydroponic system. || Seedlings in hydroponic system appear healthy, though small.

Hourly Pattern

HourTemperatureVPDRH
12:0084.2°F1.26 kPa68.9%
13:0084.2°F1.14 kPa71.6%
14:0081.9°F0.83 kPa78.1%
15:0082.6°F0.96 kPa75.4%
16:0083.9°F1.18 kPa70.5%
17:0082.4°F1.13 kPa70.2%
18:0080.7°F1.10 kPa69.4%
19:0079.3°F1.21 kPa64.5%
20:0077.8°F1.15 kPa64.6%
21:0076.1°F0.95 kPa69.2%
22:0074.4°F0.83 kPa71.5%
23:0073.2°F0.75 kPa73.3%
00:0071.8°F0.77 kPa71.0%
01:0070.2°F0.66 kPa73.6%
02:0070.2°F0.60 kPa76.3%
03:0070.2°F0.59 kPa76.6%
04:0070.3°F0.55 kPa78.2%
05:0070.4°F0.52 kPa79.6%
06:0070.7°F0.53 kPa79.5%
07:0072.6°F0.62 kPa77.5%
08:0074.2°F0.73 kPa75.0%
09:0076.1°F0.79 kPa74.4%
10:0080.1°F1.03 kPa71.3%
11:0083.1°F1.20 kPa69.4%

7-Day Stress Context

DateHeatVPD highCold
2026-07-232.8h4.9h8.0h
2026-07-245.7h5.1h8.9h
2026-07-250.0h1.0h6.4h
2026-07-268.7h11.4h3.7h
2026-07-272.3h7.2h3.0h
2026-07-282.1h3.7h8.2h
2026-07-292.3h2.5h8.7h