April 20, 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.

Delivery events

29

Plan writes

8

No-change acknowledgements

0

Pending

0

EventDeliveredTypeStatusResultResolvedNote
New forecast data00:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data01:36FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data02:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data03:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data04:37FORECASTplan_writteniris-20260420-061506:20Wrote public plan iris-20260420-0615. Resolved 06:20 MDT.
Pre Dawn05:15TRANSITIONplan_writteniris-20260420-061506:20Wrote public plan iris-20260420-0615. Resolved 06:20 MDT.
New forecast data05:37FORECASTplan_writteniris-20260420-061506:20Wrote public plan iris-20260420-0615. Resolved 06:20 MDT.
Morning planning cycle06:15SUNRISEplan_writteniris-20260420-061506:20Wrote public plan iris-20260420-0615. Resolved 06:20 MDT.
New forecast data06:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data07:37FORECASTtimed_outiris-20260420-084208:45Delivery recorded without a public plan write. Resolved 08:45 MDT.
New forecast data08:42FORECASTtimed_outiris-20260420-084208:45Delivery recorded without a public plan write. Resolved 08:45 MDT.
New forecast data09:42FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data10:42FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data11:41FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data13:41FORECASTdelivery_failed-unknownDelivery recorded without a public plan write.
New forecast data14:54FORECASTtimed_out-unknownDelivery recorded without a public plan write.
Peak Stress15:00TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
New forecast data15:54FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data16:54FORECASTtimed_out-unknownDelivery recorded without a public plan write.
Tree Shade17:00TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
New forecast data17:54FORECASTplan_writteniris-20260420-194519:50Wrote public plan iris-20260420-1945. Resolved 19:50 MDT.
Decline18:44TRANSITIONplan_writteniris-20260420-194519:50Wrote public plan iris-20260420-1945. Resolved 19:50 MDT.
New forecast data18:54FORECASTplan_writteniris-20260420-194519:50Wrote public plan iris-20260420-1945. Resolved 19:50 MDT.
Evening planning cycle19:45SUNSETplan_writteniris-20260420-194519:50Wrote public plan iris-20260420-1945. Resolved 19:50 MDT.
New forecast data19:54FORECASTtimed_out-unknownDelivery recorded without a public plan write.
Evening Settle20:44TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
New forecast data21:19FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data22:19FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data23:18FORECASTtimed_out-unknownDelivery recorded without a public plan write.

🌅 Morning Cycle (6:20 AM) — iris-20260420-0615

Status

validated

Outcome score

4/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260419-1903

