June 24, 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

9

Plan writes

5

No-change acknowledgements

4

Pending

0

EventDeliveredTypeStatusNote
End-of-day review and reset00:20MIDNIGHTplan_writtenWrote public plan iris-20260624-0020. Resolved 00:22 MDT.
Morning planning cycle05:37SUNRISEplan_writtenWrote public plan iris-20260624-0537. Resolved 05:39 MDT.
Forecast deviation12:32FORECAST_DEVIATIONplan_writtenWrote non-archive plan iris-oneshot-20260624-1232. Resolved 12:32 MDT.
Solar peak planning checkpoint13:07SOLAR_MAXackedAcknowledged: SOLAR_MAX no-action: live solar is below/near the bias-corrected forecast peak, indoor temp and VPD are inside the dispatcher band (81.2F, VPD 1.09 vs vpd_high 1.22), dew margin is safe at 10.8F, and the active SUNRISE plan already has band-coupled wet/fog posture staged for the afternoon dry ramp. No tunable change needed. Resolved 13:08 MDT.
Forecast deviation14:39FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: observed solar is far below prior forecast due to cloud/thunderstorm nowcast shift, in the same broad direction as the known positive solar/VPD forecast bias but much larger. Live greenhouse is not in a control miss: 83.3F, VPD 1.13 kPa below vpd_high 1.21, RH 72%, dew margin 10.2F, ESP32 IDLE, all climate relays/wet assist off by demand. Forecast freshness is good, so this is weather/forecast error rather than an ingest gap or equipment issue... Resolved 14:39 MDT.
Peak Stress15:04TRANSITIONackedAcknowledged: Peak-stress transition reviewed with live climate/equipment/plan/setpoints. Current conditions are tracking/recovered: 82.3F below temp_high 85.1, house VPD 0.96 below vpd_high 1.20, dew margin 8.5F, controller IDLE, all climate/wet relays off. Active plan already has compliance-first wet assist available (mister_engage_kpa 0.95, mister_all_kpa 1.12, fog_escalation_kpa 0.15, direct-wet stress override enabled) and upcoming taper waypoints. No concrete signal to tighten mist/fog further. Resolved 15:04 MDT.
Decline19:36TRANSITIONplan_writtenWrote non-archive plan iris-oneshot-20260624-1937. Resolved 19:37 MDT.
Evening planning cycle20:35SUNSETplan_writtenWrote public plan iris-20260624-2035. Resolved 20:37 MDT.
Forecast deviation21:04FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION precip-only miss: forecast expected 0.44 in/h precipitation but observed 0. Live greenhouse is stable and in IDLE at 76.2F, VPD 0.77 kPa, RH 75%, dew margin 8.3F; all climate equipment is off. No temp/VPD band error or equipment issue requiring tuning; treated as precipitation forecast error, not a climate-control regime change. Resolved 21:05 MDT.

🌅 Morning Cycle (12:22 AM) — iris-20260624-0020

Status

validated

Outcome score

5/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-20260623-0537

Previous hypothesis: SUNRISE plan 2026-06-23. Previous plan iris-20260623-0136 evaluated 4/10 vs anchor 3: safe but too wet at dawn, and daytime dry-ramp response was not yet validated. Yesterday scored 72.5: temp 91.9%, VPD 70.9%, stress 8.7h dominated by 6.8h VPD-high plus 1.9h heat, cost USD 3.13 vs 7d USD 3.84. Retrieval degraded: knowledge_search and lessons_search failed for missing OPENAI_API_KEY; validate-plan-coverage and static site context are missing. Plan: dry out the orchid zone first, then use validated hot-dry mist/fog lessons during the 85F / VPD 2.8 / 868 W/m2 dry ramp. Result: SUNRISE partial-window evaluation before replacement. From 00:22-05:37 MDT the humid pre-dawn safety portion mostly succeeded: live climate is safe at about 68.3F, VPD 0.55 kPa, RH 77%, dew margin 7.6F, IDLE, no equipment running, and dp-risk remains 0h. However the window scorecard still shows low score/compliance so far (planner score 55.9, temp compliance 70.2%, VPD compliance 61.1%, 0.47h VPD-high and 0.36h heat in the scoped window), and several resolved setpoint confirmation plus vent_vpd_moisture_gap alerts indicate the moisture path was not consistently realized overnight. The main afternoon hot-dry hypothesis has not run yet, so this score is intentionally a partial pre-dawn grade. Yesterday’s complete-day score was 66.5 with temp compliance 99.9%, VPD compliance 66.2%, 7.93h VPD-high, 0.03h heat, 0h VPD-low/cold, dp-risk 0h, and cost USD 4.88 driven by water and electric; VPD-high remained the bottleneck despite safe dew margin. Score: 5/10

New finding: When a pre-dawn taper is safe but setpoint confirmations and vent-mist realization alerts appear before a hot-dry ramp, the next sunrise plan should keep the same dry-out-then-ramp strategy but make realization proof a primary success criterion; do not score biological success from intended thresholds alone. → Added to Lessons Learned

Hypothesis

Testing: Midnight dry-out then live-confirmed VPD recovery: protect the Vanda/orchid zone through humid pre-dawn, then restore wet/fog assist for the afternoon hot-dry ramp while watching realization alerts. Expected outcome: Today: dp-risk remains 0h, no cold/heat stress before sunrise, afternoon VPD-high stress under 5h if wet-assist realization succeeds, and total cost below USD 5.50 despite compliance-first water use.

