May 17, 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:46 AM) — iris-20260517-0544
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: Window scorecard for the 2026-05-17 SUNRISE plan: plan-window score 67.7 with 64.7% both-axis compliance, temp compliance 71.2%, VPD compliance 70.5%, heat stress 1.46h, cold stress 0.14h, VPD-high 1.65h, VPD-low 0.04h, cost about USD 0.43. Structured forecast was directionally right about a cool/cloudy wet day but under-forecast the solar peak (773 predicted vs 1234 actual), so the brief moderate moisture shoulders kept VPD-high below 2h and avoided VPD-low/dew risk, but lowered cooling bias/solar handling did not prevent heat stress. The cold-front overnight handoff was only partly observable by sunset, but current conditions show safe dew margin and low VPD-high risk. Self-score 6 because safety, water, VPD-low, and VPD-high targets largely succeeded, while the plan missed the >75 score, >70% compliance, and heat-stress goals.
Reflection
Validating previous cycle: iris-20260516-2011
Previous hypothesis: SUNSET overnight plan for 2026-05-16. Today improved materially versus the 7-day trend but the dry-day experiment was mixed: score 69.1 and cost 2.35 beat the 7-day averages, water was controlled, and VPD-high stayed near 2.5h in the plan window, but both-axis compliance missed target because heat and VPD-high remained paired in VENTILATE and the anchor score penalized 223 moisture-guardrail events. My self-score of 6 vs anchor 2 was intentionally higher because the anchor heavily penalized guardrail activity while the operator-level goals of water control and VPD-high under 3h were partially achieved; nevertheless the mismatch means tonight should stop asking for conservative values that the guardrail must rewrite. Current VPD is slightly above band with a healthy 12.5F dew margin, so I am holding a short evening recovery shoulder using band-coupled moisture, then unwinding hard after 22:30 to avoid VPD-low, condensation, and water waste. Overnight is mild, not truly cold, but heaters may run against crop bands, so bias_cool stays +3.5 overnight to prevent heater-to-vent chatter while bias_heat remains modest.
{"conditions":{"outdoor_temp_peak_f":67.0,"outdoor_rh_min_pct":33.0,"solar_peak_w_m2":229.0,"cloud_cover_avg_pct":42.0,"notes":"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."},"stress_windows":[{"kind":"vpd_high","start":"2026-05-16T20:15:00-06:00","end":"2026-05-16T22:30:00-06:00","severity":"medium","mitigation":"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."},{"kind":"vpd_low","start":"2026-05-16T22:30:00-06:00","end":"2026-05-17T06:30:00-06:00","severity":"low","mitigation":"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."},{"kind":"cold","start":"2026-05-17T02:00:00-06:00","end":"2026-05-17T07:30:00-06:00","severity":"low","mitigation":"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."}],"rationale":[{"parameter":"mister_engage_kpa","old_value":1.5,"new_value":0.95,"forecast_anchor":"Current VPD 0.86 is above active vpd_high 0.82 and recent guardrail clamped conservative evening requests near 0.96.","expected_effect":"finish evening VPD recovery without forcing dispatcher clamps, then unwind after 22:30."},{"parameter":"mister_all_kpa","old_value":1.9,"new_value":1.15,"forecast_anchor":"Current near-edge VPD-high in VENTILATE with healthy 12.5F dew margin; guardrail rewrote 1.9 to about 1.17.","expected_effect":"make all-zone support available only during the short evening recovery shoulder."},{"parameter":"mister_pulse_gap_s","old_value":55.0,"new_value":30.0,"forecast_anchor":"Recent held guardrail capped 55s to 30s while VPD-high was unrecovered at sunset.","expected_effect":"recover VPD before overnight unwind without carrying peak-day 15s gaps into night."},{"parameter":"fog_escalation_kpa","old_value":0.9,"new_value":0.25,"forecast_anchor":"PR-A and guardrail evidence favor low escalation during unrecovered VPD-high VENTILATE; fog remains firmware-blocked after 17:00.","expected_effect":"align plan with guardrail during recovery and avoid stale conservative fog posture if window logic changes."},{"parameter":"bias_cool","old_value":1.5,"new_value":3.5,"forecast_anchor":"Overnight 55-64F may trigger heaters against crop bands; retrieved sunset plans repeatedly use +3 to +4 to stop heater-to-vent oscillation.","expected_effect":"reduce cold/chatter stress without raising crop bands."},{"parameter":"mister_engage_kpa","old_value":0.95,"new_value":1.7,"forecast_anchor":"After 22:30 forecast cools and humidity holds better; lesson 105 says unwind after dry-day support to avoid VPD-low and water cost.","expected_effect":"keep overnight VPD-low under 0.3h and water use low."},{"parameter":"vpd_hysteresis","old_value":0.45,"new_value":0.50,"forecast_anchor":"Mild humid overnight with no solar and only low VPD-high risk.","expected_effect":"reduce mist/dehum oscillation and false starts overnight."}]}Result: Window scorecard for the 2026-05-17 SUNRISE plan: plan-window score 67.7 with 64.7% both-axis compliance, temp compliance 71.2%, VPD compliance 70.5%, heat stress 1.46h, cold stress 0.14h, VPD-high 1.65h, VPD-low 0.04h, cost about USD 0.43. Structured forecast was directionally right about a cool/cloudy wet day but under-forecast the solar peak (773 predicted vs 1234 actual), so the brief moderate moisture shoulders kept VPD-high below 2h and avoided VPD-low/dew risk, but lowered cooling bias/solar handling did not prevent heat stress. The cold-front overnight handoff was only partly observable by sunset, but current conditions show safe dew margin and low VPD-high risk. Self-score 6 because safety, water, VPD-low, and VPD-high targets largely succeeded, while the plan missed the >75 score, >70% compliance, and heat-stress goals. Score: 6/10
New finding: On cool/cloudy wet days with high indoor RH, live-confirmed moderate moisture shoulders can keep VPD-high under about 2h without causing VPD-low, but if actual solar materially exceeds forecast, do not lower bias_cool too far during the afternoon shoulder; heat stress can become the limiting axis even when the day is not hot-dry. → Added to Lessons Learned
Hypothesis
Conditions: Cool humid dawn, showery/cloudy day with raw outdoor VPD briefly 1.31 kPa late morning and 0.88 kPa at the afternoon solar pulse; forecast calibration says not to pre-stage aggressive mist until live VPD confirms. Current dew margin is only 5.3F, so condensation safety and VPD-low avoidance matter. Tonight turns cold/wet, falling toward the low 40s. | outdoor peak: 65.0, RH min: 38.0, solar peak: 773.0, cloud cover: 67.0 | stress windows: vpd_low 2026-05-17T05:45:00-06:00-2026-05-17T08:30:00-06:00 medium; vpd_high 2026-05-17T09:00:00-06:00-2026-05-17T11:45:00-06:00 medium; vpd_low 2026-05-17T12:00:00-06:00-2026-05-17T14:30:00-06:00 medium; vpd_high 2026-05-17T14:45:00-06:00-2026-05-17T16:30:00-06:00 low Testing: Test whether a cool/cloudy-day posture with only two moderate, live-confirmed moisture shoulders can reduce VPD-high breakouts without repeating overnight guardrail-held conservative values or causing VPD-low/dew risk. Expected outcome: For the 05:50-21:30 daytime window, target score above 75, both-axis compliance above 70%, VPD-high under 2.0h, VPD-low under 0.5h, heat stress under 1.0h, dp_risk_hours 0, water under 200 gal, and total cost below the 7-day average. Overnight handoff should keep cold stress under 1h and prevent heater-to-vent oscillation.
Conditions (structured)
65.0°F
38.0%
773.0 W/m²
67.0%
Cool humid dawn, showery/cloudy day with raw outdoor VPD briefly 1.31 kPa late morning and 0.88 kPa at the afternoon solar pulse; forecast calibration says not to pre-stage aggressive mist until live VPD confirms. Current dew margin is only 5.3F, so condensation safety and VPD-low avoidance matter. Tonight turns cold/wet, falling toward the low 40s.
Expected stress windows
High mist thresholds, 60s pulse gap, fog_escalation 0.95, long mist delays, and no aggressive dawn misting while indoor VPD is 0.34 kPa and dew margin is near 5F.
Moderate, guardrail-aware shoulder only if live VPD rises: engage 0.95, all 1.10, 30s gap, 45/90s delays, fog_escalation 0.30; sealed windows remain 150s to avoid heat traps.
Return to conservative moisture during rain/cloud recovery: engage 1.80, all 2.10, gap 60, fog_escalation 0.95, watch dwell 90s.
Brief afternoon solar fallback, still moderate because temperatures remain cool: engage 1.05, all 1.20, gap 35, fog_escalation 0.35.
Cold-front posture: bias_heat 1.5, bias_cool 4.0, d_heat_stage_2 3.0, heat_hysteresis 1.5, conservative mist/fog, and wide VPD hysteresis to prevent heater-to-vent and humidity oscillation.
Parameter rationale
Reduce VPD-high during the short dry pulse without causing dawn VPD-low.
Let all-zone assist engage if VPD rises during the pulse while avoiding all-zone water use in humid periods.
Provide recovery capacity without over-humidifying the cool house.
Avoid stale conservative guardrail holds during actual VPD-high while preventing unnecessary fog during humid windows.
Reduce heat/VENTILATE VPD pairing during solar pulses without creating heater-to-vent chatter overnight.
Hold stable warmth and dew margin with gas-efficient staging while keeping cold stress under 1h overnight.
Bring gas heat in earlier during sustained cold instead of relying on electric heat1 alone.
Avoid short-cycle mist/dehum transitions while keeping band compliance stable.
Setpoints
Sunday May 17
Primary crop-band changes:
Humid cool dawn: protect dew margin and avoid carrying dry-d
Morning VPD ramp watch: loosen from dawn but do not use peak
Late-morning dry pulse: guardrail-aware moderate support, no
Rain/cloud recovery: return to conservative moisture posture
Afternoon solar fallback: brief moderate moisture support if
Fog window closing and humidity returning: unwind moisture s
Cold wet overnight handoff: suppress mist/fog, protect dew m
Tactical tunable changes:
Humid cool dawn: protect dew margin and avoid carrying dry-d
Morning VPD ramp watch: loosen from dawn but do not use peak
Late-morning dry pulse: guardrail-aware moderate support, no
Rain/cloud recovery: return to conservative moisture posture
Afternoon solar fallback: brief moderate moisture support if
Fog window closing and humidity returning: unwind moisture s
Cold wet overnight handoff: suppress mist/fog, protect dew m
Changed secondary parameters:
initial 3.5
initial 0.75
initial 5
initial 300000
initial 1
initial -2
initial 0.95
initial 1.3
initial 120
initial 45
initial 180
initial 120
initial 60
initial 60
initial 900
initial 150
initial 90
initial 300
initial 180
initial 600
initial 600
initial 1
initial 1
initial 1
initial 1
initial 1
initial 1.8
initial 5
initial 5
initial 90
3.5 → 1.5
0.75 → 0.5
0.95 → 0.55
1.3 → 1.2
120 → 90
900 → 700
300 → 180
180 → 90
1.8 → 1.6
90 → 60
1.5 → 0.5
0.5 → 0
0.55 → 0.3
1.2 → 1.1
90 → 60
700 → 600
180 → 90
90 → 45
1.6 → 1.5
60 → 45
0.5 → 2.5
0 → 0.5
0.3 → 0.95
1.1 → 1.3
60 → 120
600 → 900
90 → 300
45 → 180
1.5 → 1.8
45 → 90
2.5 → 0.5
0.5 → 0
0.95 → 0.35
1.3 → 1.1
120 → 75
900 → 650
300 → 120
180 → 60
1.8 → 1.5
90 → 45
0.5 → 3.5
0 → 0.75
0.35 → 0.95
1.1 → 1.3
75 → 120
650 → 900
120 → 300
60 → 180
1.5 → 1.8
45 → 90
3.5 → 4
0.75 → 1.5
5 → 3
0.95 → 1
1.3 → 1.5
120 → 150
120 → 150
60 → 90
900 → 1200
150 → 120
300 → 360
180 → 240
1.8 → 2
Full secondary parameter dump
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 1.5.
Value 0.5.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.55.
Value 1.2.
Value 90.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 700.
Value 150.
Value 90.
Value 180.
Value 90.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.6.
Value 5.
Value 5.
Value 60.
Value 0.5.
Value 0.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.3.
Value 1.1.
Value 60.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 600.
Value 150.
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 2.5.
Value 0.5.
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 0.5.
Value 0.
Value 5.
Value 300000.
Value 1.
Value -2.
Value 0.35.
Value 1.1.
Value 75.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 650.
Value 150.
Value 90.
Value 120.
Value 60.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.5.
Value 5.
Value 5.
Value 45.
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 4.
Value 1.5.
Value 3.
Value 300000.
Value 1.
Value -2.
Value 1.
Value 1.5.
Value 150.
Value 45.
Value 180.
Value 150.
Value 90.
Value 60.
Value 1200.
Value 120.
Value 90.
Value 360.
Value 240.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 2.
Value 5.
Value 5.
Value 90.
🌆 Evening Cycle (8:16 PM) — iris-20260517-2014
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 85.4 with 82.9% both-axis compliance, temp compliance 82.9%, VPD compliance 100.0%, heat stress 0.17h, cold stress 0.20h, VPD-high 0h, VPD-low 0h, cost about USD 0.26 in the plan window, and daily partial dew margin minimum 5.2F with 0 dp-risk hours. Hypothesis was strongly validated: conservative mist/fog plus short sealed residence prevented VPD-low and condensation; bias_cool +4 with gas staging kept cold stress under 1h. One resolved heat-staging-inversion alert appeared, so heater interlock should remain a watch item, but it did not materially hurt climate outcomes. Self-score 8 because all safety, VPD, cold, and cost targets were met, though both-axis compliance stayed below 90% due mainly to crop-band morning heat alignment rather than actual plant danger.
Reflection
Validating previous cycle: iris-20260517-0544
Previous hypothesis: SUNRISE plan for Sunday 2026-05-17. Yesterday’s score was 60.8 with paired heat and VPD-high stress; the daytime plan self-score of 6 deviated from anchor 2 because the anchor heavily penalized 223 moisture-guardrail events, while operator goals of lower water/cost and VPD-high under prior extremes were partially met. The overnight plan self-score of 8 deviated from anchor 5 for the same reason: 328 guardrail events remained, but the key safety goals were met with 0 VPD-low, 0 dp-risk, negligible cold stress, and very low cost. Today is not another hot-dry day: current house is cool/humid at 62.6F, VPD 0.34 kPa, RH 83%, dew margin 5.3F, IDLE with heat1 on. Forecast is cool, cloudy/showery, with brief VPD/solar pulses around 09:00-11:00 and 15:00 but a cold wet night ahead. I am starting conservative to avoid VPD-low and condensation, using two live-confirmed moderate moisture shoulders only during the likely VPD-high pulses, then unwinding before the cold front and protecting against heater-to-vent chatter overnight with bias_cool +4 and modest heat support.
{"conditions":{"outdoor_temp_peak_f":65.0,"outdoor_rh_min_pct":38.0,"solar_peak_w_m2":773.0,"cloud_cover_avg_pct":67.0,"notes":"Cool humid dawn, showery/cloudy day with raw outdoor VPD briefly 1.31 kPa late morning and 0.88 kPa at the afternoon solar pulse; forecast calibration says not to pre-stage aggressive mist until live VPD confirms. Current dew margin is only 5.3F, so condensation safety and VPD-low avoidance matter. Tonight turns cold/wet, falling toward the low 40s."},"stress_windows":[{"kind":"vpd_low","start":"2026-05-17T05:45:00-06:00","end":"2026-05-17T08:30:00-06:00","severity":"medium","mitigation":"High mist thresholds, 60s pulse gap, fog_escalation 0.95, long mist delays, and no aggressive dawn misting while indoor VPD is 0.34 kPa and dew margin is near 5F."},{"kind":"vpd_high","start":"2026-05-17T09:00:00-06:00","end":"2026-05-17T11:45:00-06:00","severity":"medium","mitigation":"Moderate, guardrail-aware shoulder only if live VPD rises: engage 0.95, all 1.10, 30s gap, 45/90s delays, fog_escalation 0.30; sealed windows remain 150s to avoid heat traps."},{"kind":"vpd_low","start":"2026-05-17T12:00:00-06:00","end":"2026-05-17T14:30:00-06:00","severity":"medium","mitigation":"Return to conservative moisture during rain/cloud recovery: engage 1.80, all 2.10, gap 60, fog_escalation 0.95, watch dwell 90s."},{"kind":"vpd_high","start":"2026-05-17T14:45:00-06:00","end":"2026-05-17T16:30:00-06:00","severity":"low","mitigation":"Brief afternoon solar fallback, still moderate because temperatures remain cool: engage 1.05, all 1.20, gap 35, fog_escalation 0.35."},{"kind":"cold","start":"2026-05-17T21:30:00-06:00","end":"2026-05-18T07:00:00-06:00","severity":"medium","mitigation":"Cold-front posture: bias_heat 1.5, bias_cool 4.0, d_heat_stage_2 3.0, heat_hysteresis 1.5, conservative mist/fog, and wide VPD hysteresis to prevent heater-to-vent and humidity oscillation."}],"rationale":[{"parameter":"mister_engage_kpa","old_value":1.80,"new_value":0.95,"forecast_anchor":"Only during 09:00-11:45 raw VPD pulse to 1.31 kPa; live dawn VPD is 0.34 so this is delayed until the confirmed dry shoulder.","expected_effect":"Reduce VPD-high during the short dry pulse without causing dawn VPD-low."},{"parameter":"mister_all_kpa","old_value":2.10,"new_value":1.10,"forecast_anchor":"Active vpd_high is about 0.83 and guardrail evidence says all-zone support should stay near vpd_high+0.25 during real VPD-high/VENTILATE stress.","expected_effect":"Let all-zone assist engage if VPD rises during the pulse while avoiding all-zone water use in humid periods."},{"parameter":"mister_pulse_gap_s","old_value":60.0,"new_value":30.0,"forecast_anchor":"Moderate short dry pulse, not a hot-dry peak; use 30s rather than 15s because temperature stays near 65F and dew margin is near 5F.","expected_effect":"Provide recovery capacity without over-humidifying the cool house."},{"parameter":"fog_escalation_kpa","old_value":0.95,"new_value":0.30,"forecast_anchor":"PR-A makes fog useful in VENTILATE VPD-high, but today is cool/cloudy and fog should not be aggressive outside confirmed pulses.","expected_effect":"Avoid stale conservative guardrail holds during actual VPD-high while preventing unnecessary fog during humid windows."},{"parameter":"bias_cool","old_value":3.5,"new_value":0.5,"forecast_anchor":"Brief solar pulses may warm the low crop band greenhouse; lower cooling bias only during dry/solar windows, then restore +4 for night.","expected_effect":"Reduce heat/VENTILATE VPD pairing during solar pulses without creating heater-to-vent chatter overnight."},{"parameter":"bias_heat","old_value":0.75,"new_value":1.5,"forecast_anchor":"Cold front tonight with 41-43F and rain; retrieved cold saturated night plans use modest warmth plus wide cooling bias rather than raising bands.","expected_effect":"Hold stable warmth and dew margin with gas-efficient staging while keeping cold stress under 1h overnight."},{"parameter":"d_heat_stage_2","old_value":5.0,"new_value":3.0,"forecast_anchor":"Forecast low drops below 45F tonight; high-confidence heating lesson favors gas staging for sustained cold.","expected_effect":"Bring gas heat in earlier during sustained cold instead of relying on electric heat1 alone."},{"parameter":"vpd_hysteresis","old_value":0.50,"new_value":0.50,"forecast_anchor":"Cool humid day with risk of VPD-low and oscillation; retrieved lessons favor wide hysteresis on overcast humid days.","expected_effect":"Avoid short-cycle mist/dehum transitions while keeping band compliance stable."}]}Result: Overnight plan-window score was 85.4 with 82.9% both-axis compliance, temp compliance 82.9%, VPD compliance 100.0%, heat stress 0.17h, cold stress 0.20h, VPD-high 0h, VPD-low 0h, cost about USD 0.26 in the plan window, and daily partial dew margin minimum 5.2F with 0 dp-risk hours. Hypothesis was strongly validated: conservative mist/fog plus short sealed residence prevented VPD-low and condensation; bias_cool +4 with gas staging kept cold stress under 1h. One resolved heat-staging-inversion alert appeared, so heater interlock should remain a watch item, but it did not materially hurt climate outcomes. Self-score 8 because all safety, VPD, cold, and cost targets were met, though both-axis compliance stayed below 90% due mainly to crop-band morning heat alignment rather than actual plant danger. Score: 8/10
New finding: Cold wet high-RH nights with outdoor VPD near 0.05-0.15 kPa validate a conservative humidity posture: mister_engage_kpa 2.2-2.5, mister_all_kpa 2.5, fog_escalation_kpa 0.95-1.0, 60s gaps, long mist delays, short 120s sealed cap, plus bias_cool +4 and modest gas staging can hold VPD-low and dp-risk at 0 while keeping cold stress under 1h. → Added to Lessons Learned
Hypothesis
Conditions: Cold wet overnight: 54F at 21:00 falling to 41-42F by dawn, RH 76-95%, raw outdoor VPD 0.34 falling to 0.05 kPa, 100% cloud/rain. Current house is 66.9F, VPD 0.50 kPa, RH 78%, dew point 59.8F, dew margin 7.1F, IDLE. Main risks are VPD-low/condensation pressure and heater-to-vent oscillation, not dry-air VPD-high. | outdoor peak: 54.0, RH min: 76.0, solar peak: 0.0, cloud cover: 100.0 | stress windows: vpd_low 2026-05-17T20:20:00-06:00-2026-05-18T08:00:00-06:00 medium; cold 2026-05-18T01:00:00-06:00-2026-05-18T08:00:00-06:00 medium Testing: Cold/wet overnight suppression: test whether conservative mist/fog plus bias_cool +4 and gas staging keeps dp risk at 0, VPD-low under 1h, cold stress under 1h, and avoids heater-to-vent chatter. Expected outcome: By Monday morning: dp_risk_hours 0, min dew margin >5F, VPD-low stress under 1h, cold stress under 1h, no VPD-high breakout, mist/fog water near zero, and cost dominated by modest gas heat while remaining below the 7-day average.
Conditions (structured)
54.0°F
76.0%
0.0 W/m²
100.0%
Cold wet overnight: 54F at 21:00 falling to 41-42F by dawn, RH 76-95%, raw outdoor VPD 0.34 falling to 0.05 kPa, 100% cloud/rain. Current house is 66.9F, VPD 0.50 kPa, RH 78%, dew point 59.8F, dew margin 7.1F, IDLE. Main risks are VPD-low/condensation pressure and heater-to-vent oscillation, not dry-air VPD-high.
Expected stress windows
Suppress mist/fog with engage 2.2-2.4, all 2.5, 60s gaps, 900s mist delays, fog_escalation 0.95-1.0, vpd_hysteresis 0.50, and short 120s sealed cap.
Use bias_heat 1.5-1.75, bias_cool 4.0, d_heat_stage_2 3.0, heat_hysteresis 1.5, and dwell gate on to use gas staging for sustained cold without heater-to-vent chatter.
Parameter rationale
Keep cold stress under 1h overnight and avoid vent dumps after heater overshoot.
Hold stable 63-66F greenhouse and keep dew margin above 5F with gas/slab support.
Shift sustained cold support to gas staging and avoid excessive electric-only runtime.
Prevent new VPD-low and keep mist water near zero overnight.
Avoid over-humidifying the cool house.
No unnecessary fog/condensation pressure overnight.
Keep dp_risk_hours at 0.
Reduce humidity/dehum oscillation and false mist starts.
Restore stable heater clearing behavior and prevent rapid heat cycling.
Setpoints
Sunday May 17
Primary crop-band changes:
evening_settle: current dew margin is safe but humidity is h
midnight_posture: rain/high RH arrives; prioritize VPD-low a
Tactical tunable changes:
evening_settle: current dew margin is safe but humidity is h
midnight_posture: rain/high RH arrives; prioritize VPD-low a
Monday May 18
Primary crop-band changes:
pre_dawn_cold: forecast bottom near 41-44F with saturated ai
morning_hold: Monday remains cold, overcast, and wet with ra
Tactical tunable changes:
pre_dawn_cold: forecast bottom near 41-44F with saturated ai
morning_hold: Monday remains cold, overcast, and wet with ra
Changed secondary parameters:
initial 4
initial 1.25
initial 4
initial 300000
initial 1
initial -2
initial 0.95
initial 1.4
initial 180
initial 45
initial 180
initial 120
initial 60
initial 60
initial 1800
initial 120
initial 90
initial 900
initial 900
initial 600
initial 600
initial 1
initial 1
initial 1
initial 1
initial 1
initial 2
initial 5
initial 5
initial 90
1.25 → 1.5
4 → 3.5
0.95 → 1
1.4 → 1.5
1800 → 2400
90 → 120
1.5 → 1.75
3.5 → 3
1.75 → 1.5
Full secondary parameter dump
Value 4.
Value 1.25.
Value 4.
Value 300000.
Value 1.
Value -2.
Value 0.95.
Value 1.4.
Value 180.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 1800.
Value 120.
Value 90.
Value 900.
Value 900.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 2.
Value 5.
Value 5.
Value 90.
Value 4.
Value 1.5.
Value 3.5.
Value 300000.
Value 1.
Value -2.
Value 1.
Value 1.5.
Value 180.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 2400.
Value 120.
Value 90.
Value 900.
Value 900.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 2.
Value 5.
Value 5.
Value 120.
Value 4.
Value 1.75.
Value 3.
Value 300000.
Value 1.
Value -2.
Value 1.
Value 1.5.
Value 180.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 2400.
Value 120.
Value 90.
Value 900.
Value 900.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 2.
Value 5.
Value 5.
Value 120.
Value 4.
Value 1.5.
Value 3.
Value 300000.
Value 1.
Value -2.
Value 1.
Value 1.5.
Value 180.
Value 45.
Value 180.
Value 120.
Value 60.
Value 60.
Value 2400.
Value 120.
Value 90.
Value 900.
Value 900.
Value 600.
Value 600.
Value 1.
Value 1.
Value 1.
Value 1.
Value 1.
Value 2.
Value 5.
Value 5.
Value 120.
End-of-Day Summary
Climate
61.9–81.1°F; avg 69.7°F
0.32–1.92 kPa; avg 0.77 kPa
47.7–84.0%
Stress Hours
- Heat stress (>85°F): 3.1h
- VPD stress (>2.0 kPa): 3.2h
- Cold stress (<55°F): 0.4h
Economics
USD 0.09
USD 0.73
USD 0.220
USD 1.04
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: 45 gal
- Mister: 14 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 look generally healthy, though soil moisture is reported at 0.0%.
Hanging orchids appear healthy with green leaves.
Seedlings appear healthy and are establishing well on the shelf.
Seedlings are growing, but some variation in size is visible.
Seedlings are growing steadily.
Hourly Pattern
RH 61.0%.
RH 64.1%.
RH 58.9%.
RH 58.8%.
RH 62.8%.
RH 60.6%.
RH 60.0%.
RH 62.9%.
RH 56.1%.
RH 56.8%.
RH 52.9%.
RH 57.1%.
RH 57.2%.
RH 73.5%.
RH 77.9%.
RH 80.0%.
RH 70.8%.
RH 82.2%.
RH 77.4%.
RH 77.1%.
RH 71.9%.
RH 68.8%.
RH 63.2%.
RH 67.5%.
7-Day Stress Context
Cold stress 1.1h.
Cold stress 0.7h.
Cold stress 0.6h.
Cold stress 0.0h.
Cold stress 0.2h.
Cold stress 0.1h.
Cold stress 0.4h.