May 31, 2026

Generated lab notebook from daily_summary, plan_journal, plan_delivery_log, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.

Planner Execution Ledger

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

Delivery events

8

Plan writes

4

No-change acknowledgements

4

Pending

0

EventDeliveredTypeStatusNote
End-of-day review and reset00:15MIDNIGHTplan_writtenWrote public plan iris-20260531-0015. Resolved 00:17 MDT.
Morning planning cycle05:34SUNRISEplan_writtenWrote public plan iris-20260531-0534. Resolved 05:37 MDT.
Forecast deviation05:49FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION no tuning: climate reading that shows outdoor temp 65.7F vs forecast 51.3F is stale by about 10h, climate action proof is stale, and equipment is coherently idle. Treat as telemetry/data freshness gap or stale deviation basis, not a live weather miss. Existing SUNRISE plan already carries band-coupled dry-ramp moisture posture for the forecasted hot/dry day. Resolved 05:50 MDT.
Forecast deviation06:50FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION temp_f observed 65.7F vs forecast 50.7F was assessed with climate/equipment checks. Live climate context is degraded: climate row is ~39759s old and climate action proof is stale, while forecast data itself is fresh. Equipment reports all climate relays off/IDLE and the active SUNRISE dry-ramp plan is already in a compliance-first hot-dry posture... Resolved 06:50 MDT.
Solar peak planning checkpoint12:59SOLAR_MAXplan_writtenWrote non-archive plan iris-oneshot-20260531-1300. Resolved 13:00 MDT.
Peak Stress14:58TRANSITIONackedAcknowledged: Peak-stress transition checked live climate, equipment, active plan, setpoints, and relevant hot-dry lessons. Conditions are tracking the current SUNRISE plan: greenhouse is in VENTILATE at 85.6F, only 0.6F above temp_high, VPD 1.29 kPa is still below the 1.38 kPa high edge with 11.2F dew margin, both fans plus vent are active, and fog assist is already on. Existing posture is already band-coupled/aggressive for the dry peak (fog_escalation_kpa 0.15, mister_pulse_gap_s 20, mister_all_kpa 1... Resolved 14:59 MDT.
Decline19:23TRANSITIONackedAcknowledged: Decline checkpoint reviewed with fresh climate/equipment/plan/setpoint data. No tunable change: house is still VPD-high and slightly hot in VENTILATE (76.9F, VPD 1.76 vs high 1.24, dew margin 23F, vent+fan1 on), with no VPD-low/dew risk. Retrieved lessons support not unwinding by clock while observed VPD remains above band with healthy dew margin. Existing plan already carries dry-tail recovery and a later 21:30 unwind, so conditions are tracking the intended posture. Resolved 19:24 MDT.
Evening planning cycle20:23SUNSETplan_writtenWrote public plan iris-20260531-2023. Resolved 20:26 MDT.

🌅 Morning Cycle (12:17 AM) — iris-20260531-0015

Status

validated

Outcome score

5/10

Changed parameters

cold_vent_guard_delta_f, cool_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, dwell_gate_ms, enthalpy_close ...

Reflection

Validating previous cycle: iris-20260530-0535

Previous hypothesis: SUNRISE plan for Saturday 2026-05-30. Yesterday closed at 57.3 score with 51.5% both-axis compliance; temperature was the bottleneck at 59.2% versus VPD 76.5%, and heat stress dominated at 9.68h. VPD-high still reached 3.85h and the anchor-aligned evaluation for iris-20260529-0535 is 2/10 because 10 VPD-high moisture guardrail events occurred, 9 held, plus evening VENTILATE no-moisture-assist alerts. Cost was efficient at USD 2.91 versus USD 4.21 7d average, driven by electric+water and no gas; dew safety held at 0 dp-risk hours. Current dawn is safe but low-side: 63.1F, VPD 0.44 below the 0.62-1.18 band, RH 78%, dew margin 7F, IDLE/heat1. Today flips from humid dawn into a clear dry high-solar ramp: outdoor RH falls to 12-18%, VPD 2.3-2.8 kPa, peak temp near 79F, solar near 880 W/m2… Result: MIDNIGHT plan window evaluation for 2026-05-31. Window scorecard: score 54.0, both-axis compliance 50.8%, temp compliance 73.0%, VPD compliance 57.4%, heat stress 0.67h, cold stress 0.00h, VPD-high 1.01h, VPD-low 0.04h, cost about USD 1.11, and dp-risk stayed 0h. The plan preserved safety and avoided VPD-low carryover, and its dry-ramp handoff kept water headroom available. It was not clean enough to score as a strong success: several rows were guardrailed/held or missed, and the day still ended with VPD-high plus VENTILATE no-moisture-assist alerts. Treat it as a safety-preserving partial success rather than proof that the evening unwind was solved. Score: 5/10

New finding: A midnight reset after failed dry-day unwind can preserve dew safety and avoid VPD-low, but if the next day ends with VPD-high guardrail holds or no-moisture-assist alerts, the sunset plan must keep a short band-coupled recovery shoulder before any conservative overnight unwind. → Added to Lessons Learned

Hypothesis

Testing: Test whether a MIDNIGHT reset that is guardrail-clean immediately, conservative only during the cool pre-dawn window, and explicitly band-coupled before the dry ramp can reduce VPD-high guardrail holds while avoiding new VPD-low/dew carryover despite degraded telemetry. Expected outcome: By the next review: climate telemetry freshness restored or platform issue flagged; dp-risk remains 0h; Sunday VPD-high guardrail held events are materially lower than the 83 held events from iris-20260530-2023; VPD-high stress is under 3h if telemetry recovers; cost stays near or below USD 5.50 unless fog is needed for confirmed VPD-high recovery; no new VPD-high no-moisture-assist alerts after 08:00.

Conditions

Outdoor peak

82.0°F

RH minimum

11.0%

Solar peak

929.0 W/m²

Cloud average

26.0%

Midnight context is degraded/stale but last reported indoor state was VPD-high with healthy dew margin. Sunday forecast is clear, dry, high-solar, RH 11-17%, VPD 2.6-3.3 kPa. Prior plan anchor 1/score 2 due 177 VPD-high guardrail events.

Expected stress windows

vpd_highmedium · 2026-05-31T00:15:00-06:00 to 2026-05-31T01:30:00-06:00

Keep immediate moisture thresholds guardrail-clean and band-coupled because stale last climate was still dry-side and guardrail holds persisted.

vpd_lowmedium · 2026-05-31T02:00:00-06:00 to 2026-05-31T06:30:00-06:00

High dew-margin floor and resource-sensitive low duty while outdoor VPD is 0.5-0.7 kPa; dispatcher guardrail may still hold if observed VPD remains high.

vpd_highhigh · 2026-05-31T08:00:00-06:00 to 2026-05-31T21:30:00-06:00

Band-coupled moisture: engage near vpd_high+0.05, all-zone near +0.25, fog escalation 0.15-0.20, short gaps, 300 gal budget, dew floor 8F.

heatmedium · 2026-05-31T11:00:00-06:00 to 2026-05-31T18:00:00-06:00

Earlier fan2/all-fan cooling readiness with solar lead while accepting structural cooling limits if exhaust cooling saturates.

Parameter rationale

mister_engage_kpa1.23 → 1.23; Last reported VPD 1.40 above vpd_high 1.18 and retrieved lessons 131/134/137 require band-coupled moisture while VPD-high is unrecovered.

Stop adding conservative moisture rows that the VPD-high guardrail must hold or clamp.

mister_all_kpa1.43 → 1.43; Sunday dry ramp reaches RH 11-17% and VPD above 3 kPa; all-zone rotation should stay near vpd_high+0.25.

Keep distributed mist available during whole-house dry stress instead of forcing fog alone to carry recovery.

fog_escalation_kpa0.25 → 0.15; Dry stress overlaps 07:00-17:00 fog window with healthy daytime dew margin expected.

Allow PR-A vent-fog assist during peak VPD-high before VPD drifts far above band.

mister_pulse_gap_s30.0 → 20.0; Peak RH near 11-17% and VPD 2.6-3.3 kPa require short recovery gaps when wetting is safe.

Reduce VPD-high stress without increasing pulse length first.

direct_wet_stress_min_dew_margin_f12.0 → 8.0; Pre-dawn remains conservative, then dry daytime heat should widen dew margin before wet recovery demand peaks.

Keep dawn condensation protected while not blocking dry-ramp recovery unnecessarily.

cool_stage2_over_high_f1.9 → 0.6; Solar near 900 W/m2 and peak 82F will create heat pressure after late morning.

Bring fan2 and all-fan readiness close to the high edge before peak solar.

mister_water_budget_gal120.0 → 300.0; Compliance is priority during a severe dry ramp and Saturday water was not the binding cost risk.

Prevent water budget from limiting VPD recovery during peak and evening dry windows.

Setpoints

Sunday May 31

Primary crop-band changes:

TimeValuesNote
00:20hyst 0.1875Immediate midnight reset: last climate is stale but reported
02:30hyst 0.1875Pre-dawn cool window: forecast outdoor VPD is low-to-moderat
06:30hyst 0.1875Sunrise ramp handoff: dry air arrives after 08:00, so restor
08:00hyst 0.1875Dry ramp begins: forecast VPD crosses 1.2 kPa by 08:00 and s
10:30hyst 0.1825Late-morning peak preparation: RH falls below 25%, VPD appro
13:00hyst 0.1775Peak hot-dry stress: forecast VPD 2.9-3.3 kPa with solar nea
17:30hyst 0.1875Evening dry tail: solar declines but forecast VPD remains ne
21:30hyst 0.1875Late evening conditional unwind: keep enough direct-wet reco

Tactical tunable changes:

TimeValuesNote
00:20s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; fog_stress 1; fog_until 19; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7666666666666666Immediate midnight reset: last climate is stale but reported
02:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; fog_stress 1; fog_until 19; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7Pre-dawn cool window: forecast outdoor VPD is low-to-moderat
06:30s2 1.68; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.85Sunrise ramp handoff: dry air arrives after 08:00, so restor
08:00s2 1.3025000000000002; cool_exit 1.6; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 60; gap 30; wt 2.4333333333333336Dry ramp begins: forecast VPD crosses 1.2 kPa by 08:00 and s
10:30s2 1.1050000000000002; cool_exit 1.51; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 71.25; gap 22.5; wt 2.7666666666666666Late-morning peak preparation: RH falls below 25%, VPD appro
13:00s2 0.9525; cool_exit 1.42; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 78.75; gap 18.75; wt 2.8666666666666663Peak hot-dry stress: forecast VPD 2.9-3.3 kPa with solar nea
17:30s2 1.5999999999999999; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 56.25; gap 33.75; wt 2.45Evening dry tail: solar declines but forecast VPD remains ne
21:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.85Late evening conditional unwind: keep enough direct-wet reco

Monday June 01

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.1875Missed-SUNRISE fallback for Monday: another clear dry ramp i

Tactical tunable changes:

TimeValuesNote
06:00s2 1.68; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 41.25; gap 41.25; wt 2Missed-SUNRISE fallback for Monday: another clear dry ramp i

Changed secondary parameters:

TimeParameterChange
00:20cold_vent_guard_delta_finitial 12
00:20direct_wet_stress_min_dew_margin_finitial 12
00:20direct_wet_stress_vpd_margin_kpainitial 0.05
00:20dwell_gate_msinitial 210000
00:20enthalpy_closeinitial 1
00:20enthalpy_openinitial -2
00:20fog_escalation_kpainitial 0.25
00:20fog_stress_min_dew_margin_finitial 12
00:20heat_hysteresisinitial 1.1
00:20min_fog_off_sinitial 72
00:20min_fog_on_sinitial 59.25
00:20mist_backoff_sinitial 600
00:20mist_max_closed_vent_sinitial 120
00:20mist_thermal_relief_sinitial 90
00:20mister_all_delay_sinitial 75
00:20mister_engage_delay_sinitial 37.5
00:20mister_water_budget_galinitial 160
00:20outdoor_staleness_max_sinitial 600
00:20sw_dwell_gate_enabledinitial 1
00:20sw_fog_closes_ventinitial 1
00:20sw_mister_closes_ventinitial 0
00:20sw_summer_vent_enabledinitial 1
00:20temp_hysteresisinitial 1.6
00:20vent_prefer_dp_delta_finitial 12
00:20vent_prefer_temp_delta_finitial 8
00:20vpd_watch_dwell_sinitial 52.5
02:30cold_vent_guard_delta_f12 → 14
02:30mister_water_budget_gal160 → 120
02:30vent_prefer_temp_delta_f8 → 10
06:30cold_vent_guard_delta_f14 → 10
06:30direct_wet_stress_min_dew_margin_f12 → 10
06:30fog_stress_min_dew_margin_f12 → 10
06:30mister_water_budget_gal120 → 220
06:30vent_prefer_dp_delta_f12 → 10
06:30vent_prefer_temp_delta_f10 → 6
08:00cold_vent_guard_delta_f10 → 8
08:00direct_wet_stress_min_dew_margin_f10 → 8
08:00fog_escalation_kpa0.25 → 0.2
08:00fog_stress_min_dew_margin_f10 → 8
08:00min_fog_off_s72 → 54
08:00min_fog_on_s59.25 → 66
08:00mister_water_budget_gal220 → 300
08:00vent_prefer_temp_delta_f6 → 4
10:30cold_vent_guard_delta_f8 → 7
10:30dwell_gate_ms210000 → 195000
10:30fog_escalation_kpa0.2 → 0.15
10:30min_fog_off_s54 → 42
10:30min_fog_on_s66 → 75
10:30mister_all_delay_s75 → 70.5
10:30mister_engage_delay_s37.5 → 35.25
10:30temp_hysteresis1.6 → 1.51
10:30vent_prefer_dp_delta_f10 → 12
10:30vent_prefer_temp_delta_f4 → 3
10:30vpd_watch_dwell_s52.5 → 48.75
13:00dwell_gate_ms195000 → 180000
13:00min_fog_off_s42 → 36
13:00mister_all_delay_s70.5 → 66
13:00mister_engage_delay_s35.25 → 33
13:00temp_hysteresis1.51 → 1.42
13:00vpd_watch_dwell_s48.75 → 45
17:30cold_vent_guard_delta_f7 → 9
17:30dwell_gate_ms180000 → 210000
17:30fog_escalation_kpa0.15 → 0.2
17:30min_fog_off_s36 → 60
17:30min_fog_on_s75 → 69.375
17:30mister_all_delay_s66 → 75
17:30mister_engage_delay_s33 → 37.5
17:30mister_water_budget_gal300 → 260
17:30temp_hysteresis1.42 → 1.6
17:30vent_prefer_temp_delta_f3 → 5
17:30vpd_watch_dwell_s45 → 52.5
21:30cold_vent_guard_delta_f9 → 11
21:30direct_wet_stress_min_dew_margin_f8 → 10
21:30fog_escalation_kpa0.2 → 0.25
21:30fog_stress_min_dew_margin_f8 → 10
21:30min_fog_off_s60 → 72
21:30min_fog_on_s69.375 → 59.25
21:30mister_water_budget_gal260 → 200
21:30vent_prefer_temp_delta_f5 → 7
06:00cold_vent_guard_delta_f11 → 9
06:00mister_water_budget_gal200 → 240
06:00vent_prefer_dp_delta_f12 → 10
06:00vent_prefer_temp_delta_f7 → 5

🌅 Morning Cycle (5:37 AM) — iris-20260531-0534

Status

validated

Outcome score

1/10

Changed parameters

cold_vent_guard_delta_f, cool_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, dwell_gate_ms, enthalpy_close ...

Reflection

Validating previous cycle: iris-20260530-2023

Previous hypothesis: SUNSET overnight plan for Saturday 2026-05-30. Today scored poorly at 42.4 versus 58.8 7d average, with 33.6% both-axis compliance. Temperature was not the binding axis (90.4% compliance); VPD was the bottleneck at 36.5%, dominated by 9.63h VPD-low, with 2.75h VPD-high and 1.53h heat. Cost was acceptable at USD 3.37, below the USD 3.67 7d average, driven mostly by runtime-modeled electricity (USD 2.79) plus modest gas (USD 0.35) and water (USD 0.23); water use was much lower than the 162 gal 7d average. I evaluated iris-20260530-0016 at 5/10 versus anchor 3: safe but low-VPD, no deviation warning. I evaluated iris-20260530-0535 at 4/10 versus anchor 1; the gap is because I gave credit for dp-risk 0h, cost under target, and VPD-high just under the stated 3h target, while the deterministic anchor correctly punished 311 guardrail events and 11 VPD-high guardrail events… Result: REVISED anchor-aligned SUNRISE plan evaluation for 2026-05-31. My initial 4/10 gave too much credit for dp-risk 0h, VPD-low near zero, and water/cost headroom. The deterministic anchor is the stricter and more appropriate score because the plan produced 843 guardrail events, 123 held guardrail events, and 131 VPD-high guardrail events, while the plan-window scorecard stayed poor: score 47.3, 40.7% both-axis compliance, 54.6% temp compliance, 48.7% VPD compliance, 3.47h heat, and 4.25h VPD-high. The forecast stress windows were directionally right, but the materialized tactics still fought the dispatcher moisture guardrail and did not deliver the expected dry-ramp recovery. Treat this as a failed/guardrail-dirty plan with only safety preserved, not as a partial climate success. Score: 1/10

Hypothesis

Testing: Severe dry-ramp plan with telemetry-degraded guardrails: keep moisture fully band-coupled through observed dry stress, use low resource sensitivity during peak VPD, and do not clock-unwind while telemetry/guardrail evidence says VPD-high may remain unrecovered. Expected outcome: Target for Sunday: dp-risk 0h, VPD-high under 3h if telemetry recovers, VPD-low under 3h, both-axis compliance above Saturday’s 33.6%, cost under USD 5.50 unless confirmed fog is needed, and no new VPD-high no-moisture-assist alerts after the morning ramp. Critical watch: climate telemetry freshness and setpoint confirmation alerts must recover or remain operator-visible.

Conditions

Outdoor peak

82.0°F

RH minimum

11.0%

Solar peak

934.0 W/m²

Cloud average

24.0%

Severe dry clear Sunday with stale indoor telemetry; corrected VPD still points to 2.6+ kPa during peak and the last indoor state was VPD-high with healthy dew margin. Monday remains hotter and dry, so no strong overnight humid unwind is planned before the next review.

Expected stress windows

vpd_highhigh · 2026-05-31T08:00:00-06:00 to 2026-05-31T22:00:00-06:00

Band-coupled moisture all day: engage near vpd_high+0.05, all-zone near +0.20-0.25, fog escalation 0.15-0.20, high water headroom, and direct-wet/fog stress coverage through the dry tail while dew margin is safe.

heatmedium · 2026-05-31T11:00:00-06:00 to 2026-05-31T18:30:00-06:00

Use high solar precool gain and all-fan readiness close to the high edge, while accepting any physically-unachievable hot misses if outdoor air is as hot/dry as forecast.

vpd_highhigh · 2026-06-01T08:00:00-06:00 to 2026-06-01T21:30:00-06:00

Carry Monday fallback band-coupled dry-ramp posture because Monday is forecast hotter and similarly dry; sunset/midnight can unwind if observed recovery is proven.

Parameter rationale

mister_engage_kpa1.27 → 1.23; RH falls to 11-17% and VPD 2.5-3.3 kPa from late morning through evening; lessons 131/134/125 require moisture at the active vpd_high edge.

Avoid conservative thresholds that trigger VPD-high moisture guardrail holds and keep S1 mist eligible during VENTILATE assist.

mister_all_kpa1.47 → 1.43; Whole-house dry pressure peaks around 13:00-17:00 with east already the stale dry outlier at VPD 1.67.

Escalate distributed mist sooner during peak dry stress rather than relying on one zone or fog alone.

fog_escalation_kpa0.25 → 0.15; Dry stress overlaps the normal fog window with forecast temp above 75F and last dew margin 18.8F.

Allow PR-A vent-fog assist before VPD drifts far above band while firmware RH/temp/dew gates remain active.

mister_pulse_gap_s41.25 → 20.0; Peak RH 11-16%, solar 850-930 W/m2, and lessons say misters in VENTILATE must remain available during hot-dry stress.

Reduce VPD-high hours versus Saturday without increasing pulse length blindly outside the peak window.

mister_water_budget_gal120.0 → 300.0; Saturday used only 47 gal versus 162 gal 7d average and VPD compliance was the bottleneck.

Prevent water budgeting from limiting VPD recovery during the severe dry window.

min_fog_off_s72.0 → 45.0; When VPD is above band and dew/occupancy rails are healthy, compliance outranks fog cycle conservation.

Keep fog assist available in hot-dry VENTILATE instead of waiting through long off dwells.

cool_stage2_over_high_f1.905 → 0.6; Solar reaches 850-930 W/m2 from noon through 15:00, and heat stress is paired with VPD-high in VENTILATE.

Bring fan2/all-fan readiness closer to the high edge before heat pressure compounds dry-air stress.

direct_wet_stress_min_dew_margin_f12.0 → 8.0; Last reported dew margin was 18.8F and disease risk was 0h, so daytime wetting can be allowed while preserving safety.

Keep dry-ramp wet recovery available without sacrificing the 0h dp-risk target.

direct_wet_stress_latest_hour19.0 → 22.0; Forecast VPD remains above 2 kPa until 21:00 and lessons 114/118 say not to unwind by clock while VPD-high remains active.

Cover the evening dry tail if observed VPD remains high, while later reviews can unwind after recovery is proven.

Setpoints

Sunday May 31

Primary crop-band changes:

TimeValuesNote
05:45hyst 0.1875Telemetry is degraded but the last indoor state was dry-side
08:00hyst 0.1875Outdoor RH is forecast below 30% and VPD 1.5+ kPa by 08:00;
10:30hyst 0.1825High-solar dry ramp begins; lessons call for all-zone mist n
13:30hyst 0.1775Peak dry heat: VPD near 3 kPa and solar near 900 W/m2; prior
17:30hyst 0.1875Evening remains very dry; do not repeat Saturday's blind clo
21:30hyst 0.1875Night remains dry but fog is time-window blocked; taper duty

Tactical tunable changes:

TimeValuesNote
05:45s2 1.8175000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; fog_stress 1; fog_until 19; engage 1.27; all 1.47; pulse 41.25; gap 41.25; wt 1.9166666666666665Telemetry is degraded but the last indoor state was dry-side
08:00s2 1.5625; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; fog_stress 1; fog_until 21; engage 1.27; all 1.47; pulse 56.25; gap 33.75; wt 2.283333333333333Outdoor RH is forecast below 30% and VPD 1.5+ kPa by 08:00;
10:30s2 1.3074999999999999; cool_exit 1.51; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.42; pulse 67.5; gap 26.25; wt 2.6166666666666663High-solar dry ramp begins; lessons call for all-zone mist n
13:30s2 1.155; cool_exit 1.42; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.42; pulse 75; gap 22.5; wt 2.8Peak dry heat: VPD near 3 kPa and solar near 900 W/m2; prior
17:30s2 1.585; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 60; gap 30; wt 2.5166666666666666Evening remains very dry; do not repeat Saturday's blind clo
21:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 41.25; gap 41.25; wt 1.9166666666666665Night remains dry but fog is time-window blocked; taper duty

Monday June 01

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.1875Missed-next-review fallback: Monday starts another dry ramp,
13:00hyst 0.1775Monday fallback peak is hotter and dry; keep compliance-firs

Tactical tunable changes:

TimeValuesNote
06:00s2 1.615; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.47; pulse 56.25; gap 33.75; wt 2.283333333333333Missed-next-review fallback: Monday starts another dry ramp,
13:00s2 1.1050000000000002; cool_exit 1.42; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.27; all 1.42; pulse 78.75; gap 22.5; wt 2.833333333333333Monday fallback peak is hotter and dry; keep compliance-firs

Changed secondary parameters:

TimeParameterChange
05:45cold_vent_guard_delta_finitial 12
05:45direct_wet_stress_min_dew_margin_finitial 12
05:45direct_wet_stress_vpd_margin_kpainitial 0.05
05:45dwell_gate_msinitial 210000
05:45enthalpy_closeinitial 1
05:45enthalpy_openinitial -2
05:45fog_escalation_kpainitial 0.2
05:45fog_stress_min_dew_margin_finitial 12
05:45heat_hysteresisinitial 1.1
05:45min_fog_off_sinitial 72
05:45min_fog_on_sinitial 59.25
05:45mist_backoff_sinitial 600
05:45mist_max_closed_vent_sinitial 120
05:45mist_thermal_relief_sinitial 90
05:45mister_all_delay_sinitial 75
05:45mister_engage_delay_sinitial 37.5
05:45mister_water_budget_galinitial 250
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.6
05:45vent_prefer_dp_delta_finitial 10
05:45vent_prefer_temp_delta_finitial 8
05:45vpd_watch_dwell_sinitial 52.5
08:00cold_vent_guard_delta_f12 → 10
08:00direct_wet_stress_min_dew_margin_f12 → 10
08:00fog_escalation_kpa0.2 → 0.18
08:00fog_stress_min_dew_margin_f12 → 10
08:00min_fog_off_s72 → 60
08:00min_fog_on_s59.25 → 63.75
08:00mister_water_budget_gal250 → 300
08:00vent_prefer_dp_delta_f10 → 11
08:00vent_prefer_temp_delta_f8 → 6
10:30cold_vent_guard_delta_f10 → 8
10:30direct_wet_stress_min_dew_margin_f10 → 8
10:30dwell_gate_ms210000 → 195000
10:30fog_escalation_kpa0.18 → 0.15
10:30fog_stress_min_dew_margin_f10 → 8
10:30min_fog_off_s60 → 48
10:30min_fog_on_s63.75 → 69.375
10:30mister_all_delay_s75 → 70.5
10:30mister_engage_delay_s37.5 → 35.25
10:30temp_hysteresis1.6 → 1.51
10:30vent_prefer_dp_delta_f11 → 12
10:30vent_prefer_temp_delta_f6 → 4
10:30vpd_watch_dwell_s52.5 → 48.75
13:30cold_vent_guard_delta_f8 → 7
13:30dwell_gate_ms195000 → 180000
13:30min_fog_off_s48 → 42
13:30min_fog_on_s69.375 → 75
13:30mister_all_delay_s70.5 → 66
13:30mister_engage_delay_s35.25 → 33
13:30temp_hysteresis1.51 → 1.42
13:30vent_prefer_temp_delta_f4 → 3
13:30vpd_watch_dwell_s48.75 → 45
17:30cold_vent_guard_delta_f7 → 9
17:30dwell_gate_ms180000 → 210000
17:30fog_escalation_kpa0.15 → 0.2
17:30min_fog_off_s42 → 54
17:30min_fog_on_s75 → 69.375
17:30mister_all_delay_s66 → 75
17:30mister_engage_delay_s33 → 37.5
17:30temp_hysteresis1.42 → 1.6
17:30vent_prefer_temp_delta_f3 → 5
17:30vpd_watch_dwell_s45 → 52.5
21:30cold_vent_guard_delta_f9 → 12
21:30direct_wet_stress_min_dew_margin_f8 → 10
21:30fog_escalation_kpa0.2 → 0.25
21:30fog_stress_min_dew_margin_f8 → 10
21:30min_fog_off_s54 → 72
21:30min_fog_on_s69.375 → 59.25
21:30mister_water_budget_gal300 → 220
21:30vent_prefer_temp_delta_f5 → 8
06:00cold_vent_guard_delta_f12 → 10
06:00fog_escalation_kpa0.25 → 0.18
06:00min_fog_off_s72 → 60
06:00min_fog_on_s59.25 → 63.75
06:00mister_water_budget_gal220 → 300
06:00vent_prefer_dp_delta_f12 → 11
06:00vent_prefer_temp_delta_f8 → 6
13:00cold_vent_guard_delta_f10 → 7
13:00direct_wet_stress_min_dew_margin_f10 → 8
13:00dwell_gate_ms210000 → 180000
13:00fog_escalation_kpa0.18 → 0.15
13:00fog_stress_min_dew_margin_f10 → 8
13:00min_fog_off_s60 → 42
13:00min_fog_on_s63.75 → 75
13:00mister_all_delay_s75 → 66
13:00mister_engage_delay_s37.5 → 33
13:00temp_hysteresis1.6 → 1.42
13:00vent_prefer_dp_delta_f11 → 12
13:00vent_prefer_temp_delta_f6 → 3
13:00vpd_watch_dwell_s52.5 → 45

🌆 Evening Cycle (8:26 PM) — iris-20260531-2023

Status

validated

Outcome score

9/10

Changed parameters

cold_vent_guard_delta_f, cool_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, dwell_gate_ms, enthalpy_close ...

Reflection

Validating previous cycle: iris-20260531-0534

Previous hypothesis: SUNRISE plan for Sunday 2026-05-31. I evaluated Saturday SUNRISE at 4/10 while the deterministic anchor was 1; the gap is intentional but important: I gave limited credit for dp-risk 0h, cost below the 7d average, and VPD-high just under the 3h target, while the anchor correctly punished 316 guardrail events and poor both-axis compliance. Treat the anchor as the stricter operational truth today. Yesterday’s score was 42.4 with 33.6% both-axis compliance; VPD was the bottleneck at 36.5% versus 90.4% temp compliance, and VPD-low dominated at 9.63h. Cost was controlled at USD 3.37 versus USD 3.67 7d average, with water far below average, so the miss was timing and guardrail cleanliness, not resource spend. Current context is degraded: climate telemetry is about 9.8h stale and climate action proof is stale; the last reported house state was safe but dry-side at 74.6F, VPD 1… Result: SUNSET plan-window evaluation for 2026-05-31 20:26 through the morning handoff. Window scorecard was excellent: planner_score 98.5, both-axis compliance 98.1%, temp compliance 98.1%, VPD compliance 99.0%, heat stress 0.02h, VPD-high 0.01h, VPD-low 0.00h, dp-risk 0h, and essentially no window cost. The prior hypothesis was to keep a short band-coupled recovery shoulder while VPD was still high, then unwind gradually overnight as observed VPD recovered and restore dry-ramp readiness before Monday. That worked for the overnight/recovery window: VPD recovered below band without VPD-low or dew-risk carryover. This is a strong window success, but it does not erase the poor full-day score before sunset: 44.3 score, 38.1% both-axis compliance, 6.70h heat and 8.23h VPD-high. Score: 9/10

Hypothesis

Testing: Test whether a short sunset recovery shoulder followed by gradual overnight unwind reduces VPD-high carryover without adding VPD-low/dew-risk, while preserving Monday dry-ramp readiness. Expected outcome: By sunrise: dp-risk 0h, VPD-low under 0.5h, no cold stress, and VPD-high trending down from the 20:23 value. By Monday sunset: fewer VPD-high/no-moisture-assist alerts than today and VPD-high stress under 4h if forecast dry ramp materializes.

Conditions

Outdoor peak

84.0°F

RH minimum

16.0%

Solar peak

941.0 W/m²

Cloud average

54.0%

Sunset starts hot/dry inside: 74.6F, VPD 1.70 kPa, dew margin 24F, VENTILATE, east VPD about 2.17. Forecast remains dry overnight but cools to 58-65F, then Monday ramps to 84F, RH 16-18%, VPD 3.2 kPa raw / about 2.5 kPa bias-corrected, and high solar near 900+ W/m2.

Expected stress windows

vpd_highmedium · 2026-05-31T20:25:00-06:00 to 2026-05-31T22:30:00-06:00

Keep a short band-coupled recovery shoulder while dew margin is healthy; do not unwind by clock while live VPD-high and no-moisture-assist alerts remain.

vpd_highlow · 2026-05-31T22:30:00-06:00 to 2026-06-01T05:30:00-06:00

Gradually reduce wet duty and raise fog threshold after the dry shoulder, because outdoor VPD declines but remains dry enough that a hard wet shutoff is not needed.

vpd_highhigh · 2026-06-01T08:00:00-06:00 to 2026-06-01T21:30:00-06:00

Morning handoff restores band-coupled moisture: engage near vpd_high+0.05, all-zone near +0.25, fog escalation 0.20, strong mist duty, high water headroom, and wet coverage through the dry tail.

heatmedium · 2026-06-01T12:00:00-06:00 to 2026-06-01T18:30:00-06:00

Use solar-aware cooling lead and all-fan readiness while accepting physically limited hot misses if outside air is as hot and dry as forecast.

Parameter rationale

mister_engage_kpa1.27 → 1.26; Live VPD is 1.70 kPa, above the dispatcher high band, with healthy 24F dew margin and active VPD-high/no-moisture-assist alerts.

Keep the immediate recovery shoulder eligible for wet assist instead of asking the VPD-high guardrail to fix a conservative threshold.

mister_all_kpa1.47 → 1.46; East is the dry outlier near VPD 2.17 and whole-house VPD remains above band at sunset.

Keep distributed mist available during the recovery shoulder without relying only on one zone or fog.

mister_pulse_gap_s20.0 → 45.0; After 22:30 outdoor VPD declines and the main risk shifts from recovery to avoiding overnight wet carryover.

Prevent VPD-low and dew-risk overnight while preserving a short immediate recovery window.

fog_escalation_kpa0.2 → 0.45; After 22:30 fog is outside the normal window and outdoor temperatures cool toward the upper 50s/low 60s.

Suppress heavy fog overnight while still allowing light mist recovery if VPD stays high.

direct_wet_stress_min_dew_margin_f8.0 → 10.0; Overnight cooling raises leaf-wetness risk even though current dew margin is safe.

Keep dp-risk at 0h while allowing only bounded dry-stress wetting.

cool_stage2_over_high_f1.6 → 0.7; Monday solar peaks near 900-940 W/m2 and VPD rises sharply after 11:00.

Have cooling and wet assist ready before heat and VPD-high pair in VENTILATE.

mister_water_budget_gal150.0 → 300.0; Monday dry ramp is severe and VPD compliance remains the bottleneck; water cost is high but compliance is not recovered.

Avoid water-budget clipping during Monday's peak dry window while tonight's budget remains moderate.

Setpoints

Sunday May 31

Primary crop-band changes:

TimeValuesNote
20:25hyst 0.1875evening_settle: live VPD-high and VENTILATE persist with hea
22:30hyst 0.1875midnight_posture: after the recovery shoulder, outdoor VPD d

Tactical tunable changes:

TimeValuesNote
20:25s2 1.825; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.26; all 1.46; pulse 41.25; gap 33.75; wt 2.0666666666666664evening_settle: live VPD-high and VENTILATE persist with hea
22:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.26; all 1.46; pulse 33.75; gap 41.25; wt 1.7666666666666666midnight_posture: after the recovery shoulder, outdoor VPD d

Monday June 01

Primary crop-band changes:

TimeValuesNote
03:30hyst 0.1875pre_dawn: cool dry dawn is not cold enough for gas-driven po
06:30hyst 0.1875morning_handoff: Monday dry ramp begins after sunrise and in

Tactical tunable changes:

TimeValuesNote
03:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.26; all 1.46; pulse 33.75; gap 41.25; wt 1.7pre_dawn: cool dry dawn is not cold enough for gas-driven po
06:30s2 1.2; cool_exit 1.6; all_fans 1; dw_stress 1; dw_until 22; fog_stress 1; fog_until 22; engage 1.26; all 1.46; pulse 48.75; gap 33.75; wt 2.3morning_handoff: Monday dry ramp begins after sunrise and in

Changed secondary parameters:

TimeParameterChange
20:25cold_vent_guard_delta_finitial 10
20:25direct_wet_stress_min_dew_margin_finitial 8
20:25direct_wet_stress_vpd_margin_kpainitial 0.05
20:25dwell_gate_msinitial 210000
20:25enthalpy_closeinitial 1
20:25enthalpy_openinitial -2
20:25fog_escalation_kpainitial 0.2
20:25fog_stress_min_dew_margin_finitial 8
20:25heat_hysteresisinitial 1.1
20:25min_fog_off_sinitial 60
20:25min_fog_on_sinitial 63.75
20:25mist_backoff_sinitial 600
20:25mist_max_closed_vent_sinitial 120
20:25mist_thermal_relief_sinitial 90
20:25mister_all_delay_sinitial 75
20:25mister_engage_delay_sinitial 37.5
20:25mister_water_budget_galinitial 260
20:25outdoor_staleness_max_sinitial 600
20:25sw_dwell_gate_enabledinitial 1
20:25sw_fog_closes_ventinitial 1
20:25sw_mister_closes_ventinitial 0
20:25sw_summer_vent_enabledinitial 1
20:25temp_hysteresisinitial 1.6
20:25vent_prefer_dp_delta_finitial 12
20:25vent_prefer_temp_delta_finitial 6
20:25vpd_watch_dwell_sinitial 52.5
22:30cold_vent_guard_delta_f10 → 11
22:30direct_wet_stress_min_dew_margin_f8 → 10
22:30fog_stress_min_dew_margin_f8 → 10
22:30min_fog_off_s60 → 72
22:30min_fog_on_s63.75 → 59.25
22:30mister_water_budget_gal260 → 150
22:30vent_prefer_temp_delta_f6 → 7
03:30cold_vent_guard_delta_f11 → 12
03:30direct_wet_stress_min_dew_margin_f10 → 11
03:30fog_stress_min_dew_margin_f10 → 11
03:30mister_water_budget_gal150 → 120
03:30vent_prefer_temp_delta_f7 → 8
06:30cold_vent_guard_delta_f12 → 8
06:30direct_wet_stress_min_dew_margin_f11 → 8
06:30fog_stress_min_dew_margin_f11 → 8
06:30min_fog_off_s72 → 60
06:30min_fog_on_s59.25 → 63.75
06:30mister_water_budget_gal120 → 300
06:30vent_prefer_temp_delta_f8 → 4

End-of-Day Summary

Climate

Temperature

67.2–88.4°F; avg 77.5°F

VPD

0.70–1.96 kPa; avg 1.40 kPa

Relative humidity

38.0–80.2%

Stress Hours

  • Heat stress (>85°F): 6.7h
  • VPD stress (>2.0 kPa): 8.2h
  • Cold stress (<55°F): 0.0h

Economics

Electric

USD 3.42

Gas

USD 0.00

Water

USD 1.230

Total

USD 4.65

Equipment Runtimes

EquipmentRuntimeReading
Fan 1439 minPrimary exhaust runtime.
Fan 2422 minSecondary exhaust runtime.
Vent605 minIntake vent runtime.
Fog117 minFogger runtime.
Heat 1 electric0 minElectric heater runtime.
Heat 2 gas0 minGas heater runtime.
Grow lights2222 minSupplemental lighting runtime.
Mister south0.32hSouth mister runtime.
Mister west0.00hWest mister runtime.
Mister center1.28hCenter mister runtime.

Water

  • Total: 255 gal
  • Mister: 142 gal

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Vanda Orchidscenter82%5Observation notes are collapsed below to avoid publishing partial vision snippets.
lettuceeast80%4Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast78%4Observation notes are collapsed below to avoid publishing partial vision snippets.
strawberryeast80%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Vanda OrchidsGemini Vision notes

Hanging orchids appear healthy with no visible signs of stress.

lettuceGemini Vision notes

Seedlings appear healthy and are establishing well in the hydroponic system.

pepperGemini Vision notes

Seedlings look generally healthy, but some slight variation in size.

strawberryGemini Vision notes

Seedlings are developing normally in the hydroponic setup.

Hourly Pattern

HourTemperatureVPDRH
12:0081.2°F1.24 kPa66.6%
13:0079.0°F1.01 kPa70.4%
14:0078.1°F1.12 kPa66.3%
15:0079.3°F1.20 kPa65.4%
16:0085.0°F1.36 kPa67.4%
17:0081.9°F1.19 kPa68.3%
18:0079.9°F2.04 kPa41.5%
19:0075.4°F1.62 kPa46.2%
08:0070.5°F1.23 kPa52.0%
09:0071.1°F1.17 kPa55.7%
10:0074.4°F1.12 kPa61.8%
11:0078.0°F1.24 kPa62.4%

7-Day Stress Context

DateHeatVPD highCold
2026-05-2511.4h7.5h0.0h
2026-05-2610.3h6.0h0.0h
2026-05-274.8h2.4h0.1h
2026-05-2811.0h6.2h0.0h
2026-05-299.7h3.9h0.0h
2026-05-301.5h2.8h0.4h
2026-05-316.7h8.2h0.0h