Conditions

Outdoor peak

89.0°F

RH minimum

26.0%

Solar peak

825.0 W/m²

Cloud average

48.0%

Humid pre-dawn then hot dry afternoon; forecast VPD has positive bias, so escalate from live VPD confirmation.

Expected stress windows

vpd_lowmedium · 2026-06-24T02:00:00-06:00 to 2026-06-24T08:30:00-06:00

Keep wet assist conservative and dew margin floor high for orchid safety.

vpd_highhigh · 2026-06-24T11:00:00-06:00 to 2026-06-24T20:30:00-06:00

Reopen band-coupled mist/fog after live VPD rise; use fog while the window allows.

heatmedium · 2026-06-24T12:30:00-06:00 to 2026-06-24T17:30:00-06:00

Solar precool and vent-mist assist; accept physically limited heat near 89F.

vpd_lowhigh · 2026-06-25T00:00:00-06:00 to 2026-06-25T14:00:00-06:00

Cold humid front: suppress wet assist and keep dew margin discipline.

vpd_highhigh · 2026-06-26T08:00:00-06:00 to 2026-06-26T20:00:00-06:00

Return to aggressive band-coupled wet/fog posture for the stronger Friday dry ramp.

Parameter rationale

mister_engage_kpa0.82 → 1.1; Humid pre-dawn RH near 90%.

Avoid needless orchid-zone wetting before sunrise.

mister_engage_kpa1.1 → 0.82; Noon live/forecast VPD rises above band.

Restore first-stage wet assist near the VPD high edge.

mister_all_kpa1.3 → 1.02; East/north dry outliers and afternoon VPD ramp.

Escalate beyond south-only pulses during dry stress.

mister_pulse_gap_s60.0 → 24.0; Hot dry peak with dew margin above 8F.

Reduce VPD-high hours without adding dew risk.

fog_escalation_kpa0.35 → 0.15; Dry peak overlaps 07-17 fog window.

Use the 7x fog path when misters cannot hold VPD.

mister_water_budget_gal180.0 → 260.0; VPD compliance is the bottleneck, not temperature.

Prevent budget clipping during afternoon recovery.

Setpoints

Wednesday June 24

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.1875Post-midnight: safe but near VPD-high; avoid fully closing m
03:00hyst 0.22250000000000003Humid pre-dawn: suppress wet assist and protect orchid dew m
06:30hyst 0.1875Sunrise ramp: dry out gently until live VPD confirms afterno
10:30hyst 0.1875Late morning: reopen band-coupled moisture as VPD approaches
12:30hyst 0.1875Hot-dry peak: compliance-first wet/fog assist with healthy d
16:30hyst 0.1875Late dry ramp: keep recovery active until observed VPD retur
20:30hyst 0.1875Evening taper: reduce water/churn while allowing dew-safe re

Tactical tunable changes:

TimeValuesNote
00:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Post-midnight: safe but near VPD-high; avoid fully closing m
03:00s2 2.04; cool_exit 2.23; all_fans 0; dw_stress 1; dw_until 17; engage 0.96; all 1.21; pulse 30; gap 60; wt 1.7999999999999998Humid pre-dawn: suppress wet assist and protect orchid dew m
06:30s2 1.8175000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Sunrise ramp: dry out gently until live VPD confirms afterno
10:30s2 1.715; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1.01; pulse 45; gap 37.5; wt 2.3999999999999995Late morning: reopen band-coupled moisture as VPD approaches
12:30s2 1.5825; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1; pulse 60; gap 26.25; wt 2.6333333333333337Hot-dry peak: compliance-first wet/fog assist with healthy d
16:30s2 1.685; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1; pulse 56.25; gap 30; wt 2.5666666666666664Late dry ramp: keep recovery active until observed VPD retur
20:30s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Evening taper: reduce water/churn while allowing dew-safe re

Thursday June 25

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.22250000000000003Cold humid/rainy front: suppress wet assist and prioritize d
14:00hyst 0.1875Thursday mild dry blip: modest band-coupled moisture, not a

Tactical tunable changes:

TimeValuesNote
00:30s2 2.055; cool_exit 2.23; all_fans 0; dw_stress 1; dw_until 17; engage 0.96; all 1.21; pulse 30; gap 60; wt 1.7666666666666666Cold humid/rainy front: suppress wet assist and prioritize d
14:00s2 1.8525; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Thursday mild dry blip: modest band-coupled moisture, not a

Friday June 26

Primary crop-band changes:

TimeValuesNote
07:00hyst 0.1875Friday morning: start live-confirmed dry-ramp recovery early
11:00hyst 0.1875Friday extreme hot-dry: maximum safe wet/fog posture, cost s
14:30hyst 0.1875Friday storms/cooldown risk: taper wet assist after frontal
21:00hyst 0.1875Friday night: conservative wet posture and dew margin protec

Tactical tunable changes:

