April 27, 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

26

Plan writes

6

No-change acknowledgements

2

Pending

0

EventDeliveredTypeStatusResultResolvedNote
Midnight Posture00:00TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
New forecast data00:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data01:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data02:38FORECASTtimed_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-20260427-060606:08Wrote public plan iris-20260427-0606. Resolved 06:08 MDT.
Pre Dawn05:06TRANSITIONplan_writteniris-20260427-060606:08Wrote public plan iris-20260427-0606. Resolved 06:08 MDT.
New forecast data05:37FORECASTplan_writteniris-20260427-060606:08Wrote public plan iris-20260427-0606. Resolved 06:08 MDT.
Morning planning cycle06:06SUNRISEplan_writteniris-20260427-060606:08Wrote public plan iris-20260427-0606. Resolved 06:08 MDT.
New forecast data06:38FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data07:38FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data08:37FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data09:38FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data10:38FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data11:39FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data12:39FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data14:07FORECASTtimed_out-unknownDelivery recorded without a public plan write.
Peak Stress14:59TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
Tree Shade16:58TRANSITIONtimed_out-unknownDelivery recorded without a public plan write.
New forecast data17:18FORECASTtimed_out-unknownDelivery recorded without a public plan write.
New forecast data18:18FORECASTplan_writteniris-20260427-195219:54Wrote public plan iris-20260427-1952. Resolved 19:54 MDT.
Decline18:51TRANSITIONdelivery_failed-unknownDelivery recorded without a public plan write.
New forecast data19:18FORECASTdelivery_failed-unknownDelivery recorded without a public plan write.
Evening planning cycle19:52SUNSETplan_writteniris-20260427-195219:54Wrote public plan iris-20260427-1952. Resolved 19:54 MDT.
Evening Settle20:51TRANSITIONacked-20:52Acknowledged: Evening settle check: current climate is cool/high-RH but within the intended sunset posture. Heat1 is active against temp_low 62.1F; VPD 0.32 kPa is just above vpd_low 0.30 with dew point margin 5.5F. Active plan iris-20260427-1952 already suppresses mist/fog, widens VPD hysteresis, and uses bias_cool +4 / bias_heat +1 for anti-oscillation. No tunable change needed. Resolved 20:52 MDT.
New forecast data22:51FORECASTacked-22:53Acknowledged: FORECAST update reviewed at 22:51 MDT. New 24h forecast matches active sunset plan assumptions: cold/high-RH overnight through morning, overcast/light solar until midday, brief mixed dry/solar window Tuesday afternoon. Active plan already suppresses overnight mist/fog, widens VPD hysteresis, uses bias_cool +4 overnight, and steps to moderately more permissive misting at 15:00... Resolved 22:53 MDT.

🌅 Morning Cycle (6:08 AM) — iris-20260427-0606

Status

validated

Outcome score

4/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260426-1951

Previous hypothesis: SUNSET overnight posture for 2026-04-26: tonight’s main challenge is cold, saturated outdoor air creating condensation/VPD-low risk while the greenhouse also needs steady heat through a 38-45°F low. I am keeping heating modest (bias_heat +2 to +2.5, not raising temp_low), holding bias_cool +4 overnight to prevent heater→vent oscillation, widening mist gaps, and making mist/fog conservative until Monday’s midday dry window. Expect gas to drive cost overnight; compliance should improve versus today’s 28.9% if VPD-low hours stay under ~2h and cold stress stays under ~1h. Lesson #2 validated: forecast <45°F, so use gas/slab retention rather than expensive temp_low escalation. Result: 2026-04-27 complete-day metrics: planner_score 35.9, compliance 29.1%, temp compliance 41.7%, VPD compliance 74.2%. Stress was almost entirely VPD-low: 14.77h VPD-low vs 1.53h VPD-high, with 0h heat/cold stress. Cost was USD 5.53, below the 7-day average USD 6.96; water 16 gal vs 217 gal 7-day avg; therms 3.585 vs 4.528 avg; kWh 22.26 vs 19.4 avg. Dew point safety succeeded: dp_margin_min 5.0F, dp_risk 0h. Hypothesis miss: suppressing mist/fog preserved safety and water but did not recover VPD-low; forecast also severely undercalled solar (694 predicted vs 1237 W/m2 actual). Score: 4/10

