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.
6
3
2
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| End-of-day review and reset | 00:16 | MIDNIGHT | plan_written | Wrote public plan iris-20260714-0018. Resolved 00:19 MDT. |
| Morning planning cycle | 05:45 | SUNRISE | plan_written | Wrote public plan iris-20260714-0545. Resolved 05:47 MDT. |
| Solar peak planning checkpoint | 13:08 | SOLAR_MAX | action_completed | Delivery recorded without a public plan write. Resolved 13:08 MDT. |
| Peak Stress | 15:07 | TRANSITION | acked | Acknowledged: 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. |
| Decline | 19:31 | TRANSITION | acked | Acknowledged: 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 cycle | 20:30 | SUNSET | plan_written | Wrote public plan iris-20260714-2030. Resolved 20:32 MDT. |
🌅 Morning Cycle (12:19 AM) — iris-20260714-0018
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-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:
| Time | Values | Note |
|---|---|---|
| 00:15 | hyst 0.19749999999999998 | Post-midnight house is still dry-edge with safe dew margin; |
| 03:30 | hyst 0.20249999999999999 | Pre-dawn stays safe but dry-biased; maintain band-coupled mo |
| 05:30 | hyst 0.1925 | Sunrise ramp starts before outdoor VPD crosses band; pre-sta |
| 07:30 | hyst 0.1875 | Early-day handoff into severe clear hot-dry ramp; fog window |
| 10:30 | hyst 0.1875 | Peak solar/heat/VPD pressure: use strongest safe wet/fog ass |
| 17:30 | hyst 0.1925 | Fog window is closing but outdoor remains very dry; preserve |
| 21:30 | hyst 0.20749999999999996 | Evening taper is modest and only after expected measured rec |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:15 | s2 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.8666666666666667 | Post-midnight house is still dry-edge with safe dew margin; |
| 03:30 | s2 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.8666666666666667 | Pre-dawn stays safe but dry-biased; maintain band-coupled mo |
| 05:30 | s2 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.9333333333333331 | Sunrise ramp starts before outdoor VPD crosses band; pre-sta |
| 07:30 | s2 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.9866666666666668 | Early-day handoff into severe clear hot-dry ramp; fog window |
| 10:30 | s2 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.02 | Peak solar/heat/VPD pressure: use strongest safe wet/fog ass |
| 17:30 | s2 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.9333333333333331 | Fog window is closing but outdoor remains very dry; preserve |
| 21:30 | s2 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.7666666666666666 | Evening taper is modest and only after expected measured rec |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.20749999999999996 | Overnight between severe days: conserve only if recovered, b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | s2 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.7666666666666666 | Overnight between severe days: conserve only if recovered, b |
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 8 |
| 00:15 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 00:15 | dwell_gate_ms | initial 240000 |
| 00:15 | enthalpy_close | initial 1 |
| 00:15 | enthalpy_open | initial -2 |
| 00:15 | fog_escalation_kpa | initial 0.2 |
| 00:15 | heat_hysteresis | initial 1 |
| 00:15 | min_fog_off_s | initial 60 |
| 00:15 | min_fog_on_s | initial 63.75 |
| 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 84 |
| 00:15 | mister_engage_delay_s | initial 42 |
| 00:15 | mister_water_budget_gal | initial 300 |
| 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.78 |
| 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 60 |
| 03:30 | dwell_gate_ms | 240000 → 255000 |
| 03:30 | mister_all_delay_s | 84 → 88.5 |
| 03:30 | mister_engage_delay_s | 42 → 44.25 |
| 03:30 | temp_hysteresis | 1.78 → 1.87 |
| 03:30 | vpd_watch_dwell_s | 60 → 63.75 |
| 05:30 | dwell_gate_ms | 255000 → 225000 |
| 05:30 | fog_escalation_kpa | 0.2 → 0.18 |
| 05:30 | min_fog_off_s | 60 → 54 |
| 05:30 | min_fog_on_s | 63.75 → 66 |
| 05:30 | mister_all_delay_s | 88.5 → 79.5 |
| 05:30 | mister_engage_delay_s | 44.25 → 39.75 |
| 05:30 | temp_hysteresis | 1.87 → 1.69 |
| 05:30 | vpd_watch_dwell_s | 63.75 → 56.25 |
| 07:30 | dwell_gate_ms | 225000 → 210000 |
| 07:30 | fog_escalation_kpa | 0.18 → 0.15 |
| 07:30 | min_fog_off_s | 54 → 48 |
| 07:30 | min_fog_on_s | 66 → 68.25 |
| 07:30 | mister_all_delay_s | 79.5 → 75 |
| 07:30 | mister_engage_delay_s | 39.75 → 37.5 |
| 07:30 | temp_hysteresis | 1.69 → 1.6 |
| 07:30 | vpd_watch_dwell_s | 56.25 → 52.5 |
| 10:30 | min_fog_off_s | 48 → 44.4 |
| 10:30 | min_fog_on_s | 68.25 → 69.6 |
| 17:30 | dwell_gate_ms | 210000 → 225000 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.18 |
| 17:30 | min_fog_off_s | 44.4 → 54 |
| 17:30 | min_fog_on_s | 69.6 → 66 |
| 17:30 | mister_all_delay_s | 75 → 79.5 |
| 17:30 | mister_engage_delay_s | 37.5 → 39.75 |
| 17:30 | temp_hysteresis | 1.6 → 1.69 |
| 17:30 | vpd_watch_dwell_s | 52.5 → 56.25 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.06 |
| 21:30 | dwell_gate_ms | 225000 → 270000 |
| 21:30 | fog_escalation_kpa | 0.18 → 0.25 |
| 21:30 | min_fog_off_s | 54 → 72 |
| 21:30 | min_fog_on_s | 66 → 59.25 |
| 21:30 | mister_all_delay_s | 79.5 → 93 |
| 21:30 | mister_engage_delay_s | 39.75 → 46.5 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 21:30 | temp_hysteresis | 1.69 → 1.96 |
| 21:30 | vpd_watch_dwell_s | 56.25 → 67.5 |
🌅 Morning Cycle (5:47 AM) — iris-20260714-0545
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-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
97.0°F
12.0%
923.0 W/m²
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
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
45 min thermal lead, solar precool gain 1.4-1.5, full VENTILATE stack with wet assist; accept structural heat misses near 97F
repeat wet/fog assist and no premature evening taper on the next severe dry day
same pre-cool and wet VENTILATE posture
continue compliance-first wet assist for hotter 98F/RH 12-13% outlook
Parameter rationale
avoid peak VPD recovery clipping; water should be spent only while readings are outside the corridor
keep S1 wet assist materialized near vpd_high+0.05 instead of relying on guardrail correction
keep all-zone recovery available near vpd_high+0.22 to +0.25 during persistent VPD-high
reduce VPD-high band error during peak dry ventilation while dew margin remains above 8F
increase effective wet duty during peak stress without changing crop bands
permit bounded evening recovery while dew margin is healthy, then taper only after measured recovery
Setpoints
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:45 | hyst 0.19749999999999998 | Dawn safe/in-band; preserve moisture surface before dry ramp |
| 08:30 | hyst 0.19749999999999998 | Morning VPD ramp starts; band-couple wet assist before hot-d |
| 11:30 | hyst 0.20249999999999999 | Peak solar and VPD-high risk; compliance-first wet/fog assis |
| 15:30 | hyst 0.20249999999999999 | Late peak remains 96-97F with RH 12-14%; keep wet assist ope |
| 20:30 | hyst 0.20749999999999996 | Evening recovery: do not repeat premature taper while foreca |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:45 | s2 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.6333333333333333 | Dawn safe/in-band; preserve moisture surface before dry ramp |
| 08:30 | s2 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.7999999999999998 | Morning VPD ramp starts; band-couple wet assist before hot-d |
| 11:30 | s2 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.8666666666666667 | Peak solar and VPD-high risk; compliance-first wet/fog assis |
| 15:30 | s2 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.8399999999999999 | Late peak remains 96-97F with RH 12-14%; keep wet assist ope |
| 20:30 | s2 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.7000000000000002 | Evening recovery: do not repeat premature taper while foreca |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:30 | hyst 0.20249999999999999 | Wednesday repeats severe clear hot-dry pattern; restore morn |
| 20:30 | hyst 0.20749999999999996 | Second evening recovery stays wet-capable until observed VPD |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:30 | s2 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.8066666666666666 | Wednesday repeats severe clear hot-dry pattern; restore morn |
| 20:30 | s2 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.7000000000000002 | Second evening recovery stays wet-capable until observed VPD |
Thursday July 16
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:30 | hyst 0.20749999999999996 | Thursday outlook is hotter and still very dry; maintain comp |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:30 | s2 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.8666666666666667 | Thursday outlook is hotter and still very dry; maintain comp |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:45 | band_track_fraction | initial 0 |
| 05:45 | cold_vent_guard_delta_f | initial 8 |
| 05:45 | cool_stage2_exit_hysteresis_f | initial 1 |
| 05:45 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 05:45 | direct_wet_stress_vpd_margin_kpa | initial 0.08 |
| 05:45 | dwell_gate_ms | initial 240000 |
| 05:45 | enthalpy_close | initial 1 |
| 05:45 | enthalpy_open | initial -2 |
| 05:45 | fog_escalation_kpa | initial 0.2 |
| 05:45 | heat_hysteresis | initial 1 |
| 05:45 | min_fog_off_s | initial 66 |
| 05:45 | min_fog_on_s | initial 61.5 |
| 05:45 | mist_backoff_s | initial 600 |
| 05:45 | mist_max_closed_vent_s | initial 600 |
| 05:45 | mist_thermal_relief_s | initial 90 |
| 05:45 | mister_all_delay_s | initial 84 |
| 05:45 | mister_engage_delay_s | initial 42 |
| 05:45 | mister_water_budget_gal | initial 300 |
| 05:45 | night_vpd_bias_kpa | initial 0 |
| 05:45 | outdoor_staleness_max_s | initial 600 |
| 05:45 | sw_dwell_gate_enabled | initial 1 |
| 05:45 | sw_fog_closes_vent | initial 1 |
| 05:45 | sw_mister_closes_vent | initial 0 |
| 05:45 | sw_summer_vent_enabled | initial 1 |
| 05:45 | temp_hysteresis | initial 1.78 |
| 05:45 | vent_exchange_fraction | initial 0.3 |
| 05:45 | vent_prefer_dp_delta_f | initial 3 |
| 05:45 | vent_prefer_temp_delta_f | initial 4 |
| 05:45 | vpd_watch_dwell_s | initial 60 |
| 08:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 08:30 | fog_escalation_kpa | 0.2 → 0.15 |
| 08:30 | min_fog_off_s | 66 → 48 |
| 08:30 | min_fog_on_s | 61.5 → 68.25 |
| 11:30 | dwell_gate_ms | 240000 → 255000 |
| 11:30 | min_fog_off_s | 48 → 42 |
| 11:30 | min_fog_on_s | 68.25 → 70.5 |
| 11:30 | mister_all_delay_s | 84 → 88.5 |
| 11:30 | mister_engage_delay_s | 42 → 44.25 |
| 11:30 | temp_hysteresis | 1.78 → 1.87 |
| 11:30 | vpd_watch_dwell_s | 60 → 63.75 |
| 15:30 | min_fog_off_s | 42 → 44.4 |
| 15:30 | min_fog_on_s | 70.5 → 69.6 |
| 20:30 | dwell_gate_ms | 255000 → 270000 |
| 20:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 20:30 | min_fog_off_s | 44.4 → 60 |
| 20:30 | min_fog_on_s | 69.6 → 63.75 |
| 20:30 | mister_all_delay_s | 88.5 → 93 |
| 20:30 | mister_engage_delay_s | 44.25 → 46.5 |
| 20:30 | temp_hysteresis | 1.87 → 1.96 |
| 20:30 | vpd_watch_dwell_s | 63.75 → 67.5 |
| 07:30 | dwell_gate_ms | 270000 → 255000 |
| 07:30 | fog_escalation_kpa | 0.2 → 0.15 |
| 07:30 | min_fog_off_s | 60 → 48 |
| 07:30 | min_fog_on_s | 63.75 → 68.25 |
| 07:30 | mister_all_delay_s | 93 → 88.5 |
| 07:30 | mister_engage_delay_s | 46.5 → 44.25 |
| 07:30 | temp_hysteresis | 1.96 → 1.87 |
| 07:30 | vpd_watch_dwell_s | 67.5 → 63.75 |
| 20:30 | dwell_gate_ms | 255000 → 270000 |
| 20:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 20:30 | min_fog_off_s | 48 → 60 |
| 20:30 | min_fog_on_s | 68.25 → 63.75 |
| 20:30 | mister_all_delay_s | 88.5 → 93 |
| 20:30 | mister_engage_delay_s | 44.25 → 46.5 |
| 20:30 | temp_hysteresis | 1.87 → 1.96 |
| 20:30 | vpd_watch_dwell_s | 63.75 → 67.5 |
| 07:30 | fog_escalation_kpa | 0.2 → 0.15 |
| 07:30 | min_fog_off_s | 60 → 42 |
| 07:30 | min_fog_on_s | 63.75 → 70.5 |
🌆 Evening Cycle (8:32 PM) — iris-20260714-2030
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-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
96.0°F
16.0%
910.0 W/m²
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
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
restore full 300 gal budget, band-coupled wet assist, and fog escalation 0.15 for the severe dry ramp if SUNRISE is delayed
45 min thermal lead, solar precool gain 1.4, VENTILATE wet/fog assist; accept structural cooling capacity limits near 96F
Parameter rationale
avoid suppressing S1 wet assist during the measured recovery window while dew margin remains safe
keep all-zone recovery available near vpd_high+0.25 through evening dry-edge recovery
reduce low-value overnight water and relay churn without clock-tapering before measured recovery
avoid unnecessary nighttime fog intent while preserving aggressive fog for Wednesday daylight VPD stress
avoid clipping evening/morning recovery; only midnight posture modestly conserves after live recovery
Setpoints
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:30 | hyst 0.20249999999999999 | evening_settle: live house average is in corridor but east i |
| 22:30 | hyst 0.20749999999999996 | late_evening_recovery: solar is gone and humidity should hol |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:30 | s2 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.7000000000000002 | evening_settle: live house average is in corridor but east i |
| 22:30 | s2 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.58 | late_evening_recovery: solar is gone and humidity should hol |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.2125 | midnight_posture: no cold risk and fog is firmware-blocked o |
| 04:30 | hyst 0.20249999999999999 | pre_dawn: restore budget and a modest dry-ramp guard before |
| 07:30 | hyst 0.1925 | sunrise_handoff: if SUNRISE replanning is delayed, cover the |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | s2 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.4333333333333333 | midnight_posture: no cold risk and fog is firmware-blocked o |
| 04:30 | s2 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.58 | pre_dawn: restore budget and a modest dry-ramp guard before |
| 07:30 | s2 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.8199999999999998 | sunrise_handoff: if SUNRISE replanning is delayed, cover the |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:30 | band_track_fraction | initial 0 |
| 20:30 | cold_vent_guard_delta_f | initial 8 |
| 20:30 | cool_stage2_exit_hysteresis_f | initial 1 |
| 20:30 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 20:30 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 20:30 | dwell_gate_ms | initial 255000 |
| 20:30 | enthalpy_close | initial 1 |
| 20:30 | enthalpy_open | initial -2 |
| 20:30 | fog_escalation_kpa | initial 0.25 |
| 20:30 | heat_hysteresis | initial 1 |
| 20:30 | min_fog_off_s | initial 60 |
| 20:30 | min_fog_on_s | initial 63.75 |
| 20:30 | mist_backoff_s | initial 600 |
| 20:30 | mist_max_closed_vent_s | initial 600 |
| 20:30 | mist_thermal_relief_s | initial 90 |
| 20:30 | mister_all_delay_s | initial 88.5 |
| 20:30 | mister_engage_delay_s | initial 44.25 |
| 20:30 | mister_water_budget_gal | initial 300 |
| 20:30 | night_vpd_bias_kpa | initial 0 |
| 20:30 | outdoor_staleness_max_s | initial 600 |
| 20:30 | sw_dwell_gate_enabled | initial 1 |
| 20:30 | sw_fog_closes_vent | initial 1 |
| 20:30 | sw_mister_closes_vent | initial 0 |
| 20:30 | sw_summer_vent_enabled | initial 1 |
| 20:30 | temp_hysteresis | initial 1.87 |
| 20:30 | vent_exchange_fraction | initial 0.3 |
| 20:30 | vent_prefer_dp_delta_f | initial 3 |
| 20:30 | vent_prefer_temp_delta_f | initial 4 |
| 20:30 | vpd_watch_dwell_s | initial 63.75 |
| 22:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.08 |
| 22:30 | dwell_gate_ms | 255000 → 270000 |
| 22:30 | fog_escalation_kpa | 0.25 → 0.3 |
| 22:30 | min_fog_off_s | 60 → 72 |
| 22:30 | min_fog_on_s | 63.75 → 59.25 |
| 22:30 | mister_all_delay_s | 88.5 → 93 |
| 22:30 | mister_engage_delay_s | 44.25 → 46.5 |
| 22:30 | temp_hysteresis | 1.87 → 1.96 |
| 22:30 | vpd_watch_dwell_s | 63.75 → 67.5 |
| 00:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.12 |
| 00:30 | dwell_gate_ms | 270000 → 285000 |
| 00:30 | fog_escalation_kpa | 0.3 → 0.35 |
| 00:30 | min_fog_off_s | 72 → 90 |
| 00:30 | min_fog_on_s | 59.25 → 52.5 |
| 00:30 | mister_all_delay_s | 93 → 97.5 |
| 00:30 | mister_engage_delay_s | 46.5 → 48.75 |
| 00:30 | mister_water_budget_gal | 300 → 240 |
| 00:30 | temp_hysteresis | 1.96 → 2.05 |
| 00:30 | vpd_watch_dwell_s | 67.5 → 71.25 |
| 04:30 | direct_wet_stress_vpd_margin_kpa | 0.12 → 0.08 |
| 04:30 | dwell_gate_ms | 285000 → 255000 |
| 04:30 | fog_escalation_kpa | 0.35 → 0.25 |
| 04:30 | min_fog_off_s | 90 → 72 |
| 04:30 | min_fog_on_s | 52.5 → 59.25 |
| 04:30 | mister_all_delay_s | 97.5 → 88.5 |
| 04:30 | mister_engage_delay_s | 48.75 → 44.25 |
| 04:30 | mister_water_budget_gal | 240 → 300 |
| 04:30 | temp_hysteresis | 2.05 → 1.87 |
| 04:30 | vpd_watch_dwell_s | 71.25 → 63.75 |
| 07:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 07:30 | dwell_gate_ms | 255000 → 225000 |
| 07:30 | fog_escalation_kpa | 0.25 → 0.15 |
| 07:30 | min_fog_off_s | 72 → 48 |
| 07:30 | min_fog_on_s | 59.25 → 68.25 |
| 07:30 | mister_all_delay_s | 88.5 → 79.5 |
| 07:30 | mister_engage_delay_s | 44.25 → 39.75 |
| 07:30 | temp_hysteresis | 1.87 → 1.69 |
| 07:30 | vpd_watch_dwell_s | 63.75 → 56.25 |
End-of-Day Summary
Climate
69.1–90.0°F; avg 77.7°F
0.75–2.44 kPa; avg 1.26 kPa
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
USD —
USD 0.00
USD 1.770
USD —
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 712 min | Primary exhaust runtime. |
| Fan 2 | 717 min | Secondary exhaust runtime. |
| Vent | 789 min | Intake vent runtime. |
| Fog | 414 min | Fogger runtime. |
| Heat 1 electric | 0 min | Electric heater runtime. |
| Heat 2 gas | 0 min | Gas heater runtime. |
| Grow lights | 464 min | Supplemental lighting runtime. |
| Mister south | 0.00h | South mister runtime. |
| Mister west | 0.00h | West mister runtime. |
| Mister center | 1.99h | Center mister runtime. |
Water
- Total: 366 gal
- Mister: 171 gal
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 82.6°F | 1.27 kPa | 67.2% |
| 13:00 | 84.3°F | 1.40 kPa | 66.9% |
| 14:00 | 86.5°F | 1.58 kPa | 65.8% |
| 15:00 | 88.8°F | 1.95 kPa | 59.6% |
| 16:00 | 86.1°F | 1.84 kPa | 57.8% |
| 17:00 | 84.8°F | 1.71 kPa | 58.6% |
| 18:00 | 83.2°F | 1.38 kPa | 64.8% |
| 19:00 | 81.9°F | 1.24 kPa | 67.2% |
| 20:00 | 80.3°F | 1.13 kPa | 68.0% |
| 21:00 | 78.3°F | 1.18 kPa | 64.5% |
| 22:00 | 75.5°F | 1.20 kPa | 60.3% |
| 23:00 | 73.3°F | 1.21 kPa | 56.9% |
| 00:00 | 72.7°F | 1.15 kPa | 58.5% |
| 01:00 | 71.7°F | 1.14 kPa | 57.5% |
| 02:00 | 70.8°F | 1.17 kPa | 54.8% |
| 03:00 | 70.1°F | 1.15 kPa | 54.3% |
| 04:00 | 69.3°F | 1.02 kPa | 58.4% |
| 05:00 | 69.3°F | 0.79 kPa | 67.7% |
| 06:00 | 70.9°F | 0.82 kPa | 68.3% |
| 07:00 | 72.7°F | 0.91 kPa | 67.1% |
| 08:00 | 74.2°F | 1.03 kPa | 64.5% |
| 09:00 | 76.6°F | 1.16 kPa | 63.3% |
| 10:00 | 79.2°F | 1.13 kPa | 67.2% |
| 11:00 | 81.0°F | 1.17 kPa | 68.0% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-07-08 | 3.4h | 9.0h | 0.0h |
| 2026-07-09 | 0.5h | 4.6h | 0.0h |
| 2026-07-10 | 2.4h | 3.8h | 1.0h |
| 2026-07-11 | 3.8h | 9.0h | 9.2h |
| 2026-07-12 | 5.1h | 10.3h | 8.2h |
| 2026-07-13 | 4.5h | 9.2h | 9.3h |
| 2026-07-14 | 4.5h | 9.9h | 8.8h |