TimeValuesNote
07:00s2 1.7500000000000002; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1.01; pulse 41.25; gap 37.5; wt 2.3666666666666663Friday morning: start live-confirmed dry-ramp recovery early
11:00s2 1.5675000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 0.81; all 1; pulse 63.75; gap 22.5; wt 2.7Friday extreme hot-dry: maximum safe wet/fog posture, cost s
14:30s2 1.835; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 20; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Friday storms/cooldown risk: taper wet assist after frontal
21:00s2 1.905; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 19; engage 0.81; all 1.01; pulse 33.75; gap 41.25; wt 2.2666666666666666Friday night: conservative wet posture and dew margin protec

Changed secondary parameters:

TimeParameterChange
00:30band_track_fractioninitial 0.25
00:30cold_vent_guard_delta_finitial 9
00:30cool_stage2_exit_hysteresis_finitial 1
00:30direct_wet_stress_min_dew_margin_finitial 10
00:30direct_wet_stress_vpd_margin_kpainitial 0.05
00:30dwell_gate_msinitial 210000
00:30enthalpy_closeinitial 1
00:30enthalpy_openinitial -2
00:30fog_escalation_kpainitial 0.25
00:30heat_hysteresisinitial 1.1
00:30min_fog_off_sinitial 72
00:30min_fog_on_sinitial 75
00:30mist_backoff_sinitial 600
00:30mist_max_closed_vent_sinitial 120
00:30mist_thermal_relief_sinitial 90
00:30mister_all_delay_sinitial 75
00:30mister_engage_delay_sinitial 37.5
00:30mister_water_budget_galinitial 160
00:30night_vpd_bias_kpainitial 0
00:30outdoor_staleness_max_sinitial 600
00:30sw_dwell_gate_enabledinitial 1
00:30sw_fog_closes_ventinitial 1
00:30sw_mister_closes_ventinitial 0
00:30sw_summer_vent_enabledinitial 1
00:30temp_hysteresisinitial 1.6
00:30vent_exchange_fractioninitial 0.3
00:30vent_prefer_dp_delta_finitial 4
00:30vent_prefer_temp_delta_finitial 5
00:30vpd_watch_dwell_sinitial 52.5
03:00direct_wet_stress_min_dew_margin_f10 → 11
03:00direct_wet_stress_vpd_margin_kpa0.05 → 0.2
03:00dwell_gate_ms210000 → 315000
03:00fog_escalation_kpa0.25 → 0.45
03:00min_fog_off_s72 → 126
03:00mister_all_delay_s75 → 106.5
03:00mister_engage_delay_s37.5 → 53.25
03:00mister_water_budget_gal160 → 120
03:00temp_hysteresis1.6 → 2.23
03:00vpd_watch_dwell_s52.5 → 78.75
06:30direct_wet_stress_min_dew_margin_f11 → 10
06:30direct_wet_stress_vpd_margin_kpa0.2 → 0.05
06:30dwell_gate_ms315000 → 210000
06:30fog_escalation_kpa0.45 → 0.25
06:30min_fog_off_s126 → 72
06:30mister_all_delay_s106.5 → 75
06:30mister_engage_delay_s53.25 → 37.5
06:30mister_water_budget_gal120 → 140
06:30temp_hysteresis2.23 → 1.6
06:30vpd_watch_dwell_s78.75 → 52.5
10:30cold_vent_guard_delta_f9 → 8
10:30direct_wet_stress_min_dew_margin_f10 → 8
10:30min_fog_off_s72 → 66
10:30mister_water_budget_gal140 → 220
10:30vent_prefer_dp_delta_f4 → 3
10:30vent_prefer_temp_delta_f5 → 4
12:30fog_escalation_kpa0.25 → 0.15
12:30min_fog_off_s66 → 48
12:30mister_water_budget_gal220 → 260
16:30fog_escalation_kpa0.15 → 0.18
16:30min_fog_off_s48 → 54
20:30cold_vent_guard_delta_f8 → 9
20:30direct_wet_stress_min_dew_margin_f8 → 10
20:30fog_escalation_kpa0.18 → 0.25
20:30min_fog_off_s54 → 72
20:30mister_water_budget_gal260 → 160
20:30vent_prefer_dp_delta_f3 → 4
20:30vent_prefer_temp_delta_f4 → 5
00:30direct_wet_stress_min_dew_margin_f10 → 11
00:30direct_wet_stress_vpd_margin_kpa0.05 → 0.2
00:30dwell_gate_ms210000 → 315000
00:30fog_escalation_kpa0.25 → 0.45
00:30min_fog_off_s72 → 132
00:30mister_all_delay_s75 → 106.5
00:30mister_engage_delay_s37.5 → 53.25
00:30mister_water_budget_gal160 → 120
00:30temp_hysteresis1.6 → 2.23
00:30vpd_watch_dwell_s52.5 → 78.75
14:00direct_wet_stress_min_dew_margin_f11 → 9
14:00direct_wet_stress_vpd_margin_kpa0.2 → 0.05
14:00dwell_gate_ms315000 → 210000
14:00fog_escalation_kpa0.45 → 0.25
14:00min_fog_off_s132 → 72
14:00mister_all_delay_s106.5 → 75
14:00mister_engage_delay_s53.25 → 37.5
14:00mister_water_budget_gal120 → 160
14:00temp_hysteresis2.23 → 1.6
14:00vpd_watch_dwell_s78.75 → 52.5
07:00cold_vent_guard_delta_f9 → 8
07:00direct_wet_stress_min_dew_margin_f9 → 8
07:00min_fog_off_s72 → 66
07:00mister_water_budget_gal160 → 240
07:00vent_prefer_dp_delta_f4 → 3
07:00vent_prefer_temp_delta_f5 → 4
11:00fog_escalation_kpa0.25 → 0.15
11:00min_fog_off_s66 → 42
11:00mister_water_budget_gal240 → 300
14:30cold_vent_guard_delta_f8 → 9
14:30direct_wet_stress_min_dew_margin_f8 → 10
14:30fog_escalation_kpa0.15 → 0.25
14:30min_fog_off_s42 → 72
14:30mister_water_budget_gal300 → 180
14:30vent_prefer_dp_delta_f3 → 4
14:30vent_prefer_temp_delta_f4 → 5
21:00mister_water_budget_gal180 → 140

