July 14, 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

6

Plan writes

3

No-change acknowledgements

2

Pending

0

EventDeliveredTypeStatusNote
End-of-day review and reset00:16MIDNIGHTplan_writtenWrote public plan iris-20260714-0018. Resolved 00:19 MDT.
Morning planning cycle05:45SUNRISEplan_writtenWrote public plan iris-20260714-0545. Resolved 05:47 MDT.
Solar peak planning checkpoint13:08SOLAR_MAXaction_completedDelivery recorded without a public plan write. Resolved 13:08 MDT.
Peak Stress15:07TRANSITIONackedAcknowledged: Peak-stress transition checked live climate, equipment, active plan, and setpoints. Conditions are severe but tracking the SUNRISE plan: VENTILATE with both fans, vent, fog, and center mister active; wet/fog paths are allowed; dew margin is safe at about 14F. Tactical wet-assist knobs are already at or near the aggressive/guardrail-compatible floor (fog_escalation_kpa 0.10, mister_pulse_gap_s 22.5s, mister_engage_kpa 1.25 near vpd_high+0.05, 300 gal budget)... Resolved 15:08 MDT.
Decline19:31TRANSITIONackedAcknowledged: Decline checkpoint reviewed live climate/equipment against active plan. House is warm and slightly VPD-high (82.8F, VPD 1.29 kPa vs high edge ~1.22-1.27) with safe dew margin 12.3F; controller is already in SEALED_MIST_FOG with vent/fans off and fog active, matching the plan’s measured-recovery posture. Existing setpoints remain band-coupled and aggressive enough for current dry recovery (mister_engage 1.07, all 1.26, gap 24, fog_escalation 0.15, 300 gal budget)... Resolved 19:31 MDT.
Evening planning cycle20:30SUNSETplan_writtenWrote public plan iris-20260714-2030. Resolved 20:32 MDT.

🌅 Morning Cycle (12:19 AM) — iris-20260714-0018

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-20260713-0544

Previous hypothesis: SUNRISE plan for Monday 2026-07-13. Daily scorecard is degraded by db_statement_timeout, and mandatory semantic retrieval is degraded because knowledge_search and lessons_search require OPENAI_API_KEY. I evaluated yesterday’s sunrise plan iris-20260712-0543 at 5/10, but the deterministic anchor was 2 because 640 VPD-high guardrail events and 573 held-by-guardrail events show the requested wet posture was repeatedly reshaped. I accept the anchor as the stronger materialization/compliance warning: safety and dew margin held, but VPD-high remained the limiting axis and water use rose to 413 gal. Current house is safe and inside corridor at about 70.3F, VPD 0.86 kPa, RH 66%, dew margin 11.8F, IDLE, with all relays off. Today’s forecast repeats extreme hot-dry stress: 100F, RH down to 8-11%, solar near 900 W/m2, and raw VPD near 6 kPa; corrected VPD remains severe after the morning ramp… Result: MIDNIGHT reset governed the early overnight/pre-dawn window before sunrise replacement. Window scorecard showed compliance about 70.8 with temp axis 50.6 and VPD axis 38.3; stress was dominated by VPD-high at about 2.60h plus heat stress 2.00h, with no cold stress and no dew-point risk. It correctly restored full wet-assist budget and kept dew/safety safe, but VPD remained the limiting axis and repeated guardrail/missed audit rows show materialization was still being reshaped. Outcome: safe but only partially effective at recovering the dry edge before the severe hot-dry daytime ramp. Score: 4/10

New finding: After midnight resets on consecutive extreme hot-dry July days, preserving full wet-assist budget is necessary but not sufficient; if VPD is still near/above band, keep guardrail-compatible moisture active through measured recovery and treat dispatcher guardrail/missed rows as evidence to request directly compatible values rather than relying on correction. → Added to Lessons Learned

Hypothesis

Testing: Test whether avoiding midnight/sunset resource taper until measured VPD recovery reduces guardrail reshaping and VPD-high alerts on the second severe hot-dry day. Expected outcome: Dew risk remains 0h; no water-budget clipping; VPD-high alerts improve versus 16.8h prior day if physics allows, with fewer guardrail-held events because requested values are band-coupled.

