May 24, 2026
Generated lab notebook from daily_summary, plan_journal, plan_delivery_log, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.
Planner Execution Ledger
Planner checkpoints can acknowledge that the active plan is still suitable without writing a new public plan ID. Those no-change decisions are part of the audit trail.
16
6
10
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| End-of-day review and reset | 00:15 | MIDNIGHT | plan_written | Wrote public plan iris-20260524-0020. Resolved 00:17 MDT. |
| Morning planning cycle | 05:39 | SUNRISE | plan_written | Wrote public plan iris-20260524-0545. Resolved 05:41 MDT. |
| Forecast deviation | 09:48 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed with live climate/equipment and retrieval. Outdoor VPD is materially drier than forecast (observed 1.78 vs 1.10 kPa), and this is the same direction as the recent VPD forecast bias/rapid clear-morning dry ramp rather than equipment failure. Live greenhouse remains safe and in band: 74.6F, VPD 0.94 kPa vs active vpd_high 1.26, RH 68%, dew margin 11.4F, mode IDLE. All climate relays are off, consistent with IDLE... Resolved 09:48 MDT. |
| Solar peak planning checkpoint | 12:58 | SOLAR_MAX | acked | Acknowledged: SOLAR_MAX checked. Live solar is overshooting forecast materially (1209 W/m2 vs 894 W/m2 raw / ~850 W/m2 bias-corrected), but the active SUNRISE plan is already in the guardrail-aligned peak posture: VENTILATE with both fans, fog, and center mist active; fog_escalation_kpa 0.15, min_fog_off_s 45, engage/all 0.88/1.08, 30/60s delays, 20s gap, d_cool_stage_2 2, temp_hysteresis 1.3. Indoor average VPD is only mildly above band at 1.43 kPa with healthy 14.7F dew margin, and retrieved lessons support 0... Resolved 12:59 MDT. |
| Forecast deviation | 14:28 | FORECAST_DEVIATION | plan_written | Wrote non-archive plan iris-oneshot-20260524-1430. Resolved 14:30 MDT. |
| Peak Stress | 14:57 | TRANSITION | acked | Acknowledged: Peak-stress checkpoint: current greenhouse is tracking the active plan closely enough for no tactical change. Live climate is 78.7F in VENTILATE, VPD 1.20 kPa just below the 1.23 high band, RH 64%, and dew margin 12.9F. Vent/fan cooling is active, VPD-high is not currently climbing, and the existing plan already carries dry-window moisture support into the 17:00 recovery shoulder. No set_tunable issued. Resolved 14:58 MDT. |
| Forecast deviation | 14:58 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed: observed VPD is materially lower than forecast, but current greenhouse VPD remains slightly above the active high band with wide dew-point margin and controller already in VENTILATE with both fans plus fog. Diagnosis is forecast/weather miss rather than equipment fault; no tunable change warranted. Resolved 14:59 MDT. |
| Forecast deviation | 16:20 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed as wind/gust forecast error, not equipment fault or actionable climate regime change. Live climate is VENTILATE at 78.8F, VPD 1.40 kPa, RH 58%, dew margin 14.6F, outdoor 80.1F/24% RH with solar 654 W/m2. Equipment is responding correctly: vent open, both fans on, fog on, center mister on, heaters off. Existing plan already has hot-dry/VENTILATE moisture support active (fog_escalation 0... Resolved 16:21 MDT. |
| Ad-hoc planning cycle via MCP plan_run(mode=normal) | 16:30 | MANUAL | plan_written | Wrote non-archive plan iris-oneshot-20260524-1632. Resolved 16:32 MDT. |
| Manual PR3 post-OTA full set_plan roundtrip validation | 16:36 | MANUAL | plan_written | Wrote public plan iris-20260524-1636. Resolved 16:36 MDT. |
| Forecast deviation | 16:43 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed: observed VPD is materially lower/more humid than the forecast, while live greenhouse VPD is only slightly above the active high band (1.14 kPa vs vpd_high 1.12) with safe dew margin (12.6F). Equipment is responding correctly in VENTILATE with vent, both fans, and center mister active; fog is off and no heater conflict. Diagnosis: forecast dry-air overestimate / cloud-solar-wind miss, not equipment failure... Resolved 16:44 MDT. |
| Forecast deviation | 17:58 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed: outdoor/forecast VPD is lower than forecast (more humid), matching today’s repeated forecast-overdry bias rather than indicating equipment failure. Live greenhouse is still slightly VPD-high (1.13 kPa vs 1.05 high, east 1.36) in VENTILATE with both fans, vent, and center mister active, dew margin healthy at 14.2F. Existing band-coupled moisture posture is appropriate until observed VPD drops below band; no tunable change warranted. Resolved 17:58 MDT. |
| Forecast deviation | 18:44 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed: observed cloud cover is much higher than forecast, but live climate is stable enough for the existing plan. Current greenhouse is 72.4F, VPD 1.01 kPa, RH 63%, dew margin 13.2F, mode VENTILATE. Equipment state matches that mode: vent open, fan1/fan2 on, heaters/fog/misters off. Diagnosis is weather/forecast miss rather than equipment fault; late-day cloud and humidity reduced solar/dry pressure versus forecast... Resolved 18:44 MDT. |
| Forecast deviation | 18:59 | FORECAST_DEVIATION | acked | Acknowledged: FORECAST_DEVIATION assessed: observed VPD is materially lower/more humid than forecast, consistent with the recent same-direction forecast/cloud humidity bias and the earlier evening cloud/VPD misses, not an equipment fault. Live house is 71.4F, VPD 0.95 kPa, RH 64%, dew margin 12.6F, mode VENTILATE; vent plus both fans are on, fog/heat/misters are off... Resolved 18:59 MDT. |
| Decline | 19:18 | TRANSITION | acked | Acknowledged: Decline checkpoint reviewed: current house is VENTILATE at 71.2F with VPD 1.05 kPa, slightly above the 0.96 kPa high band, dew margin safe at 14F, and south mist already active while fans/vent are cooling. Active ESP32 moisture settings are already conservative for evening (engage 1.6, all 1.9, gap 45, fog escalation 0.4), and the existing plan has a staged 23:30 overnight unwind. No concrete signal warrants a one-shot tunable change before that scheduled posture. Resolved 19:19 MDT. |
| Evening planning cycle | 20:18 | SUNSET | plan_written | Wrote public plan iris-20260524-2246. Resolved 22:46 MDT. |
🌅 Morning Cycle (12:17 AM) — iris-20260524-0020
validated
9/10
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: Pre-sunrise governed window is strongly successful so far: window scorecard shows score 95.0, both-axis compliance 100%, temp compliance 100%, VPD compliance 100%, and 0.00h heat/cold/VPD-high/VPD-low stress. Current partial-day scorecard also shows 100% compliance and dp-risk 0h. The guarded pre-dawn posture avoided repeating Saturday’s VPD-low problem while preserving dew safety. This evaluates only the completed midnight-to-sunrise portion; the severe daytime dry-ramp hypothesis remains pending for later cycles. Score: 9/10
New finding: A guarded pre-dawn posture after a failed dry-day unwind can preserve 100% both-axis compliance and dp safety into sunrise; keep the full dry-ramp portion pending until daylight VPD and guardrail behavior are observed. → Added to Lessons Learned
Hypothesis
Testing: Test whether earlier, explicitly band-coupled dry-ramp support after a guarded midnight/pre-dawn posture reduces VPD-high guardrail holds versus the failed SUNSET unwind while keeping dp-risk at 0h. Expected outcome: For the 00:20-08:30 window: dp_risk_hours 0, no added VPD-low beyond a small pre-dawn carryover, and cold stress under 1h. For Sunday daylight: fewer VPD-high moisture guardrail holds than iris-20260523-2017, VPD-high materially below Saturday’s alert burden, and no conservative evening unwind until observed VPD recovery.
Conditions
83.6°F
13.0%
901.0 W/m²
55.0%
Safe humid midnight snapshot after a poor Saturday: greenhouse 64.0F, VPD 0.52, RH 74%, dew margin 8.3F, IDLE, heat1 active. Pre-dawn outdoor VPD stays moderate around 0.5-0.8 kPa, then Sunday ramps hard by 09:00-13:00 to RH 13-19%, VPD 2.6-3.4 kPa, and solar around 750-900 W/m2 before cloudy but still dry late afternoon/evening.
Expected stress windows
Moderate overnight suppression: engage 1.6 then 1.45, all 1.9 then 1.75, 45-50s gaps, longer delays, fog_escalation 0.35-0.45, vpd_hysteresis 0.5, and 120s sealed cap while dew margin stays safe.
Before live dry stress can force guardrail holds, transition to band-coupled moisture: engage 0.85-0.9, all 1.05-1.1, 30/60s delays, 20s gaps, fog_escalation 0.15 in the fog window, min_fog_off 45, capped sealed residence 150-180s, and no conservative unwind until evening VPD actually recovers.
Accept some physics-limited heat pressure but keep d_cool_stage_2 2.0 and temp_hysteresis 1.3 while short sealed caps let VENTILATE preempt and moisture assist protects VPD.
Missed-SUNRISE fallback returns to band-coupled moisture for Monday’s even hotter/drier ramp rather than carrying overnight conservative thresholds.
Parameter rationale
Avoid VPD-high guardrail holds during the dry ramp and reduce VPD-high stress relative to Saturday.
Permit all-zone assist during severe dry ventilation instead of waiting above the crop band.
Catch stubborn VPD-high without extended sealed heat traps.
Permit effective fog cadence and avoid dispatcher rewrites.
Reduce humidity collapse between pulses during VENTILATE assist.
Start physical pulses promptly once humidity demand exists.
Reduce time above the VPD band during the morning ramp.
Improve temperature compliance during the dry ramp without changing crop bands.
Setpoints
Sunday May 24
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:20 | hyst 0.5 | Midnight reset: safe humid house, avoid extra wetting while |
| 05:30 | hyst 0.5 | Pre-dawn handoff: still no solar, but begin loosening suppre |
| 08:30 | hyst 0.45 | Sunrise ramp: outdoor VPD begins climbing; move to guardrail |
| 10:00 | hyst 0.45 | Dry ramp begins: RH falls below 30% and VPD exceeds 2 kPa; f |
| 13:00 | hyst 0.45 | Peak dry window: forecast RH 13-15%, VPD above 3 kPa, solar |
| 17:30 | hyst 0.45 | Post-fog dry shoulder: fog window is ending but outdoor VPD |
| 21:30 | hyst 0.45 | Late evening: outdoor VPD is still around 1.6-1.7, so only p |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:20 | engage 1.6; all 1.9; pulse 60; gap 50; wt 2.3 | Midnight reset: safe humid house, avoid extra wetting while |
| 05:30 | engage 1.45; all 1.75; pulse 60; gap 45; wt 2.4 | Pre-dawn handoff: still no solar, but begin loosening suppre |
| 08:30 | engage 1.05; all 1.25; pulse 60; gap 30; wt 2.6 | Sunrise ramp: outdoor VPD begins climbing; move to guardrail |
| 10:00 | engage 0.85; all 1.05; pulse 60; gap 20; wt 2.8 | Dry ramp begins: RH falls below 30% and VPD exceeds 2 kPa; f |
| 13:00 | engage 0.85; all 1.05; pulse 60; gap 20; wt 2.8 | Peak dry window: forecast RH 13-15%, VPD above 3 kPa, solar |
| 17:30 | engage 0.9; all 1.1; pulse 60; gap 20; wt 2.8 | Post-fog dry shoulder: fog window is ending but outdoor VPD |
| 21:30 | engage 1.05; all 1.25; pulse 60; gap 30; wt 2.5 | Late evening: outdoor VPD is still around 1.6-1.7, so only p |
Monday May 25
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.5 | Post-midnight Monday fallback: drier-than-normal night, avoi |
| 08:00 | hyst 0.45 | Missed-SUNRISE fallback for Monday’s hotter/drier ramp: retu |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | engage 1.25; all 1.5; pulse 60; gap 40; wt 2.4 | Post-midnight Monday fallback: drier-than-normal night, avoi |
| 08:00 | engage 0.9; all 1.1; pulse 60; gap 20; wt 2.8 | Missed-SUNRISE fallback for Monday’s hotter/drier ramp: retu |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 00:20 | d_cool_stage_2 | initial 2.5 |
| 00:20 | dwell_gate_ms | initial 300000 |
| 00:20 | enthalpy_close | initial 1 |
| 00:20 | enthalpy_open | initial -2 |
| 00:20 | fog_escalation_kpa | initial 0.45 |
| 00:20 | heat_hysteresis | initial 1.2 |
| 00:20 | min_fog_off_s | initial 90 |
| 00:20 | min_fog_on_s | initial 45 |
| 00:20 | mist_backoff_s | initial 900 |
| 00:20 | mist_max_closed_vent_s | initial 120 |
| 00:20 | mist_thermal_relief_s | initial 90 |
| 00:20 | mister_all_delay_s | initial 180 |
| 00:20 | mister_engage_delay_s | initial 90 |
| 00:20 | mister_water_budget_gal | initial 300 |
| 00:20 | outdoor_staleness_max_s | initial 600 |
| 00:20 | sw_dwell_gate_enabled | initial 1 |
| 00:20 | sw_fog_closes_vent | initial 1 |
| 00:20 | sw_mister_closes_vent | initial 1 |
| 00:20 | sw_summer_vent_enabled | initial 1 |
| 00:20 | temp_hysteresis | initial 1.7 |
| 00:20 | vent_prefer_dp_delta_f | initial 5 |
| 00:20 | vent_prefer_temp_delta_f | initial 5 |
| 00:20 | vpd_watch_dwell_s | initial 75 |
| 05:30 | fog_escalation_kpa | 0.45 → 0.35 |
| 05:30 | min_fog_off_s | 90 → 75 |
| 05:30 | mist_backoff_s | 900 → 600 |
| 05:30 | mister_all_delay_s | 180 → 120 |
| 05:30 | mister_engage_delay_s | 90 → 60 |
| 05:30 | temp_hysteresis | 1.7 → 1.6 |
| 05:30 | vpd_watch_dwell_s | 75 → 60 |
| 08:30 | d_cool_stage_2 | 2.5 → 2.2 |
| 08:30 | fog_escalation_kpa | 0.35 → 0.25 |
| 08:30 | heat_hysteresis | 1.2 → 1.1 |
| 08:30 | min_fog_off_s | 75 → 60 |
| 08:30 | mist_max_closed_vent_s | 120 → 150 |
| 08:30 | mister_all_delay_s | 120 → 90 |
| 08:30 | mister_engage_delay_s | 60 → 45 |
| 08:30 | temp_hysteresis | 1.6 → 1.4 |
| 08:30 | vpd_watch_dwell_s | 60 → 45 |
| 10:00 | d_cool_stage_2 | 2.2 → 2 |
| 10:00 | fog_escalation_kpa | 0.25 → 0.15 |
| 10:00 | heat_hysteresis | 1.1 → 1 |
| 10:00 | min_fog_off_s | 60 → 45 |
| 10:00 | mister_all_delay_s | 90 → 60 |
| 10:00 | mister_engage_delay_s | 45 → 30 |
| 10:00 | temp_hysteresis | 1.4 → 1.3 |
| 10:00 | vpd_watch_dwell_s | 45 → 30 |
| 17:30 | d_cool_stage_2 | 2 → 2.2 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:30 | temp_hysteresis | 1.3 → 1.4 |
| 17:30 | vpd_watch_dwell_s | 30 → 45 |
| 21:30 | d_cool_stage_2 | 2.2 → 2.5 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.3 |
| 21:30 | heat_hysteresis | 1 → 1.1 |
| 21:30 | min_fog_off_s | 45 → 60 |
| 21:30 | mister_all_delay_s | 60 → 90 |
| 21:30 | mister_engage_delay_s | 30 → 45 |
| 21:30 | temp_hysteresis | 1.4 → 1.5 |
| 21:30 | vpd_watch_dwell_s | 45 → 60 |
| 00:30 | fog_escalation_kpa | 0.3 → 0.35 |
| 00:30 | heat_hysteresis | 1.1 → 1.2 |
| 00:30 | min_fog_off_s | 60 → 75 |
| 00:30 | mist_max_closed_vent_s | 150 → 120 |
| 00:30 | mister_all_delay_s | 90 → 120 |
| 00:30 | mister_engage_delay_s | 45 → 60 |
| 00:30 | temp_hysteresis | 1.5 → 1.6 |
| 08:00 | d_cool_stage_2 | 2.5 → 2 |
| 08:00 | fog_escalation_kpa | 0.35 → 0.15 |
| 08:00 | heat_hysteresis | 1.2 → 1 |
| 08:00 | min_fog_off_s | 75 → 45 |
| 08:00 | mist_max_closed_vent_s | 120 → 150 |
| 08:00 | mister_all_delay_s | 120 → 60 |
| 08:00 | mister_engage_delay_s | 60 → 30 |
| 08:00 | temp_hysteresis | 1.6 → 1.3 |
| 08:00 | vpd_watch_dwell_s | 60 → 30 |
🌅 Morning Cycle (5:41 AM) — iris-20260524-0545
validated
6/10
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-2017
Previous hypothesis: SUNSET plan for Saturday 2026-05-23. Today underperformed: score 60.0, both-axis compliance 59.4%, temp compliance 61.2%, VPD compliance 78.4%, with heat stress 6.67h and VPD-high 3.93h as the main failures. The plan-evaluation loop revised the SUNRISE plan to 1/10 to match anchor 1 because 1107 guardrail events, 24 held events, 17 dispatched events, and 41 VPD-high guardrail events show the written plan still fought the moisture guardrail despite low VPD-low and safe dew margin. Current house is still VENTILATE with VPD 0.93 above the 0.82 high band and dew margin 13.2F. Therefore I am not switching straight to conservative night suppression. The plan keeps a short band-coupled recovery shoulder until late evening, then unwinds in stages once outdoor VPD falls, and keeps a missed-SUNRISE dry-ramp fallback for Sunday RH near 12-17%, VPD near 3.0+ kPa, and solar near 900 W/m2. Result: Window scorecard for 05:41-13:47 showed cost USD 0.337, both-axis compliance 53.2%, temp compliance 58.6%, VPD compliance 63.1%, heat stress 3.20h, VPD-high 2.79h, VPD-low 0.07h, and window score 57.2. The plan correctly anticipated the hot/dry VPD window and reduced VPD-high below Saturday’s 6.35h, but the heat+VPD pairing still held both-axis compliance low and the afternoon/evening needed continued observed-recovery logic rather than any conservative clock unwind. Score: 6/10
Hypothesis
Testing: Test whether a stronger, explicitly guardrail-aligned SUNRISE dry-ramp plan reduces VPD-high/no-moisture-assist alerts versus Saturday while preserving the midnight plan’s 0h dp-risk and avoiding VPD-low overnight. Expected outcome: Target score above 65, both-axis compliance above 65%, VPD-high stress below 4h, heat stress below Saturday’s 8.85h if clouds arrive as forecast, VPD-low below 0.5h, dp-risk 0h, cost below the 7-day average USD 6.88 unless severe VPD forces sustained fog/misting.
Conditions
84.0°F
14.0%
925.0 W/m²
55.0%
Safe humid dawn indoors with dp margin 7.2F; forecast turns hot/dry by 10:00-15:00 with RH 14-19%, VPD 2.5-3.4 kPa, and corrected solar roughly 900 W/m2 despite cloud uncertainty. Saturday showed VENTILATE VPD-high/no-moisture-assist alerts and 6.35h VPD-high, so the plan prioritizes guardrail-aligned moisture without extending sealed heat traps.
Expected stress windows
Band-coupled VENTILATE moisture assist: engage 0.88-0.92, all 1.08-1.12, 30/60s delays, 20s gaps, fog_escalation 0.15 in the fog window, min_fog_off 45, vpd_watch 45, and 150s sealed cap.
Keep d_cool_stage_2 2.0 and temp_hysteresis 1.3 during peak; accept structural heat if it appears rather than extending sealed mist.
Only after the evening recovery shoulder, unwind to engage 1.5, all 1.8, 45s gaps, longer delays, fog_escalation 0.45, vpd_hysteresis 0.5, and 120s sealed cap.
Missed-SUNRISE fallback returns to band-coupled dry-ramp support before Monday's RH 14-20% and VPD near 3 kPa ramp.
Parameter rationale
Avoid VPD-high guardrail holds/no-moisture-assist alerts and reduce VPD-high stress below Saturday's 6.35h.
Permit all-zone assist during the dry ramp instead of waiting above the crop band.
Use fog early enough to catch stubborn VPD-high while firmware RH/temp/time gates preserve safety.
Permit effective fog cadence during peak VPD without dispatcher rewrites.
Start physical mist promptly once humidity demand exists.
Reduce time above VPD band during VENTILATE assist.
Prevent humidity collapse between pulses while venting.
Bring fan2 in earlier during peak heat without changing crop bands.
Improve temperature compliance during the dry ramp while moisture support protects VPD.
Shorten dry-band exposure before sealed recovery without creating short cycles.
Give bounded recovery capacity while preserving VENTILATE preemption and keeping dp-risk at 0h.
Setpoints
Sunday May 24
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:45 | hyst 0.5 | Humid safe dawn: preserve the successful midnight posture wh |
| 08:00 | hyst 0.45 | Morning ramp: outdoor VPD approaches 0.9 and solar rises; st |
| 10:00 | hyst 0.45 | Dry ramp arrives: forecast VPD near 2.0 and falling RH; swit |
| 13:00 | hyst 0.45 | Peak heat/VPD window: RH 14-17%, VPD 3.1-3.4, solar uncertai |
| 17:00 | hyst 0.45 | Fog window closes but outside air remains very dry; maintain |
| 20:30 | hyst 0.5 | Evening observed-recovery shoulder: forecast VPD still near |
| 23:30 | hyst 0.5 | Overnight suppression after recovery: outdoor VPD falls towa |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:45 | engage 1.35; all 1.65; pulse 60; gap 40; wt 2.4 | Humid safe dawn: preserve the successful midnight posture wh |
| 08:00 | engage 1.05; all 1.25; pulse 60; gap 25; wt 2.7 | Morning ramp: outdoor VPD approaches 0.9 and solar rises; st |
| 10:00 | engage 0.88; all 1.08; pulse 60; gap 20; wt 2.8 | Dry ramp arrives: forecast VPD near 2.0 and falling RH; swit |
| 13:00 | engage 0.88; all 1.08; pulse 60; gap 20; wt 2.9 | Peak heat/VPD window: RH 14-17%, VPD 3.1-3.4, solar uncertai |
| 17:00 | engage 0.9; all 1.1; pulse 60; gap 20; wt 2.8 | Fog window closes but outside air remains very dry; maintain |
| 20:30 | engage 1.1; all 1.3; pulse 60; gap 30; wt 2.6 | Evening observed-recovery shoulder: forecast VPD still near |
| 23:30 | engage 1.5; all 1.8; pulse 60; gap 45; wt 2.4 | Overnight suppression after recovery: outdoor VPD falls towa |
Monday May 25
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.45 | Missed-SUNRISE fallback for Monday: forecast repeats a dry r |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | engage 0.88; all 1.08; pulse 60; gap 20; wt 2.8 | Missed-SUNRISE fallback for Monday: forecast repeats a dry r |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:45 | d_cool_stage_2 | initial 2.5 |
| 05:45 | dwell_gate_ms | initial 300000 |
| 05:45 | enthalpy_close | initial 1 |
| 05:45 | enthalpy_open | initial -2 |
| 05:45 | fog_escalation_kpa | initial 0.35 |
| 05:45 | heat_hysteresis | initial 1.2 |
| 05:45 | min_fog_off_s | initial 75 |
| 05:45 | min_fog_on_s | initial 45 |
| 05:45 | mist_backoff_s | initial 600 |
| 05:45 | mist_max_closed_vent_s | initial 120 |
| 05:45 | mist_thermal_relief_s | initial 90 |
| 05:45 | mister_all_delay_s | initial 120 |
| 05:45 | mister_engage_delay_s | initial 60 |
| 05:45 | mister_water_budget_gal | initial 300 |
| 05:45 | outdoor_staleness_max_s | initial 600 |
| 05:45 | sw_dwell_gate_enabled | initial 1 |
| 05:45 | sw_fog_closes_vent | initial 1 |
| 05:45 | sw_mister_closes_vent | initial 1 |
| 05:45 | sw_summer_vent_enabled | initial 1 |
| 05:45 | temp_hysteresis | initial 1.6 |
| 05:45 | vent_prefer_dp_delta_f | initial 5 |
| 05:45 | vent_prefer_temp_delta_f | initial 5 |
| 05:45 | vpd_watch_dwell_s | initial 60 |
| 08:00 | d_cool_stage_2 | 2.5 → 2.3 |
| 08:00 | fog_escalation_kpa | 0.35 → 0.25 |
| 08:00 | heat_hysteresis | 1.2 → 1.1 |
| 08:00 | min_fog_off_s | 75 → 60 |
| 08:00 | mist_max_closed_vent_s | 120 → 150 |
| 08:00 | mister_all_delay_s | 120 → 90 |
| 08:00 | mister_engage_delay_s | 60 → 45 |
| 08:00 | temp_hysteresis | 1.6 → 1.4 |
| 08:00 | vpd_watch_dwell_s | 60 → 45 |
| 10:00 | d_cool_stage_2 | 2.3 → 2 |
| 10:00 | fog_escalation_kpa | 0.25 → 0.15 |
| 10:00 | heat_hysteresis | 1.1 → 1 |
| 10:00 | min_fog_off_s | 60 → 45 |
| 10:00 | mister_all_delay_s | 90 → 60 |
| 10:00 | mister_engage_delay_s | 45 → 30 |
| 10:00 | temp_hysteresis | 1.4 → 1.3 |
| 17:00 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:00 | min_fog_off_s | 45 → 60 |
| 17:00 | temp_hysteresis | 1.3 → 1.35 |
| 20:30 | d_cool_stage_2 | 2 → 2.3 |
| 20:30 | fog_escalation_kpa | 0.2 → 0.3 |
| 20:30 | heat_hysteresis | 1 → 1.1 |
| 20:30 | min_fog_off_s | 60 → 75 |
| 20:30 | mist_max_closed_vent_s | 150 → 120 |
| 20:30 | mister_all_delay_s | 60 → 90 |
| 20:30 | mister_engage_delay_s | 30 → 45 |
| 20:30 | temp_hysteresis | 1.35 → 1.5 |
| 20:30 | vpd_watch_dwell_s | 45 → 60 |
| 23:30 | d_cool_stage_2 | 2.3 → 2.5 |
| 23:30 | fog_escalation_kpa | 0.3 → 0.45 |
| 23:30 | heat_hysteresis | 1.1 → 1.2 |
| 23:30 | min_fog_off_s | 75 → 90 |
| 23:30 | mist_backoff_s | 600 → 900 |
| 23:30 | mister_all_delay_s | 90 → 180 |
| 23:30 | mister_engage_delay_s | 45 → 90 |
| 23:30 | temp_hysteresis | 1.5 → 1.7 |
| 08:00 | d_cool_stage_2 | 2.5 → 2 |
| 08:00 | fog_escalation_kpa | 0.45 → 0.15 |
| 08:00 | heat_hysteresis | 1.2 → 1 |
| 08:00 | min_fog_off_s | 90 → 45 |
| 08:00 | mist_backoff_s | 900 → 600 |
| 08:00 | mist_max_closed_vent_s | 120 → 150 |
| 08:00 | mister_all_delay_s | 180 → 60 |
| 08:00 | mister_engage_delay_s | 90 → 30 |
| 08:00 | temp_hysteresis | 1.7 → 1.3 |
| 08:00 | vpd_watch_dwell_s | 60 → 45 |
☀️ Midday Cycle (1:47 PM) — iris-20260524-1347
validated
2/10
cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_over_high_f, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa, heat_hysteresis ...
Reflection
Validating previous cycle: iris-20260524-0545
Previous hypothesis: SUNRISE plan for Sunday 2026-05-24. Saturday finished poorly at score 56.5, with both-axis compliance 54.5%, temp compliance 58.6%, and VPD compliance 71.7%; temperature was the tighter compliance axis, but the dominant actionable failures were heat stress 8.85h plus VPD-high 6.35h. Cost was USD 5.33, below the 7-day average USD 6.88; electric and water rose above 7-day averages while gas fell, consistent with cooling/misting load replacing heating load. The just-evaluated midnight-to-sunrise plan scored 9/10 versus anchor 10: 100% compliance, 0h stress, 0 guardrail events, dp-risk 0h. Today starts safe and humid at 63.3F, VPD 0.45, RH 77%, dew margin 7.2F, IDLE with heat1 on, then ramps hard: 84F, RH 14%, VPD 3.4 kPa, and corrected solar around 900 W/m2… Result: Revised to match deterministic anchor after guardrail scoring: although the OTA contract-alignment goal did not visibly break safety, the plan-window evidence shows low both-axis compliance (53.2%) and a large guardrail conflict: 47 VPD-high moisture-guardrail events, 34 held and 13 dispatched. That means the plan fought dispatcher/firmware moisture policy during live dry stress and should be graded as a poor climate-control outcome despite the narrow contract-alignment intent. Score: 2/10
Hypothesis
Conditions: Post-OTA alignment plan seeded by Codex after firmware 2026.5.24.1341.e349e5e deployment. Testing: Deployment alignment for explicit AI cooling knobs; no biological policy change intended. Expected outcome: Plan coverage passes and cfg readbacks confirm the four new cooling defaults.
Setpoints
Sunday May 24
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 13:47 | hyst 0.45 | Post-OTA AI cooling contract alignment: preserve active plan |
| 17:00 | hyst 0.45 | Post-OTA AI cooling contract alignment: preserve active plan |
| 20:30 | hyst 0.5 | Post-OTA AI cooling contract alignment: preserve active plan |
| 23:30 | hyst 0.5 | Post-OTA AI cooling contract alignment: preserve active plan |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 13:47 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 0.88; all 1.08; pulse 60; gap 20; wt 2.9 | Post-OTA AI cooling contract alignment: preserve active plan |
| 17:00 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 0.9; all 1.1; pulse 60; gap 20; wt 2.8 | Post-OTA AI cooling contract alignment: preserve active plan |
| 20:30 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 1.1; all 1.3; pulse 60; gap 30; wt 2.6 | Post-OTA AI cooling contract alignment: preserve active plan |
| 23:30 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 1.5; all 1.8; pulse 60; gap 45; wt 2.4 | Post-OTA AI cooling contract alignment: preserve active plan |
Monday May 25
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.45 | Post-OTA AI cooling contract alignment: preserve active plan |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 0.88; all 1.08; pulse 60; gap 20; wt 2.8 | Post-OTA AI cooling contract alignment: preserve active plan |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 13:47 | cold_vent_guard_delta_f | initial 10 |
| 13:47 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 13:47 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 13:47 | dwell_gate_ms | initial 300000 |
| 13:47 | enthalpy_close | initial 1 |
| 13:47 | enthalpy_open | initial -2 |
| 13:47 | fog_escalation_kpa | initial 0.15 |
| 13:47 | fog_stress_min_dew_margin_f | initial 10 |
| 13:47 | heat_hysteresis | initial 1 |
| 13:47 | min_fog_off_s | initial 45 |
| 13:47 | min_fog_on_s | initial 45 |
| 13:47 | mist_backoff_s | initial 600 |
| 13:47 | mist_max_closed_vent_s | initial 150 |
| 13:47 | mist_thermal_relief_s | initial 90 |
| 13:47 | mister_all_delay_s | initial 60 |
| 13:47 | mister_engage_delay_s | initial 30 |
| 13:47 | mister_water_budget_gal | initial 300 |
| 13:47 | outdoor_staleness_max_s | initial 600 |
| 13:47 | sw_dwell_gate_enabled | initial 1 |
| 13:47 | sw_fog_closes_vent | initial 1 |
| 13:47 | sw_mister_closes_vent | initial 1 |
| 13:47 | sw_summer_vent_enabled | initial 1 |
| 13:47 | temp_hysteresis | initial 1.3 |
| 13:47 | vent_prefer_dp_delta_f | initial 5 |
| 13:47 | vent_prefer_temp_delta_f | initial 5 |
| 13:47 | vpd_watch_dwell_s | initial 45 |
| 17:00 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:00 | min_fog_off_s | 45 → 60 |
| 17:00 | temp_hysteresis | 1.3 → 1.35 |
| 20:30 | fog_escalation_kpa | 0.2 → 0.3 |
| 20:30 | heat_hysteresis | 1 → 1.1 |
| 20:30 | min_fog_off_s | 60 → 75 |
| 20:30 | mist_max_closed_vent_s | 150 → 120 |
| 20:30 | mister_all_delay_s | 60 → 90 |
| 20:30 | mister_engage_delay_s | 30 → 45 |
| 20:30 | temp_hysteresis | 1.35 → 1.5 |
| 20:30 | vpd_watch_dwell_s | 45 → 60 |
| 23:30 | fog_escalation_kpa | 0.3 → 0.45 |
| 23:30 | heat_hysteresis | 1.1 → 1.2 |
| 23:30 | min_fog_off_s | 75 → 90 |
| 23:30 | mist_backoff_s | 600 → 900 |
| 23:30 | mister_all_delay_s | 90 → 180 |
| 23:30 | mister_engage_delay_s | 45 → 90 |
| 23:30 | temp_hysteresis | 1.5 → 1.7 |
| 08:00 | fog_escalation_kpa | 0.45 → 0.15 |
| 08:00 | heat_hysteresis | 1.2 → 1 |
| 08:00 | min_fog_off_s | 90 → 45 |
| 08:00 | mist_backoff_s | 900 → 600 |
| 08:00 | mist_max_closed_vent_s | 120 → 150 |
| 08:00 | mister_all_delay_s | 180 → 60 |
| 08:00 | mister_engage_delay_s | 90 → 30 |
| 08:00 | temp_hysteresis | 1.7 → 1.3 |
| 08:00 | vpd_watch_dwell_s | 60 → 45 |
🌆 Evening Cycle (4:36 PM) — iris-20260524-1636
validated
8/10
cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa, dwell_gate_ms, enthalpy_close ...
Reflection
Validating previous cycle: iris-20260524-0545
Result: Window scorecard for 16:36-22:46 showed cost USD 0.257, both-axis compliance 88.2%, temp compliance 90.6%, VPD compliance 90.5%, heat stress 0.55h, VPD-high 0.50h, VPD-low 0.01h, and window score 85.7. The post-OTA moisture-stress round trip improved compliance strongly in the decline/evening window with no dew-point risk signal, though guardrail holds show conservative moisture values still fought the band-coupled policy at times. Score: 8/10
Hypothesis
Testing: PR3 post-OTA tunable callback proof Expected outcome: All seven PR3 tunables are pushed to ESP32, observed in cfg readbacks, and written to DB callbacks; no severe alerts.
Setpoints
Sunday May 24
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 16:36 | hyst 0.45 | PR3 post-OTA roundtrip validation: enable stress switches wi |
| 16:39 | hyst 0.45 | PR3 post-OTA roundtrip validation: revert stress tunables to |
| 17:00 | hyst 0.45 | Preserved routine waypoint after PR3 roundtrip validation. |
| 20:30 | hyst 0.5 | Preserved routine waypoint after PR3 roundtrip validation. |
| 23:30 | hyst 0.5 | Preserved routine waypoint after PR3 roundtrip validation. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 16:36 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 1; dw_until 17; fog_stress 1; fog_until 17; engage 1.2; all 1.4; pulse 60; gap 25; wt 2.8 | PR3 post-OTA roundtrip validation: enable stress switches wi |
| 16:39 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 1.2; all 1.4; pulse 60; gap 25; wt 2.8 | PR3 post-OTA roundtrip validation: revert stress tunables to |
| 17:00 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 0.9; all 1.1; pulse 60; gap 20; wt 2.8 | Preserved routine waypoint after PR3 roundtrip validation. |
| 20:30 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 1.1; all 1.3; pulse 60; gap 30; wt 2.6 | Preserved routine waypoint after PR3 roundtrip validation. |
| 23:30 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 1.5; all 1.8; pulse 60; gap 45; wt 2.4 | Preserved routine waypoint after PR3 roundtrip validation. |
Monday May 25
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.45 | Preserved routine waypoint after PR3 roundtrip validation. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | s2 1; cool_exit 1.5; all_fans 0; dw_stress 0; dw_until 22; fog_stress 0; fog_until 19; engage 0.88; all 1.08; pulse 60; gap 20; wt 2.8 | Preserved routine waypoint after PR3 roundtrip validation. |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 16:36 | cold_vent_guard_delta_f | initial 10 |
| 16:36 | direct_wet_stress_min_dew_margin_f | initial 15 |
| 16:36 | direct_wet_stress_vpd_margin_kpa | initial 0.5 |
| 16:36 | dwell_gate_ms | initial 300000 |
| 16:36 | enthalpy_close | initial 1 |
| 16:36 | enthalpy_open | initial -2 |
| 16:36 | fog_escalation_kpa | initial 0.2 |
| 16:36 | fog_stress_min_dew_margin_f | initial 15 |
| 16:36 | heat_hysteresis | initial 1 |
| 16:36 | min_fog_off_s | initial 45 |
| 16:36 | min_fog_on_s | initial 45 |
| 16:36 | mist_backoff_s | initial 600 |
| 16:36 | mist_max_closed_vent_s | initial 150 |
| 16:36 | mist_thermal_relief_s | initial 90 |
| 16:36 | mister_all_delay_s | initial 60 |
| 16:36 | mister_engage_delay_s | initial 30 |
| 16:36 | mister_water_budget_gal | initial 300 |
| 16:36 | outdoor_staleness_max_s | initial 600 |
| 16:36 | sw_dwell_gate_enabled | initial 1 |
| 16:36 | sw_fog_closes_vent | initial 1 |
| 16:36 | sw_mister_closes_vent | initial 1 |
| 16:36 | sw_summer_vent_enabled | initial 1 |
| 16:36 | temp_hysteresis | initial 1.3 |
| 16:36 | vent_prefer_dp_delta_f | initial 5 |
| 16:36 | vent_prefer_temp_delta_f | initial 5 |
| 16:36 | vpd_watch_dwell_s | initial 45 |
| 16:39 | direct_wet_stress_min_dew_margin_f | 15 → 8 |
| 16:39 | direct_wet_stress_vpd_margin_kpa | 0.5 → 0.05 |
| 16:39 | fog_stress_min_dew_margin_f | 15 → 10 |
| 17:00 | min_fog_off_s | 45 → 60 |
| 17:00 | temp_hysteresis | 1.3 → 1.35 |
| 20:30 | fog_escalation_kpa | 0.2 → 0.3 |
| 20:30 | heat_hysteresis | 1 → 1.1 |
| 20:30 | min_fog_off_s | 60 → 75 |
| 20:30 | mist_max_closed_vent_s | 150 → 120 |
| 20:30 | mister_all_delay_s | 60 → 90 |
| 20:30 | mister_engage_delay_s | 30 → 45 |
| 20:30 | temp_hysteresis | 1.35 → 1.5 |
| 20:30 | vpd_watch_dwell_s | 45 → 60 |
| 23:30 | fog_escalation_kpa | 0.3 → 0.45 |
| 23:30 | heat_hysteresis | 1.1 → 1.2 |
| 23:30 | min_fog_off_s | 75 → 90 |
| 23:30 | mist_backoff_s | 600 → 900 |
| 23:30 | mister_all_delay_s | 90 → 180 |
| 23:30 | mister_engage_delay_s | 45 → 90 |
| 23:30 | temp_hysteresis | 1.5 → 1.7 |
| 08:00 | fog_escalation_kpa | 0.45 → 0.15 |
| 08:00 | heat_hysteresis | 1.2 → 1 |
| 08:00 | min_fog_off_s | 90 → 45 |
| 08:00 | mist_backoff_s | 900 → 600 |
| 08:00 | mist_max_closed_vent_s | 120 → 150 |
| 08:00 | mister_all_delay_s | 180 → 60 |
| 08:00 | mister_engage_delay_s | 90 → 30 |
| 08:00 | temp_hysteresis | 1.7 → 1.3 |
| 08:00 | vpd_watch_dwell_s | 60 → 45 |
🌙 Overnight Cycle (10:46 PM) — iris-20260524-2246
validated
9/10
cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa, dwell_gate_ms, enthalpy_close ...
Reflection
Validating previous cycle: iris-20260524-1636
Previous hypothesis: Manual PR3 post-OTA round-trip validation. The first waypoint changes all seven PR3 moisture-stress tunables while keeping direct-wet/fog stress behavior blocked by conservative dew-margin/latest-hour/VPD gates; the second waypoint reverts defaults; later routine waypoints are preserved. Result: Window scorecard for 22:46-05:53 showed cost USD 0.296, both-axis compliance 98.5%, temp compliance 100%, VPD compliance 98.5%, heat stress 0.00h, VPD-high 0.02h, VPD-low 0.00h, and live score 94.1. The sunset remediation successfully preserved overnight compliance and dew safety after the dry-day recovery shoulder. Remaining issue is operational, not climate: the MIDNIGHT trigger timed out and left this plan’s fallback carrying the morning until SUNRISE. Score: 9/10
Hypothesis
Testing: Restore audited sunset plan coverage after planning gateway SLA timeout. Expected outcome: Within the next recovery window, temp and VPD target deltas should trend toward zero without violating dew/occupancy safety rails.
Conditions
93.0°F
15.0%
850.0 W/m²
15.0%
Manual sunset SLA remediation after planning gateway timeout; current target context is compliance-first temp+VPD high.
Expected stress windows
Vent cooling plus wet assist remains eligible from safety-gated controller path.
Keep moisture engage near vpd_high+0.05 and fog escalation near 0.20 while dew margin is safe.
Parameter rationale
Climate wet assist stays eligible near the VPD high edge instead of waiting for a large miss.
Fog assist escalates earlier when safety rails allow it.
Water budget does not block recovery during the active dry miss.
Setpoints
Sunday May 24
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 22:49 | hyst 0.345 | Immediate sunset SLA remediation: temp and VPD are both abov |
| 23:30 | hyst 0.35 | Late-evening recovery: preserve VPD assist near high edge, a |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 22:49 | s2 1.775; cool_exit 1.51; all_fans 0; dw_stress 1; dw_until 24; fog_stress 1; fog_until 22; engage 2.5; all 2.5; pulse 41.25; gap 33.75; wt 2.0666666666666664 | Immediate sunset SLA remediation: temp and VPD are both abov |
| 23:30 | s2 1.875; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 24; fog_stress 1; fog_until 22; engage 2.5; all 2.5; pulse 33.75; gap 41.25; wt 1.7666666666666666 | Late-evening recovery: preserve VPD assist near high edge, a |
Monday May 25
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | hyst 0.35 | Overnight hold: keep thresholds band-coupled with conservati |
| 08:00 | hyst 0.345 | Morning preconditioning: prepare for solar/heat ramp while k |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | s2 1.875; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 24; fog_stress 1; fog_until 22; engage 2.5; all 2.5; pulse 33.75; gap 41.25; wt 1.7666666666666666 | Overnight hold: keep thresholds band-coupled with conservati |
| 08:00 | s2 1.595; cool_exit 1.51; all_fans 0; dw_stress 1; dw_until 19; fog_stress 1; fog_until 19; engage 2.5; all 2.5; pulse 41.25; gap 37.5; wt 1.9499999999999997 | Morning preconditioning: prepare for solar/heat ramp while k |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 22:49 | cold_vent_guard_delta_f | initial 7 |
| 22:49 | direct_wet_stress_min_dew_margin_f | initial 10 |
| 22:49 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 22:49 | dwell_gate_ms | initial 195000 |
| 22:49 | enthalpy_close | initial 1 |
| 22:49 | enthalpy_open | initial -2 |
| 22:49 | fog_escalation_kpa | initial 0.2 |
| 22:49 | fog_stress_min_dew_margin_f | initial 10 |
| 22:49 | heat_hysteresis | initial 1.1 |
| 22:49 | min_fog_off_s | initial 60 |
| 22:49 | min_fog_on_s | initial 63.75 |
| 22:49 | mist_backoff_s | initial 600 |
| 22:49 | mist_max_closed_vent_s | initial 120 |
| 22:49 | mist_thermal_relief_s | initial 90 |
| 22:49 | mister_all_delay_s | initial 70.5 |
| 22:49 | mister_engage_delay_s | initial 35.25 |
| 22:49 | mister_water_budget_gal | initial 160 |
| 22:49 | outdoor_staleness_max_s | initial 600 |
| 22:49 | sw_dwell_gate_enabled | initial 1 |
| 22:49 | sw_fog_closes_vent | initial 1 |
| 22:49 | sw_mister_closes_vent | initial 0 |
| 22:49 | sw_summer_vent_enabled | initial 1 |
| 22:49 | temp_hysteresis | initial 1.51 |
| 22:49 | vent_prefer_dp_delta_f | initial 4 |
| 22:49 | vent_prefer_temp_delta_f | initial 3 |
| 22:49 | vpd_watch_dwell_s | initial 48.75 |
| 23:30 | dwell_gate_ms | 195000 → 210000 |
| 23:30 | min_fog_off_s | 60 → 72 |
| 23:30 | min_fog_on_s | 63.75 → 59.25 |
| 23:30 | mister_all_delay_s | 70.5 → 75 |
| 23:30 | mister_engage_delay_s | 35.25 → 37.5 |
| 23:30 | temp_hysteresis | 1.51 → 1.6 |
| 23:30 | vpd_watch_dwell_s | 48.75 → 52.5 |
| 08:00 | dwell_gate_ms | 210000 → 195000 |
| 08:00 | min_fog_off_s | 72 → 66 |
| 08:00 | min_fog_on_s | 59.25 → 61.5 |
| 08:00 | mister_all_delay_s | 75 → 70.5 |
| 08:00 | mister_engage_delay_s | 37.5 → 35.25 |
| 08:00 | mister_water_budget_gal | 160 → 180 |
| 08:00 | temp_hysteresis | 1.6 → 1.51 |
| 08:00 | vpd_watch_dwell_s | 52.5 → 48.75 |
End-of-Day Summary
Climate
63.3–85.6°F; avg 70.6°F
0.45–1.77 kPa; avg 0.88 kPa
43.3–82.4%
Stress Hours
- Heat stress (>85°F): 9.5h
- VPD stress (>2.0 kPa): 8.3h
- Cold stress (<55°F): 0.0h
Economics
USD 3.22
USD 0.00
USD 0.790
USD 4.01
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 567 min | Primary exhaust runtime. |
| Fan 2 | 568 min | Secondary exhaust runtime. |
| Vent | 699 min | Intake vent runtime. |
| Fog | 134 min | Fogger runtime. |
| Heat 1 electric | 493 min | Electric heater runtime. |
| Heat 2 gas | 0 min | Gas heater runtime. |
| Grow lights | 986 min | Supplemental lighting runtime. |
| Mister south | 0.42h | South mister runtime. |
| Mister west | 0.04h | West mister runtime. |
| Mister center | 2.23h | Center mister runtime. |
Water
- Total: 163 gal
- Mister: 66 gal
Crop Health (Gemini Vision)
| Crop | Zone | Health | Observations | Note |
|---|---|---|---|---|
| Canna Lilies | south | 68% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| Vanda Orchids | center | 77% | 6 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| lettuce | east | 78% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| pepper | east | 70% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| strawberry | east | 78% | 4 | 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 as 0.0%.
Hanging basket visible, difficult to assess detailed health in IR view.
Seedlings appear healthy and are establishing well.
Seedlings are growing, but some variation in size is visible.
Seedlings are growing well with no visible issues.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 77.7°F | 1.12 kPa | 67.2% |
| 13:00 | 78.4°F | 1.29 kPa | 62.8% |
| 14:00 | 79.7°F | 1.34 kPa | 62.8% |
| 15:00 | 78.9°F | 1.26 kPa | 64.2% |
| 16:00 | 75.9°F | 1.15 kPa | 63.1% |
| 17:00 | 74.7°F | 1.15 kPa | 62.1% |
| 18:00 | 72.2°F | 0.99 kPa | 64.8% |
| 19:00 | 69.3°F | 0.86 kPa | 67.1% |
| 20:00 | 67.3°F | 0.93 kPa | 62.0% |
| 21:00 | 66.9°F | 0.84 kPa | 65.0% |
| 22:00 | 64.1°F | 0.86 kPa | 59.0% |
| 23:00 | 64.0°F | 0.63 kPa | 69.4% |
| 00:00 | 64.0°F | 0.52 kPa | 74.7% |
| 01:00 | 63.9°F | 0.50 kPa | 75.7% |
| 02:00 | 63.9°F | 0.48 kPa | 76.5% |
| 03:00 | 63.8°F | 0.46 kPa | 77.4% |
| 04:00 | 63.6°F | 0.46 kPa | 77.0% |
| 05:00 | 63.4°F | 0.46 kPa | 77.2% |
| 06:00 | 65.3°F | 0.55 kPa | 74.6% |
| 07:00 | 68.4°F | 0.66 kPa | 72.5% |
| 08:00 | 71.0°F | 0.77 kPa | 70.7% |
| 09:00 | 73.7°F | 0.88 kPa | 69.4% |
| 10:00 | 76.5°F | 0.94 kPa | 70.4% |
| 11:00 | 76.8°F | 1.07 kPa | 67.6% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-05-18 | 0.5h | 0.0h | 2.1h |
| 2026-05-19 | 0.4h | 0.1h | 2.0h |
| 2026-05-20 | 1.9h | 0.6h | 1.2h |
| 2026-05-21 | 2.7h | 2.1h | 1.0h |
| 2026-05-22 | 4.3h | 3.7h | 1.1h |
| 2026-05-23 | 8.9h | 6.4h | 0.8h |
| 2026-05-24 | 9.5h | 8.3h | 0.0h |