May 19, 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.
5
2
3
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| Morning planning cycle | 05:43 | SUNRISE | plan_written | Wrote public plan iris-20260519-0543. Resolved 05:46 MDT. |
| Solar peak planning checkpoint | 12:57 | SOLAR_MAX | acked | Acknowledged: SOLAR_MAX checked: live solar is materially above the near-term overcast forecast, but indoor response remains safe and covered by the active plan. House is IDLE at 73.4F, VPD 0.77 kPa, RH 73%, dew margin 9.0F; south VPD 1.06 remains below the 1.30 kPa high band. Current setpoints preserve the cold/saturated conservative moisture posture, and the active plan already has afternoon waypoints... Resolved 12:58 MDT. |
| Peak Stress | 14:59 | TRANSITION | acked | Acknowledged: Peak-stress transition checked: current house is tracking the existing cold/saturated plan. Climate is in band (74.5F vs 72-78F, VPD 0.84 vs 0.68-1.23), dew margin is safe at 9.8F, controller is IDLE, VPD-high/heat stress is not climbing, and active setpoints already match the conservative humidity-suppression posture. No tunable change needed. Resolved 14:59 MDT. |
| Decline | 19:14 | TRANSITION | acked | Acknowledged: Decline transition checked: greenhouse is tracking the existing cold/saturated evening plan. Current house is in band at 66.2F and 0.54 kPa VPD with safe 7.8F dew margin, IDLE mode, vent/fans/fog/misters off, and only heat1 active. Active setpoints are already conservative for the humidity rebound (mister_engage_kpa 2.45, mister_all_kpa 2.5, 60s gap, fog_escalation_kpa 1.0, vpd_hysteresis 0.5), with a future 20:30 waypoint carrying full conservative coverage. No tunable change warranted. Resolved 19:15 MDT. |
| Evening planning cycle | 20:14 | SUNSET | plan_written | Wrote public plan iris-20260519-2014. Resolved 20:16 MDT. |
🌅 Morning Cycle (5:46 AM) — iris-20260519-0543
validated
7/10
bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...
Reflection
Validating previous cycle: iris-20260518-2012
Previous hypothesis: SUNSET overnight plan for Monday 2026-05-18. Today’s score is strong versus the 7-day trend: 87.0 score, 88.6% both-axis compliance, VPD compliance 99.5%, 0 dp-risk hours, and only 8 gal total water. The bottleneck was temperature/cold alignment, not VPD; cold stress was 1.77h while VPD-high was 0h and VPD-low only 0.10h. Cost was gas-driven (USD 2.80 of USD 2.88) because the day stayed cold and saturated, but still below the 7-day average cost of USD 3.88 and much lower water than the 574 gal 7-day average. The evaluated sunrise plan scored 7 vs anchor 6, so no deviation explanation is needed; lesson 98 was validated. Tonight’s forecast is colder and saturated: 40F falling to 37-38F, RH 84-89%, outdoor VPD about 0.09-0.12 kPa, 100% cloud, and no solar. Current house is IDLE at 63.3F, VPD 0.46 kPa, RH 78%, dew margin 7.2F, with heat1 on… Result: SUNRISE 2026-05-19 plan-window result: planner score 85.4 with 86.0% both-axis compliance, 88.5% temp compliance, 96.7% VPD compliance, cost about USD 0.604, heat stress 0.27h, cold stress 1.04h, VPD-high 0.06h, and VPD-low 0.42h. The conservative moisture posture protected dew margin and prevented VPD-high/water waste despite the forecast being too cold and too dim versus actual conditions, but it did not fully eliminate low-VPD time. Main score loss was structural spring crop-band temperature alignment plus residual VPD-low on a cool humid day. Outcome score kept at 7/10 to match the existing anchor and prior validation. Score: 7/10
Hypothesis
Testing: Cold saturated daytime heat-bias taper: hold conservative humidity suppression fixed while easing bias_heat during weak daylight, then restore evening support. Expected outcome: Target score >85, both-axis compliance near 88%, VPD compliance >98%, VPD-high 0h, VPD-low <0.25h, dp-risk 0h, cold stress <2h, cost <USD 4.50.
Conditions
45.0°F
80.0%
100.0 W/m²
98.0%
Cold saturated overcast day. Current house 62.3F, VPD 0.51 kPa, RH 73%, dew margin 8.6F, heat1+heat2 on. Main risks are cold stress, gas cost, and VPD-low/condensation if misting occurs.
Expected stress windows
bias_heat 2.0, bias_cool 4.0, d_heat_stage_2 3.0, heat_hysteresis 1.5, dwell gate ON.
engage 2.45, all 2.5, delays 300/600s, gap 60s, fog_esc 1.0, vpd_hyst 0.50, sealed cap 120s.
bias_heat eased to 1.5-1.75 while bias_cool remains +4.
Parameter rationale
Cold stress under 2h without heat overshoot.
Avoid heater-to-vent cold whipsaw.
Misting near zero; VPD-low under 0.25h.
Avoid fog condensation; dp-risk 0h.
Reduce dehum/mist chatter.
Keep dew margin above 5F.
Reduce ordinary mode churn.
Setpoints
Tuesday May 19
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:55 | hyst 0.5 | Dawn cold saturated start: heat support active, suppress mis |
| 08:30 | hyst 0.5 | Morning overcast ramp: still 38-39F and 100% cloud, maintain |
| 11:30 | hyst 0.5 | Weak solar/noon: ease heat bias slightly to reduce overshoot |
| 14:30 | hyst 0.5 | Afternoon saturated/cloudy peak: outdoor only 42-45F, RH 84- |
| 17:30 | hyst 0.5 | Evening decline/rain risk: restore more heat bias as solar d |
| 20:30 | hyst 0.5 | Overnight handoff until SUNSET/next planner update: cold sat |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:55 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Dawn cold saturated start: heat support active, suppress mis |
| 08:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Morning overcast ramp: still 38-39F and 100% cloud, maintain |
| 11:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Weak solar/noon: ease heat bias slightly to reduce overshoot |
| 14:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Afternoon saturated/cloudy peak: outdoor only 42-45F, RH 84- |
| 17:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Evening decline/rain risk: restore more heat bias as solar d |
| 20:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | Overnight handoff until SUNSET/next planner update: cold sat |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:55 | bias_cool | initial 4 |
| 05:55 | bias_heat | initial 2 |
| 05:55 | d_heat_stage_2 | initial 3 |
| 05:55 | dwell_gate_ms | initial 300000 |
| 05:55 | enthalpy_close | initial 1 |
| 05:55 | enthalpy_open | initial -2 |
| 05:55 | fog_escalation_kpa | initial 1 |
| 05:55 | heat_hysteresis | initial 1.5 |
| 05:55 | min_fog_off_s | initial 180 |
| 05:55 | min_fog_on_s | initial 45 |
| 05:55 | min_heat_off_s | initial 180 |
| 05:55 | min_heat_on_s | initial 120 |
| 05:55 | min_vent_off_s | initial 60 |
| 05:55 | min_vent_on_s | initial 60 |
| 05:55 | mist_backoff_s | initial 2400 |
| 05:55 | mist_max_closed_vent_s | initial 120 |
| 05:55 | mist_thermal_relief_s | initial 90 |
| 05:55 | mister_all_delay_s | initial 600 |
| 05:55 | mister_engage_delay_s | initial 300 |
| 05:55 | mister_water_budget_gal | initial 600 |
| 05:55 | outdoor_staleness_max_s | initial 600 |
| 05:55 | sw_dwell_gate_enabled | initial 1 |
| 05:55 | sw_fog_closes_vent | initial 1 |
| 05:55 | sw_fsm_controller_enabled | initial 1 |
| 05:55 | sw_mister_closes_vent | initial 1 |
| 05:55 | sw_summer_vent_enabled | initial 1 |
| 05:55 | temp_hysteresis | initial 2 |
| 05:55 | vent_prefer_dp_delta_f | initial 5 |
| 05:55 | vent_prefer_temp_delta_f | initial 5 |
| 05:55 | vpd_watch_dwell_s | initial 120 |
| 11:30 | bias_heat | 2 → 1.75 |
| 14:30 | bias_heat | 1.75 → 1.5 |
| 17:30 | bias_heat | 1.5 → 1.75 |
| 20:30 | bias_heat | 1.75 → 2 |
🌆 Evening Cycle (8:16 PM) — iris-20260519-2014
validated
8/10
bias_cool, bias_heat, d_cool_stage_2, d_heat_stage_2, dwell_gate_ms, enthalpy_close, enthalpy_open, fog_escalation_kpa ...
Reflection
Validating previous cycle: iris-20260519-0543
Previous hypothesis: SUNRISE plan for Tuesday 2026-05-19. Yesterday scored 86.6 with 88.8% compliance, temp 89.1%, VPD 99.6%, 0 dp-risk, 8 gal water, and USD 3.36 cost mostly from gas. The evaluated overnight plan scored 8/10 with anchor 8. Today is cold, saturated, overcast: 37-45F, RH 80-94%, VPD 0.06-0.19 kPa, peak solar near 100 W/m2. I am preserving high moisture thresholds, conservative fog, short sealed-mist residence, wide VPD hysteresis, dwell gate ON, bias_cool +4, and gas staging; bias_heat tapers midday to reduce overshoot. Result: Plan-window result for 2026-05-19 SUNSET / midnight partial window: score 75.9, both-axis compliance 70.0%, temp compliance 70.0%, VPD compliance 100.0%, cost about USD 0.167, heat stress 0.00h, cold stress 0.01h, VPD-high 0.00h, VPD-low 0.00h. Hypothesis was mostly met on stress safety: conservative moisture suppression kept VPD-high, VPD-low, and dew risk at zero, and bias_heat 2.0 plus bias_cool +4 prevented meaningful cold stress. The score miss vs the >85% compliance target was temperature-band alignment in a very short partial window, not humidity control failure. Score: 8/10
New finding: Cold saturated midnight/pre-dawn windows with outdoor VPD near 0.05-0.15 kPa continue to validate high moisture thresholds and conservative fog: keep mister_engage_kpa about 2.35-2.50, mister_all_kpa 2.5, fog_escalation_kpa 1.0, 60s gaps, 300/600s mist delays, vpd_hysteresis 0.5, and a short 120s sealed cap while using bias_cool +4 and modest bias_heat for heat stability. → Added to Lessons Learned
Hypothesis
Testing: Cold saturated overnight posture: test whether bias_heat 2.0 during 23:00-08:30 plus bias_cool +4 and conservative moisture suppression keeps cold stress below 0.8h while maintaining 0 dp-risk and near-zero VPD-high. Expected outcome: Overnight target: both-axis compliance above 85%, temp compliance above 85%, VPD compliance above 95%, cold stress below 0.8h, VPD-high near 0h, VPD-low below 0.4h, dp_risk_hours 0, misting water near 0 gal, cost dominated by gas but below the recent USD 3.91 7-day daily average.
Conditions
45.0°F
89.0%
0.0 W/m²
100.0%
Cold saturated overnight: outdoor 45F at sunset falling to 43F pre-dawn, RH 89-95%, raw outdoor VPD 0.05-0.11 kPa, 100% cloud, no solar. Current greenhouse is about 64F, VPD 0.49 kPa, RH 77%, dew margin 7.5F, controller IDLE. Primary challenges are cold/crop-band scoring, gas cost, and avoiding VPD-low/condensation; dry-air VPD-high risk is minimal.
Expected stress windows
bias_cool +4, bias_heat 1.75 rising to 2.0 overnight, d_heat_stage_2 3.0, heat_hysteresis 1.5, dwell gate ON, and normal heat timers to avoid heater-to-vent oscillation while allowing sustained gas support.
mister_engage_kpa 2.45, mister_all_kpa 2.5, 300/600s mist delays, 60s pulse gaps, fog_escalation 1.0, vpd_hysteresis 0.50, and 120s sealed-mist cap; rely on firmware dehum/economiser behavior rather than adding moisture.
Parameter rationale
Keep overnight cold stress near or below 0.5-0.8h without materially increasing heat overshoot or gas cost.
Avoid vent dumps after heater overshoot and keep temperature compliance above 85%.
Keep physical misting near zero, VPD-high near zero, and dew-risk hours at 0.
Avoid fog-driven VPD-low or condensation pressure.
Maintain minimum dew-point margin above 5F.
Reduce ordinary mode churn without hiding real cold or dew-risk stress.
Setpoints
Tuesday May 19
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:20 | hyst 0.5 | evening_settle: preserve conservative moisture posture as ou |
| 23:00 | hyst 0.5 | midnight_posture: outdoor remains 44F and 90-92% RH; raise b |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:20 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | evening_settle: preserve conservative moisture posture as ou |
| 23:00 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | midnight_posture: outdoor remains 44F and 90-92% RH; raise b |
Wednesday May 20
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 04:30 | hyst 0.5 | pre_dawn: coldest and wettest forecast window near 43F, RH 9 |
| 08:30 | hyst 0.5 | morning_handoff: still overcast and saturated but temperatur |
| 14:30 | hyst 0.5 | tomorrow_solar_lift_fallback: forecast remains cool but sola |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 04:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | pre_dawn: coldest and wettest forecast window near 43F, RH 9 |
| 08:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | morning_handoff: still overcast and saturated but temperatur |
| 14:30 | d_cool 3; engage 2.45; all 2.5; pulse 60; gap 60; wt 2 | tomorrow_solar_lift_fallback: forecast remains cool but sola |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:20 | bias_cool | initial 4 |
| 20:20 | bias_heat | initial 1.75 |
| 20:20 | d_heat_stage_2 | initial 3 |
| 20:20 | dwell_gate_ms | initial 300000 |
| 20:20 | enthalpy_close | initial 1 |
| 20:20 | enthalpy_open | initial -2 |
| 20:20 | fog_escalation_kpa | initial 1 |
| 20:20 | heat_hysteresis | initial 1.5 |
| 20:20 | min_fog_off_s | initial 180 |
| 20:20 | min_fog_on_s | initial 45 |
| 20:20 | min_heat_off_s | initial 180 |
| 20:20 | min_heat_on_s | initial 120 |
| 20:20 | min_vent_off_s | initial 60 |
| 20:20 | min_vent_on_s | initial 60 |
| 20:20 | mist_backoff_s | initial 2400 |
| 20:20 | mist_max_closed_vent_s | initial 120 |
| 20:20 | mist_thermal_relief_s | initial 90 |
| 20:20 | mister_all_delay_s | initial 600 |
| 20:20 | mister_engage_delay_s | initial 300 |
| 20:20 | mister_water_budget_gal | initial 600 |
| 20:20 | outdoor_staleness_max_s | initial 600 |
| 20:20 | sw_dwell_gate_enabled | initial 1 |
| 20:20 | sw_fog_closes_vent | initial 1 |
| 20:20 | sw_fsm_controller_enabled | initial 1 |
| 20:20 | sw_mister_closes_vent | initial 1 |
| 20:20 | sw_summer_vent_enabled | initial 1 |
| 20:20 | temp_hysteresis | initial 2 |
| 20:20 | vent_prefer_dp_delta_f | initial 5 |
| 20:20 | vent_prefer_temp_delta_f | initial 5 |
| 20:20 | vpd_watch_dwell_s | initial 120 |
| 23:00 | bias_heat | 1.75 → 2 |
| 08:30 | bias_heat | 2 → 1.75 |
| 14:30 | bias_heat | 1.75 → 1.25 |
End-of-Day Summary
Climate
61.7–76.5°F; avg 67.9°F
0.33–1.28 kPa; avg 0.66 kPa
58.2–83.1%
Stress Hours
- Heat stress (>85°F): 0.4h
- VPD stress (>2.0 kPa): 0.1h
- Cold stress (<55°F): 1.9h
Economics
USD 5.92
USD 2.73
USD 0.110
USD 8.76
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 6 min | Primary exhaust runtime. |
| Fan 2 | 1 min | Secondary exhaust runtime. |
| Vent | 8 min | Intake vent runtime. |
| Fog | 0 min | Fogger runtime. |
| Heat 1 electric | 1325 min | Electric heater runtime. |
| Heat 2 gas | 263 min | Gas heater runtime. |
| Grow lights | 1678 min | Supplemental lighting runtime. |
| Mister south | 0.05h | South mister runtime. |
| Mister west | 0.03h | West mister runtime. |
| Mister center | 0.00h | Center mister runtime. |
Water
- Total: 22 gal
- Mister: 0 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 | 78% | 6 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| lettuce | east | 78% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| pepper | east | 73% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
| strawberry | east | 75% | 4 | Observation notes are collapsed below to avoid publishing partial vision snippets. |
Vision observation notes
Canna Lilies look generally healthy, but soil moisture is critically low.
Hanging orchids appear healthy with robust foliage.
Seedlings appear healthy and are establishing well.
Seedlings appear to be growing normally, but difficult to assess fine details in IR light.
Seedlings appear to be growing normally, but difficult to assess fine details in IR light.
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 73.3°F | 1.00 kPa | 64.7% |
| 13:00 | 73.9°F | 1.04 kPa | 64.1% |
| 14:00 | 73.5°F | 0.97 kPa | 65.9% |
| 15:00 | 73.5°F | 0.99 kPa | 65.1% |
| 16:00 | 71.4°F | 0.85 kPa | 67.8% |
| 17:00 | 69.2°F | 0.78 kPa | 68.4% |
| 18:00 | 66.9°F | 0.71 kPa | 68.7% |
| 19:00 | 65.0°F | 0.49 kPa | 77.4% |
| 20:00 | 63.9°F | 0.47 kPa | 77.4% |
| 21:00 | 63.3°F | 0.45 kPa | 77.8% |
| 22:00 | 63.3°F | 0.45 kPa | 77.5% |
| 23:00 | 63.4°F | 0.46 kPa | 77.4% |
| 00:00 | 63.2°F | 0.47 kPa | 76.7% |
| 01:00 | 63.1°F | 0.48 kPa | 76.0% |
| 02:00 | 63.4°F | 0.51 kPa | 74.9% |
| 03:00 | 63.2°F | 0.51 kPa | 74.5% |
| 04:00 | 63.3°F | 0.52 kPa | 74.2% |
| 05:00 | 64.1°F | 0.57 kPa | 72.6% |
| 06:00 | 65.6°F | 0.66 kPa | 69.9% |
| 07:00 | 68.1°F | 0.81 kPa | 66.6% |
| 08:00 | 70.9°F | 0.98 kPa | 63.2% |
| 09:00 | 72.9°F | 0.97 kPa | 65.6% |
| 10:00 | 73.4°F | 0.94 kPa | 67.3% |
| 11:00 | 73.2°F | 0.88 kPa | 69.9% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-05-13 | 12.0h | 8.0h | 0.6h |
| 2026-05-14 | 11.4h | 10.9h | 0.0h |
| 2026-05-15 | 5.8h | 6.3h | 0.2h |
| 2026-05-16 | 9.1h | 8.6h | 0.1h |
| 2026-05-17 | 3.1h | 3.2h | 0.4h |
| 2026-05-18 | 0.5h | 0.0h | 2.1h |
| 2026-05-19 | 0.4h | 0.1h | 2.0h |