Setpoints

Tuesday July 14

Primary crop-band changes:

TimeValuesNote
00:15hyst 0.19749999999999998Post-midnight house is still dry-edge with safe dew margin;
03:30hyst 0.20249999999999999Pre-dawn stays safe but dry-biased; maintain band-coupled mo
05:30hyst 0.1925Sunrise ramp starts before outdoor VPD crosses band; pre-sta
07:30hyst 0.1875Early-day handoff into severe clear hot-dry ramp; fog window
10:30hyst 0.1875Peak solar/heat/VPD pressure: use strongest safe wet/fog ass
17:30hyst 0.1925Fog window is closing but outdoor remains very dry; preserve
21:30hyst 0.20749999999999996Evening taper is modest and only after expected measured rec

Tactical tunable changes:

TimeValuesNote
00:15s2 1.7075; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 37.5; gap 33.75; wt 1.8666666666666667Post-midnight house is still dry-edge with safe dew margin;
03:30s2 1.69; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 37.5; gap 33.75; wt 1.8666666666666667Pre-dawn stays safe but dry-biased; maintain band-coupled mo
05:30s2 1.5875; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.9333333333333331Sunrise ramp starts before outdoor VPD crosses band; pre-sta
07:30s2 1.5025; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 43.5; gap 26.25; wt 1.9866666666666668Early-day handoff into severe clear hot-dry ramp; fog window
10:30s2 1.4935; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 45; gap 24; wt 2.02Peak solar/heat/VPD pressure: use strongest safe wet/fog ass
17:30s2 1.605; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.9333333333333331Fog window is closing but outdoor remains very dry; preserve
21:30s2 1.755; cool_exit 1.96; all_fans 0; dw_stress 1; dw_until 22; engage 1.28; all 1.47; pulse 33.75; gap 41.25; wt 1.7666666666666666Evening taper is modest and only after expected measured rec

Wednesday July 15

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.20749999999999996Overnight between severe days: conserve only if recovered, b

Tactical tunable changes:

TimeValuesNote
00:30s2 1.755; cool_exit 1.96; all_fans 0; dw_stress 1; dw_until 22; engage 1.28; all 1.47; pulse 33.75; gap 41.25; wt 1.7666666666666666Overnight between severe days: conserve only if recovered, b

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 8
00:15direct_wet_stress_vpd_margin_kpainitial 0.05
00:15dwell_gate_msinitial 240000
00:15enthalpy_closeinitial 1
00:15enthalpy_openinitial -2
00:15fog_escalation_kpainitial 0.2
00:15heat_hysteresisinitial 1
00:15min_fog_off_sinitial 60
00:15min_fog_on_sinitial 63.75
00:15mist_backoff_sinitial 600
00:15mist_max_closed_vent_sinitial 600
00:15mist_thermal_relief_sinitial 90
00:15mister_all_delay_sinitial 84
00:15mister_engage_delay_sinitial 42
00:15mister_water_budget_galinitial 300
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 1.78
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 60
03:30dwell_gate_ms240000 → 255000
03:30mister_all_delay_s84 → 88.5
03:30mister_engage_delay_s42 → 44.25
03:30temp_hysteresis1.78 → 1.87
03:30vpd_watch_dwell_s60 → 63.75
05:30dwell_gate_ms255000 → 225000
05:30fog_escalation_kpa0.2 → 0.18
05:30min_fog_off_s60 → 54
05:30min_fog_on_s63.75 → 66
05:30mister_all_delay_s88.5 → 79.5
05:30mister_engage_delay_s44.25 → 39.75
05:30temp_hysteresis1.87 → 1.69
05:30vpd_watch_dwell_s63.75 → 56.25
07:30dwell_gate_ms225000 → 210000
07:30fog_escalation_kpa0.18 → 0.15
07:30min_fog_off_s54 → 48
07:30min_fog_on_s66 → 68.25
07:30mister_all_delay_s79.5 → 75
07:30mister_engage_delay_s39.75 → 37.5
07:30temp_hysteresis1.69 → 1.6
07:30vpd_watch_dwell_s56.25 → 52.5
10:30min_fog_off_s48 → 44.4
10:30min_fog_on_s68.25 → 69.6
17:30dwell_gate_ms210000 → 225000
17:30fog_escalation_kpa0.15 → 0.18
17:30min_fog_off_s44.4 → 54
17:30min_fog_on_s69.6 → 66
17:30mister_all_delay_s75 → 79.5
17:30mister_engage_delay_s37.5 → 39.75
17:30temp_hysteresis1.6 → 1.69
17:30vpd_watch_dwell_s52.5 → 56.25
21:30direct_wet_stress_vpd_margin_kpa0.05 → 0.06
21:30dwell_gate_ms225000 → 270000
21:30fog_escalation_kpa0.18 → 0.25
21:30min_fog_off_s54 → 72
21:30min_fog_on_s66 → 59.25
21:30mister_all_delay_s79.5 → 93
21:30mister_engage_delay_s39.75 → 46.5
21:30mister_water_budget_gal300 → 260
21:30temp_hysteresis1.69 → 1.96
21:30vpd_watch_dwell_s56.25 → 67.5