🌅 Morning Cycle (5:39 AM) — iris-20260624-0537

Status

validated

Outcome score

5/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-20260623-2042

Previous hypothesis: SUNSET overnight plan for Tuesday 2026-06-23. I evaluated iris-20260623-0537 at 5/10 while the deterministic anchor was 2; the +3 gap is intentional because biological safety and some compliance value were real (no dew-risk, no VPD-low/cold stress, safe handoff), while the anchor correctly penalized 872 guardrail events, 30 held events, 17 dispatched guardrail events, and 47 VPD-high guardrail events. Today’s bottleneck was VPD-high, not temperature: score 68.1, temp compliance 99.8%, VPD compliance 68.7%, 6.25h VPD-high, cost USD 5.13 vs 7d USD 3.36 driven mostly by total water. Tonight’s forecast flips to humid/cool: raw outdoor VPD 0.16-0.28 kPa from midnight to dawn, RH 85-92%, and current dew margin 8.9F… Result: SUNSET evaluation for the 2026-06-24 sunrise plan. The realization-gated dry-out-then-ramp hypothesis was partly successful but not clean. Today’s scorecard improved to 74.1 vs 7d 64.6, with temp compliance 91.5%, VPD compliance 76.4%, total stress 6.30h, and VPD-high still the main bottleneck at 4.63h plus 1.67h heat. Cost was controlled at USD 2.56 vs 7d USD 3.60, driven by electric USD 2.20 and water USD 0.36, with no gas; mister water was only 30 gal. Dew safety succeeded: dp_margin_min 6.9F and dp_risk 0h. The plan’s measurable target of VPD-high below 6h and dp-risk 0h was met on the daily view, but the scoped window scorecard remained weaker (planner 64.7, temp 75.6%, VPD 63.2%, heat 0.86h, VPD-high 2.38h), and many setpoint_unconfirmed/readback/missed transition alerts show the wet/fog realization proof criterion was not consistently met. Forecast conditions also differed from prediction: actual temperature was cooler and indoor humidity higher than predicted while solar was higher, so some success likely came from weather, not just tuning. Score: 5/10

New finding: On humid/cloudy recovery days after repeated hot-dry VPD-high stress, a plan can meet daily VPD-high and dew-safety targets while still failing the realization criterion because setpoint readbacks and guardrail/missed transition events prevent requested wet/fog posture from being reliably delivered. Score these plans as partial success and make readback/action-proof cleanup part of the next posture before increasing biological confidence. → Added to Lessons Learned

Hypothesis

Testing: Realization-gated dry-out-then-ramp: today’s test is whether reopening band-coupled wet/fog assist after live VPD rises reduces VPD-high hours below 6 while keeping dp-risk at 0h; success requires setpoint confirmations and no recurring vent_vpd_moisture_gap alerts, not just plan intent. Expected outcome: By sunset: dp-risk remains 0h, VPD-low stays near 0h, VPD-high stress improves from yesterday’s 7.93h toward under 6h despite the hot/dry ramp, heat stress stays below 2h unless physics-limited by 85-86F outdoor air, and total cost stays near or below USD 5.50 unless wet-assist realization requires more water.

Conditions

Outdoor peak

86.0°F

RH minimum

30.0%

Solar peak

820.0 W/m²

Cloud average

54.0%

Humid sunrise, then hot dry afternoon with thunder/cloud uncertainty; forecast VPD has positive bias but live VPD should cross high edge late morning.

Expected stress windows

vpd_highhigh · 2026-06-24T11:00:00-06:00 to 2026-06-24T21:00:00-06:00

Band-coupled mist/fog after live dry ramp; verify wet/fog realization.

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

Solar precool, fan staging, and vent-mist assist; accept physics limit near 86F.

vpd_lowhigh · 2026-06-25T00:00:00-06:00 to 2026-06-25T14:00:00-06:00

Suppress wet assist, hold dew floor high, and preserve churn discipline.

vpd_highhigh · 2026-06-26T08:00:00-06:00 to 2026-06-26T22:00:00-06:00

Aggressive band-coupled wet/fog for stronger Friday dry ramp.

Parameter rationale

mister_engage_kpa0.96 → 0.95; Live VPD rising late morning after humid dawn.

Open S1 wet assist near the high edge without dawn wetting.

mister_all_kpa1.21 → 1.12; Afternoon VPD 2.2-2.8 kPa with east dry outlier.

Escalate beyond south-only pulses during dry stress.

mister_pulse_gap_s60.0 → 22.0; Yesterday had 7.93h VPD-high and dp-risk 0h.