New finding: On cool/high-RH recovery days, mist/fog suppression alone preserves dew-point safety but can leave VPD below band most of the day. If dp margin is safe, the next strategy should add active dehumidification/ventilation stability and avoid treating all high-RH days as pure mist-suppression days. → Added to Lessons Learned

Hypothesis

Testing: Cool-high-RH recovery posture: suppress mist/fog on Monday and grade against VPD-low hours plus dew-point risk, then compare to Tuesday/Wednesday moderate dry-window posture. Expected outcome: Monday: VPD-low stress under 4h, dew-point risk under 1h, cost below USD 7.50, no setpoint_unconfirmed alerts from mister_all_kpa. Tuesday/Wednesday dry windows: VPD-high under 3h/day without repeating VPD-low >4h.

Conditions

Outdoor peak

57.0°F

RH minimum

41.0%

Solar peak

694.0 W/m²

Cloud average

80.0%

Monday is cool/cloudy/high-RH with outdoor VPD under 1.0 kPa; Tuesday/Wednesday trend drier but still cool. Yesterday’s dominant stress was VPD-low plus 4.5h dew-point risk.

Expected stress windows

vpd_lowmedium · 2026-04-27T06:00:00-06:00 to 2026-04-27T20:00:00-06:00

mister_engage_kpa 2.2-2.5, mister_all_kpa 2.5, fog_escalation_kpa 0.9-1.0, mist_max_closed_vent_s 120

vpd_highmedium · 2026-04-28T14:00:00-06:00 to 2026-04-28T19:00:00-06:00

moderate dry-window posture: engage 1.4, all 2.0, gap 35, fog_escalation 0.45

Parameter rationale

mister_engage_kpa2.4 → 2.4; Mon outdoor VPD peaks only 0.94 kPa and RH remains high

prevent repeat of 11.3h VPD-low stress while keeping VPD-high under 2h

fog_escalation_kpa0.9 → 1.0; cool/high-RH day with prior dp_margin_min 3.1F

avoid fog-driven humidity overshoot and reduce dew-point risk hours below 1h

bias_heat2.5 → 0.0; gas cost was USD 5.04 yesterday; current temp/VPD are already in band

lower gas use toward 7d average while avoiding unnecessary heat cycling

mist_max_closed_vent_s180.0 → 120.0; VPD-low and condensation risk dominate today

limit sealed-humidity accumulation and hold dew point margin above 5F

Setpoints

Monday April 27

Primary crop-band changes:

TimeValuesNote
06:15hyst 0.45Cool humid dawn: inhibit mist/fog, allow dehumid ventilation
12:30hyst 0.4Mild solar peak: keep mist conservative but not impossible i
18:30hyst 0.45Rainy humid evening: keep fog/misters effectively out, modes

Tactical tunable changes:

TimeValuesNote
06:15d_cool 3; engage 2.4; all 2.5; pulse 45; gap 60; wt 1.5Cool humid dawn: inhibit mist/fog, allow dehumid ventilation
12:30d_cool 3; engage 2.2; all 2.5; pulse 45; gap 60; wt 1.8Mild solar peak: keep mist conservative but not impossible i
18:30d_cool 3; engage 2.5; all 2.5; pulse 45; gap 60; wt 1.5Rainy humid evening: keep fog/misters effectively out, modes

Tuesday April 28

Primary crop-band changes:

TimeValuesNote
08:30hyst 0.35Tuesday morning transition toward drier air: stage mist read
14:30hyst 0.3Tuesday dry/windy afternoon: moderate dry-stress posture, wi
20:30hyst 0.45Tuesday night cool-down: return to condensation guard and lo

Tactical tunable changes:

TimeValuesNote
08:30d_cool 3; engage 1.8; all 2.4; pulse 45; gap 45; wt 2Tuesday morning transition toward drier air: stage mist read
14:30d_cool 2; engage 1.4; all 2; pulse 60; gap 35; wt 2.5Tuesday dry/windy afternoon: moderate dry-stress posture, wi
20:30d_cool 3; engage 2.4; all 2.5; pulse 45; gap 60; wt 1.5Tuesday night cool-down: return to condensation guard and lo

Wednesday April 29

Primary crop-band changes:

TimeValuesNote
10:00hyst 0.3Wednesday dry ramp: maintain moderate VPD defense through th

Tactical tunable changes:

TimeValuesNote
10:00d_cool 2; engage 1.4; all 2; pulse 60; gap 35; wt 2.5Wednesday dry ramp: maintain moderate VPD defense through th

Thursday April 30

Primary crop-band changes:

TimeValuesNote
06:00hyst 0.45Thursday wet/cool reset: inhibit humidity additions and prot

Tactical tunable changes:

TimeValuesNote
06:00d_cool 3; engage 2.5; all 2.5; pulse 45; gap 60; wt 1.5Thursday wet/cool reset: inhibit humidity additions and prot

Changed secondary parameters:

TimeParameterChange
06:15bias_coolinitial 1.5
06:15bias_heatinitial 0
06:15enthalpy_closeinitial 1
06:15enthalpy_openinitial -2
06:15fog_escalation_kpainitial 1
06:15min_fog_off_sinitial 300
06:15min_fog_on_sinitial 60
06:15min_heat_off_sinitial 300
06:15min_heat_on_sinitial 180
06:15min_vent_off_sinitial 60
06:15min_vent_on_sinitial 180
06:15mist_max_closed_vent_sinitial 120
06:15mist_thermal_relief_sinitial 120
06:15mist_vent_close_lead_sinitial 15
06:15mist_vent_reopen_delay_sinitial 15
06:15mister_all_delay_sinitial 240
06:15mister_engage_delay_sinitial 120
06:15mister_water_budget_galinitial 500
06:15vpd_watch_dwell_sinitial 120
12:30bias_cool1.5 → 1
12:30fog_escalation_kpa1 → 0.9
12:30min_fog_off_s300 → 240
12:30mister_all_delay_s240 → 180
12:30mister_engage_delay_s120 → 90
18:30bias_cool1 → 4
18:30bias_heat0 → 0.5
18:30enthalpy_open-2 → -1
18:30fog_escalation_kpa0.9 → 1
18:30min_fog_off_s240 → 300
18:30min_heat_off_s300 → 360
18:30min_vent_off_s60 → 120
18:30mister_all_delay_s180 → 240
18:30mister_engage_delay_s90 → 120
08:30bias_cool4 → 2
08:30bias_heat0.5 → 0
08:30enthalpy_open-1 → -2
08:30fog_escalation_kpa1 → 0.8
08:30min_fog_off_s300 → 180
08:30min_heat_off_s360 → 300
08:30min_vent_off_s120 → 90
08:30mist_max_closed_vent_s120 → 180
08:30mist_thermal_relief_s120 → 90
08:30mist_vent_reopen_delay_s15 → 30
08:30mister_all_delay_s240 → 150
08:30mister_engage_delay_s120 → 60
08:30vpd_watch_dwell_s120 → 90
14:30bias_cool2 → 1
14:30fog_escalation_kpa0.8 → 0.45
14:30min_fog_off_s180 → 120
14:30min_vent_off_s90 → 60
14:30min_vent_on_s180 → 120
14:30mist_max_closed_vent_s180 → 240
14:30mister_all_delay_s150 → 90
14:30mister_engage_delay_s60 → 30
14:30vpd_watch_dwell_s90 → 60
20:30bias_cool1 → 4
20:30bias_heat0 → 0.5
20:30enthalpy_open-2 → -1
20:30fog_escalation_kpa0.45 → 1
20:30min_fog_off_s120 → 300
20:30min_heat_off_s300 → 360
20:30min_vent_off_s60 → 120
20:30min_vent_on_s120 → 180
20:30mist_max_closed_vent_s240 → 120
20:30mist_thermal_relief_s90 → 120
20:30mist_vent_reopen_delay_s30 → 15
20:30mister_all_delay_s90 → 240
20:30mister_engage_delay_s30 → 120
20:30vpd_watch_dwell_s60 → 120
10:00bias_cool4 → 1
10:00bias_heat0.5 → 0
10:00enthalpy_open-1 → -2
10:00fog_escalation_kpa1 → 0.5
10:00min_fog_off_s300 → 120
10:00min_heat_off_s360 → 300
10:00min_vent_off_s120 → 60
10:00min_vent_on_s180 → 120
10:00mist_max_closed_vent_s120 → 240
10:00mist_thermal_relief_s120 → 90
10:00mist_vent_reopen_delay_s15 → 30
10:00mister_all_delay_s240 → 90
10:00mister_engage_delay_s120 → 30
10:00vpd_watch_dwell_s120 → 60
06:00bias_cool1 → 3
06:00bias_heat0 → 0.5
06:00enthalpy_open-2 → -1
06:00fog_escalation_kpa0.5 → 1
06:00min_fog_off_s120 → 300
06:00min_heat_off_s300 → 360
06:00min_vent_off_s60 → 120
06:00min_vent_on_s120 → 180
06:00mist_max_closed_vent_s240 → 120
06:00mist_thermal_relief_s90 → 120
06:00mist_vent_reopen_delay_s30 → 15
06:00mister_all_delay_s90 → 240
06:00mister_engage_delay_s30 → 120
06:00vpd_watch_dwell_s60 → 120