🌅 Morning Cycle (5:47 AM) — iris-20260714-0545

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-20260713-2031

Previous hypothesis: SUNSET plan for Monday 2026-07-13. Daily scorecard is degraded by db_statement_timeout and semantic retrieval is degraded because OPENAI_API_KEY is missing, so this plan is grounded in assembled context, live MCP climate/forecast/alerts, active lessons, plan evaluations, and controller action proof. I evaluated iris-20260713-0200 at 5/10 versus anchor 3 and iris-20260713-0544 at 5/10 versus anchor 2; the daytime self-score/anchor gap is because safety and dew margin held while the deterministic anchor correctly penalized 322 VPD-high guardrail events and 254 held-by-guardrail events. Today’s bottleneck was VPD-high, not dew or heating: current house is warm and dry-edge at about 79.7F, VPD 1.32 kPa vs high edge about 1.22, RH 62%, dew margin 14.1F, with no cold risk overnight… Result: SUNRISE plan governed the main 2026-07-14 severe hot-dry daylight window. Structured conditions matched directionally: outdoor peak 95.9F vs 97F forecast, actual solar peak 1077 W/m2 exceeded the 923 W/m2 forecast, and the humidity/VPD ramp was severe. The predicted heat and VPD-high stress windows both occurred. Window score was 57.8, with temp compliance 40.0%, VPD compliance 30.3%, heat stress 5.61h, VPD-high stress 7.09h, negligible VPD-low stress, no cold stress, and dew safety preserved. Rationale grading: full 300 gal wet budget avoided clipping but total water was high at 366 gal; band-coupled S1/all-zone assist and fog escalation were materialized only partly because guardrails repeatedly reshaped requested thresholds and gap values; shorter pulse gap and evening recovery helped safety but did not deliver VPD compliance; direct wet latest-hour intent appears missed/unsupported. Hypothesis was safe and correctly identified the stress class, but measurable compliance goals were only partially met and the plan overestimated how much wet/fog assist could offset physics-limited heat plus very high solar. Score: 4/10

New finding: On clear July days with solar above 1000 W/m2 and outdoor peak near 96F, aggressive band-coupled wet assist can preserve dew safety but may still leave both temp and VPD compliance poor; treat the day as physics-limited plus moisture-capacity-limited, keep requests directly guardrail-compatible, and do not expect fog/mist changes alone to recover VPD under sustained VENTILATE. → Added to Lessons Learned

Hypothesis

Testing: Test whether using guardrail-compatible wet assist all day and delaying evening taper until measured VPD recovery reduces VPD-high alerts versus the prior clock-based taper pattern. Expected outcome: Dew-risk hours remain 0; VPD-high alerts reduce versus yesterday’s 16.8h even if heat misses remain physics-limited; guardrail held events fall because requested intent matches the active moisture guardrail.

Conditions

Outdoor peak

97.0°F

RH minimum

12.0%

Solar peak

923.0 W/m²

Cloud average

0.0%

extreme clear hot-dry July day after prior 16.8h VPD-stress day; forecast VPD has positive bias but corrected VPD still exceeds band from morning ramp through evening

Expected stress windows