Reduce VPD-high hours while dew margin stays above 5F.

fog_escalation_kpa0.45 → 0.15; Dry peak overlaps the 07-17 fog window.

Use the 7x fog path when misters lag in VENTILATE.

mister_water_budget_gal120.0 → 260.0; VPD is the bottleneck and water is below the practical cap.

Avoid clipping afternoon VPD recovery.

Setpoints

Wednesday June 24

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.21750000000000003Humid dawn and Vanda/orchid dew protection; avoid unnecessar
10:30hyst 0.1975Dry ramp preparation: reopen wet assist after confirmation w
12:30hyst 0.1925Peak hot-dry window: VPD compliance is the bottleneck; use b
16:30hyst 0.1975Late hot/dry and thunder uncertainty: keep recovery wet assi
20:30hyst 0.21250000000000002Evening taper after dry peak; preserve bounded recovery thro

Tactical tunable changes:

TimeValuesNote
06:15s2 1.92; cool_exit 2.14; all_fans 0; dw_stress 0; dw_until 17; engage 1.15; all 1.35; pulse 30; gap 60; wt 1.4Humid dawn and Vanda/orchid dew protection; avoid unnecessar
10:30s2 1.73; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 21; engage 0.98; all 1.2; pulse 41.25; gap 41.25; wt 1.8333333333333335Dry ramp preparation: reopen wet assist after confirmation w
12:30s2 1.6500000000000001; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 21; engage 0.9500000000000001; all 1.12; pulse 56.25; gap 30; wt 2.0666666666666664Peak hot-dry window: VPD compliance is the bottleneck; use b
16:30s2 1.735; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 21; engage 0.9500000000000001; all 1.15; pulse 56.25; gap 33.75; wt 2.033333333333333Late hot/dry and thunder uncertainty: keep recovery wet assi
20:30s2 1.9125; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 21; engage 1.05; all 1.25; pulse 33.75; gap 56.25; wt 1.6333333333333333Evening taper after dry peak; preserve bounded recovery thro

Thursday June 25

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.22250000000000003Cool humid/rainy Thursday front: protect orchid dew margin a

Tactical tunable changes:

TimeValuesNote
00:30s2 2.04; cool_exit 2.23; all_fans 0; dw_stress 0; dw_until 17; engage 1.25; all 1.4; pulse 30; gap 60; wt 1.1666666666666665Cool humid/rainy Thursday front: protect orchid dew margin a

Friday June 26

Primary crop-band changes:

TimeValuesNote
07:00hyst 0.1975Friday fast dry ramp begins after humid night; pre-stage ban
11:00hyst 0.1925Friday extreme hot-dry stress: compliance-first wet/fog assi

Tactical tunable changes:

TimeValuesNote
07:00s2 1.7; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 0.98; all 1.15; pulse 45; gap 33.75; wt 1.9333333333333331Friday fast dry ramp begins after humid night; pre-stage ban
11:00s2 1.5675000000000001; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 0.9500000000000001; all 1.1; pulse 60; gap 22.5; wt 2.166666666666667Friday extreme hot-dry stress: compliance-first wet/fog assi

Changed secondary parameters:

TimeParameterChange
06:15band_track_fractioninitial 0.25
06:15cold_vent_guard_delta_finitial 8
06:15cool_stage2_exit_hysteresis_finitial 1
06:15direct_wet_stress_min_dew_margin_finitial 10
06:15direct_wet_stress_vpd_margin_kpainitial 0.25
06:15dwell_gate_msinitial 300000
06:15enthalpy_closeinitial 1
06:15enthalpy_openinitial -2
06:15fog_escalation_kpainitial 0.45
06:15heat_hysteresisinitial 1.1
06:15min_fog_off_sinitial 120
06:15min_fog_on_sinitial 41.25
06:15mist_backoff_sinitial 600
06:15mist_max_closed_vent_sinitial 120
06:15mist_thermal_relief_sinitial 90
06:15mister_all_delay_sinitial 102
06:15mister_engage_delay_sinitial 51
06:15mister_water_budget_galinitial 120
06:15night_vpd_bias_kpainitial 0
06:15outdoor_staleness_max_sinitial 600
06:15sw_dwell_gate_enabledinitial 1
06:15sw_fog_closes_ventinitial 1
06:15sw_mister_closes_ventinitial 0
06:15sw_summer_vent_enabledinitial 1
06:15temp_hysteresisinitial 2.14
06:15vent_exchange_fractioninitial 0.3
06:15vent_prefer_dp_delta_finitial 3
06:15vent_prefer_temp_delta_finitial 4
06:15vpd_watch_dwell_sinitial 75
10:30direct_wet_stress_min_dew_margin_f10 → 8
10:30direct_wet_stress_vpd_margin_kpa0.25 → 0.08
10:30dwell_gate_ms300000 → 240000
10:30fog_escalation_kpa0.45 → 0.25
10:30min_fog_off_s120 → 72
10:30min_fog_on_s41.25 → 59.25
10:30mister_all_delay_s102 → 84
10:30mister_engage_delay_s51 → 42
10:30mister_water_budget_gal120 → 220
10:30temp_hysteresis2.14 → 1.78
10:30vpd_watch_dwell_s75 → 60
12:30cold_vent_guard_delta_f8 → 9
12:30direct_wet_stress_vpd_margin_kpa0.08 → 0.05
12:30dwell_gate_ms240000 → 225000
12:30fog_escalation_kpa0.25 → 0.15
12:30min_fog_off_s72 → 54
12:30min_fog_on_s59.25 → 66
12:30mister_all_delay_s84 → 79.5
12:30mister_engage_delay_s42 → 39.75
12:30mister_water_budget_gal220 → 260
12:30temp_hysteresis1.78 → 1.69
12:30vent_prefer_temp_delta_f4 → 5
12:30vpd_watch_dwell_s60 → 56.25
16:30dwell_gate_ms225000 → 240000
16:30fog_escalation_kpa0.15 → 0.18
16:30min_fog_off_s54 → 60
16:30min_fog_on_s66 → 63.75
16:30mister_all_delay_s79.5 → 84
16:30mister_engage_delay_s39.75 → 42
16:30temp_hysteresis1.69 → 1.78
16:30vpd_watch_dwell_s56.25 → 60
20:30cold_vent_guard_delta_f9 → 8
20:30direct_wet_stress_min_dew_margin_f8 → 9
20:30direct_wet_stress_vpd_margin_kpa0.05 → 0.15
20:30dwell_gate_ms240000 → 285000
20:30fog_escalation_kpa0.18 → 0.35
20:30min_fog_off_s60 → 96
20:30min_fog_on_s63.75 → 50.25
20:30mister_all_delay_s84 → 97.5
20:30mister_engage_delay_s42 → 48.75
20:30mister_water_budget_gal260 → 220
20:30temp_hysteresis1.78 → 2.05
20:30vent_prefer_temp_delta_f5 → 4
20:30vpd_watch_dwell_s60 → 71.25
00:30direct_wet_stress_min_dew_margin_f9 → 10
00:30direct_wet_stress_vpd_margin_kpa0.15 → 0.35
00:30dwell_gate_ms285000 → 315000
00:30fog_escalation_kpa0.35 → 0.5
00:30min_fog_off_s96 → 126
00:30min_fog_on_s50.25 → 39
00:30mister_all_delay_s97.5 → 106.5
00:30mister_engage_delay_s48.75 → 53.25
00:30mister_water_budget_gal220 → 120
00:30temp_hysteresis2.05 → 2.23
00:30vpd_watch_dwell_s71.25 → 78.75
07:00cold_vent_guard_delta_f8 → 9
07:00direct_wet_stress_min_dew_margin_f10 → 8
07:00direct_wet_stress_vpd_margin_kpa0.35 → 0.08
07:00dwell_gate_ms315000 → 240000
07:00fog_escalation_kpa0.5 → 0.2
07:00min_fog_off_s126 → 60
07:00min_fog_on_s39 → 63.75
07:00mister_all_delay_s106.5 → 84
07:00mister_engage_delay_s53.25 → 42
07:00mister_water_budget_gal120 → 260
07:00temp_hysteresis2.23 → 1.78
07:00vent_prefer_temp_delta_f4 → 5
07:00vpd_watch_dwell_s78.75 → 60
11:00direct_wet_stress_vpd_margin_kpa0.08 → 0.05
11:00dwell_gate_ms240000 → 225000
11:00fog_escalation_kpa0.2 → 0.15
11:00min_fog_off_s60 → 42
11:00min_fog_on_s63.75 → 70.5
11:00mister_all_delay_s84 → 79.5
11:00mister_engage_delay_s42 → 39.75
11:00mister_water_budget_gal260 → 300
11:00temp_hysteresis1.78 → 1.69
11:00vpd_watch_dwell_s60 → 56.25

🌆 Evening Cycle (8:37 PM) — iris-20260624-2035

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-20260624-0537

Previous hypothesis: SUNRISE plan 2026-06-24. I evaluated the active midnight plan iris-20260624-0020 at 5/10 while the deterministic anchor was 1. The +4 gap is deliberate but cautionary: biological safety was real in the pre-dawn window (68.3F, VPD 0.55 kPa, RH 77%, dew margin 7.6F, IDLE, no equipment running, dp-risk 0h), but the anchor correctly penalized 542 guardrail events, 231 held guardrail events, 16 dispatched guardrail events, and 247 VPD-high guardrail events. I am therefore treating realization proof, not just requested posture, as today’s success criterion. Yesterday’s full-day score was 66.5: temperature was excellent at 99.9% compliance, but VPD was the bottleneck at 66.2% with 7.93h VPD-high and only 0.03h heat; cost was USD 4.88 vs 7d USD 3.36, driven by water and electric, not gas… Result: Midnight evaluation of the 2026-06-24 SUNSET humid-night taper. Daily 2026-06-24 score finished at 77.6 with temp compliance 92.8%, VPD compliance 79.5%, VPD-high 4.77h, heat 1.67h, VPD-low/cold 0h, dp_margin_min 6.9F, dp-risk 0h, cost USD 2.29, water 75 gal and mister water 30 gal. The specific sunset-to-midnight window was safe and cheap (window cost about USD 0.156, no heat/cold/VPD-high/VPD-low stress), current live state is IDLE at 69.8F, VPD 0.49 kPa, RH 80%, dew margin 6.3F, with all climate relays off. The dew-safety and wet-suppression parts of the hypothesis were directionally met: no fog/mister overshoot and no condensation-risk hours. However the scoped scorecard reports 0% compliance / planner score 20 for the short window, the house_band_drift alert is open for too-wet/orchid-drying risk, and there are open setpoint_unconfirmed alerts plus multiple missed transition proofs. The Friday hot-dry fail-safe has not run. Score 4/10: biological safety succeeded, but target tracking and realization proof remain weak. Score: 4/10