🌆 Evening Cycle (7:54 PM) — iris-20260427-1952

Status

validated

Outcome score

4/10

Changed parameters

none recorded

Reflection

Validating previous cycle: iris-20260427-0606

Previous hypothesis: Cool, overcast, high-RH Monday should be managed as a VPD-low/condensation-risk day, not a dry-stress day. I am replacing the stale dry/mist-heavy posture with high mist/fog thresholds, short sealed windows, and modest heat bias only overnight; Tuesday/Wednesday dry windows get moderate mist readiness without repeating extreme-dry settings. Result: [backfill] compliance unavailable over plan window 2026-04-28 01:54 → 2026-04-28 13:35 Score: 4/10

Hypothesis

Testing: Cold/high-RH overnight anti-oscillation posture: bias_cool +4 and mist suppression should reduce vent/heater chatter and dew risk without forcing expensive continuous heat. Expected outcome: By Tuesday sunrise: dp_margin_min >=5F, dp_risk_hours=0, overnight vent transitions lower than today’s 129/24h pace, and therm usage below 7d average trajectory.

Setpoints

Monday April 27

Primary crop-band changes:

TimeValuesNote
20:05hyst 0.5evening_settle: outside air is cool and saturated; suppress

Tactical tunable changes:

TimeValuesNote
20:05d_cool 3; engage 2.5; all 2.5; pulse 45; gap 60; wt 1.5evening_settle: outside air is cool and saturated; suppress

Tuesday April 28

Primary crop-band changes:

TimeValuesNote
00:30hyst 0.5midnight_posture: forecast 41F and >90% RH; bias warmer inst
05:30hyst 0.5pre_dawn: maintain anti-oscillation posture through the cold
09:30hyst 0.45morning_recovery: clouds break briefly but outdoor remains c
15:00hyst 0.35tomorrow_dry_window: forecast RH drops toward 23-29% late da

Tactical tunable changes:

TimeValuesNote
00:30d_cool 3; engage 2.5; all 2.5; pulse 45; gap 60; wt 1.5midnight_posture: forecast 41F and >90% RH; bias warmer inst
05:30d_cool 3; engage 2.5; all 2.5; pulse 45; gap 60; wt 1.5pre_dawn: maintain anti-oscillation posture through the cold
09:30d_cool 3; engage 2; all 2.4; pulse 45; gap 45; wt 2morning_recovery: clouds break briefly but outdoor remains c
15:00d_cool 2; engage 1.5; all 2; pulse 60; gap 35; wt 2.5tomorrow_dry_window: forecast RH drops toward 23-29% late da

Changed secondary parameters:

TimeParameterChange
20:05bias_coolinitial 4
20:05bias_heatinitial 1
20:05enthalpy_closeinitial 1
20:05enthalpy_openinitial -2
20:05fog_escalation_kpainitial 1
20:05min_fog_off_sinitial 180
20:05min_fog_on_sinitial 45
20:05min_heat_off_sinitial 300
20:05min_heat_on_sinitial 180
20:05min_vent_off_sinitial 120
20:05min_vent_on_sinitial 180
20:05mist_max_closed_vent_sinitial 120
20:05mist_thermal_relief_sinitial 120
20:05mist_vent_close_lead_sinitial 15
20:05mist_vent_reopen_delay_sinitial 15
20:05mister_water_budget_galinitial 500
20:05vpd_watch_dwell_sinitial 120
00:30bias_heat1 → 1.5
05:30bias_heat1.5 → 1
09:30bias_cool4 → 2
09:30bias_heat1 → 0
09:30fog_escalation_kpa1 → 0.8
09:30min_fog_off_s180 → 120
09:30min_vent_off_s120 → 90
09:30mist_max_closed_vent_s120 → 180
09:30mist_vent_reopen_delay_s15 → 30
09:30vpd_watch_dwell_s120 → 90
15:00bias_cool2 → 1
15:00fog_escalation_kpa0.8 → 0.6
15:00min_fog_off_s120 → 90
15:00min_fog_on_s45 → 60
15:00mist_max_closed_vent_s180 → 240
15:00mist_thermal_relief_s120 → 90
15:00mist_vent_reopen_delay_s30 → 45
15:00vpd_watch_dwell_s90 → 60