vpd_highhigh · 2026-07-14T08:30:00-06:00 to 2026-07-14T22:00:00-06:00

band-coupled wet assist: engage near vpd_high+0.05, all-zone near +0.20 to +0.25, mist duty 35-40%, fog escalation 0.15 while gates allow, wet recovery to 22:00 if dew margin holds

heathigh · 2026-07-14T11:00:00-06:00 to 2026-07-14T21:00:00-06:00

45 min thermal lead, solar precool gain 1.4-1.5, full VENTILATE stack with wet assist; accept structural heat misses near 97F

vpd_highhigh · 2026-07-15T08:00:00-06:00 to 2026-07-15T22:00:00-06:00

repeat wet/fog assist and no premature evening taper on the next severe dry day

heathigh · 2026-07-15T11:00:00-06:00 to 2026-07-15T21:00:00-06:00

same pre-cool and wet VENTILATE posture

vpd_highhigh · 2026-07-16T08:00:00-06:00 to 2026-07-16T23:00:00-06:00

continue compliance-first wet assist for hotter 98F/RH 12-13% outlook

Parameter rationale

mister_water_budget_gal300.0 → 300.0; 97F/RH 12%/solar 923 W/m2 today after yesterday reached 16.8h VPD stress

avoid peak VPD recovery clipping; water should be spent only while readings are outside the corridor

mister_engage_kpa1.27 → 1.27; current VPD is in band but forecast crosses above band by 08:00-09:00 with dew margin 10.6F

keep S1 wet assist materialized near vpd_high+0.05 instead of relying on guardrail correction

mister_all_kpa1.44 → 1.44; prior vent_moisture_capacity_limit alerts and broad hot-dry ventilation pattern

keep all-zone recovery available near vpd_high+0.22 to +0.25 during persistent VPD-high

fog_escalation_kpa0.18 → 0.15; hot-dry VENTILATE overlaps the 07:00-17:00 firmware fog window and fog is the 7x wet path

reduce VPD-high band error during peak dry ventilation while dew margin remains above 8F

mister_pulse_gap_s30.0 → 24.0; solar >750 W/m2 from 11:00-16:00 and RH below 15% from 14:00-18:00

increase effective wet duty during peak stress without changing crop bands

direct_wet_stress_latest_hour21.0 → 22.0; forecast VPD remains above 2.5 kPa through 22:00 and yesterday evening VPD did not recover by clock taper

permit bounded evening recovery while dew margin is healthy, then taper only after measured recovery

Setpoints

Tuesday July 14

Primary crop-band changes:

TimeValuesNote
05:45hyst 0.19749999999999998Dawn safe/in-band; preserve moisture surface before dry ramp
08:30hyst 0.19749999999999998Morning VPD ramp starts; band-couple wet assist before hot-d
11:30hyst 0.20249999999999999Peak solar and VPD-high risk; compliance-first wet/fog assis
15:30hyst 0.20249999999999999Late peak remains 96-97F with RH 12-14%; keep wet assist ope
20:30hyst 0.20749999999999996Evening recovery: do not repeat premature taper while foreca

Tactical tunable changes:

TimeValuesNote
05:45s2 1.715; cool_exit 1.78; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.47; pulse 33.75; gap 37.5; wt 1.6333333333333333Dawn safe/in-band; preserve moisture surface before dry ramp
08:30s2 1.6; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 41.25; gap 26.25; wt 1.7999999999999998Morning VPD ramp starts; band-couple wet assist before hot-d
11:30s2 1.5675000000000001; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667Peak solar and VPD-high risk; compliance-first wet/fog assis
15:30s2 1.6085; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 43.5; gap 24; wt 1.8399999999999999Late peak remains 96-97F with RH 12-14%; keep wet assist ope
20:30s2 1.77; cool_exit 1.96; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.47; pulse 37.5; gap 33.75; wt 1.7000000000000002Evening recovery: do not repeat premature taper while foreca

Wednesday July 15

Primary crop-band changes:

TimeValuesNote
07:30hyst 0.20249999999999999Wednesday repeats severe clear hot-dry pattern; restore morn
20:30hyst 0.20749999999999996Second evening recovery stays wet-capable until observed VPD

Tactical tunable changes:

