May 16, 2026
Generated lab notebook from daily_summary, plan_journal, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.
🌅 Morning Cycle (5:47 AM) — iris-20260516-0545
validated
6/10
bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...
Result: Saturday daytime plan-window score was about 63.8/100 with 58.1% both-axis compliance, temp compliance 66.7%, VPD compliance 64.9%, 4.66h total stress dominated by 4.50h VPD-high plus 0.19h VPD-low and 0.07h cold. The forecast temperature verified well (79F predicted vs 78.9F actual), but solar was much higher than predicted (1129 W/m2 vs 834), so paired VENTILATE heat/VPD-high remained the limiting pattern. Water and cost were controlled versus 7-day averages, but conservative moisture requests still triggered guardrails; the experiment was mixed rather than a clean success.
Reflection
Validating previous cycle: iris-20260515-2010
Previous hypothesis: SUNSET overnight plan for 2026-05-15. Today improved materially over the 7-day trend but remained limited by paired heat and VPD-high stress. The main overnight challenge is balancing post-dry-day recovery against water cost: current VPD is back near band with safe 11.4F dew margin, so I am keeping a short evening recovery shoulder only while the house is still near-edge in VENTILATE, then unwinding hard overnight to avoid VPD-low and unnecessary water, with a guarded pre-dawn/morning fallback for Saturday’s dry solar ramp. Previous plan evaluation: iris-20260515-0546 scored 6/10 versus anchor 5, no deviation warning; it validated band-coupled moisture and 180s sealed windows for avoiding VPD-low/dew risk, but showed water cost and late VPD-high remain the penalties.
{"conditions":{"outdoor_temp_peak_f":82.0,"outdoor_rh_min_pct":13.0,"solar_peak_w_m2":835.0,"cloud_cover_avg_pct":74.0,"notes":"Sunset after severe hot-dry day: daily score 61.5, both-axis compliance 65.4%, heat and VPD-high each 5.08h, no VPD-low, dp_margin_min 5.6F. Current greenhouse is 67.8F, VPD 0.79 kPa, RH 67%, dew margin 11.4F, mode VENTILATE. Overnight remains dry outside but mild, then Saturday has another dry solar ramp to 82F, 13-14% RH and 835 W/m2 solar."},"stress_windows":[{"kind":"vpd_high","start":"2026-05-15T20:15:00-06:00","end":"2026-05-15T22:30:00-06:00","severity":"medium","mitigation":"short recovery shoulder: engage 1.00, all 1.20, 35s gap, 45/90s delays, fog_escalation 0.50 while fog is blocked; keep 180s sealed cap"},{"kind":"vpd_low","start":"2026-05-15T22:30:00-06:00","end":"2026-05-16T03:00:00-06:00","severity":"low","mitigation":"strong overnight unwind: engage 1.45, all 1.85, 55s gap, fog_escalation 0.90, vpd_hysteresis 0.50, 120/240s mist delays"},{"kind":"vpd_high","start":"2026-05-16T03:00:00-06:00","end":"2026-05-16T08:30:00-06:00","severity":"medium","mitigation":"dry pre-dawn guard: gradually lower engage/all thresholds and gap only if outdoor dry air starts pulling indoor VPD up; avoid peak-day aggression until morning ramp"},{"kind":"vpd_high","start":"2026-05-16T08:30:00-06:00","end":"2026-05-16T12:00:00-06:00","severity":"high","mitigation":"missed-sunrise fallback for Saturday dry ramp: engage 0.90, all 1.05, 20s gap, fog_escalation 0.20, vpd_watch 30s, bias_cool -1.5, d_cool_stage_2 2.0"}],"rationale":[{"parameter":"mister_engage_kpa","old_value":1.00,"new_value":1.45,"forecast_anchor":"Current VPD has recovered to 0.79 kPa near vpd_high 0.82 with dew margin 11.4F; lesson 105 warns to unwind overnight after aggressive dry-day support.","expected_effect":"prevent VPD-low and reduce water after 22:30 while keeping short evening recovery available first."},{"parameter":"mister_all_kpa","old_value":1.20,"new_value":1.85,"forecast_anchor":"No active VPD-high at sunset and fog is time-window blocked; all-zone escalation should not remain near daytime guardrail values overnight.","expected_effect":"avoid expensive all-zone rotation overnight unless VPD rises materially."},{"parameter":"mister_pulse_gap_s","old_value":30.0,"new_value":55.0,"forecast_anchor":"Night air holds humidity better and today's mister budget was fully spent at 600 gal.","expected_effect":"cut overnight water use without increasing dew risk or VPD-low."},{"parameter":"fog_escalation_kpa","old_value":0.60,"new_value":0.90,"forecast_anchor":"Fog is blocked after 17:00 and current VPD is recovered; high escalation prevents stale aggressive fog posture if a fallback persists.","expected_effect":"avoid unnecessary fog/humidity overshoot overnight; lower again only for Saturday morning dry ramp."},{"parameter":"min_fog_off_s","old_value":90.0,"new_value":120.0,"forecast_anchor":"Current dew margin safe but water/cost penalty is high and fog is unavailable overnight.","expected_effect":"keep overnight fog conservative and avoid carryover if firmware window reopens before sunrise plan lands."},{"parameter":"mister_engage_delay_s","old_value":45.0,"new_value":120.0,"forecast_anchor":"Overnight humidity recovery is already achieved; short delays are only needed during active VPD-high VENTILATE stress.","expected_effect":"reduce false starts and water use in stable overnight air."},{"parameter":"mister_all_delay_s","old_value":90.0,"new_value":240.0,"forecast_anchor":"All-zone rotation is costly and not needed while indoor VPD is near band.","expected_effect":"reserve all-zone pulses for sustained VPD rise rather than transient dryness."},{"parameter":"bias_cool","old_value":0.5,"new_value":3.5,"forecast_anchor":"Mild night still has heater potential against crop low band; validated lessons use +2 to +4 to prevent heater-to-vent oscillation.","expected_effect":"avoid post-heating vent dumps and reduce cold stress/chatter."},{"parameter":"bias_heat","old_value":0.0,"new_value":0.5,"forecast_anchor":"Outdoor forecast stays 58-63F, not a cold night; only modest warmth is needed to protect dew margin.","expected_effect":"maintain dew margin without chasing expensive heating."},{"parameter":"vpd_hysteresis","old_value":0.40,"new_value":0.50,"forecast_anchor":"VPD has recovered and the evening objective shifts from recovery to avoiding oscillation and VPD-low.","expected_effect":"reduce short-cycle misting overnight."},{"parameter":"vpd_watch_dwell_s","old_value":45.0,"new_value":75.0,"forecast_anchor":"No active high-VPD stress after recovery; short watch dwell is for confirmed dry ramp.","expected_effect":"avoid reseal loops overnight, then return to 30s for morning fallback."},{"parameter":"mist_backoff_s","old_value":700.0,"new_value":900.0,"forecast_anchor":"Sealed attempts should be less frequent overnight after costly daytime water use.","expected_effect":"space recovery attempts and protect water budget."},{"parameter":"mister_vpd_weight","old_value":2.5,"new_value":2.0,"forecast_anchor":"Zone spread is modest at sunset and peak-day driest-zone weighting is no longer necessary overnight.","expected_effect":"reduce aggressive targeted water spend until live morning ramp."},{"parameter":"d_cool_stage_2","old_value":2.5,"new_value":2.0,"forecast_anchor":"Saturday forecast reaches 82F with RH 13-14% and solar up to 835 W/m2; fallback should not wait too long for fan2.","expected_effect":"pre-stage full ventilation if sunrise cycle misses and dry ramp arrives."}]}Result: Saturday daytime plan-window score was about 63.8/100 with 58.1% both-axis compliance, temp compliance 66.7%, VPD compliance 64.9%, 4.66h total stress dominated by 4.50h VPD-high plus 0.19h VPD-low and 0.07h cold. The forecast temperature verified well (79F predicted vs 78.9F actual), but solar was much higher than predicted (1129 W/m2 vs 834), so paired VENTILATE heat/VPD-high remained the limiting pattern. Water and cost were controlled versus 7-day averages, but conservative moisture requests still triggered guardrails; the experiment was mixed rather than a clean success. Score: 6/10
New finding: Partly cloudy dry days after humid dawn need a live-confirmed but guardrail-aware moisture posture: keep dawn conservative, then keep peak/evening moisture thresholds band-coupled until observed VPD is actually below band; otherwise heat and VPD-high remain paired in VENTILATE despite low water cost. → Added to Lessons Learned
Hypothesis
Conditions: Humid dawn with indoor VPD 0.36 kPa and dew margin 5.6F, then a dry ramp: outdoor RH falls below 25% by 11:00 and reaches 17-20% from noon through evening. Solar is strongest 10:00-12:00, peaking near 834 W/m2, then clouds increase but dry air persists. | outdoor peak: 79.0, RH min: 17.0, solar peak: 834.0, cloud cover: 69.0 | stress windows: vpd_low 2026-05-16T05:50:00-06:00-2026-05-16T08:30:00-06:00 low; vpd_high 2026-05-16T09:30:00-06:00-2026-05-16T18:30:00-06:00 high; heat 2026-05-16T11:00:00-06:00-2026-05-16T16:00:00-06:00 medium; vpd_high 2026-05-16T18:30:00-06:00-2026-05-16T22:30:00-06:00 medium Testing: Test guarded dawn plus peak-only band-coupled aggression: can today keep both-axis compliance above 75% and VPD-high under 3h without repeating yesterday’s full-day 600 gal water penalty before observed VPD recovery? Expected outcome: Target daily score above 70, both-axis compliance above 75%, temp compliance above 85%, VPD compliance above 80%, heat stress under 3h, VPD-high under 3h, VPD-low and dp-risk near 0h, and total cost below USD 5 if sink/hose water does not dominate.
Conditions (structured)
79.0°F
17.0%
834.0 W/m²
69.0%
Humid dawn with indoor VPD 0.36 kPa and dew margin 5.6F, then a dry ramp: outdoor RH falls below 25% by 11:00 and reaches 17-20% from noon through evening. Solar is strongest 10:00-12:00, peaking near 834 W/m2, then clouds increase but dry air persists.
Expected stress windows
guard humid dawn with moderate thresholds, 45s gaps, conservative fog escalation, and no pre-ramp peak-day misting until live/outdoor dryness confirms
band-coupled mist thresholds near active vpd_high, 30-60s delays, 15-25s peak gaps, fog_escalation 0.15-0.25 during the firmware fog window, and vpd_watch 30-45s
bias_cool -1.0 to -1.5, d_cool_stage_2 2.0, summer vent gate on, dwell gate on, and mist_max_closed_vent_s capped at 180s so THERMAL_RELIEF can flush heat
short dry-evening recovery shoulder with engage 1.10/all 1.35/gap 35 while outdoor VPD remains high, then unwind by 22:30 to avoid VPD-low overnight
Parameter rationale
reduce VPD-high during the dry solar pulse without pre-misting the humid dawn
make all-zone assist available during peak dry stress while still unwinding after solar decline
speed VPD recovery during the steepest dry ramp while limiting that cadence to the peak
use fog earlier during the firmware window for stubborn VPD-high instead of extending sealed mist
allow timely fog cycling only during the confirmed dry peak
start cooling/fan support earlier during peak solar without carrying cold-night anti-chatter into daytime
enter bounded recovery promptly during confirmed dry stress while restoring longer dwell overnight
avoid trading VPD recovery for heat stress
prioritize productive zones during peak without over-watering overnight
Setpoints
Saturday May 16
Primary crop-band changes:
Humid dawn guard: current VPD is near the low side with 5.6F
Morning dry ramp begins: outdoor RH is forecast below 30% an
Dry solar ramp: RH is forecast 23-26% with 526-728 W/m2 sola
Peak dry/solar pulse: forecast 79F, RH 17%, solar 834 W/m2,
Cloudier but still dry afternoon: solar drops but RH remains
Dry-evening recovery shoulder: fog will be blocked but outdo
Overnight unwind: after the dry window, widen mist threshold
Tactical tunable changes:
Humid dawn guard: current VPD is near the low side with 5.6F
Morning dry ramp begins: outdoor RH is forecast below 30% an
Dry solar ramp: RH is forecast 23-26% with 526-728 W/m2 sola
Peak dry/solar pulse: forecast 79F, RH 17%, solar 834 W/m2,
Cloudier but still dry afternoon: solar drops but RH remains
Dry-evening recovery shoulder: fog will be blocked but outdo
Overnight unwind: after the dry window, widen mist threshold
Sunday May 17
Primary crop-band changes:
Missed-cycle Sunday fallback: a dry morning is possible befo
Tactical tunable changes:
Missed-cycle Sunday fallback: a dry morning is possible befo
Changed secondary parameters:
initial 2
initial 0.25
initial 5
initial 300000
initial 1
initial -2
initial 0.5
initial 1.2
initial 90
initial 45
initial 180
initial 120
initial 60
initial 60
initial 800
initial 180
initial 90
initial 180
initial 90
initial 600
initial 600
initial 1
initial 1
initial 1
initial 1
initial 1
initial 1.7
initial 5
initial 5
initial 60
2 → 0
0.25 → 0.1
0.5 → 0.3
90 → 60
800 → 700
180 → 90
90 → 45
1.7 → 1.5
60 → 45
0 → -1
0.1 → 0
0.3 → 0.2
60 → 45
700 → 600
90 → 60
45 → 30
45 → 30
-1 → -1.5
0.2 → 0.15
1.5 → 1.4
-1.5 → -0.5
0.15 → 0.25
45 → 60
600 → 700
60 → 90
30 → 45
1.4 → 1.5
30 → 45
-0.5 → 1.5
0 → 0.25
0.25 → 0.5
60 → 90
90 → 120
45 → 60
1.5 → 1.7
1.5 → 3.5
0.25 → 0.5
0.5 → 0.9
90 → 120
700 → 900
180 → 150
120 → 240
60 → 120
1.7 → 1.8
45 → 75
3.5 → 0
0.5 → 0.25
0.9 → 0.45
120 → 75
900 → 800
150 → 180
240 → 120
120 → 60
1.8 → 1.7
75 → 60
Full secondary parameter dump
Value 2.
Value 0.25.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.5.
Value 1.2.
Value 90.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 800.
Value 180.
Value 90.
Value 180.
Value 90.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.7.
Value 5.
Value 5.
Value 60.
Value 0.
Value 0.1.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.3.
Value 1.2.
Value 60.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 700.
Value 180.
Value 90.
Value 90.
Value 45.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.5.
Value 5.
Value 5.
Value 45.
Value -1.
Value 0.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.2.
Value 1.2.
Value 45.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 600.
Value 180.
Value 90.
Value 60.
Value 30.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.5.
Value 5.
Value 5.
Value 30.
Value -1.5.
Value 0.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.15.
Value 1.2.
Value 45.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 600.
Value 180.
Value 90.
Value 60.
Value 30.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.4.
Value 5.
Value 5.
Value 30.
Value -0.5.
Value 0.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.25.
Value 1.2.
Value 60.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 700.
Value 180.
Value 90.
Value 90.
Value 45.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.5.
Value 5.
Value 5.
Value 45.
Value 1.5.
Value 0.25.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.5.
Value 1.2.
Value 90.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 700.
Value 180.
Value 90.
Value 120.
Value 60.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.7.
Value 5.
Value 5.
Value 45.
Value 3.5.
Value 0.5.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.9.
Value 1.2.
Value 120.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 900.
Value 150.
Value 90.
Value 240.
Value 120.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.8.
Value 5.
Value 5.
Value 75.
Value 0.
Value 0.25.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.45.
Value 1.2.
Value 75.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 800.
Value 180.
Value 90.
Value 120.
Value 60.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.7.
Value 5.
Value 5.
Value 60.
🌆 Evening Cycle (8:12 PM) — iris-20260516-2011
validated
8/10
bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...
Result: Overnight plan-window score was 80.2/100 with 75.5% both-axis compliance, temp compliance 95.1%, VPD compliance 78.0%, only 0.10h heat, 0.01h cold, 0.48h VPD-high, 0h VPD-low, 0 dp-risk hours, and about USD 0.07 incremental cost. It missed the 85% compliance target but achieved the key safety/water objectives: no VPD-low, negligible cold/chatter, dew margin stayed safe, and overnight cost/water were low. The remaining misses came from guardrail-held conservative moisture values while VPD-high had not fully recovered.
Reflection
Validating previous cycle: iris-20260516-0545
Previous hypothesis: SUNRISE plan for Saturday 2026-05-16. Yesterday improved materially versus the 7-day trend but remained limited by paired heat and VPD-high stress: daily score 60.9, both-axis compliance 64.7%, temp 74.8%, VPD 73.8%, with 5.83h heat and 6.28h VPD-high. The overnight plan validated the short recovery shoulder plus hard unwind: plan-window score 99.0, no VPD-low or dew risk, and minimal cost; anchor score was 10 and I scored it 9, no deviation. Today starts humid and near the VPD-low side (63F, VPD 0.36, RH 82%, dew margin 5.6F, IDLE/heat1 on), but forecast dries quickly to ~79F, RH 17-20%, and a noon solar pulse near 834 W/m2 before cloudier dry afternoon/evening. I will not mist aggressively at humid dawn; I will stage band-coupled mist/fog from the confirmed 08:30-12:00 dry ramp, keep sealed windows capped at 180s, then unwind after solar decline while allowing a short dry-evening recovery shoulder.
{"conditions":{"outdoor_temp_peak_f":79.0,"outdoor_rh_min_pct":17.0,"solar_peak_w_m2":834.0,"cloud_cover_avg_pct":69.0,"notes":"Humid dawn with indoor VPD 0.36 kPa and dew margin 5.6F, then a dry ramp: outdoor RH falls below 25% by 11:00 and reaches 17-20% from noon through evening. Solar is strongest 10:00-12:00, peaking near 834 W/m2, then clouds increase but dry air persists."},"stress_windows":[{"kind":"vpd_low","start":"2026-05-16T05:50:00-06:00","end":"2026-05-16T08:30:00-06:00","severity":"low","mitigation":"guard humid dawn with moderate thresholds, 45s gaps, conservative fog escalation, and no pre-ramp peak-day misting until live/outdoor dryness confirms"},{"kind":"vpd_high","start":"2026-05-16T09:30:00-06:00","end":"2026-05-16T18:30:00-06:00","severity":"high","mitigation":"band-coupled mist thresholds near active vpd_high, 30-60s delays, 15-25s peak gaps, fog_escalation 0.15-0.25 during the firmware fog window, and vpd_watch 30-45s"},{"kind":"heat","start":"2026-05-16T11:00:00-06:00","end":"2026-05-16T16:00:00-06:00","severity":"medium","mitigation":"bias_cool -1.0 to -1.5, d_cool_stage_2 2.0, summer vent gate on, dwell gate on, and mist_max_closed_vent_s capped at 180s so THERMAL_RELIEF can flush heat"},{"kind":"vpd_high","start":"2026-05-16T18:30:00-06:00","end":"2026-05-16T22:30:00-06:00","severity":"medium","mitigation":"short dry-evening recovery shoulder with engage 1.10/all 1.35/gap 35 while outdoor VPD remains high, then unwind by 22:30 to avoid VPD-low overnight"}],"rationale":[{"parameter":"mister_engage_kpa","old_value":1.10,"new_value":0.88,"forecast_anchor":"noon forecast 79F, RH 17%, solar 834 W/m2; recent vpd_high_moisture_guardrail clamps pulled conservative requests toward band-coupled values","expected_effect":"reduce VPD-high during the dry solar pulse without pre-misting the humid dawn"},{"parameter":"mister_all_kpa","old_value":1.35,"new_value":1.05,"forecast_anchor":"active vpd_high about 0.83; guardrail recommends all-zone near vpd_high+0.25 during VPD-high/VENTILATE stress","expected_effect":"make all-zone assist available during peak dry stress while still unwinding after solar decline"},{"parameter":"mister_pulse_gap_s","old_value":35.0,"new_value":15.0,"forecast_anchor":"RH below 20% from noon through late afternoon with high solar at noon; validated dry-day lessons recommend 15-25s gaps in this window","expected_effect":"speed VPD recovery during the steepest dry ramp while limiting that cadence to the peak"},{"parameter":"fog_escalation_kpa","old_value":0.45,"new_value":0.15,"forecast_anchor":"PR-A makes VENTILATE fog the high-leverage tool for hot-dry stress; today has a short but real noon solar/dry pulse","expected_effect":"use fog earlier during the firmware window for stubborn VPD-high instead of extending sealed mist"},{"parameter":"min_fog_off_s","old_value":75.0,"new_value":45.0,"forecast_anchor":"recent guardrail clamps shortened fog-off dwell during live VPD-high stress and dew margin is above 5F","expected_effect":"allow timely fog cycling only during the confirmed dry peak"},{"parameter":"bias_cool","old_value":2.0,"new_value":-1.5,"forecast_anchor":"forecast reaches 79F with 728-834 W/m2 around 11:00-12:00; heat stress dominated yesterday","expected_effect":"start cooling/fan support earlier during peak solar without carrying cold-night anti-chatter into daytime"},{"parameter":"vpd_watch_dwell_s","old_value":45.0,"new_value":30.0,"forecast_anchor":"VPD ramp begins after 08:30 and outdoor RH falls to the teens by noon","expected_effect":"enter bounded recovery promptly during confirmed dry stress while restoring longer dwell overnight"},{"parameter":"mist_max_closed_vent_s","old_value":180.0,"new_value":180.0,"forecast_anchor":"lessons warn not to extend sealed mist during warm dry solar periods because it becomes a heat trap","expected_effect":"avoid trading VPD recovery for heat stress"},{"parameter":"mister_vpd_weight","old_value":2.4,"new_value":3.0,"forecast_anchor":"south/west mist paths are the most effective during dry solar stress and zone spread is modest","expected_effect":"prioritize productive zones during peak without over-watering overnight"}]}Result: Overnight plan-window score was 80.2/100 with 75.5% both-axis compliance, temp compliance 95.1%, VPD compliance 78.0%, only 0.10h heat, 0.01h cold, 0.48h VPD-high, 0h VPD-low, 0 dp-risk hours, and about USD 0.07 incremental cost. It missed the 85% compliance target but achieved the key safety/water objectives: no VPD-low, negligible cold/chatter, dew margin stayed safe, and overnight cost/water were low. The remaining misses came from guardrail-held conservative moisture values while VPD-high had not fully recovered. Score: 8/10
New finding: After dry-day recovery, a strong overnight unwind can safely prevent VPD-low and dew risk, but if VPD-high remains unrecovered at the unwind time the moisture guardrail may keep thresholds band-coupled longer than planned; unwind should be conditioned on observed VPD recovery, not only clock time. → Added to Lessons Learned
Hypothesis
Conditions: Sunset after mixed dry day: current house 69F, VPD 0.86 kPa, RH 64%, dew margin 12.5F, VENTILATE with vent and both fans on. Overnight forecast is mild, 55-64F with raw outdoor VPD falling from 1.5 to 0.6 kPa by dawn; corrected VPD guidance de-weights dryness. Main risk shifts from VPD-high recovery in the next 1-2h to over-humidification/water waste and heater-to-vent chatter overnight. | outdoor peak: 67.0, RH min: 33.0, solar peak: 229.0, cloud cover: 42.0 | stress windows: vpd_high 2026-05-16T20:15:00-06:00-2026-05-16T22:30:00-06:00 medium; vpd_low 2026-05-16T22:30:00-06:00-2026-05-17T06:30:00-06:00 low; cold 2026-05-17T02:00:00-06:00-2026-05-17T07:30:00-06:00 low Testing: Test whether a short guardrail-aware evening recovery shoulder plus strong overnight moisture unwind can keep VPD-low near zero and cost low after a mixed dry-day plan while avoiding heater-to-vent chatter. Expected outcome: Overnight plan-window both-axis compliance above 85%, VPD-low under 0.3h, cold stress under 0.5h, dp_risk_hours 0, and overnight incremental water under 75 gal before the sunrise cycle.
Conditions (structured)
67.0°F
33.0%
229.0 W/m²
42.0%
Sunset after mixed dry day: current house 69F, VPD 0.86 kPa, RH 64%, dew margin 12.5F, VENTILATE with vent and both fans on. Overnight forecast is mild, 55-64F with raw outdoor VPD falling from 1.5 to 0.6 kPa by dawn; corrected VPD guidance de-weights dryness. Main risk shifts from VPD-high recovery in the next 1-2h to over-humidification/water waste and heater-to-vent chatter overnight.
Expected stress windows
Use guardrail-aware evening recovery: engage 0.95, all 1.15, 30s gap, 45/90s delays, fog_escalation 0.25 even though fog is time-window blocked; keep sealed cap 180s.
Strong overnight unwind: engage 1.70-1.80, all 2.00-2.10, 60s gaps, long mist delays, fog_escalation 0.95, vpd_hysteresis 0.50, and short/normal sealed cap to prevent water and condensation risk.
bias_cool +3.5 with only modest bias_heat 0.5-0.75; allow slab retention and heater staging without venting immediately after heat overshoot.
Parameter rationale
finish evening VPD recovery without forcing dispatcher clamps, then unwind after 22:30.
make all-zone support available only during the short evening recovery shoulder.
recover VPD before overnight unwind without carrying peak-day 15s gaps into night.
align plan with guardrail during recovery and avoid stale conservative fog posture if window logic changes.
reduce cold/chatter stress without raising crop bands.
keep overnight VPD-low under 0.3h and water use low.
reduce mist/dehum oscillation and false starts overnight.
Setpoints
Saturday May 16
Primary crop-band changes:
evening_settle: VPD is still slightly above band in VENTILAT
midnight_posture: observed recovery should be complete; fog
Tactical tunable changes:
evening_settle: VPD is still slightly above band in VENTILAT
midnight_posture: observed recovery should be complete; fog
Sunday May 17
Primary crop-band changes:
pre_dawn: coolest period near 55F; keep heater anti-chatter
sunrise_fallback: Sunday begins cool/cloudy with only a mode
Tactical tunable changes:
pre_dawn: coolest period near 55F; keep heater anti-chatter
sunrise_fallback: Sunday begins cool/cloudy with only a mode
Changed secondary parameters:
initial 2
initial 0.25
initial 5
initial 300000
initial 1
initial -2
initial 0.25
initial 1.2
initial 60
initial 45
initial 180
initial 120
initial 60
initial 60
initial 700
initial 180
initial 90
initial 90
initial 45
initial 600
initial 600
initial 1
initial 1
initial 1
initial 1
initial 1
initial 1.7
initial 5
initial 5
initial 45
2 → 3.5
0.25 → 0.5
0.25 → 0.95
60 → 120
700 → 900
180 → 150
90 → 300
45 → 150
1.7 → 1.8
45 → 90
0.5 → 0.75
1.2 → 1.3
150 → 180
3.5 → 2
0.75 → 0.25
0.95 → 0.8
1.3 → 1.2
120 → 90
300 → 180
180 → 75
1.8 → 1.7
90 → 75
Full secondary parameter dump
Value 2.
Value 0.25.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.25.
Value 1.2.
Value 60.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 700.
Value 180.
Value 90.
Value 90.
Value 45.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.7.
Value 5.
Value 5.
Value 45.
Value 3.5.
Value 0.5.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.95.
Value 1.2.
Value 120.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 900.
Value 150.
Value 90.
Value 300.
Value 150.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.8.
Value 5.
Value 5.
Value 90.
Value 3.5.
Value 0.75.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.95.
Value 1.3.
Value 120.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 900.
Value 150.
Value 90.
Value 300.
Value 180.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.8.
Value 5.
Value 5.
Value 90.
Value 2.
Value 0.25.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.8.
Value 1.2.
Value 90.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 900.
Value 150.
Value 90.
Value 180.
Value 75.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.7.
Value 5.
Value 5.
Value 75.
End-of-Day Summary
Climate
63.0–80.5°F; avg 70.1°F
0.34–1.79 kPa; avg 0.87 kPa
47.0–83.1%
Stress Hours
- Heat stress (>85°F): 9.1h
- VPD stress (>2.0 kPa): 8.6h
- Cold stress (<55°F): 0.1h
Economics
USD 0.35
USD 0.27
USD 1.800
USD 2.42
Equipment Runtimes
Primary exhaust runtime.
Secondary exhaust runtime.
Intake vent runtime.
Fogger runtime.
Electric heater runtime.
Gas heater runtime.
Supplemental lighting runtime.
South mister runtime.
West mister runtime.
Center mister runtime.
Water
- Total: 371 gal
- Mister: 151 gal
Crop Health (Gemini Vision)
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna Lilies on the south floor appear generally healthy, though some lower leaves might be slightly yellowed.
Hanging roots appear healthy, though difficult to assess fully in IR light.
Seedlings appear healthy and are establishing well.
Seedlings appear healthy with no visible signs of stress.
Seedlings appear healthy with no visible signs of stress.
Hourly Pattern
RH 60.2%.
RH 61.2%.
RH 63.0%.
RH 63.3%.
RH 63.1%.
RH 60.7%.
RH 61.5%.
RH 63.0%.
RH 64.1%.
RH 64.6%.
RH 63.1%.
RH 74.3%.
RH 72.8%.
RH 78.9%.
RH 79.4%.
RH 78.0%.
RH 76.6%.
RH 80.8%.
RH 79.0%.
RH 76.6%.
RH 71.4%.
RH 67.3%.
RH 67.2%.
RH 67.1%.
7-Day Stress Context
Cold stress 0.9h.
Cold stress 1.1h.
Cold stress 0.7h.
Cold stress 0.6h.
Cold stress 0.0h.
Cold stress 0.2h.
Cold stress 0.1h.