End-of-Day Summary

Climate

Temperature

58.7–83.6°F; avg 65.6°F

VPD

0.29–2.60 kPa; avg 0.74 kPa

Relative humidity

28.5–83.2%

Stress Hours

  • Heat stress (>85°F): 1.9h
  • VPD stress (>2.0 kPa): 4.6h
  • Cold stress (<55°F): 15.4h

Economics

Electric

USD 2.47

Gas

USD 2.98

Water

USD 0.130

Total

USD 5.58

Equipment Runtimes

EquipmentRuntimeReading
Fan 1170 minPrimary exhaust runtime.
Fan 2160 minSecondary exhaust runtime.
Vent210 minIntake vent runtime.
Fog2 minFogger runtime.
Heat 1 electric876 minElectric heater runtime.
Heat 2 gas287 minGas heater runtime.
Grow lights0 minSupplemental lighting runtime.
Mister south0.05hSouth mister runtime.
Mister west0.07hWest mister runtime.
Mister center0.12hCenter mister runtime.

Water

  • Total: 27 gal
  • Mister: 5 gal

Crop Health (Gemini Vision)

CropZoneHealthObservationsNote
Canna Liliessouth73%3Observation notes are collapsed below to avoid publishing partial vision snippets.
Vanda Orchidscenter63%3Observation notes are collapsed below to avoid publishing partial vision snippets.
lettuceeast57%3Observation notes are collapsed below to avoid publishing partial vision snippets.
peppereast60%3Observation notes are collapsed below to avoid publishing partial vision snippets.
strawberryeast63%3Observation notes are collapsed below to avoid publishing partial vision snippets.
Vision observation notes
Canna LiliesGemini Vision notes

Canna Lilies on the floor in the south zone look generally healthy, though hard to see clearly.

Vanda OrchidsGemini Vision notes

Hanging orchids appear generally healthy, though some aerial roots look slightly dry.

lettuceGemini Vision notes

Seedlings appear healthy, but some are small.

pepperGemini Vision notes

Seedlings look robust and green.

strawberryGemini Vision notes

Strawberry seedlings look relatively healthy but could benefit from improved conditions.

Hourly Pattern

HourTemperatureVPDRH
12:0075.2°F0.90 kPa70.6%
13:0075.1°F0.86 kPa71.6%
14:0075.8°F0.93 kPa69.8%
15:0074.7°F0.90 kPa69.4%
16:0070.7°F0.64 kPa75.1%
17:0072.4°F0.89 kPa67.2%
18:0069.5°F0.83 kPa66.8%
19:0064.8°F0.46 kPa78.3%
20:0061.6°F0.36 kPa80.9%
21:0061.1°F0.37 kPa79.8%
22:0062.5°F0.41 kPa79.1%
23:0062.9°F0.42 kPa78.6%
00:0061.0°F0.38 kPa79.2%
01:0062.3°F0.43 kPa77.7%
02:0062.8°F0.45 kPa77.1%
03:0062.6°F0.44 kPa77.5%
04:0060.8°F0.39 kPa78.7%
05:0063.3°F0.49 kPa75.9%
06:0063.1°F0.60 kPa69.8%
07:0064.3°F0.80 kPa61.6%
08:0065.5°F0.94 kPa56.7%
09:0066.7°F1.06 kPa53.1%
10:0066.4°F1.15 kPa48.6%
11:0067.9°F1.31 kPa44.0%

7-Day Stress Context

DateHeatVPD highCold
2026-04-2111.1h12.6h2.2h
2026-04-229.7h12.9h3.2h
2026-04-232.0h15.5h8.5h
2026-04-246.9h22.5h10.9h
2026-04-259.0h12.7h2.3h
2026-04-264.3h2.9h3.6h
2026-04-271.9h4.6h15.4h