April 16, 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.
🌅 Morning Cycle (6:26 AM) — iris-20260416-0621
validated
4/10
none recorded
Reflection
Validating previous cycle: iris-20260415-1939
Previous hypothesis: Three-phase plan: (1) Tonight clear/cold overnight, standard heating posture. (2) Thursday extreme dry day (77°F/7% RH) — maximum misting aggression with fog_esc 0.4 as the ultimate experiment test. If fog_esc 0.4 holds combined VPD stress under 8h on 7% RH, it’s confirmed as all-conditions default. (3) Friday cold front with snow, hard freeze to 27°F Saturday — full heating pivot, bias_heat +5, no cooling/misting needed. The score will be structurally limited by band-driven cold stress on morning ramps (lesson #91) regardless of planner actions. Result: Phase 1 (Thu dry day): Outdoor peaked 74.4°F/17% RH — less extreme than forecast 76°F/7% but still challenging. Indoor peaked 86.4°F at 2 PM. VPD compliance 68.7% (good for 17% RH day — misting strategy worked). Temp compliance 15.7% (terrible — crop band 63.6-69.3°F too narrow for 60-86°F indoor range). Combined compliance 10%. Heat stress 2.0h, VPD-high 1.33h, VPD-low 1.9h. Cost USD 3.23 (excellent). 273 gal mister water. Two ESP32 reboots. South probe offline all day. 15+ leak_detected alerts (all self-resolved — pattern concerning). Phase 1 transitioned to cold front as expected. The score is structurally limited by narrow crop band vs physical reality on warm days — planner actions were appropriate. Score: 4/10
New finding: On warm-to-hot days (outdoor 70°F+), the narrow crop band (63.6-69.3°F) guarantees low temp compliance regardless of planner actions. The greenhouse physically cannot stay below 69°F with solar gain when outdoor exceeds 65°F. VPD compliance is the meaningful metric to optimize on these days. Consider whether the crop band needs seasonal adjustment or whether planner score should weight VPD more heavily on days where temp compliance is physics-limited. → Added to Lessons Learned
Hypothesis
Testing: vpd_watch_dwell_s reduced to 30s during peak stress (noon-3 PM) vs usual 60s. Hypothesis: faster SEALED_MIST entry reduces VPD overshoot on extreme dry days. Success criteria: VPD-high stress < 6h on a 76°F/7% RH day. Expected outcome: Thursday: compliance 25-35% (physics-limited by extreme dry + heat), VPD-high 4-7h, heat_stress 2-4h, water 300-450 gal, cost USD 8-12. Friday: heating-dominated, compliance 30-50%, cold_stress 4-8h (slab lag + band alignment), cost USD 10-15 (gas-heavy). Saturday: warming rebound, compliance 40-60%, cost USD 5-8. 72h total cost USD 25-35.
Setpoints
Thursday April 16
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | hyst 0.3 | Dawn. Outdoor 44°F/37% RH rising. Pre-condition with engage |
| 10:00 | hyst 0.2 | Morning ramp. Outdoor RH dropping below 20%. Tighten hystere |
| 12:00 | hyst 0.2 | Peak stress onset. Outdoor 71°F/14% RH. Maximum aggression: |
| 15:00 | hyst 0.2 | Peak heat 75-76°F outdoor, 7-8% RH, 15 mph wind. Hold max ag |
| 18:00 | hyst 0.3 | Evening transition. Fog window closed. Outdoor 73°F dropping |
| 21:00 | hyst 0.4 | Night. Outdoor 62→55°F. Cold front approaching. bias_heat +3 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 07:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 25; wt 2.5 | Dawn. Outdoor 44°F/37% RH rising. Pre-condition with engage |
| 10:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 20; wt 2.5 | Morning ramp. Outdoor RH dropping below 20%. Tighten hystere |
| 12:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 15; wt 2.5 | Peak stress onset. Outdoor 71°F/14% RH. Maximum aggression: |
| 15:00 | d_cool 3; engage 1.3; all 1.7; pulse 60; gap 15; wt 2.5 | Peak heat 75-76°F outdoor, 7-8% RH, 15 mph wind. Hold max ag |
| 18:00 | d_cool 3; engage 1.5; all 1.9; pulse 60; gap 35; wt 1.5 | Evening transition. Fog window closed. Outdoor 73°F dropping |
| 21:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Night. Outdoor 62→55°F. Cold front approaching. bias_heat +3 |
Friday April 17
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.4 | Cold front arrival. Outdoor 55→50°F. Heavy heating. bias_hea |
| 06:00 | hyst 0.4 | Friday dawn. Outdoor 38°F, rain/snow possible. Full heating. |
| 18:00 | hyst 0.4 | Friday evening into freeze night. Outdoor 45→28°F. Maintain |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Cold front arrival. Outdoor 55→50°F. Heavy heating. bias_hea |
| 06:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Friday dawn. Outdoor 38°F, rain/snow possible. Full heating. |
| 18:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Friday evening into freeze night. Outdoor 45→28°F. Maintain |
Saturday April 18
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.3 | Saturday dawn. Outdoor 41°F, clear. Freeze recovery. Solar g |
| 12:00 | hyst 0.3 | Saturday midday. Clear sky, outdoor 53°F/12% RH. Dry rebound |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | d_cool 3; engage 1.5; all 1.9; pulse 60; gap 45; wt 1.5 | Saturday dawn. Outdoor 41°F, clear. Freeze recovery. Solar g |
| 12:00 | d_cool 3; engage 1.4; all 1.8; pulse 60; gap 30; wt 2 | Saturday midday. Clear sky, outdoor 53°F/12% RH. Dry rebound |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 07:00 | bias_cool | initial 2 |
| 07:00 | bias_heat | initial 0 |
| 07:00 | enthalpy_close | initial 1 |
| 07:00 | enthalpy_open | initial -2 |
| 07:00 | fog_escalation_kpa | initial 0.4 |
| 07:00 | min_fog_off_s | initial 60 |
| 07:00 | min_fog_on_s | initial 60 |
| 07:00 | min_heat_off_s | initial 300 |
| 07:00 | min_heat_on_s | initial 120 |
| 07:00 | min_vent_off_s | initial 60 |
| 07:00 | min_vent_on_s | initial 60 |
| 07:00 | mist_max_closed_vent_s | initial 900 |
| 07:00 | mist_thermal_relief_s | initial 90 |
| 07:00 | mist_vent_close_lead_s | initial 15 |
| 07:00 | mist_vent_reopen_delay_s | initial 45 |
| 07:00 | mister_water_budget_gal | initial 500 |
| 07:00 | vpd_watch_dwell_s | initial 60 |
| 10:00 | vpd_watch_dwell_s | 60 → 45 |
| 12:00 | min_fog_off_s | 60 → 45 |
| 12:00 | vpd_watch_dwell_s | 45 → 30 |
| 18:00 | bias_cool | 2 → 3 |
| 18:00 | bias_heat | 0 → 1 |
| 18:00 | fog_escalation_kpa | 0.4 → 0.5 |
| 18:00 | min_fog_off_s | 45 → 60 |
| 18:00 | mist_max_closed_vent_s | 900 → 600 |
| 18:00 | vpd_watch_dwell_s | 30 → 60 |
| 21:00 | bias_cool | 3 → 4 |
| 21:00 | bias_heat | 1 → 3 |
| 21:00 | fog_escalation_kpa | 0.5 → 0.6 |
| 00:00 | bias_cool | 4 → 5 |
| 00:00 | bias_heat | 3 → 4 |
| 00:00 | fog_escalation_kpa | 0.6 → 0.8 |
| 06:00 | bias_heat | 4 → 5 |
| 08:00 | bias_cool | 5 → 4 |
| 08:00 | bias_heat | 5 → 4 |
| 08:00 | fog_escalation_kpa | 0.8 → 0.6 |
| 12:00 | bias_cool | 4 → 3 |
| 12:00 | bias_heat | 4 → 2 |
| 12:00 | fog_escalation_kpa | 0.6 → 0.5 |
🌆 Evening Cycle (7:43 PM) — iris-20260416-1940
validated
2/10
none recorded
Reflection
Validating previous cycle: iris-20260416-0621
Previous hypothesis: Three-phase 72h: (1) Thursday extreme dry (76°F/7% RH) — maximum misting aggression, fog_esc 0.4 ultimate stress test Day 5. engage 1.3, gap 15s at peak, 900s sealed vent, dwell 30s for faster mist response. Accept heat stress as physics-limited. (2) Thursday night through Saturday AM — cold front then hard freeze (28°F). Full heating posture, bias_heat +5, bias_cool +5, slab pre-warming. Gas heater primary per cost lesson. (3) Saturday midday — dry rebound, moderate misting returns. Experiment: vpd_watch_dwell_s 30s during peak stress (normally 60s) to test if faster SEALED_MIST entry improves VPD compliance without oscillation. Result: [backfill] avg compliance 14.1% (stress 1.9 h) over plan window 2026-04-17 01:43 → 2026-04-18 12:22 Score: 2/10
Hypothesis
Testing: Slab thermal mass pre-charging: start aggressive heating 12h before freeze nadir (Friday 5 PM → Saturday 5 AM). Hypothesis: building slab temp during the cheaper cloudy afternoon reduces total gas usage during the freeze vs reactive heating. Success criteria: indoor temp stays above 55°F through 24°F nadir without heat2 running >80% duty cycle. Expected outcome: Tonight (Thu→Fri AM): indoor holds 59-62°F against 38°F outdoor, cold stress 3-5h from band alignment. Friday: heating-dominated, low stress (cloudy = no heat/VPD stress), cost USD 6-9 (gas-heavy). Saturday AM: indoor holds 55-62°F through 24°F freeze, gas heater dominant. Saturday PM: transition to extreme dry conditions, VPD-high stress 3-5h (physics-limited at 12% RH). 72h total cost USD 18-25 (gas-heavy). No frost damage.
Setpoints
Thursday April 16
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 21:00 | hyst 0.4 | Evening settle — outdoor 63°F dropping, transition to heatin |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 21:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Evening settle — outdoor 63°F dropping, transition to heatin |
Friday April 17
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.4 | Midnight — outdoor 56°F, slab still warm from today's 91°F p |
| 05:00 | hyst 0.4 | Pre-dawn Friday — outdoor 40°F, first night's coldest. bias_ |
| 12:00 | hyst 0.3 | Friday midday — outdoor 43°F, overcast 100%, 54% RH (unusual |
| 17:00 | hyst 0.4 | CRITICAL: Friday pre-freeze slab charging begins. Outdoor 46 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Midnight — outdoor 56°F, slab still warm from today's 91°F p |
| 05:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Pre-dawn Friday — outdoor 40°F, first night's coldest. bias_ |
| 12:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Friday midday — outdoor 43°F, overcast 100%, 54% RH (unusual |
| 17:00 | d_cool 4; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | CRITICAL: Friday pre-freeze slab charging begins. Outdoor 46 |
Saturday April 18
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | hyst 0.4 | Saturday midnight — outdoor 31°F, deep freeze approaching. B |
| 06:00 | hyst 0.4 | FREEZE NADIR — outdoor 24°F. Heat loss: ~480 BTU/hr/°F × ~40 |
| 11:00 | hyst 0.3 | Saturday late morning — outdoor 49°F, warming fast, clear sk |
| 19:00 | hyst 0.4 | Saturday evening — outdoor 55°F, settling. Revert misting to |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:00 | d_cool 4; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Saturday midnight — outdoor 31°F, deep freeze approaching. B |
| 06:00 | d_cool 4; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | FREEZE NADIR — outdoor 24°F. Heat loss: ~480 BTU/hr/°F × ~40 |
| 11:00 | d_cool 3; engage 1.3; all 1.8; pulse 60; gap 25; wt 2 | Saturday late morning — outdoor 49°F, warming fast, clear sk |
| 19:00 | d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5 | Saturday evening — outdoor 55°F, settling. Revert misting to |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 21:00 | bias_cool | initial 4 |
| 21:00 | bias_heat | initial 2 |
| 21:00 | enthalpy_close | initial 1 |
| 21:00 | enthalpy_open | initial -2 |
| 21:00 | fog_escalation_kpa | initial 0.6 |
| 21:00 | min_fog_off_s | initial 60 |
| 21:00 | min_fog_on_s | initial 60 |
| 21:00 | min_heat_off_s | initial 300 |
| 21:00 | min_heat_on_s | initial 120 |
| 21:00 | min_vent_off_s | initial 60 |
| 21:00 | min_vent_on_s | initial 60 |
| 21:00 | mist_max_closed_vent_s | initial 600 |
| 21:00 | mist_thermal_relief_s | initial 90 |
| 21:00 | mist_vent_close_lead_s | initial 15 |
| 21:00 | mist_vent_reopen_delay_s | initial 45 |
| 21:00 | mister_water_budget_gal | initial 500 |
| 21:00 | vpd_watch_dwell_s | initial 60 |
| 00:00 | bias_cool | 4 → 5 |
| 00:00 | bias_heat | 2 → 3 |
| 00:00 | fog_escalation_kpa | 0.6 → 0.8 |
| 00:00 | min_heat_on_s | 120 → 150 |
| 05:00 | bias_heat | 3 → 4 |
| 05:00 | min_heat_on_s | 150 → 180 |
| 12:00 | bias_cool | 5 → 3 |
| 12:00 | bias_heat | 4 → 2 |
| 12:00 | fog_escalation_kpa | 0.8 → 0.6 |
| 12:00 | min_heat_on_s | 180 → 120 |
| 17:00 | bias_cool | 3 → 5 |
| 17:00 | bias_heat | 2 → 5 |
| 17:00 | enthalpy_close | 1 → 2 |
| 17:00 | fog_escalation_kpa | 0.6 → 0.8 |
| 17:00 | min_heat_off_s | 300 → 240 |
| 17:00 | min_heat_on_s | 120 → 180 |
| 11:00 | bias_cool | 5 → 3 |
| 11:00 | bias_heat | 5 → 2 |
| 11:00 | enthalpy_close | 2 → 1 |
| 11:00 | fog_escalation_kpa | 0.8 → 0.5 |
| 11:00 | min_heat_off_s | 240 → 300 |
| 11:00 | min_heat_on_s | 180 → 120 |
| 11:00 | mist_max_closed_vent_s | 600 → 900 |
| 19:00 | bias_cool | 3 → 4 |
| 19:00 | bias_heat | 2 → 3 |
| 19:00 | fog_escalation_kpa | 0.5 → 0.6 |
| 19:00 | mist_max_closed_vent_s | 900 → 600 |
End-of-Day Summary
Climate
59.1–91.2°F; avg 68.8°F
0.32–2.79 kPa; avg 0.82 kPa
32.3–83.2%
Stress Hours
- Heat stress (>85°F): 7.2h
- VPD stress (>2.0 kPa): 5.9h
- Cold stress (<55°F): 10.6h
Economics
USD 1.47
USD 0.55
USD 2.370
USD 4.39
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 120 min | Primary exhaust runtime. |
| Fan 2 | 119 min | Secondary exhaust runtime. |
| Vent | 192 min | Intake vent runtime. |
| Fog | 46 min | Fogger runtime. |
| Heat 1 electric | 469 min | Electric heater runtime. |
| Heat 2 gas | 53 min | Gas heater runtime. |
| Grow lights | 0 min | Supplemental lighting runtime. |
| Mister south | 2.48h | South mister runtime. |
| Mister west | 0.53h | West mister runtime. |
| Mister center | 1.98h | Center mister runtime. |
Water
- Total: 489 gal
- Mister: 273 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 | 60% | 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 | 58% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation notes
Canna lilies in the background look generally okay, but lighting is poor.
Hanging orchids appear stable, though difficult to assess fully in IR light.
Seedlings appear healthy, but difficult to see clearly.
Pepper seedlings look relatively healthy but could benefit from more light.
Seedlings appear small, difficult to assess health.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 80.0°F | 1.15 kPa | 67.3% |
| 13:00 | 82.3°F | 1.86 kPa | 50.1% |
| 14:00 | 88.1°F | 1.66 kPa | 64.2% |
| 15:00 | 84.7°F | 1.99 kPa | 50.4% |
| 16:00 | 84.3°F | 1.25 kPa | 68.5% |
| 17:00 | 77.0°F | 1.15 kPa | 63.6% |
| 18:00 | 71.3°F | 1.31 kPa | 50.6% |
| 19:00 | 65.6°F | 1.00 kPa | 54.0% |
| 20:00 | 62.6°F | 0.87 kPa | 55.4% |
| 21:00 | 61.8°F | 0.47 kPa | 74.9% |
| 22:00 | 61.3°F | 0.45 kPa | 75.5% |
| 23:00 | 61.0°F | 0.43 kPa | 76.7% |
| 00:00 | 61.0°F | 0.43 kPa | 76.4% |
| 01:00 | 60.5°F | 0.44 kPa | 75.5% |
| 02:00 | 60.8°F | 0.47 kPa | 74.1% |
| 03:00 | 60.7°F | 0.49 kPa | 73.2% |
| 04:00 | 60.5°F | 0.48 kPa | 73.3% |
| 05:00 | 61.0°F | 0.51 kPa | 72.1% |
| 06:00 | 61.5°F | 0.57 kPa | 69.3% |
| 07:00 | 65.6°F | 0.70 kPa | 67.6% |
| 08:00 | 68.1°F | 0.79 kPa | 66.4% |
| 09:00 | 68.8°F | 0.80 kPa | 66.9% |
| 10:00 | 74.8°F | 1.05 kPa | 64.5% |
| 11:00 | 78.6°F | 1.13 kPa | 66.2% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-04-10 | 2.2h | 15.3h | 1.1h |
| 2026-04-11 | 4.6h | 10.8h | 2.6h |
| 2026-04-12 | 8.3h | 4.2h | 4.3h |
| 2026-04-13 | 9.2h | 5.4h | 1.1h |
| 2026-04-14 | 0.8h | 2.2h | 11.6h |
| 2026-04-15 | 6.6h | 7.6h | 13.8h |
| 2026-04-16 | 7.3h | 5.9h | 10.6h |