TimeValuesNote
07:30s2 1.6; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 42; gap 26.25; wt 1.8066666666666666Wednesday repeats severe clear hot-dry pattern; restore morn
20:30s2 1.77; cool_exit 1.96; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.47; pulse 37.5; gap 33.75; wt 1.7000000000000002Second evening recovery stays wet-capable until observed VPD

Thursday July 16

Primary crop-band changes:

TimeValuesNote
07:30hyst 0.20749999999999996Thursday outlook is hotter and still very dry; maintain comp

Tactical tunable changes:

TimeValuesNote
07:30s2 1.5675000000000001; cool_exit 1.96; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667Thursday outlook is hotter and still very dry; maintain comp

Changed secondary parameters:

TimeParameterChange
05:45band_track_fractioninitial 0
05:45cold_vent_guard_delta_finitial 8
05:45cool_stage2_exit_hysteresis_finitial 1
05:45direct_wet_stress_min_dew_margin_finitial 8
05:45direct_wet_stress_vpd_margin_kpainitial 0.08
05:45dwell_gate_msinitial 240000
05:45enthalpy_closeinitial 1
05:45enthalpy_openinitial -2
05:45fog_escalation_kpainitial 0.2
05:45heat_hysteresisinitial 1
05:45min_fog_off_sinitial 66
05:45min_fog_on_sinitial 61.5
05:45mist_backoff_sinitial 600
05:45mist_max_closed_vent_sinitial 600
05:45mist_thermal_relief_sinitial 90
05:45mister_all_delay_sinitial 84
05:45mister_engage_delay_sinitial 42
05:45mister_water_budget_galinitial 300
05:45night_vpd_bias_kpainitial 0
05:45outdoor_staleness_max_sinitial 600
05:45sw_dwell_gate_enabledinitial 1
05:45sw_fog_closes_ventinitial 1
05:45sw_mister_closes_ventinitial 0
05:45sw_summer_vent_enabledinitial 1
05:45temp_hysteresisinitial 1.78
05:45vent_exchange_fractioninitial 0.3
05:45vent_prefer_dp_delta_finitial 3
05:45vent_prefer_temp_delta_finitial 4
05:45vpd_watch_dwell_sinitial 60
08:30direct_wet_stress_vpd_margin_kpa0.08 → 0.05
08:30fog_escalation_kpa0.2 → 0.15
08:30min_fog_off_s66 → 48
08:30min_fog_on_s61.5 → 68.25
11:30dwell_gate_ms240000 → 255000
11:30min_fog_off_s48 → 42
11:30min_fog_on_s68.25 → 70.5
11:30mister_all_delay_s84 → 88.5
11:30mister_engage_delay_s42 → 44.25
11:30temp_hysteresis1.78 → 1.87
11:30vpd_watch_dwell_s60 → 63.75
15:30min_fog_off_s42 → 44.4
15:30min_fog_on_s70.5 → 69.6
20:30dwell_gate_ms255000 → 270000
20:30fog_escalation_kpa0.15 → 0.2
20:30min_fog_off_s44.4 → 60
20:30min_fog_on_s69.6 → 63.75
20:30mister_all_delay_s88.5 → 93
20:30mister_engage_delay_s44.25 → 46.5
20:30temp_hysteresis1.87 → 1.96
20:30vpd_watch_dwell_s63.75 → 67.5
07:30dwell_gate_ms270000 → 255000
07:30fog_escalation_kpa0.2 → 0.15
07:30min_fog_off_s60 → 48
07:30min_fog_on_s63.75 → 68.25
07:30mister_all_delay_s93 → 88.5
07:30mister_engage_delay_s46.5 → 44.25
07:30temp_hysteresis1.96 → 1.87
07:30vpd_watch_dwell_s67.5 → 63.75
20:30dwell_gate_ms255000 → 270000
20:30fog_escalation_kpa0.15 → 0.2
20:30min_fog_off_s48 → 60
20:30min_fog_on_s68.25 → 63.75
20:30mister_all_delay_s88.5 → 93
20:30mister_engage_delay_s44.25 → 46.5
20:30temp_hysteresis1.87 → 1.96
20:30vpd_watch_dwell_s63.75 → 67.5
07:30fog_escalation_kpa0.2 → 0.15
07:30min_fog_off_s60 → 42
07:30min_fog_on_s63.75 → 70.5

