April 21, 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.
31
4
0
0
| Event | Delivered | Type | Status | Result | Resolved | Note |
|---|---|---|---|---|---|---|
| Midnight Posture | 00:00 | TRANSITION | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 00:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 01:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 02:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 03:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 04:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Pre Dawn | 05:14 | TRANSITION | plan_written | iris-20260421-0614 | 06:21 | Wrote public plan iris-20260421-0614. Resolved 06:21 MDT. |
| New forecast data | 05:20 | FORECAST | plan_written | iris-20260421-0614 | 06:21 | Wrote public plan iris-20260421-0614. Resolved 06:21 MDT. |
| Morning planning cycle | 06:14 | SUNRISE | plan_written | iris-20260421-0614 | 06:21 | Wrote public plan iris-20260421-0614. Resolved 06:21 MDT. |
| New forecast data | 06:19 | FORECAST | plan_written | iris-20260421-0614 | 06:21 | Wrote public plan iris-20260421-0614. Resolved 06:21 MDT. |
| New forecast data | 07:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 08:19 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 09:20 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 10:20 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 11:54 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 12:54 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 13:54 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 14:54 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Peak Stress | 15:00 | TRANSITION | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 15:54 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Tree Shade | 16:59 | TRANSITION | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 17:26 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 18:26 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Decline | 18:45 | TRANSITION | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 19:27 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Evening planning cycle | 19:45 | SUNSET | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 20:26 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| Evening Settle | 20:45 | TRANSITION | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 21:26 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 22:27 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
| New forecast data | 23:27 | FORECAST | timed_out | - | unknown | Delivery recorded without a public plan write. |
🌅 Morning Cycle (6:21 AM) — iris-20260421-0614
validated
4/10
none recorded
Reflection
Validating previous cycle: iris-20260420-1945
Previous hypothesis: Overnight Monday: outdoor drops to 50°F with 17-22% RH. Slab thermal mass will hold greenhouse at ~65-70°F for most of the night, sitting above the nighttime crop band (temp_high ~67.5°F). This guarantees structural heat stress hours overnight regardless of control strategy — bias_cool +5 prevents vent oscillation by raising the cooling threshold above slab equilibrium. Heaters will fire intermittently but gas cost should be moderate (USD 2-3 overnight) since the slab does most of the work. Tuesday is the hardest day in the window: 84°F/6-7% outdoor RH, clear morning. Outdoor VPD forecast peaks 3.69 kPa. Physics-limited cooling above 85°F (lesson #5). Strategy: maximum misting aggression from 09:30 — engage 1.3, gap 15s, fog_esc 0.3, shortened sealed-vent cycles (480s max) to prevent thermal trap. Accept 5-8h heat stress as structural… Result: The aggressive mitigation parameters (engage 1.3, gap 15s, fog_esc 0.25) designed for the extreme heat/dryness of the previous window were inappropriate for the milder, overcast conditions on April 25th. This led to over-humidification and significant VPD_low stress (3.83h) with low compliance (22.6%). The plan also failed to account for the regime change (cold front) and the resulting ESP32 stability issues. Score: 4/10
New finding: “ → Added to Lessons Learned
Hypothesis
Testing: Tue vs Wed paired comparison (continued from iris-20260420-1945): near-identical heat/dryness (Tue 83°F/7% clear vs Wed 85°F/4% partly cloudy + 20 mph wind). Compare: (1) VPD stress onset time — does Wed cloudiness delay by 1-2h? (2) fog activation count and duration — does wind reduce sealed-vent effectiveness? (3) water usage — does Wed wind accelerate evaporation? (4) overall compliance — does wind improve fan cooling enough to offset reduced sealed-vent misting? Expected outcome: Tuesday: compliance 10-15%, heat_stress 5-8h (physics-limited + morning band ramp), vpd_high 6-10h, water 250-400 gal, cost USD 7-10 (moderate gas overnight + high misting). Wednesday: compliance 12-18% (cloudy morning delays onset 1-2h), heat_stress 4-7h, vpd_high 5-9h, water 200-350 gal, cost USD 6-9. Thursday: compliance 30-45% (much milder), heat_stress 0-2h, vpd_high 2-4h, cost USD 5-8 (cold night gas dominant). 72h total: USD 18-27.
Setpoints
Tuesday April 21
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 06:20 | hyst 0.3 | Dawn: outdoor 46°F/24% RH. Heating phase, gas primary. Conse |
| 09:30 | hyst 0.2 | Morning ramp: outdoor 63°F/15% RH, solar 331 W/m². VPD climb |
| 12:00 | hyst 0.2 | Peak solar: 792 W/m², 79°F/9% RH outdoor. Maximum aggression |
| 15:00 | hyst 0.2 | Late peak: solar declining but outdoor temp peaks 82-83°F. S |
| 18:00 | hyst 0.3 | Evening decline: clouds arrive (93%), solar drops to 137 W/m |
| 19:45 | hyst 0.3 | Sunset: outdoor dropping to 59°F overnight. bias_heat +3, bi |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 06:20 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5 | Dawn: outdoor 46°F/24% RH. Heating phase, gas primary. Conse |
| 09:30 | d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5 | Morning ramp: outdoor 63°F/15% RH, solar 331 W/m². VPD climb |
| 12:00 | d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5 | Peak solar: 792 W/m², 79°F/9% RH outdoor. Maximum aggression |
| 15:00 | d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5 | Late peak: solar declining but outdoor temp peaks 82-83°F. S |
| 18:00 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5 | Evening decline: clouds arrive (93%), solar drops to 137 W/m |
| 19:45 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Sunset: outdoor dropping to 59°F overnight. bias_heat +3, bi |
Wednesday April 22
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.3 | Overnight Tue→Wed: outdoor 53-59°F, cloudy. Gas heater prima |
| 06:15 | hyst 0.3 | Wed dawn: outdoor 51°F, 26% RH, cloudy. Heating phase. VPD r |
| 10:00 | hyst 0.2 | Wed morning ramp: cloudy (88%) until noon. Gap 20s wider tha |
| 14:00 | hyst 0.2 | Wed peak: clearing, 84°F/7%, wind 20+ mph. Maximum aggressio |
| 18:00 | hyst 0.3 | Wed evening: 80°F outdoor, windy 22 mph, cloudy. Relax misti |
| 19:45 | hyst 0.3 | Wed sunset: cold night ahead 48-53°F. bias_heat +4 for aggre |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Overnight Tue→Wed: outdoor 53-59°F, cloudy. Gas heater prima |
| 06:15 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5 | Wed dawn: outdoor 51°F, 26% RH, cloudy. Heating phase. VPD r |
| 10:00 | d_cool 2; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5 | Wed morning ramp: cloudy (88%) until noon. Gap 20s wider tha |
| 14:00 | d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5 | Wed peak: clearing, 84°F/7%, wind 20+ mph. Maximum aggressio |
| 18:00 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5 | Wed evening: 80°F outdoor, windy 22 mph, cloudy. Relax misti |
| 19:45 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Wed sunset: cold night ahead 48-53°F. bias_heat +4 for aggre |
Thursday April 23
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.3 | Overnight Wed→Thu: outdoor drops to 48-53°F. Gas heater prim |
| 06:15 | hyst 0.3 | Thu dawn: cold (43°F outdoor, windy 12 mph). Heating continu |
| 12:00 | hyst 0.3 | Thu midday: overcast, 62°F outdoor, moderate VPD ~1.66. Much |
| 19:45 | hyst 0.3 | Thu sunset: cold night coming (39°F low into Friday). Full h |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Overnight Wed→Thu: outdoor drops to 48-53°F. Gas heater prim |
| 06:15 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5 | Thu dawn: cold (43°F outdoor, windy 12 mph). Heating continu |
| 12:00 | d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2 | Thu midday: overcast, 62°F outdoor, moderate VPD ~1.66. Much |
| 19:45 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Thu sunset: cold night coming (39°F low into Friday). Full h |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 06:20 | bias_cool | initial 4 |
| 06:20 | bias_heat | initial 3 |
| 06:20 | enthalpy_close | initial 1 |
| 06:20 | enthalpy_open | initial -2 |
| 06:20 | fog_escalation_kpa | initial 0.4 |
| 06:20 | min_fog_off_s | initial 60 |
| 06:20 | min_fog_on_s | initial 60 |
| 06:20 | min_heat_off_s | initial 300 |
| 06:20 | min_heat_on_s | initial 120 |
| 06:20 | min_vent_off_s | initial 60 |
| 06:20 | min_vent_on_s | initial 60 |
| 06:20 | mist_max_closed_vent_s | initial 480 |
| 06:20 | mist_thermal_relief_s | initial 90 |
| 06:20 | mist_vent_close_lead_s | initial 15 |
| 06:20 | mist_vent_reopen_delay_s | initial 45 |
| 06:20 | mister_water_budget_gal | initial 500 |
| 06:20 | vpd_watch_dwell_s | initial 60 |
| 09:30 | bias_cool | 4 → 0 |
| 09:30 | bias_heat | 3 → 0 |
| 09:30 | fog_escalation_kpa | 0.4 → 0.3 |
| 09:30 | min_fog_off_s | 60 → 45 |
| 09:30 | min_vent_off_s | 60 → 45 |
| 09:30 | mist_vent_reopen_delay_s | 45 → 30 |
| 09:30 | vpd_watch_dwell_s | 60 → 45 |
| 12:00 | fog_escalation_kpa | 0.3 → 0.25 |
| 12:00 | mist_max_closed_vent_s | 480 → 420 |
| 12:00 | mist_thermal_relief_s | 90 → 75 |
| 15:00 | fog_escalation_kpa | 0.25 → 0.3 |
| 15:00 | mist_max_closed_vent_s | 420 → 480 |
| 15:00 | mist_thermal_relief_s | 75 → 90 |
| 18:00 | bias_cool | 0 → 4 |
| 18:00 | fog_escalation_kpa | 0.3 → 0.4 |
| 18:00 | min_fog_off_s | 45 → 60 |
| 18:00 | min_vent_off_s | 45 → 60 |
| 18:00 | mist_max_closed_vent_s | 480 → 600 |
| 18:00 | mist_vent_reopen_delay_s | 30 → 45 |
| 18:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:45 | bias_cool | 4 → 5 |
| 19:45 | bias_heat | 0 → 3 |
| 19:45 | fog_escalation_kpa | 0.4 → 0.5 |
| 06:15 | bias_cool | 5 → 4 |
| 06:15 | fog_escalation_kpa | 0.5 → 0.4 |
| 06:15 | mist_max_closed_vent_s | 600 → 480 |
| 10:00 | bias_cool | 4 → 0 |
| 10:00 | bias_heat | 3 → 0 |
| 10:00 | fog_escalation_kpa | 0.4 → 0.3 |
| 10:00 | min_fog_off_s | 60 → 45 |
| 10:00 | min_vent_off_s | 60 → 45 |
| 10:00 | mist_max_closed_vent_s | 480 → 420 |
| 10:00 | mist_vent_reopen_delay_s | 45 → 30 |
| 10:00 | vpd_watch_dwell_s | 60 → 45 |
| 14:00 | fog_escalation_kpa | 0.3 → 0.25 |
| 14:00 | mist_thermal_relief_s | 90 → 75 |
| 18:00 | bias_cool | 0 → 4 |
| 18:00 | fog_escalation_kpa | 0.25 → 0.4 |
| 18:00 | min_fog_off_s | 45 → 60 |
| 18:00 | min_vent_off_s | 45 → 60 |
| 18:00 | mist_max_closed_vent_s | 420 → 600 |
| 18:00 | mist_thermal_relief_s | 75 → 90 |
| 18:00 | mist_vent_reopen_delay_s | 30 → 45 |
| 18:00 | vpd_watch_dwell_s | 45 → 60 |
| 19:45 | bias_cool | 4 → 5 |
| 19:45 | bias_heat | 0 → 4 |
| 19:45 | fog_escalation_kpa | 0.4 → 0.5 |
| 06:15 | fog_escalation_kpa | 0.5 → 0.4 |
| 12:00 | bias_cool | 5 → 2 |
| 12:00 | bias_heat | 4 → 0 |
| 19:45 | bias_cool | 2 → 5 |
| 19:45 | bias_heat | 0 → 4 |
| 19:45 | fog_escalation_kpa | 0.4 → 0.5 |
End-of-Day Summary
Climate
60.2–97.9°F; avg 72.8°F
0.22–5.22 kPa; avg 1.31 kPa
13.9–87.8%
Stress Hours
- Heat stress (>85°F): 11.1h
- VPD stress (>2.0 kPa): 12.6h
- Cold stress (<55°F): 2.2h
Economics
USD 1.81
USD 1.12
USD 2.030
USD 4.96
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 355 min | Primary exhaust runtime. |
| Fan 2 | 361 min | Secondary exhaust runtime. |
| Vent | 435 min | Intake vent runtime. |
| Fog | 94 min | Fogger runtime. |
| Heat 1 electric | 524 min | Electric heater runtime. |
| Heat 2 gas | 108 min | Gas heater runtime. |
| Grow lights | 0 min | Supplemental lighting runtime. |
| Mister south | 1.40h | South mister runtime. |
| Mister west | 0.82h | West mister runtime. |
| Mister center | 1.82h | Center mister runtime. |
Water
- Total: 419 gal
- Mister: 92 gal
Crop Health (Gemini Vision)
| Crop | Zone | Health | Observations | Note |
|---|---|---|---|---|
| Canna Lilies | south | 70% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| Vanda Orchids | center | 65% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| lettuce | east | 58% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| pepper | east | 60% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| strawberry | east | 65% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation notes
Canna lilies look okay, but soil moisture is quite high.
Hanging orchids appear generally healthy, though some aerial roots look slightly dry.
Seedlings appear healthy and are establishing well.
Seedlings appear to be growing normally, but hard to tell in black and white.
Seedlings appear to be growing normally, but hard to tell in black and white.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 80.7°F | 1.40 kPa | 61.3% |
| 13:00 | 87.4°F | 1.56 kPa | 65.8% |
| 14:00 | 88.3°F | 2.18 kPa | 52.1% |
| 15:00 | 86.6°F | 1.91 kPa | 56.0% |
| 16:00 | 79.9°F | 1.49 kPa | 58.2% |
| 17:00 | 77.6°F | 1.51 kPa | 54.5% |
| 18:00 | 74.5°F | 1.46 kPa | 51.2% |
| 19:00 | 68.9°F | 1.22 kPa | 50.1% |
| 20:00 | 65.8°F | 0.70 kPa | 68.4% |
| 21:00 | 63.1°F | 0.78 kPa | 61.3% |
| 22:00 | 64.8°F | 0.55 kPa | 73.6% |
| 23:00 | 62.8°F | 0.79 kPa | 59.4% |
| 00:00 | 63.8°F | 0.62 kPa | 69.4% |
| 01:00 | 64.6°F | 0.49 kPa | 76.9% |
| 02:00 | 62.3°F | 0.40 kPa | 79.2% |
| 03:00 | 63.7°F | 0.51 kPa | 75.0% |
| 04:00 | 63.4°F | 0.53 kPa | 73.9% |
| 05:00 | 63.8°F | 0.57 kPa | 72.0% |
| 06:00 | 65.9°F | 0.65 kPa | 70.2% |
| 07:00 | 67.8°F | 0.66 kPa | 71.7% |
| 08:00 | 70.6°F | 0.76 kPa | 70.2% |
| 09:00 | 72.6°F | 0.95 kPa | 65.6% |
| 10:00 | 75.7°F | 1.06 kPa | 65.2% |
| 11:00 | 76.4°F | 1.13 kPa | 63.9% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-04-15 | 6.6h | 7.6h | 13.8h |
| 2026-04-16 | 7.3h | 5.9h | 10.6h |
| 2026-04-17 | 0.1h | 2.9h | 18.3h |
| 2026-04-18 | 4.2h | 4.6h | 12.7h |
| 2026-04-19 | 6.8h | 9.0h | 14.0h |
| 2026-04-20 | 17.7h | 17.4h | 1.0h |
| 2026-04-21 | 11.1h | 12.6h | 2.2h |