May 23, 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

12

Plan writes

4

No-change acknowledgements

8

Pending

0

EventDeliveredTypeStatusNote
End-of-day review and reset00:17MIDNIGHTplan_writtenWrote public plan iris-20260523-0027. Resolved 00:22 MDT.
Morning planning cycle05:39SUNRISEplan_writtenWrote public plan iris-20260523-0539. Resolved 05:42 MDT.
Solar peak planning checkpoint12:57SOLAR_MAXackedAcknowledged: SOLAR_MAX reviewed: live solar 1005 W/m2 is high but within the severe-day forecast envelope after calibration; greenhouse is already in VENTILATE with average VPD 1.08 kPa below active vpd_high 1.30, dew margin 11.1F, and the active SUNRISE plan already has fully band-coupled peak moisture posture in place (mister_engage_kpa 1.0, mister_all_kpa 1.2, 30/60s delays, 20s gap, fog_escalation_kpa 0.15, min_fog_off_s 45, mist_max_closed_vent_s 180, mist_backoff_s 600)... Resolved 12:58 MDT.
Peak Stress14:57TRANSITIONackedAcknowledged: Peak-stress transition checked. Live house is in VENTILATE at 80.5F and VPD 1.44 kPa with healthy 13.9F dew margin; vent, fan1, fan2, fog, and center mister are active. The active SUNRISE plan is already in the intended severe dry-day posture: mister_engage_kpa 1.0, mister_all_kpa 1.2, 30/60s delays, 20s pulse gap, fog_escalation_kpa 0.15, min_fog_off_s 45, mist_max_closed_vent_s 180, and mist_backoff_s 600... Resolved 14:58 MDT.
Forecast deviation15:09FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: observed wind is much lower than forecast, but live greenhouse response is consistent with the active hot-dry VENTILATE posture. Current climate is 80.1F, VPD 1.19 kPa, RH 68%, dew margin 11.6F; equipment is vent + fan1 + fan2 with heat off and wetting/fog currently off after recent cycles. Diagnosis is forecast wind error / local wind lull, not equipment fault or new regime... Resolved 15:09 MDT.
Forecast deviation15:23FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION reviewed: observed solar 260 W/m2 vs forecast 959 and cloud 82% vs 9% is a weather/forecast cloud miss in the same solar-overforecast direction as recent calibration, not equipment failure. Live greenhouse is VENTILATE at 78.0F, VPD 1.10 kPa, RH 67%, dew margin 11.8F; vent and fan2 are active, heaters/fog/misters off. Existing severe-dry posture is already at the aggressive guardrail-aligned floor for moisture (mister_engage 1.0, all 1.2, gap 20, fog_escalation 0... Resolved 15:23 MDT.
Forecast deviation15:38FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: wind_gust forecast was much higher than observed, but this matches recent forecast-over-wind bias rather than a greenhouse/equipment regime change. Live house is VENTILATE at 81.1F, VPD 1.45 kPa, RH 61%, dew margin 14.9F; vent, fan1, fan2, fog, and center mister are already active. Current moisture posture is already guardrail-aligned/aggressive (fog_escalation 0.15, min_fog_off 45, engage 1.0, all 1.2, gap 20), so no additional tunable change is warranted. Resolved 15:39 MDT.
Forecast deviation16:09FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: observed VPD is lower/more humid than forecast, matching recent forecast-overdry/solar-miss pattern rather than an equipment fault. Current climate is 75.0F, VPD 0.98 kPa, RH 68%, dew margin 11.1F, mode VENTILATE. Equipment state is consistent with cooling: vent and fan1 on, fan2/fog/misters/heaters off. Active posture is already aggressively band-coupled for the dry window, and live VPD is in/near band with safe dew margin, so no tunable change warranted. Resolved 16:09 MDT.
Forecast deviation16:24FORECAST_DEVIATIONplan_writtenWrote non-archive plan iris-oneshot-20260523-1625. Resolved 16:25 MDT.
Decline19:17TRANSITIONackedAcknowledged: Decline checkpoint no-change: live house is tracking the active dry-evening posture. Greenhouse VPD is at the high band (0.97 vs vpd_high 0.96) with VENTILATE and fans active, dew margin is safe at 12.3F, fog is already time-window blocked/off, and east remains dry at 1.57 kPa while outdoor air is still dry (~25% RH). The existing plan already schedules unwind waypoints at 21:30 and 00:30, so changing tunables now would risk under-supporting the remaining dry evening rather than preventing overnight V... Resolved 19:17 MDT.
Evening planning cycle20:17SUNSETplan_writtenWrote public plan iris-20260523-2017. Resolved 20:20 MDT.
Forecast deviation21:42FORECAST_DEVIATIONackedAcknowledged: FORECAST_DEVIATION assessed: observed VPD is much lower/more humid than forecast (0.82 kPa live vs 1.64 kPa trigger forecast), opposite the recent small VPD forecast bias. Climate is not in VPD-low stress: house 66.2F, RH 65%, VPD 0.82 near the 0.80 high band, dew margin 11.9F. Equipment state matches a mild thermal/economiser response, with vent open and fan2 on, fog and misters off... Resolved 21:43 MDT.

🌅 Morning Cycle (12:22 AM) — iris-20260523-0027

Status

validated

Outcome score

5/10

Changed parameters

bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...

Reflection

Validating previous cycle: iris-20260522-0540

Previous hypothesis: SUNRISE plan for Friday 2026-05-22. Yesterday improved to 73.8 but still missed target: both-axis compliance 77.6%, temp 84.6%, VPD 87.6%, with heat stress 2.72h and VPD-high 2.10h as the main misses. The evaluated sunset plan scored 8/10 versus anchor 6: it protected VPD and dew safety overnight, but the anchor penalized 14 guardrail events, so today’s plan must stop fighting the moisture guardrail during dry ventilation. Current house is IDLE with heat1 on, 65.4F, VPD 0.56, RH 74%, dew margin 8.6F, and outdoor air is cold/saturated. Forecast shifts to a dry afternoon: Friday outdoor RH falls to 21-28%, VPD 1.5-1.8 kPa, solar peaks near 817 W/m2; Saturday fallback is severe with RH near 9%, VPD near 3.0 kPa, and solar near 900 W/m2… Result: MIDNIGHT plan window was safe but only partially effective. Window metrics: score 60.0, both-axis compliance 59.4%, temp compliance 61.2%, VPD compliance 78.4%, stress about 1.48h during its governed interval with cold about 0.87h, VPD-low about 1.24h, VPD-high negligible about 0.04h, and cost about USD 0.22. The saturated pre-dawn suppression protected dew safety and avoided VPD-high, but the house still spent meaningful time below the VPD band and had some crop-band cold scoring. The severe dry-ramp fallback was superseded by the later SUNRISE plan, so this score is mainly for the overnight reset posture and plan-contract coverage. Score: 5/10

Hypothesis

Testing: Replace incomplete/guardrailed carryover with complete Tier-1 waypoints and a severe-day posture that is fully band-coupled before the dry ramp, then delay the unwind until observed/forecast VPD pressure weakens. Expected outcome: For Saturday: dp_risk_hours 0, pre-dawn VPD-low under 1h, daytime VPD-high lower than Friday despite worse dry air, fewer or no VPD-high moisture-guardrail events, and both-axis compliance at least 65% unless structural heat/temperature-band limits dominate. Cost/water may rise, intentionally, to prevent water budget from bottlenecking severe VPD recovery.

Conditions

Outdoor peak

77.0°F

RH minimum

10.0%

Solar peak

932.0 W/m²

Cloud average

35.0%

Cold saturated pre-dawn around 42-50F and 84-92% RH with indoor VPD 0.37 and dew margin 5.6F, followed by a severe clear dry ramp from late morning through evening: RH 10-24%, outdoor VPD about 1.8-2.9 kPa, solar corrected peak near 890-930 W/m2. Sunday fallback remains dry and warmer by late morning.

Expected stress windows

vpd_lowmedium · 2026-05-23T00:25:00-06:00 to 2026-05-23T09:30:00-06:00

High thresholds 2.45/2.5 overnight, long delays, 55-60s gaps, fog_escalation 0.9-1.0, short 120s sealed residence, bias_cool +4 and modest heat support.

vpd_highhigh · 2026-05-23T10:30:00-06:00 to 2026-05-23T21:30:00-06:00

Fully band-coupled moisture before the VPD ramp: engage 1.0-1.1, all 1.2-1.3, 30/60s delays, 20-25s gaps, fog_escalation 0.15-0.20, min_fog_off 45-60, 180s sealed cap, and 600s backoff.

heatmedium · 2026-05-23T12:00:00-06:00 to 2026-05-23T18:30:00-06:00

Earlier ventilation support with bias_cool 0-1, d_cool_stage_2 2, temp_hysteresis 1.4-1.5, while VENTILATE mist/fog assist protects VPD.

vpd_lowlow · 2026-05-23T23:30:00-06:00 to 2026-05-24T07:30:00-06:00

After outdoor VPD falls below about 1 kPa, unwind toward engage 2.2, all 2.5, 55-60s gaps, fog_escalation 0.9, and short sealed residence.

Parameter rationale

mister_engage_kpa2.45 → 1.0; Saturday 12:00-19:00 RH 10-24%, VPD 1.85-2.87 kPa, solar mostly 576-845 W/m2 raw / up to ~932 corrected; prior plan anchor 1 exposed 14 VPD-high guardrail dispatches.

Avoid repeated moisture-guardrail rewrites and keep VPD-high stress lower than Friday despite worse dry-air pressure.

mister_all_kpa2.5 → 1.2; Active vpd_high is near 0.8 kPa and guardrail guidance wants all-zone near max(1.0, vpd_high+0.25) in live VENTILATE stress.

Allow all-zone assist during severe dry ventilation instead of waiting far above the crop band.

fog_escalation_kpa0.5 → 0.15; Dry peak overlaps 10:30-17:00 fog window and fog is 7x mister effectiveness; PR-A makes vent+fog assist intentional.

Catch stubborn VPD-high while firmware RH/temp/time gates and short sealed caps protect condensation and heat.

mister_pulse_gap_s60.0 → 20.0; RH falls to 10-12% from 15:00-18:00; dry-day lessons call for 15-25s gaps under severe dry pressure.

Prevent humidity collapse between pulses during VENTILATE assist.

mister_engage_delay_s300.0 → 30.0; Recent guardrail clamps shortened long delays during live VPD-high stress.

Start physical pulses promptly once humidity demand exists.

min_fog_off_s180.0 → 45.0; Hot/dry venting can clamp fog-off dwell to 45s; current forecast has severe VPD pressure and healthy dew margin by peak.

Permit an effective fog cadence during the fog window without relying on longer sealed cycles.

bias_cool4.0 → 0.0; Dawn heating needs anti-whipsaw, but noon-to-evening solar/dry pressure needs earlier ventilation rather than delayed cooling.

Reduce heat stress while moisture assist prevents VPD from being abandoned during venting.

mister_water_budget_gal300.0 → 600.0; Severe RH 10-12% dry window plus prior missed water-budget dispatch evidence; validated lesson says the water budget must not bottleneck VPD recovery.

Prevent planner-imposed budget exhaustion during the severe dry ramp.

Setpoints

Saturday May 23

Primary crop-band changes:

TimeValuesNote
00:27hyst 0.5Post-midnight reset: safe but humid house; suppress added mo
04:30hyst 0.5Pre-dawn cold saturated window: keep moisture suppressed, ga
08:30hyst 0.5Sunrise ramp still starts humid/cool; lower thresholds only
10:30hyst 0.45Dry ramp begins; switch to guardrail-aware band-coupled mois
12:30hyst 0.45Severe dry/solar peak: fully band-coupled VENTILATE moisture
15:30hyst 0.45Peak dry continuation: hold aggressive moisture because RH i
18:30hyst 0.45Dry evening is not recovered yet; keep band-coupled mister s
21:30hyst 0.5Delayed evening unwind: outdoor air is still dry but solar i

Tactical tunable changes:

TimeValuesNote
00:27engage 2.45; all 2.5; pulse 60; gap 60; wt 2Post-midnight reset: safe but humid house; suppress added mo
04:30engage 2.45; all 2.5; pulse 60; gap 60; wt 2Pre-dawn cold saturated window: keep moisture suppressed, ga
08:30engage 1.9; all 2.2; pulse 60; gap 45; wt 2.2Sunrise ramp still starts humid/cool; lower thresholds only
10:30engage 1.1; all 1.3; pulse 60; gap 25; wt 2.5Dry ramp begins; switch to guardrail-aware band-coupled mois
12:30engage 1; all 1.2; pulse 60; gap 20; wt 2.8Severe dry/solar peak: fully band-coupled VENTILATE moisture
15:30engage 1; all 1.2; pulse 60; gap 20; wt 2.8Peak dry continuation: hold aggressive moisture because RH i
18:30engage 1.05; all 1.25; pulse 60; gap 25; wt 2.6Dry evening is not recovered yet; keep band-coupled mister s
21:30engage 1.35; all 1.65; pulse 60; gap 40; wt 2.2Delayed evening unwind: outdoor air is still dry but solar i

Sunday May 24

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.5Overnight reset and missed-SUNRISE fallback base: moisture m

Tactical tunable changes:

TimeValuesNote
00:30engage 2.2; all 2.5; pulse 60; gap 55; wt 2Overnight reset and missed-SUNRISE fallback base: moisture m

Changed secondary parameters:

TimeParameterChange
00:27bias_coolinitial 4
00:27bias_heatinitial 1.5
00:27d_cool_stage_2initial 3
00:27d_heat_stage_2initial 3
00:27dwell_gate_msinitial 300000
00:27enthalpy_closeinitial 1
00:27enthalpy_openinitial -2
00:27fog_escalation_kpainitial 0.5
00:27heat_hysteresisinitial 1.5
00:27min_fog_off_sinitial 180
00:27min_fog_on_sinitial 45
00:27min_heat_off_sinitial 180
00:27min_heat_on_sinitial 120
00:27min_vent_off_sinitial 60
00:27min_vent_on_sinitial 60
00:27mist_backoff_sinitial 1800
00:27mist_max_closed_vent_sinitial 120
00:27mist_thermal_relief_sinitial 90
00:27mister_all_delay_sinitial 600
00:27mister_engage_delay_sinitial 300
00:27mister_water_budget_galinitial 300
00:27outdoor_staleness_max_sinitial 600
00:27sw_dwell_gate_enabledinitial 1
00:27sw_fog_closes_ventinitial 1
00:27sw_fsm_controller_enabledinitial 1
00:27sw_mister_closes_ventinitial 1
00:27sw_summer_vent_enabledinitial 1
00:27temp_hysteresisinitial 1.7
00:27vent_prefer_dp_delta_finitial 5
00:27vent_prefer_temp_delta_finitial 5
00:27vpd_watch_dwell_sinitial 60
04:30bias_heat1.5 → 2
08:30bias_cool4 → 3
08:30bias_heat2 → 0.8
08:30fog_escalation_kpa0.5 → 0.7
08:30min_fog_off_s180 → 120
08:30mist_backoff_s1800 → 1200
08:30mist_max_closed_vent_s120 → 150
08:30mister_all_delay_s600 → 240
08:30mister_engage_delay_s300 → 120
08:30mister_water_budget_gal300 → 600
08:30temp_hysteresis1.7 → 1.6
10:30bias_cool3 → 1
10:30bias_heat0.8 → 0
10:30d_cool_stage_23 → 2
10:30fog_escalation_kpa0.7 → 0.2
10:30heat_hysteresis1.5 → 1.3
10:30min_fog_off_s120 → 60
10:30mist_backoff_s1200 → 600
10:30mist_max_closed_vent_s150 → 180
10:30mister_all_delay_s240 → 60
10:30mister_engage_delay_s120 → 30
10:30temp_hysteresis1.6 → 1.5
10:30vpd_watch_dwell_s60 → 45
12:30bias_cool1 → 0
12:30fog_escalation_kpa0.2 → 0.15
12:30heat_hysteresis1.3 → 1.2
12:30min_fog_off_s60 → 45
12:30temp_hysteresis1.5 → 1.4
18:30bias_cool0 → 1
18:30fog_escalation_kpa0.15 → 0.25
18:30heat_hysteresis1.2 → 1.3
18:30min_fog_off_s45 → 60
18:30temp_hysteresis1.4 → 1.5
18:30vpd_watch_dwell_s45 → 60
21:30bias_cool1 → 3
21:30bias_heat0 → 0.5
21:30d_cool_stage_22 → 3
21:30fog_escalation_kpa0.25 → 0.7
21:30heat_hysteresis1.3 → 1.5
21:30min_fog_off_s60 → 120
21:30mist_backoff_s600 → 1200
21:30mist_max_closed_vent_s180 → 150
21:30mister_all_delay_s60 → 120
21:30mister_engage_delay_s30 → 60
21:30temp_hysteresis1.5 → 1.6
00:30bias_cool3 → 4
00:30bias_heat0.5 → 1.2
00:30fog_escalation_kpa0.7 → 0.9
00:30min_fog_off_s120 → 180
00:30mist_backoff_s1200 → 1800
00:30mist_max_closed_vent_s150 → 120
00:30mister_all_delay_s120 → 360
00:30mister_engage_delay_s60 → 180
00:30temp_hysteresis1.6 → 1.7

🌅 Morning Cycle (5:42 AM) — iris-20260523-0539

Status

validated

Outcome score

1/10

Changed parameters

bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...

Reflection

Validating previous cycle: iris-20260522-2016

Previous hypothesis: SUNSET overnight plan for Friday 2026-05-22. Today scored 63.9, below the 7-day 70.6, with heat stress and VPD-high both meaningful; the reviewed sunrise plan was revised to 2/10 after anchor comparison because 55 VPD-high moisture-guardrail events showed it still fought the firmware guardrail. Tonight’s immediate challenge is cold saturated outdoor air, not dry stress: outdoor falls to 43F with RH near 90%, while current indoor dew margin is safe at 9.6F. I am suppressing mist/fog, keeping sealed-mist residence short, and using bias_cool +4 plus modest bias_heat to prevent heater-to-vent oscillation. A late-morning missed-SUNRISE fallback is included because Saturday becomes severe dry VPD pressure: RH 9-15%, solar near 900-1000 W/m2, and outdoor VPD near 2.5-2.9 kPa. Result: Revised after anchor comparison. The score must align downward because deterministic guardrail evidence is stronger than my initial plan-window climate impression: 1107 guardrail events, 24 held guardrail events, 17 dispatched guardrail events, 41 VPD-high guardrail events, and a guardrail penalty of 3 show the plan still fought or depended on dispatcher moisture policy during the dry-day window. Window scorecard was poor: score 50.6, both-axis compliance 50.1%, temp compliance 51.6%, VPD compliance 66.1%, VPD-high about 2.01h, and active evening alerts showed VENTILATE VPD-high with no moisture assist. Dew safety and low VPD-low stress were positives, but execution quality failed the policy contract and did not keep both axes in band. The next plan must stop unwinding while VPD-high/VENTILATE remains active and must include an observed-recovery shoulder before overnight suppression. Score: 1/10

Hypothesis

Testing: Test whether a fully band-coupled severe-day posture that starts before the VPD ramp and delays evening unwind until VPD weakens can reduce VPD-high guardrail events and keep dp-risk at 0h without creating overnight VPD-low. Expected outcome: Target both-axis compliance above 75% for the daylight-to-overnight window, VPD-high stress below 2.5h despite forecast VPD near 2.9 kPa, VPD-low below 1.0h, dew-risk 0h, and total utility cost below the 7-day average while accepting some structural heat/crop-band temperature stress.

Conditions

Outdoor peak

77.0°F

RH minimum

11.0%

Solar peak

932.0 W/m²

Cloud average

35.0%

Cool saturated dawn around 43-50F and 78-89% RH, indoor VPD 0.46 and dew margin 6.9F, followed by severe dry pressure from late morning through evening: RH 11-21%, VPD 2.1-2.9 kPa, solar roughly 600-930 W/m2 corrected. Forecast solar has overestimated recently but today’s clear morning and retrieved lessons support pre-positioning by 10:30 rather than waiting for stress.

Expected stress windows

vpd_lowlow · 2026-05-23T05:45:00-06:00 to 2026-05-23T09:30:00-06:00

High dawn thresholds, long delays, 55s gaps, fog_escalation 0.9, vpd_hysteresis 0.5, short sealed residence, bias_cool +4, and modest heat support while dew margin is safe but not wide.

vpd_highhigh · 2026-05-23T10:30:00-06:00 to 2026-05-23T21:30:00-06:00

Fully band-coupled moisture before and through the dry ramp: engage 1.0-1.05, all 1.2-1.25, 30/60s delays, 20s gaps, fog_escalation 0.15, min_fog_off 45 during the fog window, 180s sealed cap, 600s backoff, and no early evening unwind while forecast VPD remains >1.5 kPa.

heatmedium · 2026-05-23T12:00:00-06:00 to 2026-05-23T18:30:00-06:00

Earlier ventilation posture with bias_cool 0, d_cool_stage_2 2, temp_hysteresis 1.3-1.4, and short sealed-mist residence so VENTILATE can preempt while fog/mist assist protects VPD.

vpd_lowlow · 2026-05-24T00:30:00-06:00 to 2026-05-24T07:30:00-06:00

Only after outdoor VPD falls toward 1.0 kPa or lower, return to high thresholds, long gaps/delays, fog_escalation 0.9, and bias_cool +4 with modest heat support.

Parameter rationale

mister_engage_kpa2.45 → 1.0; Saturday 12:00-19:00 RH 11-21%, VPD 2.1-2.9 kPa, solar corrected near 900 W/m2, and 55 prior guardrail events from conservative moisture values.

Avoid VPD-high guardrail rewrites and keep VPD-high stress materially below Friday despite worse dry-air pressure.

mister_all_kpa2.5 → 1.2; Active vpd_high is near 0.8 kPa and guardrail guidance wants all-zone near max(1.0, vpd_high+0.25) during live VENTILATE stress.

Permit all-zone support during severe dry ventilation instead of waiting far above the active band.

fog_escalation_kpa1.0 → 0.15; Dry peak overlaps the 07:00-17:00 fog window; retrieved plans and lessons show fog is the effective tool in single-digit/low-teen RH when bounded by short sealed residence.

Catch stubborn VPD-high during VENTILATE assist without extending sealed heat traps.

mister_pulse_gap_s60.0 → 20.0; RH falls to 11-12% from 15:00-18:00; dry-day lessons call for 15-25s gaps under severe dry pressure.

Prevent humidity collapse between pulses during VENTILATE assist.

mister_engage_delay_s300.0 → 30.0; Recent guardrail clamps shortened long delays during live VPD-high stress.

Start physical pulses promptly once humidity demand exists.

mister_all_delay_s600.0 → 60.0; VPD can rise quickly after 10:30 on clear spring mornings; lesson 104 validated earlier pre-buffering before the ramp.

Reduce time above the VPD band and avoid held guardrail events.

min_fog_off_s180.0 → 45.0; Hot/dry venting can clamp fog-off dwell to 45s; current forecast has severe VPD pressure and safe dew margin by peak.

Permit effective fog cadence during the fog window while firmware RH/temp/time gates protect condensation.

bias_cool4.0 → 0.0; Dawn heating needs anti-whipsaw, but noon-to-evening solar/dry pressure needs earlier ventilation rather than delayed cooling.

Reduce heat-stress accumulation while moisture assist prevents VPD from being abandoned during venting.

mist_backoff_s1800.0 → 600.0; Short sealed windows and severe dry VPD require repeated recovery attempts but not immediate reseal loops.

Allow repeated bounded humidity recovery while preserving THERMAL_RELIEF/VENTILATE preemption.

mister_water_budget_gal600.0 → 600.0; Severe RH 11% dry window; validated lesson says water budget must not be the bottleneck.

Keep water budget from limiting VPD recovery while scoring whether water spend buys compliance.

Setpoints

Saturday May 23

Primary crop-band changes:

TimeValuesNote
05:45hyst 0.5Saturated dawn protection: current VPD 0.46, RH 79%, dew mar
08:30hyst 0.5Morning ramp: outdoor VPD still low but solar rising. Begin
10:30hyst 0.45Pre-ramp handoff: forecast VPD crosses 1 kPa by 11:00 and so
12:00hyst 0.45Peak solar and dry-air onset: RH drops below 30%, VPD near 1
15:00hyst 0.45Severe dry peak: RH around 11%, VPD near 2.8, wind rising. K
18:30hyst 0.45Late dry evening: fog window has closed but outdoor VPD rema
21:30hyst 0.5Dry pressure declining but not gone: outdoor VPD still aroun

Tactical tunable changes:

TimeValuesNote
05:45engage 2.35; all 2.5; pulse 60; gap 55; wt 2Saturated dawn protection: current VPD 0.46, RH 79%, dew mar
08:30engage 1.8; all 2.1; pulse 60; gap 40; wt 2.2Morning ramp: outdoor VPD still low but solar rising. Begin
10:30engage 1.05; all 1.25; pulse 60; gap 20; wt 2.8Pre-ramp handoff: forecast VPD crosses 1 kPa by 11:00 and so
12:00engage 1; all 1.2; pulse 60; gap 20; wt 3Peak solar and dry-air onset: RH drops below 30%, VPD near 1
15:00engage 1; all 1.2; pulse 60; gap 20; wt 3Severe dry peak: RH around 11%, VPD near 2.8, wind rising. K
18:30engage 1; all 1.2; pulse 60; gap 20; wt 2.8Late dry evening: fog window has closed but outdoor VPD rema
21:30engage 1.2; all 1.5; pulse 60; gap 30; wt 2.4Dry pressure declining but not gone: outdoor VPD still aroun

Sunday May 24

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.5Overnight suppression after outdoor VPD falls near 1.0 and t

Tactical tunable changes:

TimeValuesNote
00:30engage 2.2; all 2.5; pulse 60; gap 55; wt 2Overnight suppression after outdoor VPD falls near 1.0 and t

Changed secondary parameters:

TimeParameterChange
05:45bias_coolinitial 4
05:45bias_heatinitial 1.8
05:45d_cool_stage_2initial 3
05:45d_heat_stage_2initial 3
05:45dwell_gate_msinitial 300000
05:45enthalpy_closeinitial 1
05:45enthalpy_openinitial -2
05:45fog_escalation_kpainitial 0.5
05:45heat_hysteresisinitial 1.5
05:45min_fog_off_sinitial 180
05:45min_fog_on_sinitial 45
05:45min_heat_off_sinitial 180
05:45min_heat_on_sinitial 120
05:45min_vent_off_sinitial 60
05:45min_vent_on_sinitial 60
05:45mist_backoff_sinitial 1800
05:45mist_max_closed_vent_sinitial 120
05:45mist_thermal_relief_sinitial 90
05:45mister_all_delay_sinitial 600
05:45mister_engage_delay_sinitial 300
05:45mister_water_budget_galinitial 300
05:45outdoor_staleness_max_sinitial 600
05:45sw_dwell_gate_enabledinitial 1
05:45sw_fog_closes_ventinitial 1
05:45sw_fsm_controller_enabledinitial 1
05:45sw_mister_closes_ventinitial 1
05:45sw_summer_vent_enabledinitial 1
05:45temp_hysteresisinitial 1.7
05:45vent_prefer_dp_delta_finitial 5
05:45vent_prefer_temp_delta_finitial 5
05:45vpd_watch_dwell_sinitial 60
08:30bias_cool4 → 2.5
08:30bias_heat1.8 → 0.8
08:30min_fog_off_s180 → 120
08:30mist_backoff_s1800 → 1200
08:30mist_max_closed_vent_s120 → 150
08:30mister_all_delay_s600 → 240
08:30mister_engage_delay_s300 → 90
08:30temp_hysteresis1.7 → 1.6
10:30bias_cool2.5 → 1
10:30bias_heat0.8 → 0
10:30d_cool_stage_23 → 2
10:30d_heat_stage_23 → 4
10:30fog_escalation_kpa0.5 → 0.15
10:30heat_hysteresis1.5 → 1.2
10:30min_fog_off_s120 → 45
10:30mist_backoff_s1200 → 600
10:30mist_max_closed_vent_s150 → 180
10:30mister_all_delay_s240 → 60
10:30mister_engage_delay_s90 → 30
10:30temp_hysteresis1.6 → 1.4
10:30vpd_watch_dwell_s60 → 45
12:00bias_cool1 → 0
12:00d_heat_stage_24 → 5
12:00heat_hysteresis1.2 → 1
12:00temp_hysteresis1.4 → 1.3
18:30bias_cool0 → 1
18:30d_heat_stage_25 → 4
18:30fog_escalation_kpa0.15 → 0.25
18:30heat_hysteresis1 → 1.2
18:30min_fog_off_s45 → 60
18:30temp_hysteresis1.3 → 1.4
18:30vpd_watch_dwell_s45 → 60
21:30bias_cool1 → 2.5
21:30bias_heat0 → 0.5
21:30d_cool_stage_22 → 3
21:30d_heat_stage_24 → 3
21:30fog_escalation_kpa0.25 → 0.5
21:30heat_hysteresis1.2 → 1.4
21:30min_fog_off_s60 → 90
21:30mist_backoff_s600 → 900
21:30mist_max_closed_vent_s180 → 150
21:30mister_all_delay_s60 → 90
21:30mister_engage_delay_s30 → 45
21:30temp_hysteresis1.4 → 1.6
00:30bias_cool2.5 → 4
00:30bias_heat0.5 → 1.5
00:30heat_hysteresis1.4 → 1.5
00:30min_fog_off_s90 → 180
00:30mist_backoff_s900 → 1800
00:30mist_max_closed_vent_s150 → 120
00:30mister_all_delay_s90 → 600
00:30mister_engage_delay_s45 → 300
00:30temp_hysteresis1.6 → 1.7

🌆 Evening Cycle (8:20 PM) — iris-20260523-2017

Status

validated

Outcome score

1/10

Changed parameters

d_cool_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa, heat_hysteresis, min_fog_off_s, min_fog_on_s ...

Reflection

Validating previous cycle: iris-20260523-0539

Previous hypothesis: SUNRISE plan for Saturday 2026-05-23. Friday finished below target at score 65.4, with both-axis compliance 67.9%; temp compliance 77.3% and VPD compliance 80.3%, so both axes missed but temperature was the tighter daily axis while VPD-high was also material. The evaluated Friday SUNRISE plan scored 2/10 versus anchor 4 because 55 VPD-high moisture-guardrail events showed the written values still fought dispatcher policy. Current house is IDLE, 65.6F, VPD 0.46, RH 79%, dew margin 6.9F, with heat1 active and no wetting/venting active. Today starts cool and saturated but turns severe-dry by midday: RH around 11%, VPD near 2.8-2.9 kPa, solar near 900+ W/m2 after bias correction… Result: Revised after anchor comparison. Although the live midnight snapshot is safe (IDLE, 64.0F, VPD 0.52 kPa, RH 74%, dew margin 8.3F, dp-risk 0h), the deterministic guardrail scorecard shows the written plan still failed the policy contract: 64 guardrail events, 61 held guardrail events, 3 dispatched events, all VPD-high guardrail-related, with a guardrail penalty of 3 and anchor_score 1. The recovery shoulder did not prevent continued VENTILATE VPD-high/no-moisture-assist alerts at 21:29 and 22:36, and the 22:45 unwind requested conservative engage/all values that the guardrail held to more band-coupled thresholds. Final 2026-05-23 score was 56.1 with 54.4% both-axis compliance; VPD-low dominated the daily rollup, but execution quality for this plan was poor because it repeated the central failure: unwinding before observed VPD recovery was stable. Final grade aligned to anchor: 1/10. Score: 1/10

New finding: When a SUNSET recovery shoulder is still producing VPD-high guardrail holds or VENTILATE no-moisture-assist alerts, do not unwind to conservative thresholds by clock time. Keep engage/all/fog-off/delays fully band-coupled until observed VPD is below band and stable; a safe midnight snapshot alone is not evidence the written plan complied. → Added to Lessons Learned

Hypothesis

Testing: Test whether an observed-recovery SUNSET shoulder before conservative overnight unwind prevents the repeated VPD-high guardrail failure while still keeping dp-risk at 0h. Expected outcome: By midnight: current VENTILATE/VPD-high alert should clear or materially reduce; overnight dp_risk_hours stays 0, VPD-low adds <0.7h, cold stress <1h, and if SUNRISE is missed the 09:30 fallback should enter the dry ramp without conservative moisture values that trigger guardrail holds.

Conditions

Outdoor peak

83.1°F

RH minimum

12.0%

Solar peak

921.0 W/m²

Cloud average

55.0%

Evening begins dry and still VPD-high indoors: greenhouse 67.8F, VPD 0.93, RH 63%, dew margin 13.2F, mode VENTILATE; outdoor 69.5F/31% RH. Overnight outdoor VPD falls from about 1.37 to 0.58 by 06:00, then Sunday ramps hard: 80-83F, RH 12-17%, VPD around 2.9-3.4 kPa raw / 3.1-3.6 corrected, and corrected solar around 850-920 W/m2. Today scored 60.0 with heat 6.67h and VPD-high 3.93h, so the overnight plan must recover current VPD-high before conservative suppression.

Expected stress windows

vpd_highmedium · 2026-05-23T20:25:00-06:00 to 2026-05-23T22:45:00-06:00

Keep band-coupled recovery while VENTILATE/VPD-high is still active and dew margin is healthy: engage 0.87, all 1.07, 30/60s delays, 20s gaps, fog_escalation 0.20 even though fog is window-blocked.

vpd_lowlow · 2026-05-23T23:30:00-06:00 to 2026-05-24T07:30:00-06:00

After the recovery shoulder, unwind gradually to engage 1.55, all 1.9, 50s gaps, longer delays, fog_escalation 0.5, vpd_hysteresis 0.5, and short 120s sealed residence.

vpd_highhigh · 2026-05-24T09:30:00-06:00 to 2026-05-24T20:30:00-06:00

Missed-SUNRISE fallback returns directly to guardrail-aligned band-coupled moisture: engage 0.87, all 1.07, 30/60s delays, 20s gaps, fog_escalation 0.15, min_fog_off 45, 180s sealed cap, and 600s backoff.

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

Do not extend sealed mist; use d_cool_stage_2 2 and temp_hysteresis 1.3 in the missed-SUNRISE fallback while moisture assist protects VPD during VENTILATE.

Parameter rationale

mister_engage_kpa0.87 → 0.87; Current indoor VPD 0.93 is above vpd_high 0.82 and active alerts show VENTILATE VPD-high with moisture-assist gaps.

Avoid a repeat of VPD-high guardrail holds during the still-active evening stress window.

mister_all_kpa1.07 → 1.07; Band-coupled value is near max(1.0, vpd_high+0.25) and the current plan evaluation showed VPD-high guardrail failures.

Allow all-zone support during evening recovery and tomorrow's dry ramp instead of waiting above the crop band.

mister_pulse_gap_s15.0 → 20.0; Healthy dew margin but sunset recovery needs moisture; 20s keeps recovery active without carrying the peak 15s cadence all night.

Reduce current VPD-high without creating overnight VPD-low carryover.

fog_escalation_kpa0.2 → 0.15; Sunday 09:30-17:00 dry ramp overlaps the fog window, RH falls to 12-17%, and prior guardrail evidence penalized higher/conservative fog escalation.

Use fog's 7x effectiveness during the next dry ramp while firmware RH/temp/time gates protect condensation.

min_fog_off_s60.0 → 45.0; Hot/dry venting can clamp fog-off dwell to 45s, and Sunday has VPD above 3 kPa with solar near 900 W/m2.

Avoid dispatcher rewrites and permit effective fog cadence during the missed-SUNRISE fallback.

mister_engage_delay_s30.0 → 30.0; Recent VPD-high guardrail events show long delays are wrong during live VENTILATE dry stress.

Start physical pulses promptly once humidity demand exists.

mister_all_delay_s60.0 → 60.0; Sunday VPD ramp is steep by 10:00-12:00, and all-zone escalation should not wait 5-10 minutes.

Reduce time above the VPD band during the next dry ramp.

mist_max_closed_vent_s180.0 → 120.0; Overnight outdoor VPD declines and humidity holds better sealed; dew safety remains important even with current dp margin 13.2F.

Prevent accidental long sealed humidity cycles overnight while preserving a 180s dry-ramp cap tomorrow.

vpd_hysteresis0.45 → 0.5; Overnight VPD is forecast to fall toward 0.58-0.82 kPa with no solar, so chatter/overshoot risk is higher than VPD-high risk after midnight.

Reduce overnight mist/dehum oscillation and keep VPD-low under 0.7h.

temp_hysteresis1.4 → 1.7; Mild 50-55F overnight with active crop bands can create heater/vent chatter; wider overnight hysteresis is safer until the dry ramp.

Limit cold/heat oscillation overnight, then tighten to 1.3 for Sunday's dry ramp.

Setpoints

Saturday May 23

Primary crop-band changes:

TimeValuesNote
20:25hyst 0.45evening_recovery_shoulder: VENTILATE/VPD-high is still activ
22:45hyst 0.45late_evening_gradual_unwind: outdoor VPD should be falling b

Tactical tunable changes:

TimeValuesNote
20:25engage 0.87; all 1.07; pulse 60; gap 20; wt 2.8evening_recovery_shoulder: VENTILATE/VPD-high is still activ
22:45engage 1.05; all 1.25; pulse 60; gap 30; wt 2.5late_evening_gradual_unwind: outdoor VPD should be falling b

Sunday May 24

Primary crop-band changes:

TimeValuesNote
00:45hyst 0.5midnight_posture: expected outdoor VPD around 0.82 and no so
05:30hyst 0.5pre_dawn_guard: outdoor VPD bottoms near 0.58 but a clear dr
09:30hyst 0.45missed_sunrise_dry_ramp_fallback: if no SUNRISE plan arrives

Tactical tunable changes:

TimeValuesNote
00:45engage 1.55; all 1.9; pulse 60; gap 50; wt 2midnight_posture: expected outdoor VPD around 0.82 and no so
05:30engage 1.3; all 1.55; pulse 60; gap 45; wt 2.2pre_dawn_guard: outdoor VPD bottoms near 0.58 but a clear dr
09:30engage 0.87; all 1.07; pulse 60; gap 20; wt 2.8missed_sunrise_dry_ramp_fallback: if no SUNRISE plan arrives

Changed secondary parameters:

TimeParameterChange
20:25d_cool_stage_2initial 2
20:25dwell_gate_msinitial 300000
20:25enthalpy_closeinitial 1
20:25enthalpy_openinitial -2
20:25fog_escalation_kpainitial 0.2
20:25heat_hysteresisinitial 1.2
20:25min_fog_off_sinitial 60
20:25min_fog_on_sinitial 45
20:25mist_backoff_sinitial 600
20:25mist_max_closed_vent_sinitial 180
20:25mist_thermal_relief_sinitial 90
20:25mister_all_delay_sinitial 60
20:25mister_engage_delay_sinitial 30
20:25mister_water_budget_galinitial 300
20:25outdoor_staleness_max_sinitial 600
20:25sw_dwell_gate_enabledinitial 1
20:25sw_fog_closes_ventinitial 1
20:25sw_mister_closes_ventinitial 1
20:25sw_summer_vent_enabledinitial 1
20:25temp_hysteresisinitial 1.4
20:25vent_prefer_dp_delta_finitial 5
20:25vent_prefer_temp_delta_finitial 5
20:25vpd_watch_dwell_sinitial 60
22:45d_cool_stage_22 → 2.5
22:45fog_escalation_kpa0.2 → 0.3
22:45mist_max_closed_vent_s180 → 150
22:45mister_all_delay_s60 → 90
22:45mister_engage_delay_s30 → 45
22:45temp_hysteresis1.4 → 1.5
00:45d_cool_stage_22.5 → 3
00:45fog_escalation_kpa0.3 → 0.5
00:45heat_hysteresis1.2 → 1.3
00:45min_fog_off_s60 → 120
00:45mist_backoff_s600 → 900
00:45mist_max_closed_vent_s150 → 120
00:45mister_all_delay_s90 → 240
00:45mister_engage_delay_s45 → 120
00:45temp_hysteresis1.5 → 1.7
00:45vpd_watch_dwell_s60 → 90
05:30d_cool_stage_23 → 2.5
05:30fog_escalation_kpa0.5 → 0.35
05:30heat_hysteresis1.3 → 1.2
05:30min_fog_off_s120 → 90
05:30mist_max_closed_vent_s120 → 150
05:30mister_all_delay_s240 → 120
05:30mister_engage_delay_s120 → 60
05:30temp_hysteresis1.7 → 1.5
05:30vpd_watch_dwell_s90 → 60
09:30d_cool_stage_22.5 → 2
09:30fog_escalation_kpa0.35 → 0.15
09:30heat_hysteresis1.2 → 1
09:30min_fog_off_s90 → 45
09:30mist_backoff_s900 → 600
09:30mist_max_closed_vent_s150 → 180
09:30mister_all_delay_s120 → 60
09:30mister_engage_delay_s60 → 30
09:30temp_hysteresis1.5 → 1.3
09:30vpd_watch_dwell_s60 → 45

End-of-Day Summary

Climate

Temperature

61.8–81.4°F; avg 69.8°F

VPD

0.33–1.69 kPa; avg 0.80 kPa

Relative humidity

51.6–83.3%

Stress Hours

  • Heat stress (>85°F): 8.8h
  • VPD stress (>2.0 kPa): 6.3h
  • Cold stress (<55°F): 0.8h

Economics

Electric

USD 3.33

Gas

USD 1.07

Water

USD 0.930

Total

USD 5.33

Equipment Runtimes

EquipmentRuntimeReading
Fan 1419 minPrimary exhaust runtime.
Fan 2399 minSecondary exhaust runtime.
Vent608 minIntake vent runtime.
Fog118 minFogger runtime.
Heat 1 electric622 minElectric heater runtime.
Heat 2 gas103 minGas heater runtime.
Grow lights864 minSupplemental lighting runtime.
Mister south0.80hSouth mister runtime.
Mister west0.06hWest mister runtime.
Mister center2.00hCenter mister runtime.

Water

  • Total: 192 gal
  • Mister: 90 gal

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Canna Liliessouth73%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vanda Orchidscenter80%7Observation notes are collapsed below to avoid publishing partial vision snippets.
lettuceeast78%4Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast70%4Observation notes are collapsed below to avoid publishing partial vision snippets.
strawberryeast73%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna LiliesGemini Vision notes

Large potted plant in the center of the floor looks vibrant and healthy.

Vanda OrchidsGemini Vision notes

Hanging basket visible, plants appear stable but difficult to assess fine details in IR light.

lettuceGemini Vision notes

Seedlings appear healthy and are establishing well in the shelf trays.

pepperGemini Vision notes

Seedlings appear healthy, but difficult to assess fully in IR light.

strawberryGemini Vision notes

Early stage growth in the hydroponic system, no obvious signs of stress.

Hourly Pattern

HourTemperatureVPDRH
12:0077.3°F1.12 kPa65.9%
13:0078.0°F1.30 kPa61.7%
14:0079.1°F1.34 kPa61.6%
15:0078.6°F1.33 kPa60.9%
16:0075.0°F1.14 kPa62.2%
17:0072.2°F1.03 kPa62.3%
18:0069.9°F0.96 kPa62.0%
19:0067.4°F0.77 kPa67.1%
20:0065.7°F0.63 kPa71.4%
21:0064.9°F0.63 kPa70.8%
22:0063.1°F0.51 kPa74.6%
23:0063.1°F0.37 kPa81.5%
00:0063.1°F0.38 kPa81.1%
01:0063.7°F0.39 kPa80.6%
02:0063.1°F0.38 kPa80.7%
03:0063.3°F0.41 kPa79.6%
04:0063.5°F0.42 kPa79.2%
05:0064.0°F0.45 kPa78.2%
06:0065.4°F0.53 kPa75.7%
07:0068.2°F0.64 kPa73.1%
08:0070.4°F0.74 kPa71.2%
09:0072.9°F0.83 kPa70.6%
10:0072.9°F0.88 kPa68.9%
11:0075.9°F0.82 kPa74.5%

7-Day Stress Context

DateHeatVPD highCold
2026-05-173.1h3.2h0.4h
2026-05-180.5h0.0h2.1h
2026-05-190.4h0.1h2.0h
2026-05-201.9h0.6h1.2h
2026-05-212.7h2.1h1.0h
2026-05-224.3h3.7h1.1h
2026-05-238.9h6.4h0.8h