🌆 Evening Cycle (8:32 PM) — iris-20260714-2030

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-20260714-0545

Previous hypothesis: SUNRISE plan for Tuesday 2026-07-14. Yesterday’s daily scorecard endpoint is degraded by db_statement_timeout, and mandatory semantic retrieval is degraded because knowledge_search/lessons_search require OPENAI_API_KEY. I evaluated iris-20260713-0544 at 5/10, but plan_evaluate returned deterministic anchor 2 due 324 VPD-high guardrail events and 256 held-by-guardrail events; I accept the anchor as the stronger materialization warning. The forecast repeats an extreme clear hot-dry sequence: today 97F, RH 12-13%, solar 923 W/m2, raw VPD near 5.15 kPa, with corrected VPD still far above the Vanda/food corridor from late morning through evening. Current house is safe and in-band at about 69.3F, VPD 0.76 kPa, RH 69%, dew margin 10.6F, IDLE, all relays off… Result: SUNSET plan governed the late 2026-07-14 recovery / early 2026-07-15 pre-dawn window. It correctly diagnosed VPD-high as the remaining bottleneck after the severe hot-dry day and preserved dew safety: dp_margin_min stayed 8.8F for the day, with 0.0 dew-risk hours and no cold stress. However, the short governed window still scored only 58.9 with temp compliance 44.1% and VPD compliance 33.8%; stress in the window remained split between heat (~0.47h) and VPD-high (~0.55h). Daily 2026-07-14 score was 69.9, but VPD compliance was only 36.6% and VPD-high stress dominated at 13.96h versus 11.05h heat stress. Water use was high at 366 gal total and 171 gal mister water, well above the 167 gal 7-day average, while cost/energy fields were unavailable. Overall: safe and directionally correct, but only partially effective at dry-edge recovery and still guardrail/materialization-limited. Score: 4/10

Hypothesis

Testing: Test whether measured-recovery evening taper plus pre-dawn restoration preserves dew safety and reduces overnight water/churn without reopening VPD-high stress before the Wednesday dry ramp. Expected outcome: By 06:00, dew margin remains above 8F with 0 dp-risk hours, no cold stress, and VPD-high does not grow by more than 1 additional hour overnight; daytime handoff preserves wet-assist coverage if the 07:30 SUNRISE cycle is delayed.

Conditions

Outdoor peak

96.0°F

RH minimum

16.0%

Solar peak

910.0 W/m²

Cloud average

0.0%

warm dry evening after extreme hot-dry day; live house average VPD is served but east zone remains dry-edge, with another clear 96F/RH 16%/solar 900+ W/m2 Wednesday ramp ahead

Expected stress windows

vpd_highmedium · 2026-07-14T20:30:00-06:00 to 2026-07-14T22:30:00-06:00

keep moisture engage near vpd_high+0.05 and all-zone near +0.25 while dew margin remains above 8F; taper only after measured recovery

vpd_highhigh · 2026-07-15T08:00:00-06:00 to 2026-07-15T22:00:00-06:00

restore full 300 gal budget, band-coupled wet assist, and fog escalation 0.15 for the severe dry ramp if SUNRISE is delayed

heathigh · 2026-07-15T11:00:00-06:00 to 2026-07-15T21:00:00-06:00

45 min thermal lead, solar precool gain 1.4, VENTILATE wet/fog assist; accept structural cooling capacity limits near 96F

Parameter rationale

mister_engage_kpa1.27 → 1.27; live average VPD is served at 1.05 kPa but east is dry-edge at 1.34 kPa and today's VPD-high stress reached 11.14h

avoid suppressing S1 wet assist during the measured recovery window while dew margin remains safe

mister_all_kpa1.44 → 1.47; zone VPD spread exceeds 0.5 kPa and broad-house VPD alerts fired during peak heat

keep all-zone recovery available near vpd_high+0.25 through evening dry-edge recovery

mister_pulse_gap_s24.0 → 35.0; solar is zero overnight and humidity holds better sealed after recovery

reduce low-value overnight water and relay churn without clock-tapering before measured recovery