Previous hypothesis: Late-day catch-up plan — previous plan iris-20260419-0022 ran unmodified for 18+ hours with no intraday replanning. Today’s scorecard: 25.5 score, 17.8% compliance, 14.4h cold stress (structural — crop band alignment on spring mornings per lesson #6), 4.2h heat stress, 4.5h VPD high stress. Peak reached 85.6°F/2.02 VPD at 2 PM MDT — better than forecast predicted but still 4+ hours outside band. Evening vpd_high=0.60 was too aggressive — drove south zone to 0.08 VPD (near condensation). This plan corrects the evening posture immediately and covers Mon-Wed. Monday is the second extreme dry day: overcast morning (100% cloud until 14:00, then clearing to 8%), 82°F peak outdoor, 4% RH. The overcast morning is an advantage — slower heating ramp gives more time before misting is needed. But afternoon clearing will bring a fast spike… Result: [backfill] compliance unavailable over plan window 2026-04-20 12:20 → 2026-04-20 14:45 Score: 4/10

Hypothesis

Testing: Compare Monday overcast-to-clear transition (13:00 clearing) vs Tuesday all-day clear to measure cloud cover’s effect on VPD stress onset timing and water consumption. Hypothesis: Monday’s overcast morning delays VPD stress onset by 2-3 hours and reduces water usage by 20-30% vs Tuesday. Expected outcome: Monday: compliance 15-25% (tight bands), heat_stress 3-5h, vpd_high 4-6h, water 250-350 gal, cost USD 7-9. Tuesday: compliance 10-20%, heat_stress 5-7h, vpd_high 6-8h, water 350-450 gal, cost USD 8-11. Wednesday: compliance 25-35%, heat_stress 3-4h, vpd_high 3-5h, water 150-250 gal, cost USD 5-7. 72h total: USD 20-27.

Setpoints

Monday April 20

Primary crop-band changes:

TimeValuesNote
06:30hyst 0.3Morning hold — overcast, outdoor 36-55F. bias_cool +4 delays
10:00hyst 0.3Pre-noon ramp — still overcast but outdoor RH dropping fast
13:00hyst 0.2PEAK STRESS — clouds clearing (100→0%), solar 800+ W/m², out
18:00hyst 0.3Late afternoon decline — solar dropping but still dry (6% RH
20:00hyst 0.3Evening — outdoor 66F, 8% RH, sunset. Conservative misting,

Tactical tunable changes:

TimeValuesNote
06:30d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 2.5Morning hold — overcast, outdoor 36-55F. bias_cool +4 delays
10:00d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2.5Pre-noon ramp — still overcast but outdoor RH dropping fast
13:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5PEAK STRESS — clouds clearing (100→0%), solar 800+ W/m², out
18:00d_cool 3; engage 1.4; all 1.8; pulse 60; gap 30; wt 2.5Late afternoon decline — solar dropping but still dry (6% RH
20:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 2.5Evening — outdoor 66F, 8% RH, sunset. Conservative misting,

Tuesday April 21

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.3Tuesday dawn — worst day. Clear sky, 48F, 12% RH. Pre-positi
11:00hyst 0.2Tuesday peak — MAXIMUM AGGRESSION. Clear sky all day, 83F pe
19:00hyst 0.3Tuesday evening — same wind-down pattern. High bias_cool pre

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2.5Tuesday dawn — worst day. Clear sky, 48F, 12% RH. Pre-positi
11:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Tuesday peak — MAXIMUM AGGRESSION. Clear sky all day, 83F pe
19:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 2.5Tuesday evening — same wind-down pattern. High bias_cool pre

Changed secondary parameters:

TimeParameterChange
06:30bias_coolinitial 4
06:30bias_heatinitial 4
06:30enthalpy_closeinitial 1
06:30enthalpy_openinitial -2
06:30fog_escalation_kpainitial 0.5
06:30min_fog_off_sinitial 60
06:30min_fog_on_sinitial 60
06:30min_heat_off_sinitial 300
06:30min_heat_on_sinitial 120
06:30min_vent_off_sinitial 60
06:30min_vent_on_sinitial 60
06:30mist_max_closed_vent_sinitial 300
06:30mist_thermal_relief_sinitial 90
06:30mist_vent_close_lead_sinitial 15
06:30mist_vent_reopen_delay_sinitial 45
06:30mister_water_budget_galinitial 500
06:30vpd_watch_dwell_sinitial 60
10:00bias_cool4 → 3
10:00bias_heat4 → 0
10:00fog_escalation_kpa0.5 → 0.4
10:00mist_max_closed_vent_s300 → 600
10:00vpd_watch_dwell_s60 → 45
13:00bias_cool3 → 0
13:00fog_escalation_kpa0.4 → 0.3
13:00mist_max_closed_vent_s600 → 900
13:00mist_thermal_relief_s90 → 60
18:00bias_cool0 → 2
18:00fog_escalation_kpa0.3 → 0.4
18:00mist_max_closed_vent_s900 → 600
18:00mist_thermal_relief_s60 → 90
18:00vpd_watch_dwell_s45 → 60
20:00bias_cool2 → 4
20:00bias_heat0 → 3
20:00fog_escalation_kpa0.4 → 0.5
20:00mist_max_closed_vent_s600 → 300
06:00bias_cool4 → 3
06:00fog_escalation_kpa0.5 → 0.4
06:00mist_max_closed_vent_s300 → 600
06:00vpd_watch_dwell_s60 → 45
11:00bias_cool3 → 0
11:00bias_heat3 → 0
11:00fog_escalation_kpa0.4 → 0.3
11:00mist_max_closed_vent_s600 → 900
11:00mist_thermal_relief_s90 → 60
19:00bias_cool0 → 4
19:00bias_heat0 → 3
19:00fog_escalation_kpa0.3 → 0.5
19:00mist_max_closed_vent_s900 → 300
19:00mist_thermal_relief_s60 → 90
19:00vpd_watch_dwell_s45 → 60

🌅 Morning Cycle (8:45 AM) — iris-20260420-0842

Status

validated

Outcome score

1/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260419-1903

Result: [backfill] avg compliance 20.6% (stress 182.1 h) over plan window 2026-04-20 14:45 → 2026-04-26 21:08 Score: 1/10

Hypothesis

Testing: Modified overcast-to-clear experiment: Monday now clears at 10 AM (3h overcast) vs Tuesday all-day clear. Smaller differential than originally planned but still measurable. Compare VPD stress onset time and water usage 10 AM-2 PM window on both days. Expected outcome: Monday: compliance 12-20% (tight bands + earlier clearing), heat_stress 3-5h, vpd_high 5-7h (was 4-6h before reforecast), water 300-400 gal, cost USD 7-10. Tuesday: compliance 10-18%, heat_stress 5-7h, vpd_high 6-9h, water 350-450 gal, cost USD 8-11. Wednesday: compliance 8-15% (worst day — 86F + wind), heat_stress 5-8h, vpd_high 5-8h, water 250-350 gal, cost USD 6-9. 72h total: USD 21-30.

Setpoints

Monday April 20

Primary crop-band changes:

TimeValuesNote
10:00hyst 0.2Clearing at 10 AM — 3h earlier than previous plan. Maximum m
18:00hyst 0.3Evening taper — solar dropping, VPD easing. Moderate posture
20:00hyst 0.3Night — clouds return (76-100%), 60-67°F outdoor. Pre-heat b

Tactical tunable changes:

TimeValuesNote
10:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Clearing at 10 AM — 3h earlier than previous plan. Maximum m
18:00d_cool 3; engage 1.4; all 1.8; pulse 60; gap 30; wt 2.5Evening taper — solar dropping, VPD easing. Moderate posture
20:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 2.5Night — clouds return (76-100%), 60-67°F outdoor. Pre-heat b

Tuesday April 21

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.3Tuesday dawn — clear sky, 48°F outdoor. Maintain heat bias.
09:30hyst 0.2Tuesday all-day clear — hardest day. 66°F/14% RH by 9 AM. Fu
19:00hyst 0.3Tuesday night — overcast returns, 67-78°F outdoor. Pre-heat

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 1.4; all 1.7; pulse 60; gap 30; wt 2.5Tuesday dawn — clear sky, 48°F outdoor. Maintain heat bias.
09:30d_cool 3; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Tuesday all-day clear — hardest day. 66°F/14% RH by 9 AM. Fu
19:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 2.5Tuesday night — overcast returns, 67-78°F outdoor. Pre-heat

Wednesday April 22

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.3Wednesday morning — overcast, 53°F, 41% RH. Much more humidi
11:00hyst 0.2Wednesday midday — clears, peaks 86°F. 27-37 mph wind makes
18:00hyst 0.3Wednesday evening — temp crashes to 55°F with clearing + str

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5Wednesday morning — overcast, 53°F, 41% RH. Much more humidi
11:00d_cool 3; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Wednesday midday — clears, peaks 86°F. 27-37 mph wind makes
18:00d_cool 3; engage 1.5; all 1.9; pulse 60; gap 40; wt 2.5Wednesday evening — temp crashes to 55°F with clearing + str

Changed secondary parameters:

TimeParameterChange
10:00bias_coolinitial 0
10:00bias_heatinitial 0
10:00enthalpy_closeinitial 1
10:00enthalpy_openinitial -2
10:00fog_escalation_kpainitial 0.3
10:00min_fog_off_sinitial 60
10:00min_fog_on_sinitial 60
10:00min_heat_off_sinitial 300
10:00min_heat_on_sinitial 120
10:00min_vent_off_sinitial 60
10:00min_vent_on_sinitial 60
10:00mist_max_closed_vent_sinitial 900
10:00mist_thermal_relief_sinitial 90
10:00mist_vent_close_lead_sinitial 15
10:00mist_vent_reopen_delay_sinitial 45
10:00mister_water_budget_galinitial 500
10:00vpd_watch_dwell_sinitial 60
18:00bias_cool0 → 2
18:00fog_escalation_kpa0.3 → 0.4
18:00mist_max_closed_vent_s900 → 600
20:00bias_cool2 → 4
20:00bias_heat0 → 3
20:00fog_escalation_kpa0.4 → 0.5
20:00mist_max_closed_vent_s600 → 300
06:00bias_cool4 → 3
06:00fog_escalation_kpa0.5 → 0.4
06:00mist_max_closed_vent_s300 → 600
09:30bias_cool3 → 0
09:30bias_heat3 → 0
09:30fog_escalation_kpa0.4 → 0.3
09:30mist_max_closed_vent_s600 → 900
19:00bias_cool0 → 4
19:00bias_heat0 → 3
19:00fog_escalation_kpa0.3 → 0.5
19:00mist_max_closed_vent_s900 → 300
06:00bias_cool4 → 3
06:00bias_heat3 → 2
06:00fog_escalation_kpa0.5 → 0.4
06:00mist_max_closed_vent_s300 → 600
11:00bias_cool3 → 0
11:00bias_heat2 → 0
11:00fog_escalation_kpa0.4 → 0.3
11:00mist_max_closed_vent_s600 → 480
18:00bias_cool0 → 3
18:00bias_heat0 → 2
18:00fog_escalation_kpa0.3 → 0.5
18:00mist_max_closed_vent_s480 → 300

🌅 Morning Cycle (8:57 AM) — iris-20260420-0850

Status

validated

Outcome score

3/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260419-1903

Result: Score 16.6, compliance 11.6% (temp 17.2%, VPD 28.6%). Heat stress 15.82h dominated — largely structural from tight crop band (temp_high ~67.5°F overnight while slab held greenhouse at 70-72°F). VPD high 16.97h from extreme dry outdoor air (11-14% RH). Cold stress 4.0h (morning band ramp, structural). Peak temp 90.4°F, peak VPD 3.04. Cost USD 9.51 (USD 5.60 gas, USD 2.23 electric, USD 1.68 water). Heat1 had 53 transitions (oscillation), heat2 17 transitions. 4 ESP32 reboots (guru/panic + task wdt). vpd_target_center unconfirmed alerts persisted for hours (validates platform lesson). Multiple firmware relief ceiling and vent latch alerts during afternoon peak. Leak alerts during misting. Water 348 gal (238 mister). Score: 3/10

New finding: Heat stress hours are heavily inflated by tight nighttime crop band (temp_high ~67.5°F) while slab thermal mass holds greenhouse at 70-72°F overnight. Of 15.82h heat stress, estimated 8-10h are structural overnight band misalignment, not actual overheating. Heater oscillation (53 transitions) suggests the controller is fighting to maintain temp_low while simultaneously being above temp_high — an impossible band situation. The 4.5°F nighttime band (63-67.5°F) with slab retention of 70°F+ guarantees continuous out-of-band readings regardless of control strategy. → Added to Lessons Learned

Hypothesis

Testing: Mon/Tue overcast-to-clear paired comparison preserved (Mon clears 10 AM vs Tue all-day clear). Compare VPD stress onset and water usage 10 AM-2 PM both days. Expected outcome: Mon: compliance 12-20%, vpd_high 5-7h, cost USD 7-10. Tue: compliance 10-18%, vpd_high 6-9h, cost USD 8-11. Wed: 8-15% (worst), cost USD 6-9. Thu: 40-60%, cost USD 3-5. Fri: 50-70%, cost USD 4-7. Sat: 30-50%, cold_stress 4-6h, cost USD 6-10 (gas). Sun: 35-55%, cost USD 5-8. 7-day total: USD 39-60.

Setpoints

Monday April 20

Primary crop-band changes:

TimeValuesNote
09:00hyst 0.3Mon morning overcast — moderate posture before clearing at 1

Tactical tunable changes:

TimeValuesNote
09:00d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5Mon morning overcast — moderate posture before clearing at 1
10:00engage 1.3; all 1.6; gap 25Clouds clear 10 AM. Aggressive misting. Outdoor RH 15% dropp
13:00gap 20Peak solar 78°F/6% outdoor. Tightest gap, longest sealed win
18:00engage 1.5; all 1.8; gap 35Solar dropping. Taper misting.
19:44engage 1.6; all 1.9; gap 45SUNSET Mon. Night posture.

Tuesday April 21

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Tue. All-day clear — hardest hot day. Full param sta

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5SUNRISE Tue. All-day clear — hardest hot day. Full param sta
09:30engage 1.3; all 1.6; gap 25Dawn-clear 66°F/14%. Aggressive posture 90 min early.
12:00gap 20Peak ramp 80°F/9% outdoor. Tightest pulses.
15:00gap 15Absolute peak 83°F/8%. Maximum aggression.
18:00engage 1.5; all 1.8; gap 35Evening taper. Solar down.
19:44engage 1.6; all 1.9; gap 45SUNSET Tue. Night posture.

Wednesday April 22

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.3MIDNIGHT Wed. Overnight 60°F → 53°F, RH rising to 41%.
06:15hyst 0.3SUNRISE Wed. 86°F + wind day. Full param state. Budget reset

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5SUNRISE Wed. 86°F + wind day. Full param state. Budget reset
10:00engage 1.3; all 1.6; gap 25Clearing + wind. Shorter sealed windows.
14:00gap 20Peak 84°F/6% + 27-37 mph wind. Worst day.
18:00engage 1.5; all 1.8; gap 35Wind easing, dramatic evening cool-down.
19:44engage 1.6; all 1.9; gap 45SUNSET Wed. Weather shift begins. Transition to cold bias.

Thursday April 23

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Thu. Overcast, max 64°F. Full param state. Lower bud
12:00hyst 0.3Midday Thu. 63°F/15% overcast. Hold morning state.

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5SUNRISE Thu. Overcast, max 64°F. Full param state. Lower bud
19:44engage 1.6SUNSET Thu. Cold night: 45°F → 35°F. Heating priority. Longe

Friday April 24

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Fri. 34°F/79%. Full param state. Heating priority. L

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.6; all 2; pulse 60; gap 45; wt 2.5SUNRISE Fri. 34°F/79%. Full param state. Heating priority. L

Saturday April 25

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Sat. 32°F/96%. Full param state. Pure heating day. M

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.6; all 2; pulse 60; gap 45; wt 2.5SUNRISE Sat. 32°F/96%. Full param state. Pure heating day. M

Sunday April 26

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Sun. 34°F/86%. Full param state. Cold but warming tr

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.6; all 2; pulse 60; gap 45; wt 2.5SUNRISE Sun. 34°F/86%. Full param state. Cold but warming tr

Monday April 27

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.3SUNRISE Mon Apr 27. Jason home. Full param state. Normal pla

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5SUNRISE Mon Apr 27. Jason home. Full param state. Normal pla

Changed secondary parameters:

TimeParameterChange
09:00bias_coolinitial 4
09:00bias_heatinitial 4
09:00enthalpy_closeinitial 1
09:00enthalpy_openinitial -2
09:00fog_escalation_kpainitial 0.4
09:00min_fog_off_sinitial 60
09:00min_fog_on_sinitial 60
09:00min_heat_off_sinitial 300
09:00min_heat_on_sinitial 120
09:00min_vent_off_sinitial 60
09:00min_vent_on_sinitial 60
09:00mist_max_closed_vent_sinitial 300
09:00mist_thermal_relief_sinitial 90
09:00mist_vent_close_lead_sinitial 15
09:00mist_vent_reopen_delay_sinitial 45
09:00mister_water_budget_galinitial 700
09:00vpd_watch_dwell_sinitial 60
10:00bias_cool4 → 3
10:00bias_heat4 → 5
10:00fog_escalation_kpa0.4 → 0.3
10:00mist_max_closed_vent_s300 → 600
13:00mist_max_closed_vent_s600 → 700
18:00bias_cool3 → 4
18:00fog_escalation_kpa0.3 → 0.4
18:00mist_max_closed_vent_s700 → 300
19:44bias_cool4 → 5
19:44bias_heat5 → 4
19:44fog_escalation_kpa0.4 → 0.5
06:15bias_cool5 → 4
06:15fog_escalation_kpa0.5 → 0.4
09:30bias_cool4 → 3
09:30bias_heat4 → 5
09:30fog_escalation_kpa0.4 → 0.3
09:30mist_max_closed_vent_s300 → 600
12:00mist_max_closed_vent_s600 → 700
15:00mist_max_closed_vent_s700 → 600
18:00bias_cool3 → 4
18:00fog_escalation_kpa0.3 → 0.4
18:00mist_max_closed_vent_s600 → 300
19:44bias_cool4 → 5
19:44bias_heat5 → 4
19:44fog_escalation_kpa0.4 → 0.5
06:15bias_cool5 → 4
06:15fog_escalation_kpa0.5 → 0.4
10:00bias_cool4 → 3
10:00bias_heat4 → 5
10:00fog_escalation_kpa0.4 → 0.3
10:00mist_max_closed_vent_s300 → 480
18:00bias_cool3 → 4
18:00fog_escalation_kpa0.3 → 0.4
18:00mist_max_closed_vent_s480 → 300
19:44bias_cool4 → 5
19:44bias_heat5 → 3
19:44fog_escalation_kpa0.4 → 0.5
00:00min_heat_on_s120 → 180
06:15mister_water_budget_gal700 → 500
19:44bias_cool5 → 6
19:44bias_heat3 → 2
19:44min_heat_on_s180 → 300
06:15mister_water_budget_gal500 → 300
06:15mister_water_budget_gal300 → 200
12:00bias_cool6 → 5
06:15bias_heat2 → 3
06:15min_heat_on_s300 → 180
06:15mister_water_budget_gal200 → 400

🌆 Evening Cycle (7:50 PM) — iris-20260420-1945

Status

validated

Outcome score

5/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260420-0850

Previous hypothesis: JASON-AWAY CONSERVATIVE STAY-IN-BAND: 7-day coverage through Sunday Apr 27. Two distinct regimes: PHASE 1 (Mon-Wed): Extreme dry-hot. Outdoor 81-86°F, 5-8% RH, VPD 3.0-4.0 kPa. Conservative-aggressive misting: lower engage thresholds (1.3 kPa), generous water budgets (700 gal/day), moderate sealed windows (600s vs 900s — safer without Jason to catch thermal traps). Accept physics-limited heat stress but buy every VPD minute we can. Wednesday worst: 86°F + 27-37 mph wind, shortened sealed windows (480s). PHASE 2 (Thu): Transition. Overcast, 64°F peak. Minimal intervention needed. PHASE 3 (Fri-Sun): Cold front. 32-56°F outdoor, 50-97% RH. Full heating regime. Gas heater primary for efficiency. Minimal misting — ambient humidity keeps VPD naturally low. Dehumid may trigger on Sat/Sun (outdoor RH 80-97%)… Result: Evaluated overnight window only (8 PM Apr 20 → 6 AM Apr 21) — plan replaced at sunrise before daytime predictions could be tested. Overnight temps held 62-65°F (hypothesis predicted 65-70°F from slab retention — 3-5°F optimistic). VPD dipped to 0.40 kPa at 2 AM and hit 0.26 kPa during reboot cluster, triggering vpd_extreme warnings — not anticipated by hypothesis. 5 ESP32 reboots between 1:30-2:26 AM (guru/panic + task wdt) disrupted control continuity. bias_cool +5 successfully prevented vent oscillation during heating cycles — heat1 transitions appear reduced vs previous night (53→~30 est). Heat2 ran 2.69h for gas heating. Evening alerts included firmware vent latch and relief ceiling events from daytime carry-over (10-11 PM). Overall: adequate overnight management, slab prediction slightly optimistic, VPD low risk in the 1-3 AM window needs attention in future overnight plans. Score: 5/10

New finding: Overnight slab retention in spring with outdoor 50-60°F delivers 62-65°F, not 65-70°F as commonly predicted. Use 62-66°F as the overnight slab equilibrium range when outdoor is 48-55°F. VPD can dip below 0.35 kPa between 1-3 AM when RH climbs above 75% — consider whether vpd_low should be relaxed overnight to avoid unnecessary dehumid cycling. → Added to Lessons Learned

Hypothesis

Testing: Tue vs Wed paired comparison under near-identical heat/dryness (84°F/6% vs 85°F/5%) but different cloud profiles (Tue clear AM/variable PM vs Wed overcast AM/clearing PM) and wind (Tue light vs Wed 20+ mph). Compare: (1) VPD stress onset time, (2) fog activation count, (3) water usage, (4) whether Wed wind improves or degrades compliance vs Tue calm. Expected outcome: Tuesday: compliance 10-15%, heat_stress 6-9h (structural band + physics), vpd_high 8-12h, water 300-450 gal, cost USD 7-11. Wednesday: compliance 12-18% (cloudier morning delays onset), heat_stress 5-8h, vpd_high 7-10h, water 250-400 gal, cost USD 6-9. Thursday: compliance 25-35% (much milder), heat_stress 0-2h, vpd_high 2-4h, cost USD 4-7 (higher gas from cold overnight). 72h total: USD 17-27.

Setpoints

Monday April 20

Primary crop-band changes:

TimeValuesNote
20:00hyst 0.3Evening settle — outdoor 68°F/11% dropping. Anti-oscillation

Tactical tunable changes:

TimeValuesNote
20:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Evening settle — outdoor 68°F/11% dropping. Anti-oscillation

Tuesday April 21

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.3Midnight — outdoor 55°F/17%. Slab holds ~68°F. Heaters inter
05:30hyst 0.3Pre-dawn — coldest point 50°F outdoor. bias_heat +4 pre-warm
06:15hyst 0.3Sunrise — begin loosening mist thresholds. VPD weight 2.5 fo
09:30hyst 0.2VPD assault — outdoor 68°F/16% and climbing fast. Max aggres
12:00hyst 0.2Peak heat — 81-84°F outdoor, 7-8% RH, solar 803-852 W/m². Sh
15:00hyst 0.2Sustained peak — 83-84°F, variable clouds (31-63%). Solar re
18:00hyst 0.3Evening — solar fading but outdoor still 82°F/6%. Relax mist
19:45hyst 0.3Tue sunset — outdoor 79°F/6% dropping to 72 by 8 PM. Anti-os

Tactical tunable changes:

TimeValuesNote
00:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Midnight — outdoor 55°F/17%. Slab holds ~68°F. Heaters inter
05:30d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Pre-dawn — coldest point 50°F outdoor. bias_heat +4 pre-warm
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5Sunrise — begin loosening mist thresholds. VPD weight 2.5 fo
09:30d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5VPD assault — outdoor 68°F/16% and climbing fast. Max aggres
12:00d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Peak heat — 81-84°F outdoor, 7-8% RH, solar 803-852 W/m². Sh
15:00d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Sustained peak — 83-84°F, variable clouds (31-63%). Solar re
18:00d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5Evening — solar fading but outdoor still 82°F/6%. Relax mist
19:45d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Tue sunset — outdoor 79°F/6% dropping to 72 by 8 PM. Anti-os

Wednesday April 22

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.3Wed midnight — outdoor 60°F/13%, milder than Mon night. Slab
06:15hyst 0.3Wed sunrise — 100% overcast morning, slower ramp than Tue. M
10:00hyst 0.2Wed morning assault — clouds clearing, VPD climbing. 74°F/14
14:00hyst 0.2Wed peak — 85°F/6%, very windy (20 mph). Wind aids fan cooli
18:00hyst 0.3Wed evening — cool front pushing through. Outdoor dropping 7
19:45hyst 0.3Wed sunset — cool front arrived. Outdoor 55°F/37% by 9 PM. A

Tactical tunable changes:

TimeValuesNote
00:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Wed midnight — outdoor 60°F/13%, milder than Mon night. Slab
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5Wed sunrise — 100% overcast morning, slower ramp than Tue. M
10:00d_cool 2; engage 1.3; all 1.6; pulse 60; gap 20; wt 2.5Wed morning assault — clouds clearing, VPD climbing. 74°F/14
14:00d_cool 2; engage 1.3; all 1.6; pulse 60; gap 15; wt 2.5Wed peak — 85°F/6%, very windy (20 mph). Wind aids fan cooli
18:00d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5Wed evening — cool front pushing through. Outdoor dropping 7
19:45d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Wed sunset — cool front arrived. Outdoor 55°F/37% by 9 PM. A

Thursday April 23

Primary crop-band changes:

TimeValuesNote
00:00hyst 0.3Thu midnight — cold front. Outdoor 46°F/39%. bias_heat +4 fo
06:15hyst 0.3Thu sunrise — 47°F/31% outdoor, overcast. Cool day ahead. Co
12:00hyst 0.3Thu midday — 62°F/11% outdoor, overcast, windy. Much milder
19:45hyst 0.3Thu sunset — 60°F/20% outdoor. Standard overnight posture. C

Tactical tunable changes:

TimeValuesNote
00:00d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Thu midnight — cold front. Outdoor 46°F/39%. bias_heat +4 fo
06:15d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 2.5Thu sunrise — 47°F/31% outdoor, overcast. Cool day ahead. Co
12:00d_cool 3; engage 1.5; all 1.8; pulse 60; gap 35; wt 1.5Thu midday — 62°F/11% outdoor, overcast, windy. Much milder
19:45d_cool 3; engage 1.6; all 1.9; pulse 60; gap 45; wt 1.5Thu sunset — 60°F/20% outdoor. Standard overnight posture. C

Changed secondary parameters:

TimeParameterChange
20:00bias_coolinitial 5
20:00bias_heatinitial 3
20:00enthalpy_closeinitial 1
20:00enthalpy_openinitial -2
20:00fog_escalation_kpainitial 0.5
20:00min_fog_off_sinitial 60
20:00min_fog_on_sinitial 60
20:00min_heat_off_sinitial 300
20:00min_heat_on_sinitial 120
20:00min_vent_off_sinitial 60
20:00min_vent_on_sinitial 60
20:00mist_max_closed_vent_sinitial 600
20:00mist_thermal_relief_sinitial 90
20:00mist_vent_close_lead_sinitial 15
20:00mist_vent_reopen_delay_sinitial 45
20:00mister_water_budget_galinitial 500
20:00vpd_watch_dwell_sinitial 60
05:30bias_heat3 → 4
06:15bias_cool5 → 4
06:15fog_escalation_kpa0.5 → 0.4
06:15mist_max_closed_vent_s600 → 480
06:15vpd_watch_dwell_s60 → 45
09:30bias_cool4 → 0
09:30bias_heat4 → 0
09:30enthalpy_open-2 → -3
09:30fog_escalation_kpa0.4 → 0.3
09:30min_fog_off_s60 → 45
09:30min_fog_on_s60 → 45
09:30min_vent_off_s60 → 45
09:30min_vent_on_s60 → 45
09:30mist_thermal_relief_s90 → 60
09:30mist_vent_reopen_delay_s45 → 30
09:30vpd_watch_dwell_s45 → 30
12:00mist_max_closed_vent_s480 → 420
15:00mist_max_closed_vent_s420 → 480
18:00bias_cool0 → 4
18:00enthalpy_open-3 → -2
18:00fog_escalation_kpa0.3 → 0.4
18:00min_fog_off_s45 → 60
18:00min_fog_on_s45 → 60
18:00min_vent_off_s45 → 60
18:00min_vent_on_s45 → 60
18:00mist_max_closed_vent_s480 → 600
18:00mist_thermal_relief_s60 → 90
18:00mist_vent_reopen_delay_s30 → 45
18:00vpd_watch_dwell_s30 → 60
19:45bias_cool4 → 5
19:45bias_heat0 → 3
19:45fog_escalation_kpa0.4 → 0.5
06:15bias_cool5 → 4
06:15fog_escalation_kpa0.5 → 0.4
06:15mist_max_closed_vent_s600 → 480
06:15vpd_watch_dwell_s60 → 45
10:00bias_cool4 → 0
10:00bias_heat3 → 0
10:00enthalpy_open-2 → -3
10:00fog_escalation_kpa0.4 → 0.3
10:00min_fog_off_s60 → 45
10:00min_fog_on_s60 → 45
10:00min_vent_off_s60 → 45
10:00min_vent_on_s60 → 45
10:00mist_thermal_relief_s90 → 60
10:00mist_vent_reopen_delay_s45 → 30
10:00vpd_watch_dwell_s45 → 30
14:00mist_max_closed_vent_s480 → 420
18:00bias_cool0 → 4
18:00enthalpy_open-3 → -2
18:00fog_escalation_kpa0.3 → 0.4
18:00min_fog_off_s45 → 60
18:00min_fog_on_s45 → 60
18:00min_vent_off_s45 → 60
18:00min_vent_on_s45 → 60
18:00mist_max_closed_vent_s420 → 600
18:00mist_thermal_relief_s60 → 90
18:00mist_vent_reopen_delay_s30 → 45
18:00vpd_watch_dwell_s30 → 60
19:45bias_cool4 → 5
19:45bias_heat0 → 3
19:45fog_escalation_kpa0.4 → 0.5
00:00bias_heat3 → 4
06:15fog_escalation_kpa0.5 → 0.4
12:00bias_cool5 → 2
12:00bias_heat4 → 0
19:45bias_cool2 → 5
19:45bias_heat0 → 3
19:45fog_escalation_kpa0.4 → 0.5

End-of-Day Summary

Climate

Temperature

59.1–91.9°F; avg 74.0°F

VPD

0.23–3.12 kPa; avg 1.18 kPa

Relative humidity

25.8–88.6%

Stress Hours

  • Heat stress (>85°F): 17.7h
  • VPD stress (>2.0 kPa): 17.4h
  • Cold stress (<55°F): 1.0h

Economics

Electric

USD 2.47

Gas

USD 5.36

Water

USD 2.730

Total

USD 10.56

Equipment Runtimes

EquipmentRuntimeReading
Fan 1230 minPrimary exhaust runtime.
Fan 2242 minSecondary exhaust runtime.
Vent314 minIntake vent runtime.
Fog134 minFogger runtime.
Heat 1 electric724 minElectric heater runtime.
Heat 2 gas516 minGas heater runtime.
Grow lights0 minSupplemental lighting runtime.
Mister south1.50hSouth mister runtime.
Mister west1.45hWest mister runtime.
Mister center2.29hCenter mister runtime.

Water

  • Total: 565 gal
  • Mister: 133 gal

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Canna Liliessouth70%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vanda Orchidscenter70%4Observation notes are collapsed below to avoid publishing partial vision snippets.
lettuceeast58%4Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast60%4Observation notes are collapsed below to avoid publishing partial vision snippets.
strawberryeast65%4Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna LiliesGemini Vision notes

Canna lilies in pots on the floor appear generally healthy, though some lower leaves might be slightly yellow.

Vanda OrchidsGemini Vision notes

Hanging orchids appear healthy with extensive root systems visible.

lettuceGemini Vision notes

Seedlings appear healthy and are establishing well.

pepperGemini Vision notes

Seedlings look generally healthy, but some minor variation in size.

strawberryGemini Vision notes

Seedlings are green and appear to be growing normally.

Hourly Pattern

HourTemperatureVPDRH
12:0079.0°F1.27 kPa63.0%
13:0083.5°F1.73 kPa56.0%
14:0085.6°F1.79 kPa56.8%
15:0084.4°F2.02 kPa49.0%
16:0080.9°F1.84 kPa47.9%
17:0073.3°F0.91 kPa68.4%
18:0071.3°F0.69 kPa74.0%
19:0065.8°F0.83 kPa62.2%
20:0061.7°F0.56 kPa70.9%
21:0060.7°F0.49 kPa73.2%
22:0055.3°F0.81 kPa47.0%
23:0060.4°F0.94 kPa47.9%
00:0070.0°F1.02 kPa58.6%
01:0071.4°F1.09 kPa58.4%
02:0072.1°F1.12 kPa58.2%
03:0069.8°F1.00 kPa59.9%
04:0071.8°F1.12 kPa57.7%
05:0072.0°F1.14 kPa57.3%
06:0072.9°F1.14 kPa58.3%
07:0074.0°F1.11 kPa60.8%
08:0073.3°F0.98 kPa64.9%
09:0072.5°F0.96 kPa64.6%
10:0076.3°F1.01 kPa67.7%
11:0079.6°F1.13 kPa67.6%

7-Day Stress Context

DateHeatVPD highCold
2026-04-140.8h2.2h11.6h
2026-04-156.6h7.6h13.8h
2026-04-167.3h5.9h10.6h
2026-04-170.1h2.9h18.3h
2026-04-184.2h4.6h12.7h
2026-04-196.8h9.0h14.0h
2026-04-2017.7h17.4h1.0h