July 27, 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.
6
3
3
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| End-of-day review and reset | 00:16 | MIDNIGHT | plan_written | Wrote public plan iris-20260727-0016. Resolved 00:18 MDT. |
| Morning planning cycle | 05:55 | SUNRISE | plan_written | Wrote public plan iris-20260727-0555. Resolved 05:58 MDT. |
| Solar peak planning checkpoint | 13:08 | SOLAR_MAX | acked | Acknowledged: SOLAR_MAX no-op: live solar 704 W/m2 is tracking/slightly below the calibrated 14:00 forecast (~718 W/m2 after bias correction), indoor VPD is only modestly above the 1.22 kPa high edge at 1.31 kPa with safe 11.7F dew margin, and the active SUNRISE plan already covers the afternoon with band-coupled moisture/fog posture before the 15:30 waypoint. No tactical tunable nudge warranted. Resolved 13:08 MDT. |
| Peak Stress | 15:08 | TRANSITION | acked | Acknowledged: Peak-stress checkpoint checked live climate/equipment against active plan iris-20260727-0555. House is tracking the plan: temp 84.3F is only slightly above the 84F high edge, average VPD 1.13 kPa is below the 1.22 kPa high edge, dew margin is safe at 9.7F, controller is IDLE, and all relays/wet assist are off after recent recovery. Current/next planned posture already keeps wet/fog assist band-coupled for the remaining dry window, so no tactical tunable change is justified. Resolved 15:09 MDT. |
| Decline | 19:20 | TRANSITION | acked | Acknowledged: Decline transition checked. Live climate is near the evening high edge but not overshooting wet: 79.6F, VPD 1.27 kPa vs vpd_high 1.22, RH 64%, dew margin 13.4F. Vent and both fans are on; fog and misters are off. Existing plan already tapers evening posture at 21:30 with higher moisture thresholds, wider mist gap, and fog escalation raised, ahead of the forecast humid rebound. No concrete signal to issue an immediate tunable override. Resolved 19:20 MDT. |
| Evening planning cycle | 20:20 | SUNSET | plan_written | Wrote public plan iris-20260727-2020. Resolved 20:22 MDT. |
🌅 Morning Cycle (12:18 AM) — iris-20260727-0016
validated
7/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-20260726-0555
Previous hypothesis: SUNRISE plan for Sunday 2026-07-26. Yesterday closed at score 63.8 versus 65.8 seven-day average. Temperature compliance was slightly weaker than VPD (47.1% vs 50.2%), and heat stress dominated full-day stress: 5.19h heat, 3.73h VPD-high, 0.89h VPD-low, 0h cold. The primary governed window scored 69.3, but plan_evaluate returned an anchor of 3 because there were 420 VPD-high guardrail events and 382 held guardrail events. I scored 6/10 for safe dew outcome and partial VPD control, but I accept the anchor warning: materialization was too dependent on guardrails. Today’s plan keeps severe-day wet/fog assist open but asks through bounded ClimateIntent with values that should materialize cleaner. Semantic retrieval is degraded because knowledge_search and lessons_search failed on missing OPENAI_API_KEY, and plan-coverage/static-site context are missing. Result: Weekly preemption/partial evaluation before replacing active plan: only the first overnight/pre-dawn portion has outcome data. Scoped window so far was 100.0 with 100% compliance, essentially 0 stress, VPD around the upper edge but dew margin safe (~16F), vent+fans handling thermal demand, and no VPD-low or condensation signal. However this is too short to validate the daytime hot/dry hypothesis, and recent audit still shows VPD-high guardrail holds/clamps on moisture thresholds, pulse gap, and fog dwell. Treat this as partial validation of the dew-safe pre-dawn posture only, not proof that the daytime strategy succeeded. Score: 7/10
Hypothesis
Testing: Guardrail-clean hot/dry recovery: use lower band-relative wet-assist excesses and low fog escalation during live hot/dry windows, then switch to dew-protecting low duty before forecast humid storm recovery. Expected outcome: By Tuesday midnight: preserve 0 dp-risk hours, keep overnight VPD-low near zero, reduce VPD-high stress versus 2026-07-26 despite hot/dry afternoons, and reduce held VPD-high guardrail events by asking closer to the materialized guardrail surface.
Conditions
96.0°F
20.0%
664.0 W/m²
82.0%
hot/dry July day after a successful but guardrail-repaired overnight recovery; current dew margin is safe, forecast VPD is high-biased but corrected daytime VPD remains above band, and Tuesday/Wednesday include hot dry ramps followed by humid storm recovery risk
Expected stress windows
guardrail-clean band-coupled wet assist, fog escalation near 0.18 during fog window, moderate-high mist duty, and no clock-only wet unwind before observed evening recovery
thermal lead, solar precool, all-fans authority already active, evaporative assist, and acceptance of physics-limited peak cooling
raise dew margin floor, reduce mist duty, hold fog back, and allow ventilation/dehumidification when dew-safe
repeat daytime band-coupled wet/fog assist until storm recovery risk begins
low wet duty, higher dew margin floor, higher resource sensitivity, and fog held back through humid/storm recovery
return to hot/dry wet/fog assist before the late storm cooldown
Parameter rationale
keep S1 wet assist available near the high edge while reducing held guardrail repairs
allow earlier all-zone recovery without asking so high that dispatcher must clamp it
increase useful wet duty during confirmed VPD-high windows without closing dew safety rails
make fog assist available earlier in hot/dry VENTILATE while avoiding unnecessary fog during humid recovery
avoid budget-limited VPD recovery during afternoon heat while still tapering duty overnight
Setpoints
Monday July 27
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:15 | hyst 0.1875 | post-midnight warm/dry but currently dew-safe and VPD in ban |
| 03:30 | hyst 0.1875 | pre-dawn remains warm and forecast dry; keep low guardrail-c |
| 06:30 | hyst 0.1875 | sunrise handoff into a hot/dry forecast; pre-stage moisture |
| 08:30 | hyst 0.1875 | Monday hot/dry ramp: corrected VPD remains above band and de |
| 17:30 | hyst 0.1875 | evening remains dry after fog window; maintain mister recove |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:15 | s2 1.87; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.4; pulse 33.75; gap 41.25; wt 1.7 | post-midnight warm/dry but currently dew-safe and VPD in ban |
| 03:30 | s2 1.835; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.3699999999999999; pulse 33.75; gap 41.25; wt 1.7 | pre-dawn remains warm and forecast dry; keep low guardrail-c |
| 06:30 | s2 1.7175; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.25; all 1.3399999999999999; pulse 36; gap 33.75; wt 1.7 | sunrise handoff into a hot/dry forecast; pre-stage moisture |
| 08:30 | s2 1.6524999999999999; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.25; all 1.32; pulse 43.5; gap 26.25; wt 1.8199999999999998 | Monday hot/dry ramp: corrected VPD remains above band and de |
| 17:30 | s2 1.835; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.26; all 1.3599999999999999; pulse 36; gap 41.25; wt 1.7 | evening remains dry after fog window; maintain mister recove |
Tuesday July 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | hyst 0.1875 | Tuesday pre-dawn forecast trends humid with possible VPD-low |
| 10:00 | hyst 0.1875 | Tuesday hot/dry midday returns before storm risk; use wet/fo |
| 18:30 | hyst 0.1875 | Tuesday evening storm/humid recovery risk; close most wet as |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | s2 1.87; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Tuesday pre-dawn forecast trends humid with possible VPD-low |
| 10:00 | s2 1.6524999999999999; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 1.25; all 1.3399999999999999; pulse 45; gap 26.25; wt 1.8333333333333335 | Tuesday hot/dry midday returns before storm risk; use wet/fo |
| 18:30 | s2 1.8875; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Tuesday evening storm/humid recovery risk; close most wet as |
Wednesday July 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 10:00 | hyst 0.1875 | Wednesday repeats hot/dry solar ramp before late storm coold |
| 17:30 | hyst 0.1875 | Wednesday late storm cooldown/humidity risk; transition back |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 10:00 | s2 1.635; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 1.25; all 1.3399999999999999; pulse 45; gap 26.25; wt 1.8333333333333335 | Wednesday repeats hot/dry solar ramp before late storm coold |
| 17:30 | s2 1.8875; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Wednesday late storm cooldown/humidity risk; transition back |
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 9 |
| 00:15 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 00:15 | dwell_gate_ms | initial 210000 |
| 00:15 | enthalpy_close | initial 1 |
| 00:15 | enthalpy_open | initial -2 |
| 00:15 | fog_escalation_kpa | initial 0.25 |
| 00:15 | heat_hysteresis | initial 1 |
| 00:15 | min_fog_off_s | initial 72 |
| 00:15 | min_fog_on_s | initial 59.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 75 |
| 00:15 | mister_engage_delay_s | initial 37.5 |
| 00:15 | mister_water_budget_gal | initial 180 |
| 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 1.6 |
| 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 52.5 |
| 03:30 | mister_water_budget_gal | 180 → 200 |
| 06:30 | direct_wet_stress_min_dew_margin_f | 9 → 8 |
| 06:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.03 |
| 06:30 | fog_escalation_kpa | 0.25 → 0.2 |
| 06:30 | min_fog_off_s | 72 → 60 |
| 06:30 | min_fog_on_s | 59.25 → 63.75 |
| 06:30 | mister_water_budget_gal | 200 → 240 |
| 08:30 | cold_vent_guard_delta_f | 8 → 7 |
| 08:30 | fog_escalation_kpa | 0.2 → 0.18 |
| 08:30 | min_fog_off_s | 60 → 48 |
| 08:30 | min_fog_on_s | 63.75 → 68.25 |
| 08:30 | mister_water_budget_gal | 240 → 260 |
| 08:30 | vent_prefer_temp_delta_f | 4 → 3 |
| 17:30 | cold_vent_guard_delta_f | 7 → 8 |
| 17:30 | direct_wet_stress_vpd_margin_kpa | 0.03 → 0.04 |
| 17:30 | fog_escalation_kpa | 0.18 → 0.25 |
| 17:30 | min_fog_off_s | 48 → 72 |
| 17:30 | min_fog_on_s | 68.25 → 59.25 |
| 17:30 | mister_water_budget_gal | 260 → 240 |
| 17:30 | vent_prefer_temp_delta_f | 3 → 4 |
| 03:30 | cold_vent_guard_delta_f | 8 → 9 |
| 03:30 | direct_wet_stress_min_dew_margin_f | 8 → 10 |
| 03:30 | direct_wet_stress_vpd_margin_kpa | 0.04 → 0.05 |
| 03:30 | mister_water_budget_gal | 240 → 160 |
| 03:30 | vent_prefer_dp_delta_f | 3 → 4 |
| 03:30 | vent_prefer_temp_delta_f | 4 → 5 |
| 10:00 | cold_vent_guard_delta_f | 9 → 7 |
| 10:00 | direct_wet_stress_min_dew_margin_f | 10 → 8 |
| 10:00 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.03 |
| 10:00 | fog_escalation_kpa | 0.25 → 0.18 |
| 10:00 | min_fog_off_s | 72 → 48 |
| 10:00 | min_fog_on_s | 59.25 → 68.25 |
| 10:00 | mister_water_budget_gal | 160 → 280 |
| 10:00 | vent_prefer_dp_delta_f | 4 → 3 |
| 10:00 | vent_prefer_temp_delta_f | 5 → 3 |
| 18:30 | cold_vent_guard_delta_f | 7 → 9 |
| 18:30 | direct_wet_stress_min_dew_margin_f | 8 → 11 |
| 18:30 | direct_wet_stress_vpd_margin_kpa | 0.03 → 0.05 |
| 18:30 | fog_escalation_kpa | 0.18 → 0.25 |
| 18:30 | min_fog_off_s | 48 → 72 |
| 18:30 | min_fog_on_s | 68.25 → 59.25 |
| 18:30 | mister_water_budget_gal | 280 → 130 |
| 18:30 | vent_prefer_dp_delta_f | 3 → 5 |
| 18:30 | vent_prefer_temp_delta_f | 3 → 5 |
| 10:00 | cold_vent_guard_delta_f | 9 → 7 |
| 10:00 | direct_wet_stress_min_dew_margin_f | 11 → 8 |
| 10:00 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.03 |
| 10:00 | fog_escalation_kpa | 0.25 → 0.18 |
| 10:00 | min_fog_off_s | 72 → 48 |
| 10:00 | min_fog_on_s | 59.25 → 68.25 |
| 10:00 | mister_water_budget_gal | 130 → 280 |
| 10:00 | vent_prefer_dp_delta_f | 5 → 3 |
| 10:00 | vent_prefer_temp_delta_f | 5 → 3 |
| 17:30 | cold_vent_guard_delta_f | 7 → 9 |
| 17:30 | direct_wet_stress_min_dew_margin_f | 8 → 11 |
| 17:30 | direct_wet_stress_vpd_margin_kpa | 0.03 → 0.05 |
| 17:30 | fog_escalation_kpa | 0.18 → 0.25 |
| 17:30 | min_fog_off_s | 48 → 72 |
| 17:30 | min_fog_on_s | 68.25 → 59.25 |
| 17:30 | mister_water_budget_gal | 280 → 130 |
| 17:30 | vent_prefer_dp_delta_f | 3 → 5 |
| 17:30 | vent_prefer_temp_delta_f | 3 → 5 |
🌅 Morning Cycle (2:03 AM) — iris-20260727-0201
validated
6/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-20260726-0555
Result: Partial/overlapped weekly plan evaluation before SUNSET replacement. The evaluated local-day window remained above the 7-day baseline at score 77.4 vs 67.2, with dew safety intact (dp_min 7.9F, dp_risk 0h) and no cold or VPD-low stress. However heat and VPD-high remained co-dominant at 8.43h and 8.50h for the day; current and afternoon evidence shows VENTILATE moisture assist encountered a capacity limit. The strategy was directionally right for guardrail-clean wet assist and accepted structural heat, but full success was limited by hot/dry physics and recurring guardrail/clamp materialization. Score: 6/10
Hypothesis
Testing: Weekly guardrail-clean alternation: keep hot/dry daytime wet assist close to the dispatcher moisture guardrail, then rapidly shift to high-dew-margin low-duty storm-night recovery. Expected outcome: Over the next 72h: keep dp-risk at 0h, reduce held VPD-high guardrail events versus the prior two hot/dry plans, keep VPD-low stress near zero on storm nights, and maintain or improve the 7-day score baseline without using water/cost conservation to close wet assist during safe dry stress.
Conditions
97.0°F
21.0%
859.0 W/m²
65.0%
weekly hot/dry July pattern with Monday dry recovery, Tuesday/Wednesday high-solar dry heat, and humid storm recovery nights; forecast VPD has known positive bias but corrected daytime VPD remains above the Vanda/east crop corridor
Expected stress windows
guardrail-clean band-coupled wet assist, fog escalation near 0.18 in the 07-17 fog window, and wet cutoff through observed evening recovery
thermal lead, solar precool, both-fan cooling authority, evaporative assist, and acceptance that peak overshoot is partly exhaust/intake-limited
higher dew-margin floor, lower mist duty, fog held back, and resource-sensitive humid recovery posture
strong daytime wet/fog assist with short duty gaps while dew margin is safe
storm-recovery taper: high dew margin, low wet duty, and higher resource sensitivity
repeat daytime guardrail-clean wet/fog posture before the forecast storm cooldown
rapid shift to dew-protecting low-duty posture once storms cool and humidify the house
Parameter rationale
keep S1 wet assist available at the VPD high edge without relying on repeated dispatcher repair
bring all-zone rotation in for real broad dry stress while backing away during humid storm nights
increase useful wet duty during live VPD-high windows while allowing overnight taper
make fog assist available earlier during VENTILATE dry stress without increasing storm-night condensation risk
avoid budget-limited VPD recovery on hot afternoons, then lower effective duty during humid recovery
preserve evening recovery without extending wetting into the storm-humid risk window
Setpoints
Monday July 27
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.20249999999999999 | Current VPD is just above band with large dew margin; keep r |
| 07:00 | hyst 0.20249999999999999 | Monday dry heat ramp: compliance-first band-coupled wet/fog |
| 17:30 | hyst 0.20749999999999996 | Monday evening remains dry; taper fog after window but keep |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | s2 1.8125; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 21; engage 1.28; all 1.47; pulse 31.5; gap 48.75; wt 1.5133333333333332 | Current VPD is just above band with large dew margin; keep r |
| 07:00 | s2 1.6824999999999999; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 41.25; gap 33.75; wt 1.7333333333333334 | Monday dry heat ramp: compliance-first band-coupled wet/fog |
| 17:30 | s2 1.8475000000000001; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.28; all 1.47; pulse 33.75; gap 48.75; wt 1.5333333333333332 | Monday evening remains dry; taper fog after window but keep |
Tuesday July 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | hyst 0.2125 | Tuesday pre-dawn humid recovery risk: protect dew margin and |
| 09:30 | hyst 0.20249999999999999 | Tuesday high-solar hot/dry ramp: strongest weekly daytime we |
| 18:00 | hyst 0.2125 | Tuesday storm-humid recovery: shift from dry recovery to dew |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | s2 1.955; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.3399999999999999; all 1.5699999999999998; pulse 30; gap 60; wt 1.2333333333333334 | Tuesday pre-dawn humid recovery risk: protect dew margin and |
| 09:30 | s2 1.6150000000000002; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 21; engage 1.26; all 1.42; pulse 45; gap 30; wt 1.8000000000000003 | Tuesday high-solar hot/dry ramp: strongest weekly daytime we |
| 18:00 | s2 1.9875; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.3399999999999999; all 1.5699999999999998; pulse 30; gap 60; wt 1.1866666666666665 | Tuesday storm-humid recovery: shift from dry recovery to dew |
Wednesday July 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | hyst 0.20249999999999999 | Wednesday high-solar hot/dry ramp: repeat guardrail-clean we |
| 17:00 | hyst 0.2125 | Wednesday storm cooldown/humid arrival: stop dry-day wet agg |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | s2 1.6475; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 43.5; gap 33.75; wt 1.7533333333333334 | Wednesday high-solar hot/dry ramp: repeat guardrail-clean we |
| 17:00 | s2 2.02; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.3599999999999999; all 1.62; pulse 30; gap 60; wt 1.1333333333333333 | Wednesday storm cooldown/humid arrival: stop dry-day wet agg |
Thursday July 30
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.2125 | Late plan tail: conservative dew-safe overnight handoff unti |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | s2 1.9900000000000002; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.3399999999999999; all 1.5699999999999998; pulse 30; gap 60; wt 1.22 | Late plan tail: conservative dew-safe overnight handoff unti |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 02:00 | band_track_fraction | initial 0 |
| 02:00 | cold_vent_guard_delta_f | initial 8 |
| 02:00 | cool_stage2_exit_hysteresis_f | initial 1 |
| 02:00 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 02:00 | direct_wet_stress_vpd_margin_kpa | initial 0.06 |
| 02:00 | dwell_gate_ms | initial 255000 |
| 02:00 | enthalpy_close | initial 1 |
| 02:00 | enthalpy_open | initial -2 |
| 02:00 | fog_escalation_kpa | initial 0.3 |
| 02:00 | heat_hysteresis | initial 1 |
| 02:00 | min_fog_off_s | initial 84 |
| 02:00 | min_fog_on_s | initial 54.75 |
| 02:00 | mist_backoff_s | initial 600 |
| 02:00 | mist_max_closed_vent_s | initial 600 |
| 02:00 | mist_thermal_relief_s | initial 90 |
| 02:00 | mister_all_delay_s | initial 88.5 |
| 02:00 | mister_engage_delay_s | initial 44.25 |
| 02:00 | mister_water_budget_gal | initial 220 |
| 02:00 | night_vpd_bias_kpa | initial 0 |
| 02:00 | outdoor_staleness_max_s | initial 600 |
| 02:00 | sw_dwell_gate_enabled | initial 1 |
| 02:00 | sw_fog_closes_vent | initial 1 |
| 02:00 | sw_mister_closes_vent | initial 0 |
| 02:00 | sw_summer_vent_enabled | initial 1 |
| 02:00 | temp_hysteresis | initial 1.87 |
| 02:00 | vent_exchange_fraction | initial 0.3 |
| 02:00 | vent_prefer_dp_delta_f | initial 3 |
| 02:00 | vent_prefer_temp_delta_f | initial 4 |
| 02:00 | vpd_watch_dwell_s | initial 63.75 |
| 07:00 | direct_wet_stress_vpd_margin_kpa | 0.06 → 0.05 |
| 07:00 | fog_escalation_kpa | 0.3 → 0.18 |
| 07:00 | min_fog_off_s | 84 → 60 |
| 07:00 | min_fog_on_s | 54.75 → 63.75 |
| 07:00 | mister_water_budget_gal | 220 → 260 |
| 17:30 | direct_wet_stress_min_dew_margin_f | 8 → 9 |
| 17:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.06 |
| 17:30 | dwell_gate_ms | 255000 → 270000 |
| 17:30 | fog_escalation_kpa | 0.18 → 0.3 |
| 17:30 | min_fog_off_s | 60 → 84 |
| 17:30 | min_fog_on_s | 63.75 → 54.75 |
| 17:30 | mister_all_delay_s | 88.5 → 93 |
| 17:30 | mister_engage_delay_s | 44.25 → 46.5 |
| 17:30 | mister_water_budget_gal | 260 → 220 |
| 17:30 | temp_hysteresis | 1.87 → 1.96 |
| 17:30 | vpd_watch_dwell_s | 63.75 → 67.5 |
| 03:30 | direct_wet_stress_min_dew_margin_f | 9 → 10 |
| 03:30 | direct_wet_stress_vpd_margin_kpa | 0.06 → 0.12 |
| 03:30 | dwell_gate_ms | 270000 → 285000 |
| 03:30 | fog_escalation_kpa | 0.3 → 0.4 |
| 03:30 | min_fog_off_s | 84 → 120 |
| 03:30 | min_fog_on_s | 54.75 → 41.25 |
| 03:30 | mister_all_delay_s | 93 → 97.5 |
| 03:30 | mister_engage_delay_s | 46.5 → 48.75 |
| 03:30 | mister_water_budget_gal | 220 → 180 |
| 03:30 | temp_hysteresis | 1.96 → 2.05 |
| 03:30 | vpd_watch_dwell_s | 67.5 → 71.25 |
| 09:30 | direct_wet_stress_min_dew_margin_f | 10 → 8 |
| 09:30 | direct_wet_stress_vpd_margin_kpa | 0.12 → 0.04 |
| 09:30 | dwell_gate_ms | 285000 → 255000 |
| 09:30 | fog_escalation_kpa | 0.4 → 0.16 |
| 09:30 | min_fog_off_s | 120 → 54 |
| 09:30 | min_fog_on_s | 41.25 → 66 |
| 09:30 | mister_all_delay_s | 97.5 → 88.5 |
| 09:30 | mister_engage_delay_s | 48.75 → 44.25 |
| 09:30 | mister_water_budget_gal | 180 → 280 |
| 09:30 | temp_hysteresis | 2.05 → 1.87 |
| 09:30 | vpd_watch_dwell_s | 71.25 → 63.75 |
| 18:00 | direct_wet_stress_min_dew_margin_f | 8 → 11 |
| 18:00 | direct_wet_stress_vpd_margin_kpa | 0.04 → 0.12 |
| 18:00 | dwell_gate_ms | 255000 → 285000 |
| 18:00 | fog_escalation_kpa | 0.16 → 0.4 |
| 18:00 | min_fog_off_s | 54 → 126 |
| 18:00 | min_fog_on_s | 66 → 39 |
| 18:00 | mister_all_delay_s | 88.5 → 97.5 |
| 18:00 | mister_engage_delay_s | 44.25 → 48.75 |
| 18:00 | mister_water_budget_gal | 280 → 180 |
| 18:00 | temp_hysteresis | 1.87 → 2.05 |
| 18:00 | vent_prefer_dp_delta_f | 3 → 4 |
| 18:00 | vpd_watch_dwell_s | 63.75 → 71.25 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 11 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.12 → 0.05 |
| 08:30 | dwell_gate_ms | 285000 → 255000 |
| 08:30 | fog_escalation_kpa | 0.4 → 0.18 |
| 08:30 | min_fog_off_s | 126 → 60 |
| 08:30 | min_fog_on_s | 39 → 63.75 |
| 08:30 | mister_all_delay_s | 97.5 → 88.5 |
| 08:30 | mister_engage_delay_s | 48.75 → 44.25 |
| 08:30 | mister_water_budget_gal | 180 → 280 |
| 08:30 | temp_hysteresis | 2.05 → 1.87 |
| 08:30 | vent_prefer_dp_delta_f | 4 → 3 |
| 08:30 | vpd_watch_dwell_s | 71.25 → 63.75 |
| 17:00 | direct_wet_stress_min_dew_margin_f | 8 → 11 |
| 17:00 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.14 |
| 17:00 | dwell_gate_ms | 255000 → 285000 |
| 17:00 | fog_escalation_kpa | 0.18 → 0.45 |
| 17:00 | min_fog_off_s | 60 → 132 |
| 17:00 | min_fog_on_s | 63.75 → 36.75 |
| 17:00 | mister_all_delay_s | 88.5 → 97.5 |
| 17:00 | mister_engage_delay_s | 44.25 → 48.75 |
| 17:00 | mister_water_budget_gal | 280 → 160 |
| 17:00 | temp_hysteresis | 1.87 → 2.05 |
| 17:00 | vent_prefer_dp_delta_f | 3 → 4 |
| 17:00 | vpd_watch_dwell_s | 63.75 → 71.25 |
| 00:00 | direct_wet_stress_min_dew_margin_f | 11 → 10 |
| 00:00 | direct_wet_stress_vpd_margin_kpa | 0.14 → 0.12 |
| 00:00 | min_fog_off_s | 132 → 120 |
| 00:00 | min_fog_on_s | 36.75 → 41.25 |
🌅 Morning Cycle (5:58 AM) — iris-20260727-0555
validated
6/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-20260726-2024
Previous hypothesis: SUNSET overnight plan for Sunday 2026-07-26. Today closed substantially above the 7-day baseline at score 78.4 vs 65.5, but the axis split remains weak: temp compliance 56.7%, VPD compliance 52.5%, with VPD-high the largest daily stress at 9.14h and heat close behind at 8.21h. Cold and VPD-low were both 0h; dew safety was good with dp_min 8.1F and 0 dp-risk hours. Resource cost fields are unavailable today, so cost attribution cannot be scored; water context shows 164 gal vs 325 gal 7-day average, so water is not binding. I evaluated iris-20260726-0555 at 6/10 because it improved safety and the daily score while avoiding VPD-low/condensation. plan_evaluate returned deterministic anchor 3 because 200 VPD-high guardrail events, including 159 held events, show the requested posture was still materially dependent on dispatcher repair… Result: SUNRISE plan evaluation for Monday 2026-07-27. Daily score was 72.1 versus 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 effectively dual-axis hot/dry stress, with VPD slightly worse than temperature: temp compliance 47.3%, VPD compliance 46.9%, heat stress 10.93h, VPD-high stress 11.08h. The structured forecast overcalled temperature peak (95F predicted vs about 90.5F actual) but badly undercalled solar (608 W/m2 predicted vs 1308 W/m2 actual), so the day was more solar-forced than expected. Guardrail-clean moisture direction was right and improved score above baseline, but repeated VPD-high guardrail holds/clamps mean the requested surface still depended on dispatcher repair and did not reduce VPD-high hours enough. Score: 6/10
New finding: On hot July days with underestimated solar, keep wet/fog assist band-coupled through observed VPD recovery and make ClimateIntent requests close to the dispatcher guardrail surface; forecast cloud cover alone is not enough reason to unwind moisture while dew margin is safe. → Added to Lessons Learned
Hypothesis
Testing: Guardrail-clean ClimateIntent test: reduce moisture excesses and daytime resource sensitivity enough to prevent repeated VPD-high guardrail holds, then sharply taper at the forecast humid recovery boundary. Expected outcome: Today: dp-risk remains 0h, VPD-low stays near 0h, VPD-high stress improves versus yesterday’s 12.0h despite heat stress, and held VPD-high guardrail events fall versus iris-20260726-0555. Cost cannot be scored because resource fields are unavailable; water may rise from yesterday but should remain justified by VPD-high recovery.
Conditions
95.0°F
23.0%
608.0 W/m²
89.0%
hot dry Monday with heavy cloud cover early, late solar peak near 16:00, raw VPD peak 4.38 kPa and corrected VPD still above crop corridor; current dawn is dew-safe and in band at 74.1F/VPD 0.82/RH 72, then humid recovery risk after 22:00
Expected stress windows
guardrail-clean band-coupled mist assist, all-zone escalation near +0.18 to +0.22 kPa, fog escalation near 0.18 during the firmware fog window, daily budget not binding while dew margin is safe
thermal lead, solar pre-cool, all-fans cooling authority already enabled, evaporative assist, and acceptance that peak cooling is partly physics-limited
higher dew-margin floor, low mist duty, fog held back, and higher resource sensitivity during humid overnight recovery
reopen daytime wet/fog assist for clear hot dry ramp until storm recovery begins
storm recovery taper with high dew-margin floor and low duty
restart dry-day wet/fog assist before expected late storm cooldown
Parameter rationale
make S1 mist available near the high edge with fewer held guardrail repairs
bring all-zone rotation in sooner for broad dry stress without suppressing wet assist
increase useful wet duty during confirmed VPD-high windows while avoiding VPD-low after the 22:00 humid shift
make 7x fog assist available earlier during hot-dry VENTILATE without extending fog into humid night
avoid budget-limited VPD recovery while dew margin is safe
preserve evening dry recovery but stop before humid overnight VPD-low risk
Setpoints
Monday July 27
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:55 | hyst 0.20249999999999999 | Dawn is in band and dew-safe; pre-stage moderate moisture au |
| 08:00 | hyst 0.1925 | Morning dry ramp begins; corrected VPD is above band, so use |
| 15:30 | hyst 0.1875 | Peak heat/VPD and late solar peak: compliance-first wet/fog |
| 21:30 | hyst 0.2175 | Forecast shifts humid after 22:00; taper wet duty, hold fog |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:55 | s2 1.83; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.47; pulse 30; gap 48.75; wt 1.4733333333333334 | Dawn is in band and dew-safe; pre-stage moderate moisture au |
| 08:00 | s2 1.7; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 21; engage 1.26; all 1.42; pulse 37.5; gap 33.75; wt 1.7000000000000002 | Morning dry ramp begins; corrected VPD is above band, so use |
| 15:30 | s2 1.6440000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.25; all 1.4; pulse 43.5; gap 28.5; wt 1.8000000000000003 | Peak heat/VPD and late solar peak: compliance-first wet/fog |
| 21:30 | s2 1.9900000000000002; cool_exit 2.14; all_fans 0; dw_stress 0; dw_until 21; engage 1.3399999999999999; all 1.5699999999999998; pulse 30; gap 60; wt 1.22 | Forecast shifts humid after 22:00; taper wet duty, hold fog |
Tuesday July 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | hyst 0.1925 | Tuesday clear dry ramp returns; reopen band-coupled moisture |
| 13:30 | hyst 0.1875 | Tuesday peak heat and high solar before storm risk; keep moi |
| 17:30 | hyst 0.22249999999999998 | Storm/humid recovery likely after 17:00; stop aggressive wet |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | s2 1.7; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 18; engage 1.26; all 1.44; pulse 37.5; gap 33.75; wt 1.7000000000000002 | Tuesday clear dry ramp returns; reopen band-coupled moisture |
| 13:30 | s2 1.6265; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 18; engage 1.25; all 1.4; pulse 45; gap 28.5; wt 1.8133333333333335 | Tuesday peak heat and high solar before storm risk; keep moi |
| 17:30 | s2 2.005; cool_exit 2.23; all_fans 0; dw_stress 0; dw_until 18; engage 1.3599999999999999; all 1.62; pulse 30; gap 60; wt 1.1733333333333333 | Storm/humid recovery likely after 17:00; stop aggressive wet |
Wednesday July 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | hyst 0.1925 | Wednesday repeats a hot/dry ramp before late storm risk; res |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:30 | s2 1.6824999999999999; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 17; engage 1.26; all 1.44; pulse 39; gap 33.75; wt 1.7133333333333334 | Wednesday repeats a hot/dry ramp before late storm risk; res |
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 8 |
| 05:55 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 05:55 | dwell_gate_ms | initial 255000 |
| 05:55 | enthalpy_close | initial 1 |
| 05:55 | enthalpy_open | initial -2 |
| 05:55 | fog_escalation_kpa | initial 0.25 |
| 05:55 | heat_hysteresis | initial 1 |
| 05:55 | min_fog_off_s | initial 84 |
| 05:55 | min_fog_on_s | initial 54.75 |
| 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 88.5 |
| 05:55 | mister_engage_delay_s | initial 44.25 |
| 05:55 | mister_water_budget_gal | initial 260 |
| 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.87 |
| 05:55 | vent_exchange_fraction | initial 0.3 |
| 05:55 | vent_prefer_dp_delta_f | initial 3 |
| 05:55 | vent_prefer_temp_delta_f | initial 4 |
| 05:55 | vpd_watch_dwell_s | initial 63.75 |
| 08:00 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.04 |
| 08:00 | dwell_gate_ms | 255000 → 225000 |
| 08:00 | fog_escalation_kpa | 0.25 → 0.18 |
| 08:00 | min_fog_off_s | 84 → 60 |
| 08:00 | min_fog_on_s | 54.75 → 63.75 |
| 08:00 | mister_all_delay_s | 88.5 → 79.5 |
| 08:00 | mister_engage_delay_s | 44.25 → 39.75 |
| 08:00 | mister_water_budget_gal | 260 → 280 |
| 08:00 | temp_hysteresis | 1.87 → 1.69 |
| 08:00 | vpd_watch_dwell_s | 63.75 → 56.25 |
| 15:30 | cold_vent_guard_delta_f | 8 → 9 |
| 15:30 | direct_wet_stress_vpd_margin_kpa | 0.04 → 0.03 |
| 15:30 | dwell_gate_ms | 225000 → 210000 |
| 15:30 | fog_escalation_kpa | 0.18 → 0.16 |
| 15:30 | min_fog_off_s | 60 → 51.599999999999994 |
| 15:30 | min_fog_on_s | 63.75 → 66.9 |
| 15:30 | mister_all_delay_s | 79.5 → 75 |
| 15:30 | mister_engage_delay_s | 39.75 → 37.5 |
| 15:30 | temp_hysteresis | 1.69 → 1.6 |
| 15:30 | vent_prefer_temp_delta_f | 4 → 5 |
| 15:30 | vpd_watch_dwell_s | 56.25 → 52.5 |
| 21:30 | cold_vent_guard_delta_f | 9 → 7 |
| 21:30 | direct_wet_stress_min_dew_margin_f | 8 → 11 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.03 → 0.12 |
| 21:30 | dwell_gate_ms | 210000 → 300000 |
| 21:30 | fog_escalation_kpa | 0.16 → 0.4 |
| 21:30 | min_fog_off_s | 51.599999999999994 → 120 |
| 21:30 | min_fog_on_s | 66.9 → 41.25 |
| 21:30 | mister_all_delay_s | 75 → 102 |
| 21:30 | mister_engage_delay_s | 37.5 → 51 |
| 21:30 | mister_water_budget_gal | 280 → 160 |
| 21:30 | temp_hysteresis | 1.6 → 2.14 |
| 21:30 | vent_prefer_dp_delta_f | 3 → 4 |
| 21:30 | vent_prefer_temp_delta_f | 5 → 3 |
| 21:30 | vpd_watch_dwell_s | 52.5 → 75 |
| 08:30 | cold_vent_guard_delta_f | 7 → 8 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 11 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.12 → 0.04 |
| 08:30 | dwell_gate_ms | 300000 → 225000 |
| 08:30 | fog_escalation_kpa | 0.4 → 0.18 |
| 08:30 | min_fog_off_s | 120 → 60 |
| 08:30 | min_fog_on_s | 41.25 → 63.75 |
| 08:30 | mister_all_delay_s | 102 → 79.5 |
| 08:30 | mister_engage_delay_s | 51 → 39.75 |
| 08:30 | mister_water_budget_gal | 160 → 280 |
| 08:30 | temp_hysteresis | 2.14 → 1.69 |
| 08:30 | vent_prefer_dp_delta_f | 4 → 3 |
| 08:30 | vent_prefer_temp_delta_f | 3 → 4 |
| 08:30 | vpd_watch_dwell_s | 75 → 56.25 |
| 13:30 | cold_vent_guard_delta_f | 8 → 9 |
| 13:30 | direct_wet_stress_vpd_margin_kpa | 0.04 → 0.03 |
| 13:30 | dwell_gate_ms | 225000 → 210000 |
| 13:30 | fog_escalation_kpa | 0.18 → 0.16 |
| 13:30 | min_fog_off_s | 60 → 51.599999999999994 |
| 13:30 | min_fog_on_s | 63.75 → 66.9 |
| 13:30 | mister_all_delay_s | 79.5 → 75 |
| 13:30 | mister_engage_delay_s | 39.75 → 37.5 |
| 13:30 | temp_hysteresis | 1.69 → 1.6 |
| 13:30 | vent_prefer_temp_delta_f | 4 → 5 |
| 13:30 | vpd_watch_dwell_s | 56.25 → 52.5 |
| 17:30 | cold_vent_guard_delta_f | 9 → 7 |
| 17:30 | direct_wet_stress_min_dew_margin_f | 8 → 12 |
| 17:30 | direct_wet_stress_vpd_margin_kpa | 0.03 → 0.14 |
| 17:30 | dwell_gate_ms | 210000 → 315000 |
| 17:30 | fog_escalation_kpa | 0.16 → 0.45 |
| 17:30 | min_fog_off_s | 51.599999999999994 → 126 |
| 17:30 | min_fog_on_s | 66.9 → 39 |
| 17:30 | mister_all_delay_s | 75 → 106.5 |
| 17:30 | mister_engage_delay_s | 37.5 → 53.25 |
| 17:30 | mister_water_budget_gal | 280 → 150 |
| 17:30 | temp_hysteresis | 1.6 → 2.23 |
| 17:30 | vent_prefer_dp_delta_f | 3 → 4 |
| 17:30 | vent_prefer_temp_delta_f | 5 → 3 |
| 17:30 | vpd_watch_dwell_s | 52.5 → 78.75 |
| 08:30 | cold_vent_guard_delta_f | 7 → 8 |
| 08:30 | direct_wet_stress_min_dew_margin_f | 12 → 8 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.14 → 0.04 |
| 08:30 | dwell_gate_ms | 315000 → 225000 |
| 08:30 | fog_escalation_kpa | 0.45 → 0.18 |
| 08:30 | min_fog_off_s | 126 → 60 |
| 08:30 | min_fog_on_s | 39 → 63.75 |
| 08:30 | mister_all_delay_s | 106.5 → 79.5 |
| 08:30 | mister_engage_delay_s | 53.25 → 39.75 |
| 08:30 | mister_water_budget_gal | 150 → 280 |
| 08:30 | temp_hysteresis | 2.23 → 1.69 |
| 08:30 | vent_prefer_dp_delta_f | 4 → 3 |
| 08:30 | vent_prefer_temp_delta_f | 3 → 4 |
| 08:30 | vpd_watch_dwell_s | 78.75 → 56.25 |
🌆 Evening Cycle (8:22 PM) — iris-20260727-2020
validated
6/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-20260727-0555
Previous hypothesis: SUNRISE plan for Monday 2026-07-27. Yesterday closed strong at score 81.4 vs 65.5 7-day average, with dew safety intact (dp_min 8.1F, dp-risk 0h) and no cold or VPD-low stress. VPD remained the bottleneck: temp compliance 54.0%, VPD compliance 48.9%, with 22.66h total stress dominated by VPD-high 12.0h and heat 10.66h. I scored iris-20260726-0555 at 7/10 because it improved the daily score and protected dew safety, but the deterministic anchor was 2 due to 208 VPD-high guardrail events and 165 held events. I accept the gap: the outcome was good partly because the dispatcher repaired the requested moisture surface. Today’s plan therefore asks closer to the band-coupled guardrail surface through ClimateIntent: low moisture excess, earlier all-zone assist, short daytime wet duty, fog available during the 07:00-17:00 window, and a rapid taper when the 22:00 humid/storm recovery arrives… Result: Midnight partial validation for the prior local-day portion of the SUNSET overnight plan. The evaluated window is short and not the full overnight hypothesis. Current state is warm, dew-safe, and inside VPD corridor enough for overnight risk management: 74.1F, VPD 0.86 kPa, RH 70%, dew margin 10.3F, no active wetting, vent+both fans on for temperature priority, and active alerts are resolved. The intended humid-night taper has so far avoided VPD-low, cold stress, and dew-risk, but the window scorecard surface reports a 0 score/compliance despite 0 stress hours, so I treat score attribution as degraded. The plan still produced many guardrail holds/clamps at 22:00 on moisture thresholds, pulse gap, fog dwell, and related fields, meaning success depended materially on the dispatcher VPD-high moisture guardrail rather than clean materialization. Score 6/10: hypothesis directionally met for dew safety and no overshoot in the partial midnight window, but only partially validated and still guardrail-repaired. Score: 6/10
New finding: For humid-night taper plans after a hot/VPD-high day, do not request very conservative moisture thresholds or long pulse gaps while the VPD-high moisture guardrail is still active; even if the forecast turns humid, keep the requested ClimateIntent close enough to the guardrail-clean surface until live VPD has clearly recovered, then taper. → Added to Lessons Learned
Hypothesis
Testing: Overnight taper after live VPD-high recovery: keep wet assist only until the 22:00 humid shift, then test whether higher dew margin and low duty avoid VPD-low while preserving dawn readiness. Expected outcome: By sunrise: 0h cold stress, 0h dew-risk, VPD-low under 1h, VPD-high limited to the short 20:15-22:00 recovery window, and fewer VPD-high moisture guardrail holds than the SUNRISE plan.
Conditions
94.0°F
28.0%
835.0 W/m²
66.0%
warm dry evening after a hot/VPD-high July day; live dew margin about 15F and VPD slightly above band, then forecast humid overnight recovery with VPD 0.32-0.70 before Tuesday hot dry ramp
Expected stress windows
keep moisture assist near the VPD high edge briefly while live VPD remains above band and dew margin is safe
raise dew margin floor, reduce mist duty, hold fog back, and use resource-sensitive stable overnight posture
reopen band-coupled wet assist and moderate fog escalation only as the live dry ramp confirms
thermal lead, solar pre-cool, and evaporative assist while accepting structural cooling limits above 90F
Parameter rationale
preserve evening VPD-high recovery without carrying aggressive wet assist into the humid overnight window
allow all-zone assist only during persistent dry spread, then taper to reduce VPD-low risk
cut water and relay cycling overnight while avoiding VPD-low overshoot
hold heavy 7x wet assist back until Tuesday morning dry ramp
bound overnight water use without disabling the short live VPD-high recovery window
Setpoints
Monday July 27
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:15 | hyst 0.2125 | evening_settle: live VPD is slightly above band and dew marg |
| 22:00 | hyst 0.22249999999999998 | humid_shift: forecast RH jumps near 80% and VPD drops toward |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:15 | s2 1.9300000000000002; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.44; pulse 30; gap 56.25; wt 1.42 | evening_settle: live VPD is slightly above band and dew marg |
| 22:00 | s2 2.04; cool_exit 2.23; all_fans 0; dw_stress 0; dw_until 21; engage 1.44; all 1.67; pulse 30; gap 60; wt 1.1733333333333333 | humid_shift: forecast RH jumps near 80% and VPD drops toward |
Tuesday July 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.22749999999999998 | midnight_posture: stable humid night expected, keep wetting |
| 05:30 | hyst 0.22249999999999998 | pre_dawn: forecast VPD remains low and RH high, so preserve |
| 08:15 | hyst 0.20249999999999999 | dawn_handoff: reopen guarded wet-assist surface for Tuesday |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | s2 2.055; cool_exit 2.3200000000000003; all_fans 0; dw_stress 0; dw_until 19; engage 1.47; all 1.72; pulse 30; gap 60; wt 1.1266666666666667 | midnight_posture: stable humid night expected, keep wetting |
| 05:30 | s2 2.0025; cool_exit 2.23; all_fans 0; dw_stress 0; dw_until 19; engage 1.47; all 1.72; pulse 30; gap 60; wt 1.1266666666666667 | pre_dawn: forecast VPD remains low and RH high, so preserve |
| 08:15 | s2 1.7425; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 19; engage 1.29; all 1.5; pulse 33; gap 48.75; wt 1.5266666666666668 | dawn_handoff: reopen guarded wet-assist surface for Tuesday |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:15 | band_track_fraction | initial 0 |
| 20:15 | cold_vent_guard_delta_f | initial 8 |
| 20:15 | cool_stage2_exit_hysteresis_f | initial 1 |
| 20:15 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 20:15 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 20:15 | dwell_gate_ms | initial 285000 |
| 20:15 | enthalpy_close | initial 1 |
| 20:15 | enthalpy_open | initial -2 |
| 20:15 | fog_escalation_kpa | initial 0.4 |
| 20:15 | heat_hysteresis | initial 1 |
| 20:15 | min_fog_off_s | initial 96 |
| 20:15 | min_fog_on_s | initial 50.25 |
| 20:15 | mist_backoff_s | initial 600 |
| 20:15 | mist_max_closed_vent_s | initial 600 |
| 20:15 | mist_thermal_relief_s | initial 90 |
| 20:15 | mister_all_delay_s | initial 97.5 |
| 20:15 | mister_engage_delay_s | initial 48.75 |
| 20:15 | mister_water_budget_gal | initial 180 |
| 20:15 | night_vpd_bias_kpa | initial 0 |
| 20:15 | outdoor_staleness_max_s | initial 600 |
| 20:15 | sw_dwell_gate_enabled | initial 1 |
| 20:15 | sw_fog_closes_vent | initial 1 |
| 20:15 | sw_mister_closes_vent | initial 0 |
| 20:15 | sw_summer_vent_enabled | initial 1 |
| 20:15 | temp_hysteresis | initial 2.05 |
| 20:15 | vent_exchange_fraction | initial 0.3 |
| 20:15 | vent_prefer_dp_delta_f | initial 3 |
| 20:15 | vent_prefer_temp_delta_f | initial 4 |
| 20:15 | vpd_watch_dwell_s | initial 71.25 |
| 22:00 | cold_vent_guard_delta_f | 8 → 7 |
| 22:00 | direct_wet_stress_min_dew_margin_f | 8 → 10 |
| 22:00 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.22 |
| 22:00 | dwell_gate_ms | 285000 → 315000 |
| 22:00 | fog_escalation_kpa | 0.4 → 0.5 |
| 22:00 | min_fog_off_s | 96 → 126 |
| 22:00 | min_fog_on_s | 50.25 → 39 |
| 22:00 | mister_all_delay_s | 97.5 → 106.5 |
| 22:00 | mister_engage_delay_s | 48.75 → 53.25 |
| 22:00 | mister_water_budget_gal | 180 → 160 |
| 22:00 | temp_hysteresis | 2.05 → 2.23 |
| 22:00 | vent_prefer_dp_delta_f | 3 → 4 |
| 22:00 | vent_prefer_temp_delta_f | 4 → 3 |
| 22:00 | vpd_watch_dwell_s | 71.25 → 78.75 |
| 00:30 | direct_wet_stress_vpd_margin_kpa | 0.22 → 0.25 |
| 00:30 | dwell_gate_ms | 315000 → 330000 |
| 00:30 | min_fog_off_s | 126 → 132 |
| 00:30 | min_fog_on_s | 39 → 36.75 |
| 00:30 | mister_all_delay_s | 106.5 → 111 |
| 00:30 | mister_engage_delay_s | 53.25 → 55.5 |
| 00:30 | mister_water_budget_gal | 160 → 140 |
| 00:30 | temp_hysteresis | 2.23 → 2.3200000000000003 |
| 00:30 | vpd_watch_dwell_s | 78.75 → 82.5 |
| 05:30 | direct_wet_stress_min_dew_margin_f | 10 → 11 |
| 05:30 | dwell_gate_ms | 330000 → 315000 |
| 05:30 | mister_all_delay_s | 111 → 106.5 |
| 05:30 | mister_engage_delay_s | 55.5 → 53.25 |
| 05:30 | temp_hysteresis | 2.3200000000000003 → 2.23 |
| 05:30 | vpd_watch_dwell_s | 82.5 → 78.75 |
| 08:15 | cold_vent_guard_delta_f | 7 → 8 |
| 08:15 | direct_wet_stress_min_dew_margin_f | 11 → 8 |
| 08:15 | direct_wet_stress_vpd_margin_kpa | 0.25 → 0.07 |
| 08:15 | dwell_gate_ms | 315000 → 255000 |
| 08:15 | fog_escalation_kpa | 0.5 → 0.22 |
| 08:15 | min_fog_off_s | 132 → 84 |
| 08:15 | min_fog_on_s | 36.75 → 54.75 |
| 08:15 | mister_all_delay_s | 106.5 → 88.5 |
| 08:15 | mister_engage_delay_s | 53.25 → 44.25 |
| 08:15 | mister_water_budget_gal | 140 → 240 |
| 08:15 | temp_hysteresis | 2.23 → 1.87 |
| 08:15 | vent_prefer_dp_delta_f | 4 → 3 |
| 08:15 | vent_prefer_temp_delta_f | 3 → 4 |
| 08:15 | vpd_watch_dwell_s | 78.75 → 63.75 |
End-of-Day Summary
Climate
72.9–88.2°F; avg 78.4°F
0.77–1.80 kPa; avg 1.11 kPa
54.4–76.9%
Interior Light Evidence
- Crop DLI: unavailable
- Reason:
source_reading_missing - 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.2h
- VPD stress (>2.0 kPa): 7.2h
- Cold stress (<55°F): 3.0h
Economics
Not available
USD 0.00
Not available
Not available
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 766 min | Primary exhaust runtime. |
| Fan 2 | 758 min | Secondary exhaust runtime. |
| Vent | 834 min | Intake vent runtime. |
| Fog | 192 min | Fogger runtime. |
| Heat 1 electric | 0 min | Electric heater runtime. |
| Heat 2 gas | 0 min | Gas heater runtime. |
| Grow lights | 1278 min | Supplemental lighting runtime. |
| Mister south | 0.00h | South mister runtime. |
| Mister west | 0.00h | West mister runtime. |
| Mister center | 1.48h | Center mister runtime. |
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 84.1°F | 1.35 kPa | 66.4% |
| 13:00 | 85.3°F | 1.50 kPa | 65.2% |
| 14:00 | 84.9°F | 1.32 kPa | 70.1% |
| 15:00 | 84.3°F | 1.22 kPa | 71.1% |
| 16:00 | 83.2°F | 1.12 kPa | 72.5% |
| 17:00 | 82.5°F | 1.09 kPa | 72.4% |
| 18:00 | 81.0°F | 1.14 kPa | 69.2% |
| 19:00 | 79.0°F | 1.29 kPa | 62.5% |
| 20:00 | 77.5°F | 1.29 kPa | 60.7% |
| 21:00 | 76.5°F | 1.30 kPa | 59.1% |
| 22:00 | 75.5°F | 1.21 kPa | 60.9% |
| 23:00 | 75.1°F | 1.19 kPa | 60.6% |
| 00:00 | 74.6°F | 1.17 kPa | 60.5% |
| 01:00 | 74.3°F | 1.16 kPa | 60.3% |
| 02:00 | 74.1°F | 1.17 kPa | 59.7% |
| 03:00 | 73.9°F | 1.18 kPa | 59.1% |
| 04:00 | 73.6°F | 1.19 kPa | 58.4% |
| 05:00 | 73.7°F | 0.99 kPa | 65.1% |
| 06:00 | 75.0°F | 0.82 kPa | 72.5% |
| 07:00 | 75.5°F | 0.79 kPa | 73.9% |
| 08:00 | 76.7°F | 0.84 kPa | 73.2% |
| 09:00 | 79.2°F | 0.98 kPa | 71.3% |
| 10:00 | 80.5°F | 1.03 kPa | 71.2% |
| 11:00 | 82.3°F | 1.14 kPa | 70.0% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-07-21 | 4.7h | 8.1h | 3.3h |
| 2026-07-22 | 3.1h | 4.9h | 7.5h |
| 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 |