fog_escalation_kpa0.15 → 0.3; fog is firmware-blocked overnight and dew margin is safe; next morning handoff returns to 0.15 for the dry ramp

avoid unnecessary nighttime fog intent while preserving aggressive fog for Wednesday daylight VPD stress

mister_water_budget_gal300.0 → 300.0; current average VPD is served but east remains dry-edge and tomorrow repeats severe VPD-high risk

avoid clipping evening/morning recovery; only midnight posture modestly conserves after live recovery

Setpoints

Tuesday July 14

Primary crop-band changes:

TimeValuesNote
20:30hyst 0.20249999999999999evening_settle: live house average is in corridor but east i
22:30hyst 0.20749999999999996late_evening_recovery: solar is gone and humidity should hol

Tactical tunable changes:

TimeValuesNote
20:30s2 1.75; cool_exit 1.87; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.47; pulse 37.5; gap 33.75; wt 1.7000000000000002evening_settle: live house average is in corridor but east i
22:30s2 1.815; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.52; pulse 31.5; gap 41.25; wt 1.58late_evening_recovery: solar is gone and humidity should hol

Wednesday July 15

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.2125midnight_posture: no cold risk and fog is firmware-blocked o
04:30hyst 0.20249999999999999pre_dawn: restore budget and a modest dry-ramp guard before
07:30hyst 0.1925sunrise_handoff: if SUNRISE replanning is delayed, cover the

Tactical tunable changes:

TimeValuesNote
00:30s2 1.8599999999999999; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 22; engage 1.3399999999999999; all 1.5699999999999998; pulse 30; gap 52.5; wt 1.4333333333333333midnight_posture: no cold risk and fog is firmware-blocked o
04:30s2 1.71; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.5; pulse 31.5; gap 41.25; wt 1.58pre_dawn: restore budget and a modest dry-ramp guard before
07:30s2 1.51; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 43.5; gap 26.25; wt 1.8199999999999998sunrise_handoff: if SUNRISE replanning is delayed, cover the

Changed secondary parameters:

TimeParameterChange
20:30band_track_fractioninitial 0
20:30cold_vent_guard_delta_finitial 8
20:30cool_stage2_exit_hysteresis_finitial 1
20:30direct_wet_stress_min_dew_margin_finitial 8
20:30direct_wet_stress_vpd_margin_kpainitial 0.05
20:30dwell_gate_msinitial 255000
20:30enthalpy_closeinitial 1
20:30enthalpy_openinitial -2
20:30fog_escalation_kpainitial 0.25
20:30heat_hysteresisinitial 1
20:30min_fog_off_sinitial 60
20:30min_fog_on_sinitial 63.75
20:30mist_backoff_sinitial 600
20:30mist_max_closed_vent_sinitial 600
20:30mist_thermal_relief_sinitial 90
20:30mister_all_delay_sinitial 88.5
20:30mister_engage_delay_sinitial 44.25
20:30mister_water_budget_galinitial 300
20:30night_vpd_bias_kpainitial 0
20:30outdoor_staleness_max_sinitial 600
20:30sw_dwell_gate_enabledinitial 1
20:30sw_fog_closes_ventinitial 1
20:30sw_mister_closes_ventinitial 0
20:30sw_summer_vent_enabledinitial 1
20:30temp_hysteresisinitial 1.87
20:30vent_exchange_fractioninitial 0.3
20:30vent_prefer_dp_delta_finitial 3
20:30vent_prefer_temp_delta_finitial 4
20:30vpd_watch_dwell_sinitial 63.75
22:30direct_wet_stress_vpd_margin_kpa0.05 → 0.08
22:30dwell_gate_ms255000 → 270000
22:30fog_escalation_kpa0.25 → 0.3
22:30min_fog_off_s60 → 72
22:30min_fog_on_s63.75 → 59.25
22:30mister_all_delay_s88.5 → 93
22:30mister_engage_delay_s44.25 → 46.5
22:30temp_hysteresis1.87 → 1.96
22:30vpd_watch_dwell_s63.75 → 67.5
00:30direct_wet_stress_vpd_margin_kpa0.08 → 0.12
00:30dwell_gate_ms270000 → 285000
00:30fog_escalation_kpa0.3 → 0.35
00:30min_fog_off_s72 → 90
00:30min_fog_on_s59.25 → 52.5
00:30mister_all_delay_s93 → 97.5
00:30mister_engage_delay_s46.5 → 48.75
00:30mister_water_budget_gal300 → 240
00:30temp_hysteresis1.96 → 2.05
00:30vpd_watch_dwell_s67.5 → 71.25
04:30direct_wet_stress_vpd_margin_kpa0.12 → 0.08
04:30dwell_gate_ms285000 → 255000
04:30fog_escalation_kpa0.35 → 0.25
04:30min_fog_off_s90 → 72
04:30min_fog_on_s52.5 → 59.25
04:30mister_all_delay_s97.5 → 88.5
04:30mister_engage_delay_s48.75 → 44.25
04:30mister_water_budget_gal240 → 300
04:30temp_hysteresis2.05 → 1.87
04:30vpd_watch_dwell_s71.25 → 63.75
07:30direct_wet_stress_vpd_margin_kpa0.08 → 0.05
07:30dwell_gate_ms255000 → 225000
07:30fog_escalation_kpa0.25 → 0.15
07:30min_fog_off_s72 → 48
07:30min_fog_on_s59.25 → 68.25
07:30mister_all_delay_s88.5 → 79.5
07:30mister_engage_delay_s44.25 → 39.75
07:30temp_hysteresis1.87 → 1.69
07:30vpd_watch_dwell_s63.75 → 56.25

