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.
8
3
5
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| End-of-day review and reset | 00:16 | MIDNIGHT | plan_written | Wrote public plan iris-20260729-0016. Resolved 00:19 MDT. |
| Morning planning cycle | 05:58 | SUNRISE | plan_written | Wrote public plan iris-20260729-0558. Resolved 05:59 MDT. |
| Solar peak planning checkpoint | 13:08 | SOLAR_MAX | acked | Acknowledged: 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 deviation | 13:55 | FORECAST_DEVIATION | acked | Acknowledged: 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 deviation | 14:09 | FORECAST_DEVIATION | acked | Acknowledged: 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 Stress | 15:08 | TRANSITION | acked | Acknowledged: 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. |
| Decline | 19:18 | TRANSITION | acked | Acknowledged: 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 cycle | 20:19 | SUNSET | plan_written | Wrote public plan iris-20260729-2019. Resolved 20:21 MDT. |
🌅 Morning Cycle (12:19 AM) — iris-20260729-0016
validated
5/10
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
95.0°F
25.0%
833.0 W/m²
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
low mist duty, high dew margin floor, fog held back, resource-sensitive humid-night posture while live VPD remains near/inside corridor
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
thermal lead, solar pre-cool, full cooling authority, and evaporative assist while acknowledging physics-limited cooling near 95F
storm-humid taper after observed/forecast VPD recovery; reduce wet duty and hold fog back while preserving dehumidifying/ventilation posture
Thursday hotter/drier and longer dry ramp: early band-coupled moisture, short mist gaps, lower fog escalation, later wet cutoff because evening remains dry
Friday severe dry ramp gets early wet/fog assist, then fast storm taper as RH recovers after 18:00
Parameter rationale
avoid unnecessary overnight wetting while keeping S1 wet assist close to the high edge during confirmed daytime dry stress
allow all-zone rotation in true dry windows without repeating conservative-threshold guardrail holds
improve VPD recovery during hot/dry windows and reduce held guardrail repairs compared with 55-60s requests
make fog assist available earlier during safe hot/dry VENTILATE while tapering it back in humid/storm windows
avoid budget-limited VPD recovery during dry windows without spending water overnight
preserve bounded evening dry recovery when needed without extending wet assist into storm-humid nights
Setpoints
Wednesday July 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:15 | hyst 0.2125 | Midnight humid/dew-safe reset: current VPD is near corridor |
| 05:30 | hyst 0.20749999999999996 | Pre-dawn remains humid/low-VPD by forecast; keep dew protect |
| 08:30 | hyst 0.19749999999999998 | Sunrise ramp: VPD forecast is rising but biased high, so pre |
| 10:30 | hyst 0.1925 | Hot/dry onset: reopen band-coupled wet assist close to vpd_h |
| 12:30 | hyst 0.1925 | Wednesday peak heat/VPD: compliance-first moisture while dew |
| 16:30 | hyst 0.20249999999999999 | Late afternoon transition: keep wet assist available until o |
| 19:30 | hyst 0.2125 | Storm-humid evening: taper wet/fog authority sharply after r |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:15 | s2 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.3333333333333333 | Midnight humid/dew-safe reset: current VPD is near corridor |
| 05:30 | s2 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.3733333333333333 | Pre-dawn remains humid/low-VPD by forecast; keep dew protect |
| 08:30 | s2 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.6533333333333333 | Sunrise ramp: VPD forecast is rising but biased high, so pre |
| 10:30 | s2 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.8199999999999998 | Hot/dry onset: reopen band-coupled wet assist close to vpd_h |
| 12:30 | s2 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.88 | Wednesday peak heat/VPD: compliance-first moisture while dew |
| 16:30 | s2 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.6666666666666665 | Late afternoon transition: keep wet assist available until o |
| 19:30 | s2 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.3333333333333333 | Storm-humid evening: taper wet/fog authority sharply after r |
Thursday July 30
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | hyst 0.19749999999999998 | Thursday ramp begins from humid dawn but turns hotter/drier; |
| 11:30 | hyst 0.1925 | Thursday hot/dry peak starts earlier and lasts longer; use s |
| 18:30 | hyst 0.19749999999999998 | Thursday evening remains dry by forecast; do not unwind wet |
| 22:30 | hyst 0.2125 | Late Thursday transition: taper toward night but do not full |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | s2 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.7000000000000002 | Thursday ramp begins from humid dawn but turns hotter/drier; |
| 11:30 | s2 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.88 | Thursday hot/dry peak starts earlier and lasts longer; use s |
| 18:30 | s2 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.8066666666666666 | Thursday evening remains dry by forecast; do not unwind wet |
| 22:30 | s2 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.4533333333333334 | Late Thursday transition: taper toward night but do not full |
Friday July 31
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.1925 | Friday dry ramp starts early; keep wet assist band-coupled b |
| 12:30 | hyst 0.1925 | Friday severe peak dry heat: maximum compliance-first wet/fo |
| 18:30 | hyst 0.2125 | Friday storm-humid recovery: rapidly taper moisture after th |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | s2 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.8199999999999998 | Friday dry ramp starts early; keep wet assist band-coupled b |
| 12:30 | s2 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.9133333333333336 | Friday severe peak dry heat: maximum compliance-first wet/fo |
| 18:30 | s2 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.3333333333333333 | Friday storm-humid recovery: rapidly taper moisture after th |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 00:15 | band_track_fraction | initial 0 |
| 00:15 | cold_vent_guard_delta_f | initial 8 |
| 00:15 | cool_stage2_exit_hysteresis_f | initial 1 |
| 00:15 | direct_wet_stress_min_dew_margin_f | initial 10 |
| 00:15 | direct_wet_stress_vpd_margin_kpa | initial 0.18 |
| 00:15 | dwell_gate_ms | initial 285000 |
| 00:15 | enthalpy_close | initial 1 |
| 00:15 | enthalpy_open | initial -2 |
| 00:15 | fog_escalation_kpa | initial 0.45 |
| 00:15 | heat_hysteresis | initial 1 |
| 00:15 | min_fog_off_s | initial 126 |
| 00:15 | min_fog_on_s | initial 41.25 |
| 00:15 | mist_backoff_s | initial 600 |
| 00:15 | mist_max_closed_vent_s | initial 600 |
| 00:15 | mist_thermal_relief_s | initial 90 |
| 00:15 | mister_all_delay_s | initial 97.5 |
| 00:15 | mister_engage_delay_s | initial 48.75 |
| 00:15 | mister_water_budget_gal | initial 120 |
| 00:15 | night_vpd_bias_kpa | initial 0 |
| 00:15 | outdoor_staleness_max_s | initial 600 |
| 00:15 | sw_dwell_gate_enabled | initial 1 |
| 00:15 | sw_fog_closes_vent | initial 1 |
| 00:15 | sw_mister_closes_vent | initial 0 |
| 00:15 | sw_summer_vent_enabled | initial 1 |
| 00:15 | temp_hysteresis | initial 2.05 |
| 00:15 | vent_exchange_fraction | initial 0.3 |
| 00:15 | vent_prefer_dp_delta_f | initial 3 |
| 00:15 | vent_prefer_temp_delta_f | initial 4 |
| 00:15 | vpd_watch_dwell_s | initial 71.25 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.18 → 0.16 |
| 05:30 | dwell_gate_ms | 285000 → 270000 |
| 05:30 | fog_escalation_kpa | 0.45 → 0.42 |
| 05:30 | min_fog_off_s | 126 → 120 |
| 05:30 | mister_all_delay_s | 97.5 → 93 |
| 05:30 | mister_engage_delay_s | 48.75 → 46.5 |
| 05:30 | mister_water_budget_gal | 120 → 140 |
| 05:30 | temp_hysteresis | 2.05 → 1.96 |
| 05:30 | vpd_watch_dwell_s | 71.25 → 67.5 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 10 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.16 → 0.08 |
| 08:30 | dwell_gate_ms | 270000 → 240000 |
| 08:30 | fog_escalation_kpa | 0.42 → 0.25 |
| 08:30 | min_fog_off_s | 120 → 84 |
| 08:30 | min_fog_on_s | 41.25 → 54.75 |
| 08:30 | mister_all_delay_s | 93 → 84 |
| 08:30 | mister_engage_delay_s | 46.5 → 42 |
| 08:30 | mister_water_budget_gal | 140 → 220 |
| 08:30 | temp_hysteresis | 1.96 → 1.78 |
| 08:30 | vpd_watch_dwell_s | 67.5 → 60 |
| 10:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 10:30 | dwell_gate_ms | 240000 → 225000 |
| 10:30 | fog_escalation_kpa | 0.25 → 0.18 |
| 10:30 | min_fog_off_s | 84 → 66 |
| 10:30 | min_fog_on_s | 54.75 → 61.5 |
| 10:30 | mister_all_delay_s | 84 → 79.5 |
| 10:30 | mister_engage_delay_s | 42 → 39.75 |
| 10:30 | mister_water_budget_gal | 220 → 260 |
| 10:30 | temp_hysteresis | 1.78 → 1.69 |
| 10:30 | vpd_watch_dwell_s | 60 → 56.25 |
| 12:30 | fog_escalation_kpa | 0.18 → 0.16 |
| 12:30 | min_fog_off_s | 66 → 60 |
| 12:30 | min_fog_on_s | 61.5 → 63.75 |
| 12:30 | mister_water_budget_gal | 260 → 280 |
| 16:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.08 |
| 16:30 | dwell_gate_ms | 225000 → 255000 |
| 16:30 | fog_escalation_kpa | 0.16 → 0.24 |
| 16:30 | min_fog_off_s | 60 → 84 |
| 16:30 | min_fog_on_s | 63.75 → 54.75 |
| 16:30 | mister_all_delay_s | 79.5 → 88.5 |
| 16:30 | mister_engage_delay_s | 39.75 → 44.25 |
| 16:30 | mister_water_budget_gal | 280 → 240 |
| 16:30 | temp_hysteresis | 1.69 → 1.87 |
| 16:30 | vpd_watch_dwell_s | 56.25 → 63.75 |
| 19:30 | direct_wet_stress_min_dew_margin_f | 8 → 10 |
| 19:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.2 |
| 19:30 | dwell_gate_ms | 255000 → 285000 |
| 19:30 | fog_escalation_kpa | 0.24 → 0.45 |
| 19:30 | min_fog_off_s | 84 → 126 |
| 19:30 | min_fog_on_s | 54.75 → 41.25 |
| 19:30 | mister_all_delay_s | 88.5 → 97.5 |
| 19:30 | mister_engage_delay_s | 44.25 → 48.75 |
| 19:30 | mister_water_budget_gal | 240 → 140 |
| 19:30 | temp_hysteresis | 1.87 → 2.05 |
| 19:30 | vpd_watch_dwell_s | 63.75 → 71.25 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 10 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.2 → 0.07 |
| 08:30 | dwell_gate_ms | 285000 → 240000 |
| 08:30 | fog_escalation_kpa | 0.45 → 0.22 |
| 08:30 | min_fog_off_s | 126 → 78 |
| 08:30 | min_fog_on_s | 41.25 → 57 |
| 08:30 | mister_all_delay_s | 97.5 → 84 |
| 08:30 | mister_engage_delay_s | 48.75 → 42 |
| 08:30 | mister_water_budget_gal | 140 → 240 |
| 08:30 | temp_hysteresis | 2.05 → 1.78 |
| 08:30 | vpd_watch_dwell_s | 71.25 → 60 |
| 11:30 | direct_wet_stress_vpd_margin_kpa | 0.07 → 0.05 |
| 11:30 | dwell_gate_ms | 240000 → 225000 |
| 11:30 | fog_escalation_kpa | 0.22 → 0.16 |
| 11:30 | min_fog_off_s | 78 → 60 |
| 11:30 | min_fog_on_s | 57 → 63.75 |
| 11:30 | mister_all_delay_s | 84 → 79.5 |
| 11:30 | mister_engage_delay_s | 42 → 39.75 |
| 11:30 | mister_water_budget_gal | 240 → 280 |
| 11:30 | temp_hysteresis | 1.78 → 1.69 |
| 11:30 | vpd_watch_dwell_s | 60 → 56.25 |
| 18:30 | dwell_gate_ms | 225000 → 240000 |
| 18:30 | fog_escalation_kpa | 0.16 → 0.18 |
| 18:30 | min_fog_off_s | 60 → 66 |
| 18:30 | min_fog_on_s | 63.75 → 61.5 |
| 18:30 | mister_all_delay_s | 79.5 → 84 |
| 18:30 | mister_engage_delay_s | 39.75 → 42 |
| 18:30 | mister_water_budget_gal | 280 → 260 |
| 18:30 | temp_hysteresis | 1.69 → 1.78 |
| 18:30 | vpd_watch_dwell_s | 56.25 → 60 |
| 22:30 | direct_wet_stress_min_dew_margin_f | 8 → 9 |
| 22:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.14 |
| 22:30 | dwell_gate_ms | 240000 → 285000 |
| 22:30 | fog_escalation_kpa | 0.18 → 0.38 |
| 22:30 | min_fog_off_s | 66 → 108 |
| 22:30 | min_fog_on_s | 61.5 → 45.75 |
| 22:30 | mister_all_delay_s | 84 → 97.5 |
| 22:30 | mister_engage_delay_s | 42 → 48.75 |
| 22:30 | mister_water_budget_gal | 260 → 180 |
| 22:30 | temp_hysteresis | 1.78 → 2.05 |
| 22:30 | vpd_watch_dwell_s | 60 → 71.25 |
| 08:00 | direct_wet_stress_min_dew_margin_f | 9 → 8 |
| 08:00 | direct_wet_stress_vpd_margin_kpa | 0.14 → 0.05 |
| 08:00 | dwell_gate_ms | 285000 → 225000 |
| 08:00 | fog_escalation_kpa | 0.38 → 0.18 |
| 08:00 | min_fog_off_s | 108 → 66 |
| 08:00 | min_fog_on_s | 45.75 → 61.5 |
| 08:00 | mister_all_delay_s | 97.5 → 79.5 |
| 08:00 | mister_engage_delay_s | 48.75 → 39.75 |
| 08:00 | mister_water_budget_gal | 180 → 270 |
| 08:00 | temp_hysteresis | 2.05 → 1.69 |
| 08:00 | vpd_watch_dwell_s | 71.25 → 56.25 |
| 12:30 | fog_escalation_kpa | 0.18 → 0.15 |
| 12:30 | min_fog_off_s | 66 → 56.4 |
| 12:30 | min_fog_on_s | 61.5 → 65.1 |
| 12:30 | mister_water_budget_gal | 270 → 290 |
| 18:30 | direct_wet_stress_min_dew_margin_f | 8 → 10 |
| 18:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.2 |
| 18:30 | dwell_gate_ms | 225000 → 285000 |
| 18:30 | fog_escalation_kpa | 0.15 → 0.45 |
| 18:30 | min_fog_off_s | 56.4 → 126 |
| 18:30 | min_fog_on_s | 65.1 → 41.25 |
| 18:30 | mister_all_delay_s | 79.5 → 97.5 |
| 18:30 | mister_engage_delay_s | 39.75 → 48.75 |
| 18:30 | mister_water_budget_gal | 290 → 140 |
| 18:30 | temp_hysteresis | 1.69 → 2.05 |
| 18:30 | vpd_watch_dwell_s | 56.25 → 71.25 |
🌅 Morning Cycle (5:59 AM) — iris-20260729-0558
validated
4/10
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
94.0°F
24.0%
836.0 W/m²
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
high dew margin floor, very low mist duty, fog held back while live VPD is below low edge
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
solar precool, thermal lead, all-fan cooling authority, evaporative assist, and acceptance that peak heat is partly physics-limited
humid-night taper with wet assist suppressed, fog held back, resource sensitivity up, and dew margin guarded
Parameter rationale
avoid dawn wetting but make S1 wet assist available close to the high edge once dry stress starts, with fewer VPD-high guardrail holds
allow broad all-zone assist during dry stress without suppressing recovery
increase useful wet duty during confirmed VPD-high while reducing held guardrail repairs
make 7x fog assist available earlier during safe hot-dry VENTILATE, but not during the humid dawn or night taper
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:
| Time | Values | Note |
|---|---|---|
| 05:55 | hyst 0.20749999999999996 | Humid/wet dawn: live VPD is below band with dp margin only ~ |
| 08:30 | hyst 0.20249999999999999 | Morning ramp: start precooling and make light wet assist pos |
| 10:30 | hyst 0.1925 | Dry ramp begins: corrected VPD is above band and temperature |
| 12:30 | hyst 0.1875 | Peak heat/solar/VPD window: compliance first, use moisture a |
| 15:30 | hyst 0.1925 | Cloud/storm-risk afternoon but still dry and hot: sustain we |
| 19:30 | hyst 0.20249999999999999 | Evening remains dry until about 21:00: keep a bounded recove |
| 22:00 | hyst 0.2125 | Humid/storm night taper: suppress wet/fog, protect dew margi |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:55 | s2 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.1533333333333333 | Humid/wet dawn: live VPD is below band with dp margin only ~ |
| 08:30 | s2 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.38 | Morning ramp: start precooling and make light wet assist pos |
| 10:30 | s2 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.6 | Dry ramp begins: corrected VPD is above band and temperature |
| 12:30 | s2 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.7000000000000002 | Peak heat/solar/VPD window: compliance first, use moisture a |
| 15:30 | s2 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.5933333333333333 | Cloud/storm-risk afternoon but still dry and hot: sustain we |
| 19:30 | s2 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.38 | Evening remains dry until about 21:00: keep a bounded recove |
| 22:00 | s2 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.12 | Humid/storm night taper: suppress wet/fog, protect dew margi |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:55 | band_track_fraction | initial 0 |
| 05:55 | cold_vent_guard_delta_f | initial 8 |
| 05:55 | cool_stage2_exit_hysteresis_f | initial 1 |
| 05:55 | direct_wet_stress_min_dew_margin_f | initial 9 |
| 05:55 | direct_wet_stress_vpd_margin_kpa | initial 0.18 |
| 05:55 | dwell_gate_ms | initial 270000 |
| 05:55 | enthalpy_close | initial 1 |
| 05:55 | enthalpy_open | initial -2 |
| 05:55 | fog_escalation_kpa | initial 0.45 |
| 05:55 | heat_hysteresis | initial 1 |
| 05:55 | min_fog_off_s | initial 126 |
| 05:55 | min_fog_on_s | initial 39 |
| 05:55 | mist_backoff_s | initial 600 |
| 05:55 | mist_max_closed_vent_s | initial 600 |
| 05:55 | mist_thermal_relief_s | initial 90 |
| 05:55 | mister_all_delay_s | initial 93 |
| 05:55 | mister_engage_delay_s | initial 46.5 |
| 05:55 | mister_water_budget_gal | initial 140 |
| 05:55 | night_vpd_bias_kpa | initial 0 |
| 05:55 | outdoor_staleness_max_s | initial 600 |
| 05:55 | sw_dwell_gate_enabled | initial 1 |
| 05:55 | sw_fog_closes_vent | initial 1 |
| 05:55 | sw_mister_closes_vent | initial 0 |
| 05:55 | sw_summer_vent_enabled | initial 1 |
| 05:55 | temp_hysteresis | initial 1.96 |
| 05:55 | vent_exchange_fraction | initial 0.3 |
| 05:55 | vent_prefer_dp_delta_f | initial 4 |
| 05:55 | vent_prefer_temp_delta_f | initial 4 |
| 05:55 | vpd_watch_dwell_s | initial 67.5 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 9 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.18 → 0.08 |
| 08:30 | dwell_gate_ms | 270000 → 255000 |
| 08:30 | fog_escalation_kpa | 0.45 → 0.28 |
| 08:30 | min_fog_off_s | 126 → 96 |
| 08:30 | min_fog_on_s | 39 → 50.25 |
| 08:30 | mister_all_delay_s | 93 → 88.5 |
| 08:30 | mister_engage_delay_s | 46.5 → 44.25 |
| 08:30 | mister_water_budget_gal | 140 → 220 |
| 08:30 | temp_hysteresis | 1.96 → 1.87 |
| 08:30 | vent_prefer_dp_delta_f | 4 → 3 |
| 08:30 | vpd_watch_dwell_s | 67.5 → 63.75 |
| 10:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 10:30 | dwell_gate_ms | 255000 → 225000 |
| 10:30 | fog_escalation_kpa | 0.28 → 0.18 |
| 10:30 | min_fog_off_s | 96 → 72 |
| 10:30 | min_fog_on_s | 50.25 → 59.25 |
| 10:30 | mister_all_delay_s | 88.5 → 79.5 |
| 10:30 | mister_engage_delay_s | 44.25 → 39.75 |
| 10:30 | mister_water_budget_gal | 220 → 260 |
| 10:30 | temp_hysteresis | 1.87 → 1.69 |
| 10:30 | vpd_watch_dwell_s | 63.75 → 56.25 |
| 12:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.04 |
| 12:30 | dwell_gate_ms | 225000 → 210000 |
| 12:30 | fog_escalation_kpa | 0.18 → 0.16 |
| 12:30 | min_fog_off_s | 72 → 60 |
| 12:30 | min_fog_on_s | 59.25 → 63.75 |
| 12:30 | mister_all_delay_s | 79.5 → 75 |
| 12:30 | mister_engage_delay_s | 39.75 → 37.5 |
| 12:30 | temp_hysteresis | 1.69 → 1.6 |
| 12:30 | vpd_watch_dwell_s | 56.25 → 52.5 |
| 15:30 | direct_wet_stress_vpd_margin_kpa | 0.04 → 0.05 |
| 15:30 | dwell_gate_ms | 210000 → 225000 |
| 15:30 | fog_escalation_kpa | 0.16 → 0.2 |
| 15:30 | min_fog_off_s | 60 → 72 |
| 15:30 | min_fog_on_s | 63.75 → 59.25 |
| 15:30 | mister_all_delay_s | 75 → 79.5 |
| 15:30 | mister_engage_delay_s | 37.5 → 39.75 |
| 15:30 | mister_water_budget_gal | 260 → 240 |
| 15:30 | temp_hysteresis | 1.6 → 1.69 |
| 15:30 | vpd_watch_dwell_s | 52.5 → 56.25 |
| 19:30 | direct_wet_stress_min_dew_margin_f | 8 → 9 |
| 19:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.08 |
| 19:30 | dwell_gate_ms | 225000 → 255000 |
| 19:30 | fog_escalation_kpa | 0.2 → 0.35 |
| 19:30 | min_fog_off_s | 72 → 96 |
| 19:30 | min_fog_on_s | 59.25 → 50.25 |
| 19:30 | mister_all_delay_s | 79.5 → 88.5 |
| 19:30 | mister_engage_delay_s | 39.75 → 44.25 |
| 19:30 | mister_water_budget_gal | 240 → 200 |
| 19:30 | temp_hysteresis | 1.69 → 1.87 |
| 19:30 | vpd_watch_dwell_s | 56.25 → 63.75 |
| 22:00 | direct_wet_stress_min_dew_margin_f | 9 → 10 |
| 22:00 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.18 |
| 22:00 | dwell_gate_ms | 255000 → 285000 |
| 22:00 | fog_escalation_kpa | 0.35 → 0.48 |
| 22:00 | min_fog_off_s | 96 → 132 |
| 22:00 | min_fog_on_s | 50.25 → 36.75 |
| 22:00 | mister_all_delay_s | 88.5 → 97.5 |
| 22:00 | mister_engage_delay_s | 44.25 → 48.75 |
| 22:00 | mister_water_budget_gal | 200 → 140 |
| 22:00 | temp_hysteresis | 1.87 → 2.05 |
| 22:00 | vent_prefer_dp_delta_f | 3 → 4 |
| 22:00 | vpd_watch_dwell_s | 63.75 → 71.25 |
🌆 Evening Cycle (8:21 PM) — iris-20260729-2019
Daily Summary So Far
not validated yet
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
95.0°F
21.0%
865.0 W/m²
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
brief guardrail-clean moisture-capable evening segment while live VPD remains near high edge and dew margin is 12F
sharp humid-night taper: low mist duty, high dew-margin floor, fog held back, higher resource sensitivity, stable dwell
morning handoff opens band-coupled wet assist near vpd_high+0.05, all-zone near +0.22, moderate fog escalation during fog-safe hours
thermal lead, solar precool, full cooling authority already enabled, and wet/fog evaporative assist while accepting structural cooling limits near 95F
Parameter rationale
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
prevent all-zone wetting overnight and re-enable broad support during confirmed Thursday dry stress
reduce VPD-low overshoot, water use, and mister cycling during the humid night
hold 7x wet assist back overnight, then allow lower morning escalation for hot-dry VENTILATE
avoid spending water overnight while preserving enough budget for Thursday recovery after sunrise
Setpoints
Wednesday July 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:19 | hyst 0.20749999999999996 | evening_settle: live air is warm and dew-safe with VPD near |
| 22:00 | hyst 0.2125 | humid_taper: forecast VPD falls toward and below the lower b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:19 | s2 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.3133333333333332 | evening_settle: live air is warm and dew-safe with VPD near |
| 22:00 | s2 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.1333333333333333 | humid_taper: forecast VPD falls toward and below the lower b |
Thursday July 30
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.2175 | midnight_posture: no heating crisis is forecast; keep wet/fo |
| 05:30 | hyst 0.20749999999999996 | pre_dawn: continue humid-night dew protection while preparin |
| 08:30 | hyst 0.1925 | morning_handoff: Thursday turns hot and dry quickly; reopen |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | s2 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.0866666666666667 | midnight_posture: no heating crisis is forecast; keep wet/fo |
| 05:30 | s2 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.2 | pre_dawn: continue humid-night dew protection while preparin |
| 08:30 | s2 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.6 | morning_handoff: Thursday turns hot and dry quickly; reopen |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:19 | band_track_fraction | initial 0 |
| 20:19 | cold_vent_guard_delta_f | initial 8 |
| 20:19 | cool_stage2_exit_hysteresis_f | initial 1 |
| 20:19 | direct_wet_stress_min_dew_margin_f | initial 9 |
| 20:19 | direct_wet_stress_vpd_margin_kpa | initial 0.08 |
| 20:19 | dwell_gate_ms | initial 270000 |
| 20:19 | enthalpy_close | initial 1 |
| 20:19 | enthalpy_open | initial -2 |
| 20:19 | fog_escalation_kpa | initial 0.35 |
| 20:19 | heat_hysteresis | initial 1 |
| 20:19 | min_fog_off_s | initial 108 |
| 20:19 | min_fog_on_s | initial 45.75 |
| 20:19 | mist_backoff_s | initial 600 |
| 20:19 | mist_max_closed_vent_s | initial 600 |
| 20:19 | mist_thermal_relief_s | initial 90 |
| 20:19 | mister_all_delay_s | initial 93 |
| 20:19 | mister_engage_delay_s | initial 46.5 |
| 20:19 | mister_water_budget_gal | initial 140 |
| 20:19 | night_vpd_bias_kpa | initial 0 |
| 20:19 | outdoor_staleness_max_s | initial 600 |
| 20:19 | sw_dwell_gate_enabled | initial 1 |
| 20:19 | sw_fog_closes_vent | initial 1 |
| 20:19 | sw_mister_closes_vent | initial 0 |
| 20:19 | sw_summer_vent_enabled | initial 1 |
| 20:19 | temp_hysteresis | initial 1.96 |
| 20:19 | vent_exchange_fraction | initial 0.3 |
| 20:19 | vent_prefer_dp_delta_f | initial 3 |
| 20:19 | vent_prefer_temp_delta_f | initial 4 |
| 20:19 | vpd_watch_dwell_s | initial 67.5 |
| 22:00 | direct_wet_stress_min_dew_margin_f | 9 → 10 |
| 22:00 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.3 |
| 22:00 | dwell_gate_ms | 270000 → 285000 |
| 22:00 | fog_escalation_kpa | 0.35 → 0.5 |
| 22:00 | min_fog_off_s | 108 → 132 |
| 22:00 | min_fog_on_s | 45.75 → 36.75 |
| 22:00 | mister_all_delay_s | 93 → 97.5 |
| 22:00 | mister_engage_delay_s | 46.5 → 48.75 |
| 22:00 | mister_water_budget_gal | 140 → 120 |
| 22:00 | temp_hysteresis | 1.96 → 2.05 |
| 22:00 | vpd_watch_dwell_s | 67.5 → 71.25 |
| 00:30 | direct_wet_stress_vpd_margin_kpa | 0.3 → 0.35 |
| 00:30 | dwell_gate_ms | 285000 → 300000 |
| 00:30 | min_fog_off_s | 132 → 138 |
| 00:30 | min_fog_on_s | 36.75 → 34.5 |
| 00:30 | mister_all_delay_s | 97.5 → 102 |
| 00:30 | mister_engage_delay_s | 48.75 → 51 |
| 00:30 | temp_hysteresis | 2.05 → 2.14 |
| 00:30 | vpd_watch_dwell_s | 71.25 → 75 |
| 05:30 | direct_wet_stress_min_dew_margin_f | 10 → 9 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.35 → 0.25 |
| 05:30 | dwell_gate_ms | 300000 → 270000 |
| 05:30 | fog_escalation_kpa | 0.5 → 0.45 |
| 05:30 | min_fog_off_s | 138 → 120 |
| 05:30 | min_fog_on_s | 34.5 → 41.25 |
| 05:30 | mister_all_delay_s | 102 → 93 |
| 05:30 | mister_engage_delay_s | 51 → 46.5 |
| 05:30 | mister_water_budget_gal | 120 → 130 |
| 05:30 | temp_hysteresis | 2.14 → 1.96 |
| 05:30 | vpd_watch_dwell_s | 75 → 67.5 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 9 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.25 → 0.05 |
| 08:30 | dwell_gate_ms | 270000 → 225000 |
| 08:30 | fog_escalation_kpa | 0.45 → 0.18 |
| 08:30 | min_fog_off_s | 120 → 72 |
| 08:30 | min_fog_on_s | 41.25 → 59.25 |
| 08:30 | mister_all_delay_s | 93 → 79.5 |
| 08:30 | mister_engage_delay_s | 46.5 → 39.75 |
| 08:30 | mister_water_budget_gal | 130 → 240 |
| 08:30 | temp_hysteresis | 1.96 → 1.69 |
| 08:30 | vpd_watch_dwell_s | 67.5 → 56.25 |
Daily Summary So Far
Climate
69.7–85.8°F; avg 76.9°F
0.50–1.55 kPa; avg 0.91 kPa
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
Not available
Not available
Not available
Not available
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 360 min | Primary exhaust runtime. |
| Fan 2 | 360 min | Secondary exhaust runtime. |
| Vent | 553 min | Intake vent runtime. |
| Fog | 37 min | Fogger runtime. |
| Heat 1 electric | 17 min | Electric heater runtime. |
| Heat 2 gas | 0 min | Gas heater runtime. |
| Grow lights | 1060 min | Supplemental lighting runtime. |
| Mister south | 0.00h | South mister runtime. |
| Mister west | 0.00h | West mister runtime. |
| Mister center | 0.46h | Center mister runtime. |
Crop Health (Gemini Vision)
| Crop | Zone | Health | Observations | Note |
|---|---|---|---|---|
| Lime Tree | west | 77% | 7 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| Vanda Orchids | center | 78% | 5 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| pepper | east | 73% | 3 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation 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.
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.
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
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 84.2°F | 1.26 kPa | 68.9% |
| 13:00 | 84.2°F | 1.14 kPa | 71.6% |
| 14:00 | 81.9°F | 0.83 kPa | 78.1% |
| 15:00 | 82.6°F | 0.96 kPa | 75.4% |
| 16:00 | 83.9°F | 1.18 kPa | 70.5% |
| 17:00 | 82.4°F | 1.13 kPa | 70.2% |
| 18:00 | 80.7°F | 1.10 kPa | 69.4% |
| 19:00 | 79.3°F | 1.21 kPa | 64.5% |
| 20:00 | 77.8°F | 1.15 kPa | 64.6% |
| 21:00 | 76.1°F | 0.95 kPa | 69.2% |
| 22:00 | 74.4°F | 0.83 kPa | 71.5% |
| 23:00 | 73.2°F | 0.75 kPa | 73.3% |
| 00:00 | 71.8°F | 0.77 kPa | 71.0% |
| 01:00 | 70.2°F | 0.66 kPa | 73.6% |
| 02:00 | 70.2°F | 0.60 kPa | 76.3% |
| 03:00 | 70.2°F | 0.59 kPa | 76.6% |
| 04:00 | 70.3°F | 0.55 kPa | 78.2% |
| 05:00 | 70.4°F | 0.52 kPa | 79.6% |
| 06:00 | 70.7°F | 0.53 kPa | 79.5% |
| 07:00 | 72.6°F | 0.62 kPa | 77.5% |
| 08:00 | 74.2°F | 0.73 kPa | 75.0% |
| 09:00 | 76.1°F | 0.79 kPa | 74.4% |
| 10:00 | 80.1°F | 1.03 kPa | 71.3% |
| 11:00 | 83.1°F | 1.20 kPa | 69.4% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-07-23 | 2.8h | 4.9h | 8.0h |
| 2026-07-24 | 5.7h | 5.1h | 8.9h |
| 2026-07-25 | 0.0h | 1.0h | 6.4h |
| 2026-07-26 | 8.7h | 11.4h | 3.7h |
| 2026-07-27 | 2.3h | 7.2h | 3.0h |
| 2026-07-28 | 2.1h | 3.7h | 8.2h |
| 2026-07-29 | 2.3h | 2.5h | 8.7h |