April 28, 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.
30
2
17
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| Midnight Posture | 00:00 | TRANSITION | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 00:01 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 01:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 02:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 03:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 04:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 05:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| Pre Dawn | 05:04 | TRANSITION | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 06:02 | FORECAST | delivery_failed | Delivery recorded without a public plan write. |
| Morning planning cycle | 06:04 | SUNRISE | delivery_failed | Delivery recorded without a public plan write. |
| New forecast data | 07:02 | FORECAST | acked | Acknowledged: Forecast update matches the active plan: cool/cloudy humid morning, modest dry window 16:00-19:00 with outdoor VPD ~1.6 kPa, then cool/humid overnight. Existing 09:30 and 15:00 waypoints already suppress mist/fog during the humid morning and shift to moderate dry-window mist readiness in the afternoon. No temperature, cloud, wind, or humidity shift large enough to justify replacing the plan. Resolved 07:03 MDT. |
| Morning planning cycle (catch-up after planner gateway outage) | 07:33 | SUNRISE | plan_written | Wrote public plan iris-20260428-0735. Resolved 07:35 MDT. |
| New forecast data | 08:43 | FORECAST | acked | Acknowledged: Forecast update matches the active split-pattern plan: cool/high-RH morning followed by short late-afternoon dry slot. Existing 12:30/15:30/19:30 waypoints already suppress mist/fog while damp, enable dwell gate, then lower mist/fog thresholds for the dry window; no tunable change needed. Resolved 08:44 MDT. |
| New forecast data | 09:44 | FORECAST | acked | Acknowledged: Forecast update matches the active split-pattern plan: peak temp remains ~62F, late-afternoon RH minimum remains 13-14%, solar peak is only modestly higher (~785 W/m2 vs planned ~761), and the 15:30 dry-window waypoint already lowers mist/fog thresholds. No tunable or plan change needed. Resolved 09:45 MDT. |
| New forecast data | 10:44 | FORECAST | acked | Acknowledged: Forecast update matches current split-pattern plan closely: peak temp 63F vs planned 62F, RH minimum 14% vs planned 13%, and the late-afternoon dry window remains 16:00-19:00. Solar is somewhat spikier around 13:00-14:00 but still covered by the existing 12:30/15:30 waypoints and dry-window mist/fog posture. No tunable changes needed. Resolved 10:44 MDT. |
| New forecast data | 11:44 | FORECAST | acked | Acknowledged: Forecast update matches the active split-pattern plan: peak outdoor temp ~63F vs planned 62F, late-afternoon dry window remains RH 14-18% with moderate solar, and current greenhouse conditions are stable with safe dew-point margin. No tunable changes needed. Resolved 11:44 MDT. |
| New forecast data | 12:44 | FORECAST | acked | Acknowledged: Forecast update matches the active split-pattern plan: cool/cloudy early afternoon followed by the expected 16:00-19:00 dry window (RH ~14-18%, outdoor VPD ~1.55-1.61). Current greenhouse VPD is in band with safe dew-point margin, and the 15:30 waypoint already lowers mist/fog thresholds for the dry slot. No tunable change needed. Resolved 12:45 MDT. |
| New forecast data | 13:43 | FORECAST | acked | Acknowledged: Forecast update matches the active split-pattern plan: short 16:00-19:00 dry window is already covered by the 15:30 dry-window waypoint, and overnight high-RH/cool conditions are covered by the evening/morning recovery waypoints. No significant >5F temperature, cloud-regime, wind, or humidity shift requiring setpoint changes. Resolved 13:44 MDT. |
| New forecast data | 14:43 | FORECAST | acked | Acknowledged: Forecast update checked against active plan iris-20260428-0735 and current setpoints. Near-term temperature remains within the planned cool/dry split pattern (peak ~61F vs 62F planned), humidity dry window is milder than planned rather than worse (RH ~19% vs 13-16% expected), and solar is moderate this afternoon. Existing 15:30 dry-window waypoint and tomorrow midday posture remain appropriate; no tunable change needed. Resolved 14:44 MDT. |
| Peak Stress | 14:58 | TRANSITION | acked | Acknowledged: Peak-stress transition checked: greenhouse is stable and in/near band (76.9F, VPD 0.92 kPa, RH 71%, dew point margin 10.2F), ESP32 is IDLE with all cooling/fog/misters off, and the 14:47 deviation plan already replaced the aggressive dry-window posture with moderate cloudy-dry settings. Forecast remains cool with only moderate late-afternoon dry risk, so no additional tunable change is warranted. Resolved 14:59 MDT. |
| Tree Shade | 16:59 | TRANSITION | timed_out | Delivery recorded without a public plan write. |
| New forecast data | 18:35 | FORECAST | acked | Acknowledged: Forecast update reviewed: next 24h remains within current plan posture. Tonight turns cold/cloudy/humid after a dry sunset; tomorrow is mostly cool/overcast with only a brief midday dry/solar window, already covered by the current moderate/suppressed mist thresholds and conservative fog posture. Current greenhouse is stable in IDLE at ~69F, VPD 0.70 kPa, dp margin ~10F. No tunable changes needed. Resolved 18:36 MDT. |
| Decline | 18:53 | TRANSITION | acked | Acknowledged: Decline transition checked: greenhouse is stable in IDLE at 69.5F / 0.63 kPa VPD with all cooling, fog, heat, and misters off; dew point margin is safe at 8.5F. Active plan already shifts to evening posture at 19:30 with higher mist/fog thresholds and mild heat bias, so no tunable change is needed. Resolved 18:54 MDT. |
| New forecast data | 19:34 | FORECAST | acked | Acknowledged: Forecast update reviewed: next 24h remains aligned with current plan — cold/overcast overnight into Wednesday, brief midday dry/solar window peaking near 61F, RH ~28%, solar ~778 W/m2, then cloudy/cool evening. Existing plan already uses conservative evening/overnight posture and moderate Wednesday daytime mist/fog thresholds; no >5F or cloud-regime shift requiring a tunable change. Resolved 19:35 MDT. |
| Evening planning cycle | 19:53 | SUNSET | plan_written | Wrote public plan iris-20260428-1953. Resolved 19:54 MDT. |
| New forecast data | 20:34 | FORECAST | acked | Acknowledged: Forecast update matches the active sunset plan: overnight low remains near 35°F with high cloud/RH, and Wednesday midday remains only a moderate cool-dry window around 60-61°F with brief solar. Existing anti-oscillation + mist-suppression posture and noon moderate dry-window waypoint are still appropriate; no tunable changes needed. Resolved 20:35 MDT. |
| Evening Settle | 20:53 | TRANSITION | acked | Acknowledged: Evening settle check: current conditions are stable near band (63.3F, VPD 0.44 kPa, dew-point margin 6.9F). Heat1 is already maintaining the cool evening band, vent/fog/misters are off, and the active sunset plan has upcoming frost-adjacent overnight waypoints with bias_heat/bias_cool posture for anti-oscillation. No tunable change needed. Resolved 20:55 MDT. |
| New forecast data | 21:34 | FORECAST | acked | Acknowledged: Forecast update matches the active sunset plan: overnight remains cold/high-RH, Wednesday has only a brief moderate dry/solar window around early afternoon, and current waypoints already suppress overnight mist/fog while easing into moderate midday readiness. No tunable or plan change needed. Resolved 21:35 MDT. |
| New forecast data | 22:35 | FORECAST | acked | Acknowledged: Forecast update matches the active sunset plan: frost-adjacent low near 35F, high cloud cover/low solar overnight into morning, and only a modest midday dry window. Current plan already keeps mist/fog suppressed overnight, carries warmer pre-dawn bias, delays cooling to reduce heater/vent oscillation, and relaxes to a moderate midday posture. No tunable change needed. Resolved 22:35 MDT. |
| New forecast data | 23:35 | FORECAST | acked | Acknowledged: Forecast update reviewed at 23:35 MDT. New 24h forecast matches the active sunset plan posture: frost-adjacent pre-dawn low near 35F, overcast/high-RH morning, and only a moderate midday dry window around 57-61F with VPD ~1.3 kPa. Current waypoints already suppress mist/fog overnight, preserve heat anti-oscillation bias, and ease into moderate daytime mist readiness. No significant temp/cloud/humidity shift requiring a tunable or plan change. Resolved 23:36 MDT. |
🌅 Morning Cycle (7:35 AM) — iris-20260428-0735
validated
3/10
none recorded
Reflection
Validating previous cycle: iris-20260427-1952
Previous hypothesis: SUNSET overnight plan: tonight’s main challenge is not dry-air stress; it is a cold, saturated outside air mass (41-46°F, 79-93% RH) plus crop-profile scoring pressure. I expect the greenhouse slab to hold the room near 61-64°F while heaters handle brief dips. The plan suppresses mist/fog overnight, widens humidity hysteresis, keeps sealed-mist windows short, and uses bias_cool +4 with bias_heat +1 to +1.5 to prevent heater→vent oscillation while protecting dew point margin. Tomorrow afternoon has a modest dry window, so the plan becomes moderately more permissive on misting after 15:00 without using the hot-dry aggressive posture. Expected outcome: overnight dp_margin stays >=5°F with 0 dp-risk hours, VPD-low stress improves vs today’s 2.2h, and gas cost stays below the 7-day average therm burn while avoiding unnecessary continuous heating. Result: [backfill] avg compliance 52.4% (stress 14.8 h) over plan window 2026-04-28 13:35 → 2026-04-29 01:54 Score: 3/10
Hypothesis
Testing: Enable Phase-2 dwell gate for the first split high-RH/dry-window day and test balanced dehumidification + short dry-window mist readiness against VPD-low and transition churn. Expected outcome: For Apr 28: VPD-low <8h, VPD-high <2.5h, dp_risk_hours 0, cost <USD 7.50, and heat/vent transition counts lower than Apr 27’s ~100+ churn.
Conditions
62.0°F
13.0%
761.0 W/m²
58.0%
Cool cloudy morning, then late-afternoon dry slot with outdoor RH 13-16% and solar 321-678 W/m2; current greenhouse 64F / 0.52 kPa / dp margin 8F. Yesterday VPD-low dominated after mist/fog suppression.
Expected stress windows
suppress mist/fog, hold stable vent/dehum cycles with dwell gate enabled, avoid extra heat bias
mister_engage_kpa 1.3, mister_all_kpa 1.8, gap 25s, fog_escalation_kpa 0.35 during dry slot
Parameter rationale
reduce relay/mode churn while preserving THERMAL_RELIEF and safety preemption
hold VPD-high stress under 2.5h during the short dry window
use short fog assist only if misters lag, without morning fog overshoot
improve VPD responsiveness and reduce VPD-low hours below 8h while keeping dp_risk_hours at 0
Setpoints
Tuesday April 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:40 | hyst 0.35 | Cold/high-RH morning: suppress mist/fog, enable dwell gate t |
| 12:30 | hyst 0.35 | Midday cloud/solar mix: begin relaxing mist suppression but |
| 15:30 | hyst 0.3 | Late dry slot: outdoor RH falls to 13-16%; bring misters and |
| 19:30 | hyst 0.45 | Evening: dry air fades, fog window closes, return to anti-os |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:40 | d_cool 3; engage 2.4; all 2.8; pulse 45; gap 60; wt 2 | Cold/high-RH morning: suppress mist/fog, enable dwell gate t |
| 12:30 | d_cool 3; engage 2; all 2.4; pulse 45; gap 45; wt 2.2 | Midday cloud/solar mix: begin relaxing mist suppression but |
| 15:30 | d_cool 3; engage 1.3; all 1.8; pulse 60; gap 25; wt 2.7 | Late dry slot: outdoor RH falls to 13-16%; bring misters and |
| 19:30 | d_cool 3; engage 2.3; all 2.7; pulse 45; gap 60; wt 1.8 | Evening: dry air fades, fog window closes, return to anti-os |
Wednesday April 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | hyst 0.35 | Wednesday morning starts colder but dries quickly; balanced |
| 13:00 | hyst 0.3 | Wednesday dry peak: outdoor VPD 1.3-1.6 with solar up to 857 |
| 20:00 | hyst 0.45 | Rain/high cloud probability rises Wednesday night; suppress |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | d_cool 3; engage 1.8; all 2.2; pulse 50; gap 40; wt 2.2 | Wednesday morning starts colder but dries quickly; balanced |
| 13:00 | d_cool 3; engage 1.3; all 1.8; pulse 60; gap 25; wt 2.7 | Wednesday dry peak: outdoor VPD 1.3-1.6 with solar up to 857 |
| 20:00 | d_cool 3; engage 2.4; all 2.8; pulse 45; gap 60; wt 1.8 | Rain/high cloud probability rises Wednesday night; suppress |
Thursday April 30
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | hyst 0.5 | Thursday looks cool/wet with precipitation risk; high mist/f |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | d_cool 3; engage 2.5; all 2.9; pulse 45; gap 60; wt 1.5 | Thursday looks cool/wet with precipitation risk; high mist/f |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 07:40 | bias_cool | initial 2 |
| 07:40 | bias_heat | initial 0 |
| 07:40 | d_heat_stage_2 | initial 4 |
| 07:40 | dwell_gate_ms | initial 300000 |
| 07:40 | enthalpy_close | initial 1 |
| 07:40 | enthalpy_open | initial -2 |
| 07:40 | fog_escalation_kpa | initial 0.9 |
| 07:40 | heat_hysteresis | initial 1 |
| 07:40 | min_fog_off_s | initial 120 |
| 07:40 | min_fog_on_s | initial 45 |
| 07:40 | min_heat_off_s | initial 300 |
| 07:40 | min_heat_on_s | initial 180 |
| 07:40 | min_vent_off_s | initial 120 |
| 07:40 | min_vent_on_s | initial 180 |
| 07:40 | mist_backoff_s | initial 600 |
| 07:40 | mist_max_closed_vent_s | initial 120 |
| 07:40 | mist_thermal_relief_s | initial 90 |
| 07:40 | mist_vent_close_lead_s | initial 15 |
| 07:40 | mist_vent_reopen_delay_s | initial 15 |
| 07:40 | mister_all_delay_s | initial 180 |
| 07:40 | mister_engage_delay_s | initial 60 |
| 07:40 | mister_water_budget_gal | initial 500 |
| 07:40 | sw_dwell_gate_enabled | initial 1 |
| 07:40 | sw_fsm_controller_enabled | initial 1 |
| 07:40 | sw_summer_vent_enabled | initial 1 |
| 07:40 | temp_hysteresis | initial 1.5 |
| 07:40 | vent_prefer_dp_delta_f | initial 5 |
| 07:40 | vent_prefer_temp_delta_f | initial 5 |
| 07:40 | vpd_watch_dwell_s | initial 120 |
| 12:30 | bias_cool | 2 → 1.5 |
| 12:30 | fog_escalation_kpa | 0.9 → 0.75 |
| 12:30 | mist_max_closed_vent_s | 120 → 150 |
| 12:30 | mister_all_delay_s | 180 → 120 |
| 12:30 | mister_engage_delay_s | 60 → 30 |
| 12:30 | temp_hysteresis | 1.5 → 1.3 |
| 12:30 | vpd_watch_dwell_s | 120 → 90 |
| 15:30 | bias_cool | 1.5 → 1 |
| 15:30 | fog_escalation_kpa | 0.75 → 0.35 |
| 15:30 | min_fog_off_s | 120 → 75 |
| 15:30 | min_vent_off_s | 120 → 90 |
| 15:30 | min_vent_on_s | 180 → 150 |
| 15:30 | mist_max_closed_vent_s | 150 → 180 |
| 15:30 | mist_vent_reopen_delay_s | 15 → 20 |
| 15:30 | mister_all_delay_s | 120 → 60 |
| 15:30 | mister_engage_delay_s | 30 → 0 |
| 15:30 | temp_hysteresis | 1.3 → 1.2 |
| 15:30 | vpd_watch_dwell_s | 90 → 45 |
| 19:30 | bias_cool | 1 → 3 |
| 19:30 | bias_heat | 0 → 0.5 |
| 19:30 | fog_escalation_kpa | 0.35 → 0.9 |
| 19:30 | heat_hysteresis | 1 → 1.2 |
| 19:30 | min_fog_off_s | 75 → 180 |
| 19:30 | min_heat_off_s | 300 → 360 |
| 19:30 | min_vent_off_s | 90 → 180 |
| 19:30 | min_vent_on_s | 150 → 180 |
| 19:30 | mist_backoff_s | 600 → 900 |
| 19:30 | mist_max_closed_vent_s | 180 → 120 |
| 19:30 | mist_vent_reopen_delay_s | 20 → 15 |
| 19:30 | mister_all_delay_s | 60 → 180 |
| 19:30 | mister_engage_delay_s | 0 → 60 |
| 19:30 | temp_hysteresis | 1.2 → 1.5 |
| 19:30 | vpd_watch_dwell_s | 45 → 120 |
| 07:00 | bias_cool | 3 → 1.5 |
| 07:00 | bias_heat | 0.5 → 0 |
| 07:00 | fog_escalation_kpa | 0.9 → 0.6 |
| 07:00 | heat_hysteresis | 1.2 → 1 |
| 07:00 | min_fog_off_s | 180 → 120 |
| 07:00 | min_heat_off_s | 360 → 300 |
| 07:00 | min_vent_off_s | 180 → 120 |
| 07:00 | mist_backoff_s | 900 → 600 |
| 07:00 | mist_max_closed_vent_s | 120 → 150 |
| 07:00 | mist_vent_reopen_delay_s | 15 → 20 |
| 07:00 | mister_all_delay_s | 180 → 120 |
| 07:00 | mister_engage_delay_s | 60 → 30 |
| 07:00 | temp_hysteresis | 1.5 → 1.4 |
| 07:00 | vpd_watch_dwell_s | 120 → 75 |
| 13:00 | bias_cool | 1.5 → 1 |
| 13:00 | fog_escalation_kpa | 0.6 → 0.4 |
| 13:00 | min_fog_off_s | 120 → 75 |
| 13:00 | min_vent_off_s | 120 → 90 |
| 13:00 | min_vent_on_s | 180 → 150 |
| 13:00 | mist_max_closed_vent_s | 150 → 180 |
| 13:00 | mister_all_delay_s | 120 → 60 |
| 13:00 | mister_engage_delay_s | 30 → 0 |
| 13:00 | temp_hysteresis | 1.4 → 1.2 |
| 13:00 | vpd_watch_dwell_s | 75 → 45 |
| 20:00 | bias_cool | 1 → 3 |
| 20:00 | bias_heat | 0 → 0.5 |
| 20:00 | fog_escalation_kpa | 0.4 → 0.9 |
| 20:00 | heat_hysteresis | 1 → 1.2 |
| 20:00 | min_fog_off_s | 75 → 180 |
| 20:00 | min_heat_off_s | 300 → 360 |
| 20:00 | min_vent_off_s | 90 → 180 |
| 20:00 | min_vent_on_s | 150 → 180 |
| 20:00 | mist_backoff_s | 600 → 900 |
| 20:00 | mist_max_closed_vent_s | 180 → 120 |
| 20:00 | mist_vent_reopen_delay_s | 20 → 15 |
| 20:00 | mister_all_delay_s | 60 → 180 |
| 20:00 | mister_engage_delay_s | 0 → 60 |
| 20:00 | temp_hysteresis | 1.2 → 1.5 |
| 20:00 | vpd_watch_dwell_s | 45 → 120 |
| 07:00 | bias_heat | 0.5 → 0 |
| 07:00 | fog_escalation_kpa | 0.9 → 1 |
| 07:00 | min_fog_off_s | 180 → 240 |
| 07:00 | mist_backoff_s | 900 → 1200 |
| 07:00 | mister_all_delay_s | 180 → 240 |
| 07:00 | mister_engage_delay_s | 60 → 90 |
☀️ Midday Cycle (2:48 PM) — iris-20260428-1447
validated
6/10
none recorded
Reflection
Validating previous cycle: iris-20260428-0735
Previous hypothesis: Today is a split-pattern day: cold/high-RH morning with VPD-low risk, then a short late-afternoon dry window (outdoor RH 13-16%, VPD ~1.6 kPa) under moderate solar. Yesterday proved mist suppression alone is too blunt, so today’s posture keeps mist/fog suppressed while damp, turns on the dwell gate to reduce vent/heat whipsaw, then lowers mist/fog thresholds only for the 15:30-19:30 dry window. Expect VPD-low to improve materially without recreating condensation risk. Result: Yesterday finished at planner_score 54.6 with 52.9% both-axis compliance. Temp compliance was the lower individual axis (64.4% vs VPD 75.6%), but measured stress was dominated by VPD-low overshoot: 4.63h VPD-low, 0.03h VPD-high, 0h heat/cold stress. Cost was USD 5.76, below the 7-day avg USD 6.65; water was 85 gal vs 216 gal 7-day avg, therms 3.01 vs 4.12 avg, kWh 25.72 vs 19.6 avg. The late-day cloudy-dry deviation avoided severe high-VPD/heat stress, but the posture remained too humid for too long and did not solve both-axis compliance. Score: 6/10
New finding: On cool/cloudy spring days, the main humidity risk can flip from VPD-high to VPD-low. When forecast solar is mixed and outdoor temps stay near 60F, avoid aggressive fog/mist posture after the dry window; keep fog_escalation_kpa wide and mister gaps longer unless observed VPD is actually rising above band. → Added to Lessons Learned
Hypothesis
Testing: Deviation response: replace aggressive dry-window waypoint with moderate cloudy-dry posture after solar forecast bust. Expected outcome: Avoid new VPD-low/dew-point risk this afternoon while keeping VPD-high stress under 1h through sunset.
Setpoints
Tuesday April 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 14:55 | hyst 0.4 | Cloud deck cut solar by ~650 W/m²; current VPD is in band/lo |
| 19:30 | hyst 0.5 | Evening/night: suppress mist/fog as temperature falls and VP |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 14:55 | d_cool 3; engage 1.8; all 2.2; pulse 45; gap 40; wt 2.2 | Cloud deck cut solar by ~650 W/m²; current VPD is in band/lo |
| 19:30 | d_cool 3; engage 2.3; all 2.7; pulse 45; gap 60; wt 1.8 | Evening/night: suppress mist/fog as temperature falls and VP |
Wednesday April 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | hyst 0.4 | Wednesday remains cool with a brief dry/solar window; modera |
| 20:00 | hyst 0.5 | High cloud/RH and overnight cooling; prioritize avoiding VPD |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | d_cool 3; engage 1.8; all 2.2; pulse 45; gap 40; wt 2.2 | Wednesday remains cool with a brief dry/solar window; modera |
| 20:00 | d_cool 3; engage 2.4; all 2.8; pulse 45; gap 60; wt 1.8 | High cloud/RH and overnight cooling; prioritize avoiding VPD |
Thursday April 30
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | hyst 0.5 | Thursday forecast is cool/wet/cloudy; keep humidity addition |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | d_cool 3; engage 2.5; all 2.9; pulse 45; gap 60; wt 1.5 | Thursday forecast is cool/wet/cloudy; keep humidity addition |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 14:55 | bias_cool | initial 1.5 |
| 14:55 | bias_heat | initial 0 |
| 14:55 | d_heat_stage_2 | initial 4 |
| 14:55 | dwell_gate_ms | initial 300000 |
| 14:55 | enthalpy_close | initial 1 |
| 14:55 | enthalpy_open | initial -2 |
| 14:55 | fog_escalation_kpa | initial 0.7 |
| 14:55 | heat_hysteresis | initial 1 |
| 14:55 | min_fog_off_s | initial 120 |
| 14:55 | min_fog_on_s | initial 45 |
| 14:55 | min_heat_off_s | initial 300 |
| 14:55 | min_heat_on_s | initial 180 |
| 14:55 | min_vent_off_s | initial 120 |
| 14:55 | min_vent_on_s | initial 180 |
| 14:55 | mist_backoff_s | initial 600 |
| 14:55 | mist_max_closed_vent_s | initial 150 |
| 14:55 | mist_thermal_relief_s | initial 90 |
| 14:55 | mist_vent_close_lead_s | initial 15 |
| 14:55 | mist_vent_reopen_delay_s | initial 15 |
| 14:55 | mister_all_delay_s | initial 120 |
| 14:55 | mister_engage_delay_s | initial 30 |
| 14:55 | mister_water_budget_gal | initial 500 |
| 14:55 | sw_dwell_gate_enabled | initial 1 |
| 14:55 | sw_fsm_controller_enabled | initial 1 |
| 14:55 | sw_summer_vent_enabled | initial 1 |
| 14:55 | temp_hysteresis | initial 1.3 |
| 14:55 | vent_prefer_dp_delta_f | initial 5 |
| 14:55 | vent_prefer_temp_delta_f | initial 5 |
| 14:55 | vpd_watch_dwell_s | initial 90 |
| 19:30 | bias_cool | 1.5 → 3 |
| 19:30 | bias_heat | 0 → 0.5 |
| 19:30 | fog_escalation_kpa | 0.7 → 0.9 |
| 19:30 | mist_max_closed_vent_s | 150 → 120 |
| 19:30 | mister_all_delay_s | 120 → 180 |
| 19:30 | mister_engage_delay_s | 30 → 60 |
| 19:30 | temp_hysteresis | 1.3 → 1.5 |
| 07:00 | bias_cool | 3 → 1.5 |
| 07:00 | bias_heat | 0.5 → 0 |
| 07:00 | fog_escalation_kpa | 0.9 → 0.65 |
| 07:00 | mist_max_closed_vent_s | 120 → 150 |
| 07:00 | mister_all_delay_s | 180 → 120 |
| 07:00 | mister_engage_delay_s | 60 → 30 |
| 07:00 | temp_hysteresis | 1.5 → 1.3 |
| 20:00 | bias_cool | 1.5 → 3 |
| 20:00 | bias_heat | 0 → 0.5 |
| 20:00 | fog_escalation_kpa | 0.65 → 0.9 |
| 20:00 | mist_max_closed_vent_s | 150 → 120 |
| 20:00 | mister_all_delay_s | 120 → 180 |
| 20:00 | mister_engage_delay_s | 30 → 60 |
| 20:00 | temp_hysteresis | 1.3 → 1.5 |
| 07:00 | bias_heat | 0.5 → 0 |
| 07:00 | fog_escalation_kpa | 0.9 → 1 |
🌆 Evening Cycle (7:54 PM) — iris-20260428-1953
validated
4/10
none recorded
Reflection
Validating previous cycle: iris-20260428-0735
Result: [backfill] compliance unavailable over plan window 2026-04-29 01:54 → 2026-04-29 12:04 Score: 4/10
Hypothesis
Testing: Overnight anti-oscillation posture: bias_cool +4 with modest bias_heat +2 at pre-dawn to reduce cold stress without provoking vent dumps. Expected outcome: By Wednesday morning: cold stress <3h, heat stress <1h overnight, dp_risk_hours 0, cost_total tracking below USD 6.50, and no sustained VPD-high episode before noon.
Setpoints
Tuesday April 28
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:00 | hyst 0.5 | evening settle: safe dew-point margin, outdoor temp falling; |
| 23:30 | hyst 0.55 | midnight posture: forecast RH rises and outdoor VPD falls; p |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:00 | d_cool 3; engage 2.4; all 2.8; pulse 45; gap 60; wt 1.8 | evening settle: safe dew-point margin, outdoor temp falling; |
| 23:30 | d_cool 3; engage 2.5; all 2.9; pulse 45; gap 60; wt 1.6 | midnight posture: forecast RH rises and outdoor VPD falls; p |
Wednesday April 29
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | hyst 0.55 | pre-dawn frost risk: outdoor 35-39F, use modest warmer bias |
| 07:00 | hyst 0.5 | morning recovery: maintain anti-oscillation bias while avoid |
| 12:00 | hyst 0.45 | tomorrow midday: moderate dry-window readiness for 61F/28% R |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 03:30 | d_cool 3; engage 2.5; all 2.9; pulse 45; gap 60; wt 1.5 | pre-dawn frost risk: outdoor 35-39F, use modest warmer bias |
| 07:00 | d_cool 3; engage 2.3; all 2.7; pulse 45; gap 55; wt 1.8 | morning recovery: maintain anti-oscillation bias while avoid |
| 12:00 | d_cool 3; engage 1.8; all 2.3; pulse 50; gap 40; wt 2 | tomorrow midday: moderate dry-window readiness for 61F/28% R |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:00 | bias_cool | initial 3.5 |
| 20:00 | bias_heat | initial 1 |
| 20:00 | d_heat_stage_2 | initial 4 |
| 20:00 | dwell_gate_ms | initial 300000 |
| 20:00 | enthalpy_close | initial 1 |
| 20:00 | enthalpy_open | initial -2 |
| 20:00 | fog_escalation_kpa | initial 1 |
| 20:00 | heat_hysteresis | initial 1.5 |
| 20:00 | min_fog_off_s | initial 180 |
| 20:00 | min_fog_on_s | initial 45 |
| 20:00 | min_heat_off_s | initial 300 |
| 20:00 | min_heat_on_s | initial 180 |
| 20:00 | min_vent_off_s | initial 120 |
| 20:00 | min_vent_on_s | initial 180 |
| 20:00 | mist_backoff_s | initial 600 |
| 20:00 | mist_max_closed_vent_s | initial 120 |
| 20:00 | mist_thermal_relief_s | initial 90 |
| 20:00 | mist_vent_close_lead_s | initial 15 |
| 20:00 | mist_vent_reopen_delay_s | initial 15 |
| 20:00 | mister_all_delay_s | initial 180 |
| 20:00 | mister_engage_delay_s | initial 60 |
| 20:00 | mister_water_budget_gal | initial 500 |
| 20:00 | sw_dwell_gate_enabled | initial 1 |
| 20:00 | sw_fsm_controller_enabled | initial 1 |
| 20:00 | sw_summer_vent_enabled | initial 1 |
| 20:00 | temp_hysteresis | initial 2 |
| 20:00 | vent_prefer_dp_delta_f | initial 5 |
| 20:00 | vent_prefer_temp_delta_f | initial 5 |
| 20:00 | vpd_watch_dwell_s | initial 90 |
| 23:30 | bias_cool | 3.5 → 4 |
| 23:30 | bias_heat | 1 → 1.5 |
| 23:30 | min_fog_off_s | 180 → 240 |
| 23:30 | min_vent_off_s | 120 → 180 |
| 23:30 | mist_backoff_s | 600 → 900 |
| 23:30 | mister_all_delay_s | 180 → 240 |
| 03:30 | bias_heat | 1.5 → 2 |
| 03:30 | d_heat_stage_2 | 4 → 3.5 |
| 03:30 | min_heat_on_s | 180 → 240 |
| 07:00 | bias_cool | 4 → 3.5 |
| 07:00 | bias_heat | 2 → 1 |
| 07:00 | d_heat_stage_2 | 3.5 → 4 |
| 07:00 | fog_escalation_kpa | 1 → 0.9 |
| 07:00 | heat_hysteresis | 1.5 → 1.25 |
| 07:00 | min_fog_off_s | 240 → 180 |
| 07:00 | min_heat_on_s | 240 → 180 |
| 07:00 | min_vent_off_s | 180 → 120 |
| 07:00 | mist_backoff_s | 900 → 600 |
| 07:00 | mister_all_delay_s | 240 → 180 |
| 07:00 | temp_hysteresis | 2 → 1.8 |
| 12:00 | bias_cool | 3.5 → 2.5 |
| 12:00 | bias_heat | 1 → 0 |
| 12:00 | fog_escalation_kpa | 0.9 → 0.65 |
| 12:00 | heat_hysteresis | 1.25 → 1 |
| 12:00 | min_fog_off_s | 180 → 150 |
| 12:00 | mist_max_closed_vent_s | 120 → 150 |
| 12:00 | mister_all_delay_s | 180 → 120 |
| 12:00 | mister_engage_delay_s | 60 → 45 |
| 12:00 | temp_hysteresis | 1.8 → 1.5 |
| 12:00 | vpd_watch_dwell_s | 90 → 75 |
End-of-Day Summary
Climate
59.0–83.8°F; avg 68.3°F
0.34–2.07 kPa; avg 0.75 kPa
44.0–81.8%
Stress Hours
- Heat stress (>85°F): 3.6h
- VPD stress (>2.0 kPa): 4.5h
- Cold stress (<55°F): 5.4h
Economics
USD 2.85
USD 2.54
USD 0.820
USD 6.21
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 86 min | Primary exhaust runtime. |
| Fan 2 | 101 min | Secondary exhaust runtime. |
| Vent | 167 min | Intake vent runtime. |
| Fog | 0 min | Fogger runtime. |
| Heat 1 electric | 1018 min | Electric heater runtime. |
| Heat 2 gas | 245 min | Gas heater runtime. |
| Grow lights | 0 min | Supplemental lighting runtime. |
| Mister south | 0.45h | South mister runtime. |
| Mister west | 0.39h | West mister runtime. |
| Mister center | 1.26h | Center mister runtime. |
Water
- Total: 170 gal
- Mister: 40 gal
Crop Health (Gemini Vision)
| Crop | Zone | Health | Observations | Note |
|---|---|---|---|---|
| Canna Lilies | south | 80% | 1 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| Vanda Orchids | center | 70% | 1 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation notes
Foliage looks robust and green, no visible signs of stress.
Hanging roots appear healthy, foliage is green.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 68.8°F | 1.34 kPa | 44.5% |
| 13:00 | 73.1°F | 1.04 kPa | 63.0% |
| 14:00 | 79.1°F | 1.99 kPa | 43.1% |
| 15:00 | 75.8°F | 1.20 kPa | 61.3% |
| 16:00 | 72.1°F | 0.79 kPa | 70.7% |
| 17:00 | 69.7°F | 0.65 kPa | 73.9% |
| 18:00 | 64.5°F | 0.46 kPa | 78.1% |
| 19:00 | 62.3°F | 0.36 kPa | 81.5% |
| 20:00 | 60.5°F | 0.35 kPa | 80.7% |
| 21:00 | 59.6°F | 0.32 kPa | 81.8% |
| 22:00 | 61.9°F | 0.39 kPa | 79.7% |
| 23:00 | 60.7°F | 0.38 kPa | 79.2% |
| 00:00 | 61.7°F | 0.44 kPa | 76.9% |
| 01:00 | 61.8°F | 0.42 kPa | 78.3% |
| 02:00 | 61.9°F | 0.44 kPa | 77.3% |
| 03:00 | 62.5°F | 0.48 kPa | 75.5% |
| 04:00 | 62.4°F | 0.46 kPa | 76.6% |
| 05:00 | 62.4°F | 0.47 kPa | 76.1% |
| 06:00 | 63.5°F | 0.51 kPa | 75.0% |
| 07:00 | 67.2°F | 0.69 kPa | 70.8% |
| 08:00 | 69.6°F | 0.79 kPa | 68.9% |
| 09:00 | 72.7°F | 0.85 kPa | 69.7% |
| 10:00 | 73.9°F | 0.95 kPa | 67.2% |
| 11:00 | 74.8°F | 1.05 kPa | 64.4% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-04-22 | 9.7h | 12.9h | 3.2h |
| 2026-04-23 | 2.0h | 15.5h | 8.5h |
| 2026-04-24 | 6.9h | 22.5h | 10.9h |
| 2026-04-25 | 9.0h | 12.7h | 2.3h |
| 2026-04-26 | 4.3h | 2.9h | 3.6h |
| 2026-04-27 | 1.9h | 4.6h | 15.4h |
| 2026-04-28 | 3.6h | 4.5h | 5.4h |