End-of-Day Summary

Climate

Temperature

69.1–90.0°F; avg 77.7°F

VPD

0.75–2.44 kPa; avg 1.26 kPa

Relative humidity

50.0–74.4%

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): 4.5h
  • VPD stress (>2.0 kPa): 9.9h
  • Cold stress (<55°F): 8.8h

Economics

Electric

USD —

Gas

USD 0.00

Water

USD 1.770

Total

USD —

Equipment Runtimes

EquipmentRuntimeReading
Fan 1712 minPrimary exhaust runtime.
Fan 2717 minSecondary exhaust runtime.
Vent789 minIntake vent runtime.
Fog414 minFogger runtime.
Heat 1 electric0 minElectric heater runtime.
Heat 2 gas0 minGas heater runtime.
Grow lights464 minSupplemental lighting runtime.
Mister south0.00hSouth mister runtime.
Mister west0.00hWest mister runtime.
Mister center1.99hCenter mister runtime.

Water

  • Total: 366 gal
  • Mister: 171 gal

Hourly Pattern

HourTemperatureVPDRH
12:0082.6°F1.27 kPa67.2%
13:0084.3°F1.40 kPa66.9%
14:0086.5°F1.58 kPa65.8%
15:0088.8°F1.95 kPa59.6%
16:0086.1°F1.84 kPa57.8%
17:0084.8°F1.71 kPa58.6%
18:0083.2°F1.38 kPa64.8%
19:0081.9°F1.24 kPa67.2%
20:0080.3°F1.13 kPa68.0%
21:0078.3°F1.18 kPa64.5%
22:0075.5°F1.20 kPa60.3%
23:0073.3°F1.21 kPa56.9%
00:0072.7°F1.15 kPa58.5%
01:0071.7°F1.14 kPa57.5%
02:0070.8°F1.17 kPa54.8%
03:0070.1°F1.15 kPa54.3%
04:0069.3°F1.02 kPa58.4%
05:0069.3°F0.79 kPa67.7%
06:0070.9°F0.82 kPa68.3%
07:0072.7°F0.91 kPa67.1%
08:0074.2°F1.03 kPa64.5%
09:0076.6°F1.16 kPa63.3%
10:0079.2°F1.13 kPa67.2%
11:0081.0°F1.17 kPa68.0%

7-Day Stress Context

DateHeatVPD highCold
2026-07-083.4h9.0h0.0h
2026-07-090.5h4.6h0.0h
2026-07-102.4h3.8h1.0h
2026-07-113.8h9.0h9.2h
2026-07-125.1h10.3h8.2h
2026-07-134.5h9.2h9.3h
2026-07-144.5h9.9h8.8h