Hypothesis

Testing: Humid-night taper after a VPD-high day: suppress wet assist overnight while dew margin is safe, then keep an offline Friday dry-ramp fail-safe. Expected outcome: Overnight dp-risk remains 0h, no VPD-low stress accrues from added moisture, water stays below the 7d trend, and tomorrow’s sunrise cycle can reopen moisture if live VPD rises.

Conditions

Outdoor peak

67.0°F

RH minimum

66.0%

Solar peak

518.0 W/m²

Cloud average

82.0%

Humid cool overnight and Thursday: outdoor VPD 0.09-0.27 kPa through morning, RH 85-95%, current dew margin 9.4F; Friday hot-dry ramp is the offline fail-safe concern.

Expected stress windows

vpd_lowmedium · 2026-06-24T23:00:00-06:00 to 2026-06-25T09:00:00-06:00

Suppress wet assist, keep dew margin floor high, and allow only safety/controller dehumidification rather than adding moisture.

vpd_highhigh · 2026-06-26T10:00:00-06:00 to 2026-06-26T19:00:00-06:00

Offline fail-safe reopens band-coupled mist/fog before Friday dry heat if sunrise cycles miss.

Parameter rationale

mister_engage_kpa1.1 → 1.25; Overnight RH 87-95%, VPD 0.09-0.23.

Avoid needless orchid wetting and hold dp-risk at 0h.

mister_all_kpa1.3 → 1.45; Humid night with west zone already wet.

Prevent all-zone wetting while VPD is below target.

mister_pulse_gap_s56.0 → 60.0; Humidity holds overnight and cost can be optimized.

Cut water/churn without worsening VPD-high.

fog_escalation_kpa0.4 → 0.5; Fog blocked overnight and dew safety is priority.

Avoid fog overshoot during humid recovery.

mister_water_budget_gal260.0 → 120.0; Thursday forecast is cool humid with low VPD.

Avoid water waste overnight, then future plan can reopen for Friday.

Setpoints

Wednesday June 24

Primary crop-band changes:

TimeValuesNote
20:45hyst 0.2125evening_settle: VPD is in band, dew margin is safe, and fore

Tactical tunable changes:

TimeValuesNote
20:45s2 2.025; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 21; engage 1.24; all 1.39; pulse 30; gap 60; wt 1.22evening_settle: VPD is in band, dew margin is safe, and fore

Thursday June 25

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.2175midnight_posture: outdoor VPD forecast near 0.09-0.23 with R
05:30hyst 0.2175pre_dawn: continue humid-night taper; avoid dawn wetting whi
09:00hyst 0.2125humid_day_hold: Thursday stays cool/cloudy with low outdoor

Tactical tunable changes:

TimeValuesNote
00:00s2 2.055; cool_exit 2.14; all_fans 0; dw_stress 0; dw_until 19; engage 1.29; all 1.44; pulse 30; gap 60; wt 1.1333333333333333midnight_posture: outdoor VPD forecast near 0.09-0.23 with R
05:30s2 2.0225; cool_exit 2.14; all_fans 0; dw_stress 0; dw_until 19; engage 1.24; all 1.39; pulse 30; gap 60; wt 1.1866666666666665pre_dawn: continue humid-night taper; avoid dawn wetting whi
09:00s2 1.9575; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 19; engage 1.19; all 1.3399999999999999; pulse 30; gap 60; wt 1.28humid_day_hold: Thursday stays cool/cloudy with low outdoor

Friday June 26

Primary crop-band changes:

TimeValuesNote
07:00hyst 0.19749999999999998offline_fail_safe_friday_dry_ramp: if no later planner repla

Tactical tunable changes:

TimeValuesNote
07:00s2 1.695; cool_exit 1.78; all_fans 0; dw_stress 1; dw_until 22; engage 0.99; all 1.19; pulse 48.75; gap 41.25; wt 1.7333333333333334offline_fail_safe_friday_dry_ramp: if no later planner repla

Changed secondary parameters:

TimeParameterChange
20:45band_track_fractioninitial 0.25
20:45cold_vent_guard_delta_finitial 9
20:45cool_stage2_exit_hysteresis_finitial 1
20:45direct_wet_stress_min_dew_margin_finitial 10
20:45direct_wet_stress_vpd_margin_kpainitial 0.3
20:45dwell_gate_msinitial 285000
20:45enthalpy_closeinitial 1
20:45enthalpy_openinitial -2
20:45fog_escalation_kpainitial 0.45
20:45heat_hysteresisinitial 1.1
20:45min_fog_off_sinitial 120
20:45min_fog_on_sinitial 41.25
20:45mist_backoff_sinitial 600
20:45mist_max_closed_vent_sinitial 120
20:45mist_thermal_relief_sinitial 90
20:45mister_all_delay_sinitial 97.5
20:45mister_engage_delay_sinitial 48.75
20:45mister_water_budget_galinitial 120
20:45night_vpd_bias_kpainitial 0
20:45outdoor_staleness_max_sinitial 600
20:45sw_dwell_gate_enabledinitial 1
20:45sw_fog_closes_ventinitial 1
20:45sw_mister_closes_ventinitial 0
20:45sw_summer_vent_enabledinitial 1
20:45temp_hysteresisinitial 2.05
20:45vent_exchange_fractioninitial 0.3
20:45vent_prefer_dp_delta_finitial 4
20:45vent_prefer_temp_delta_finitial 5
20:45vpd_watch_dwell_sinitial 71.25
00:00direct_wet_stress_min_dew_margin_f10 → 11
00:00direct_wet_stress_vpd_margin_kpa0.3 → 0.35
00:00dwell_gate_ms285000 → 300000
00:00fog_escalation_kpa0.45 → 0.5
00:00min_fog_off_s120 → 132
00:00min_fog_on_s41.25 → 36.75
00:00mister_all_delay_s97.5 → 102
00:00mister_engage_delay_s48.75 → 51
00:00temp_hysteresis2.05 → 2.14
00:00vpd_watch_dwell_s71.25 → 75
05:30direct_wet_stress_min_dew_margin_f11 → 10
05:30direct_wet_stress_vpd_margin_kpa0.35 → 0.3
05:30fog_escalation_kpa0.5 → 0.45
05:30min_fog_off_s132 → 126
05:30min_fog_on_s36.75 → 39
09:00direct_wet_stress_vpd_margin_kpa0.3 → 0.25
09:00dwell_gate_ms300000 → 285000
09:00fog_escalation_kpa0.45 → 0.4
09:00min_fog_off_s126 → 114
09:00min_fog_on_s39 → 43.5
09:00mister_all_delay_s102 → 97.5
09:00mister_engage_delay_s51 → 48.75
09:00mister_water_budget_gal120 → 140
09:00temp_hysteresis2.14 → 2.05
09:00vpd_watch_dwell_s75 → 71.25
07:00cold_vent_guard_delta_f9 → 8
07:00direct_wet_stress_min_dew_margin_f10 → 8
07:00direct_wet_stress_vpd_margin_kpa0.25 → 0.05
07:00dwell_gate_ms285000 → 240000
07:00fog_escalation_kpa0.4 → 0.18
07:00min_fog_off_s114 → 72
07:00min_fog_on_s43.5 → 59.25
07:00mister_all_delay_s97.5 → 84
07:00mister_engage_delay_s48.75 → 42
07:00mister_water_budget_gal140 → 260
07:00temp_hysteresis2.05 → 1.78
07:00vent_prefer_dp_delta_f4 → 3
07:00vent_prefer_temp_delta_f5 → 4
07:00vpd_watch_dwell_s71.25 → 60

End-of-Day Summary

Climate

Temperature

67.6–84.6°F; avg 75.9°F

VPD

0.51–1.56 kPa; avg 0.88 kPa

Relative humidity

60.1–79.0%

Stress Hours

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

Economics

Electric

USD 1.93

Gas

USD 0.00

Water

USD 0.360

Total

USD 2.29

Equipment Runtimes

EquipmentRuntimeReading
Fan 1339 minPrimary exhaust runtime.
Fan 2345 minSecondary exhaust runtime.
Vent409 minIntake vent runtime.
Fog49 minFogger runtime.
Heat 1 electric0 minElectric heater runtime.
Heat 2 gas0 minGas heater runtime.
Grow lights1264 minSupplemental lighting runtime.
Mister south0.29hSouth mister runtime.
Mister west0.08hWest mister runtime.
Mister center0.25hCenter mister runtime.

Water

  • Total: 75 gal
  • Mister: 30 gal

Hourly Pattern

HourTemperatureVPDRH
12:0080.9°F1.15 kPa68.5%
13:0081.9°F1.17 kPa68.9%
14:0083.2°F1.29 kPa67.4%
15:0084.3°F1.33 kPa68.2%
16:0083.4°F1.26 kPa68.6%
17:0082.8°F1.22 kPa68.5%
18:0081.7°F0.97 kPa74.1%
19:0081.7°F0.94 kPa74.9%
20:0078.4°F0.91 kPa73.2%
21:0076.5°F0.83 kPa73.6%
22:0075.3°F0.83 kPa72.4%
23:0073.3°F0.91 kPa67.7%
00:0071.4°F0.80 kPa69.7%
01:0070.6°F0.74 kPa71.2%
02:0069.9°F0.74 kPa70.3%
03:0068.7°F0.78 kPa67.6%
04:0067.9°F0.71 kPa69.5%
05:0068.2°F0.57 kPa75.9%
06:0069.6°F0.56 kPa77.6%
07:0071.6°F0.62 kPa76.9%
08:0074.1°F0.72 kPa75.4%
09:0076.7°F0.88 kPa72.3%
10:0078.6°F1.09 kPa67.7%
11:0079.7°F1.09 kPa68.6%

7-Day Stress Context

DateHeatVPD highCold
2026-06-180.2h11.4h0.0h
2026-06-190.1h10.4h0.0h
2026-06-200.1h6.7h0.0h
2026-06-210.4h5.9h0.0h
2026-06-221.9h6.8h0.0h
2026-06-230.0h7.9h0.0h
2026-06-241.7h4.8h0.0h