April 21, 2026
Generated lab notebook from daily_summary, plan_journal, and setpoint audit data. It is intentionally chronological and may include in-progress cycles before validation.
🌅 Morning Cycle (6:21 AM) — iris-20260421-0614
validated
4/10
none recorded
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.
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. SEALED_MIST will cycle rapidly to THERMAL_RELIEF per lesson #9 (solar gain outpaces mister cooling ~7:1 above 80°F).
Wednesday is similar but cloudier (100% morning, clearing PM) and VERY windy (20-27 mph). Peak 85°F/5-6%. The wind should improve fan cooling effectiveness but the extreme dryness persists. Slightly more conservative misting — clouds delay VPD ramp.
Thursday: cool front arrives. 68°F peak, overcast, 10-14% RH. Much milder. Conservative posture, moderate misting only if needed.
{
"conditions": {
"outdoor_temp_peak_f": 84.0,
"outdoor_rh_min_pct": 6.0,
"solar_peak_w_m2": 852,
"cloud_cover_avg_pct": 20,
"notes": "Three-day sequence: Tue extreme clear/dry, Wed similar but windy/cloudy, Thu cool front. Overnight Mon low 50°F."
},
"stress_windows": [
{"kind": "heat_stress", "start": "2026-04-21T11:00:00-06:00", "end": "2026-04-21T19:00:00-06:00", "severity": "high", "mitigation": "Max misting, fog_esc 0.3, accept physics-limited stress"},
{"kind": "vpd_high", "start": "2026-04-21T09:30:00-06:00", "end": "2026-04-21T19:00:00-06:00", "severity": "extreme", "mitigation": "mister_engage 1.3, gap 15s, sealed 480s, fog_esc 0.3"},
{"kind": "heat_stress", "start": "2026-04-22T11:00:00-06:00", "end": "2026-04-22T18:00:00-06:00", "severity": "high", "mitigation": "Similar to Tue, wind aids cooling"},
{"kind": "vpd_high", "start": "2026-04-22T09:00:00-06:00", "end": "2026-04-22T18:00:00-06:00", "severity": "high", "mitigation": "mister_engage 1.3, gap 20s, cloudier morning delays onset"}
],
"rationale": [
{"parameter": "bias_cool", "old_value": 5, "new_value": 5, "forecast_anchor": "Overnight slab equilibrium 68-70°F vs nighttime crop band temp_high ~67.5°F", "expected_effect": "Prevent vent oscillation during heating cycles, reduce heat1 transitions from 53 to <15"},
{"parameter": "mister_engage_kpa", "old_value": 1.6, "new_value": 1.3, "forecast_anchor": "Tue 6% RH outdoor by noon, VPD ramp 60% between 9-1 PM", "expected_effect": "Start misting earlier in VPD ramp, reduce peak VPD stress from 17h to 10-12h"},
{"parameter": "mister_pulse_gap_s", "old_value": 45, "new_value": 15, "forecast_anchor": "Extreme dry outdoor 6% RH evaporates mist in <15s", "expected_effect": "Tighter pulse cycles maintain humidity retention during SEALED_MIST"},
{"parameter": "fog_escalation_kpa", "old_value": 0.5, "new_value": 0.3, "forecast_anchor": "VPD will exceed band+0.3 by 10 AM Tue", "expected_effect": "Earlier fog engagement provides 7x misting effectiveness, reduce peak VPD 0.3-0.5 kPa"},
{"parameter": "mist_max_closed_vent_s", "old_value": 600, "new_value": 480, "forecast_anchor": "Solar 852 W/m2 peak Tue, thermal trap risk above 85°F", "expected_effect": "Shorter sealed cycles prevent thermal accumulation per lesson #6/#9"}
]
}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:
Dawn: outdoor 46°F/24% RH. Heating phase, gas primary. Conse
Morning ramp: outdoor 63°F/15% RH, solar 331 W/m². VPD climb
Peak solar: 792 W/m², 79°F/9% RH outdoor. Maximum aggression
Late peak: solar declining but outdoor temp peaks 82-83°F. S
Evening decline: clouds arrive (93%), solar drops to 137 W/m
Sunset: outdoor dropping to 59°F overnight. bias_heat +3, bi
Tactical tunable changes:
Dawn: outdoor 46°F/24% RH. Heating phase, gas primary. Conse
Morning ramp: outdoor 63°F/15% RH, solar 331 W/m². VPD climb
Peak solar: 792 W/m², 79°F/9% RH outdoor. Maximum aggression
Late peak: solar declining but outdoor temp peaks 82-83°F. S
Evening decline: clouds arrive (93%), solar drops to 137 W/m
Sunset: outdoor dropping to 59°F overnight. bias_heat +3, bi
Wednesday April 22
Primary crop-band changes:
Overnight Tue→Wed: outdoor 53-59°F, cloudy. Gas heater prima
Wed dawn: outdoor 51°F, 26% RH, cloudy. Heating phase. VPD r
Wed morning ramp: cloudy (88%) until noon. Gap 20s wider tha
Wed peak: clearing, 84°F/7%, wind 20+ mph. Maximum aggressio
Wed evening: 80°F outdoor, windy 22 mph, cloudy. Relax misti
Wed sunset: cold night ahead 48-53°F. bias_heat +4 for aggre
Tactical tunable changes:
Overnight Tue→Wed: outdoor 53-59°F, cloudy. Gas heater prima
Wed dawn: outdoor 51°F, 26% RH, cloudy. Heating phase. VPD r
Wed morning ramp: cloudy (88%) until noon. Gap 20s wider tha
Wed peak: clearing, 84°F/7%, wind 20+ mph. Maximum aggressio
Wed evening: 80°F outdoor, windy 22 mph, cloudy. Relax misti
Wed sunset: cold night ahead 48-53°F. bias_heat +4 for aggre
Thursday April 23
Primary crop-band changes:
Overnight Wed→Thu: outdoor drops to 48-53°F. Gas heater prim
Thu dawn: cold (43°F outdoor, windy 12 mph). Heating continu
Thu midday: overcast, 62°F outdoor, moderate VPD ~1.66. Much
Thu sunset: cold night coming (39°F low into Friday). Full h
Tactical tunable changes:
Overnight Wed→Thu: outdoor drops to 48-53°F. Gas heater prim
Thu dawn: cold (43°F outdoor, windy 12 mph). Heating continu
Thu midday: overcast, 62°F outdoor, moderate VPD ~1.66. Much
Thu sunset: cold night coming (39°F low into Friday). Full h
Changed secondary parameters:
initial 4
initial 3
initial 1
initial -2
initial 0.4
initial 60
initial 60
initial 300
initial 120
initial 60
initial 60
initial 480
initial 90
initial 15
initial 45
initial 500
initial 60
4 → 0
3 → 0
0.4 → 0.3
60 → 45
60 → 45
45 → 30
60 → 45
0.3 → 0.25
480 → 420
90 → 75
0.25 → 0.3
420 → 480
75 → 90
0 → 4
0.3 → 0.4
45 → 60
45 → 60
480 → 600
30 → 45
45 → 60
4 → 5
0 → 3
0.4 → 0.5
5 → 4
0.5 → 0.4
600 → 480
4 → 0
3 → 0
0.4 → 0.3
60 → 45
60 → 45
480 → 420
45 → 30
60 → 45
0.3 → 0.25
90 → 75
0 → 4
0.25 → 0.4
45 → 60
45 → 60
420 → 600
75 → 90
30 → 45
45 → 60
4 → 5
0 → 4
0.4 → 0.5
0.5 → 0.4
5 → 2
4 → 0
2 → 5
0 → 4
0.4 → 0.5
Full secondary parameter dump
Value 4.
Value 3.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 480.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 0.
Value 0.
Value 1.
Value -2.
Value 0.3.
Value 45.
Value 60.
Value 300.
Value 120.
Value 45.
Value 60.
Value 480.
Value 90.
Value 15.
Value 30.
Value 500.
Value 45.
Value 0.
Value 0.
Value 1.
Value -2.
Value 0.25.
Value 45.
Value 60.
Value 300.
Value 120.
Value 45.
Value 60.
Value 420.
Value 75.
Value 15.
Value 30.
Value 500.
Value 45.
Value 0.
Value 0.
Value 1.
Value -2.
Value 0.3.
Value 45.
Value 60.
Value 300.
Value 120.
Value 45.
Value 60.
Value 480.
Value 90.
Value 15.
Value 30.
Value 500.
Value 45.
Value 4.
Value 0.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 3.
Value 1.
Value -2.
Value 0.5.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 3.
Value 1.
Value -2.
Value 0.5.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 4.
Value 3.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 480.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 0.
Value 0.
Value 1.
Value -2.
Value 0.3.
Value 45.
Value 60.
Value 300.
Value 120.
Value 45.
Value 60.
Value 420.
Value 90.
Value 15.
Value 30.
Value 500.
Value 45.
Value 0.
Value 0.
Value 1.
Value -2.
Value 0.25.
Value 45.
Value 60.
Value 300.
Value 120.
Value 45.
Value 60.
Value 420.
Value 75.
Value 15.
Value 30.
Value 500.
Value 45.
Value 4.
Value 0.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 4.
Value 1.
Value -2.
Value 0.5.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 4.
Value 1.
Value -2.
Value 0.5.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 4.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 2.
Value 0.
Value 1.
Value -2.
Value 0.4.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
Value 5.
Value 4.
Value 1.
Value -2.
Value 0.5.
Value 60.
Value 60.
Value 300.
Value 120.
Value 60.
Value 60.
Value 600.
Value 90.
Value 15.
Value 45.
Value 500.
Value 60.
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 0.39
USD 1.12
USD 0.570
USD 2.08
Equipment Runtimes
Primary exhaust runtime.
Secondary exhaust runtime.
Intake vent runtime.
Fogger runtime.
Electric heater runtime.
Gas heater runtime.
Supplemental lighting runtime.
South mister runtime.
West mister runtime.
Center mister runtime.
Water
- Total: 419 gal
- Mister: 92 gal
Crop Health (Gemini Vision)
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna lilies 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
RH 61.3%.
RH 65.8%.
RH 52.1%.
RH 56.0%.
RH 58.2%.
RH 54.5%.
RH 51.2%.
RH 50.1%.
RH 68.4%.
RH 61.3%.
RH 73.6%.
RH 59.4%.
RH 69.4%.
RH 76.9%.
RH 79.2%.
RH 75.0%.
RH 73.9%.
RH 72.0%.
RH 70.2%.
RH 71.7%.
RH 70.2%.
RH 65.6%.
RH 65.2%.
RH 63.9%.
7-Day Stress Context
Cold stress 13.8h.
Cold stress 10.6h.
Cold stress 18.3h.
Cold stress 12.7h.
Cold stress 14.0h.
Cold stress 1.0h.
Cold stress 2.2h.