July 13, 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.
6
3
2
0
| Event | Delivered | Type | Status | Note |
|---|---|---|---|---|
| End-of-day review and reset | 00:16 | MIDNIGHT | plan_written | Wrote public plan iris-20260713-0016. Resolved 00:18 MDT. |
| Morning planning cycle | 05:44 | SUNRISE | plan_written | Wrote public plan iris-20260713-0544. Resolved 05:46 MDT. |
| Solar peak planning checkpoint | 13:08 | SOLAR_MAX | action_completed | Delivery recorded without a public plan write. Resolved 13:08 MDT. |
| Peak Stress | 15:07 | TRANSITION | acked | Acknowledged: Peak-stress checkpoint tracking existing hot-dry plan: house is hot/dry but controller is already in VENTILATE with vent, both fans, and fog active; dew margin is safe at 14.7F; wet/fog posture is already guardrail-compatible and aggressive (fog_escalation 0.15, mister_pulse_gap 22s, engage 1.25 near vpd_high 1.22, all-zone 1.42, 300 gal budget). Remaining heat/VPD error appears capacity/physics-limited rather than a missing tactical tunable. Resolved 15:08 MDT. |
| Decline | 19:31 | TRANSITION | acked | Acknowledged: TRANSITION decline no-op: live conditions are still hot/dry rather than entering VPD-low rebound. Current climate is 83.5F, VPD 1.74 kPa above 1.22 high, RH 56%, dew margin 17.5F, VENTILATE with vent/fan1/fan2/fog active. Existing iris-20260713-0544 already carries evening recovery/taper waypoints, so making an immediate conservative taper would violate the measured-recovery rule and risk worsening VPD-high stress. No tunable change made. Resolved 19:31 MDT. |
| Evening planning cycle | 20:31 | SUNSET | plan_written | Wrote public plan iris-20260713-2031. Resolved 20:33 MDT. |
🌅 Morning Cycle (12:18 AM) — iris-20260713-0016
validated
5/10
band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...
Reflection
Validating previous cycle: iris-20260712-0543
Previous hypothesis: SUNRISE plan for Sunday 2026-07-12. Yesterday/window scorecards are degraded by db_statement_timeout, and semantic retrieval is degraded because OPENAI_API_KEY is missing, so this plan is grounded in assembled context, live MCP climate/equipment, alerts, active lessons, and the 18h/72h forecast. I evaluated iris-20260711-2031 at 4/10, but the deterministic anchor was 1 because 686 VPD-high guardrail events and 650 held-by-guardrail events show the requested taper was poorly realized; the gap means I should privilege guardrail-compatible band-coupled values today instead of assuming the ESP32 received conservative overnight/resource values. Current house is safe and served: about 69F, VPD 0.79 kPa, RH 67%, dew margin 11.3F, IDLE, all equipment off. Today through Tuesday is an extreme hot-dry sequence near 97-100F, RH 10-14%, solar 850-930 W/m2… Result: Weekly cycle superseded the midnight plan early, so only the pre-dawn segment has outcome evidence. Safety held: live climate around 72.4F, VPD 1.20 kPa, RH 56%, dew margin 16.6F, no active unresolved alerts, and equipment truth shows VENTILATE with both fans and vent on, heaters and wet devices off. The plan’s pre-dawn objective mostly held: no cold response was needed and VPD stayed near the served high edge rather than severe. However the plan had not yet faced its main 100F/RH 10-15% peak hypothesis, daily scorecards timed out, semantic retrieval failed without OPENAI_API_KEY, and current VPD is already near the high edge with east at 1.33 kPa, so the hot-dry strategy remains unproven. Guardrail audit still shows held/missed moisture values, so confidence in exact materialization remains limited. Score: 5/10
New finding: For weekly early-morning supersession, evaluate the replaced midnight plan only on the completed pre-dawn objective; do not over-credit the untested daytime hot-dry hypothesis before peak evidence exists. → Added to Lessons Learned
Hypothesis
Testing: Guardrail-compatible persistence through a three-day 100F hot-dry sequence; judge success by fewer VPD-stress/vent-moisture-gap alerts and fewer held-by-guardrail events, not target hugging. Expected outcome: For the midnight-to-sunrise window: dew margin stays >=8F, no cold stress response is needed, and VPD remains near/inside the served corridor. For Monday peak: wet/fog assist is available before VPD blows out, water budget does not clip peak recovery, and VPD-high/vent-moisture-gap alerts are lower than Sunday even if heat misses remain partly physics-limited.
Conditions
100.0°F
10.0%
899.0 W/m²
5.0%
extreme clear hot-dry July sequence; forecast VPD has known positive bias, but corrected priors still show severe dry ramp after 09:00 and physics-limited heat by midday
Expected stress windows
restore full wet budget before ramp; moisture engage near vpd_high+0.05, all-zone near +0.22 to +0.25, fog escalation 0.15 during hot-dry VENTILATE if dew/RH/time gates allow
pre-cool lead 45 min, solar precool gain 1.5, all fans already enabled, accept physically limited misses near 100F
repeat guardrail-compatible hot-dry wet/fog assist and do not clock-taper before measured recovery
same pre-cool and vent-mist/fog posture
continue aggressive band-coupled moisture during the third hot-dry day
Parameter rationale
avoid water-budget clipping during peak VPD recovery while dew margin remains above 8F
materialize S1 mist near the dispatcher-owned vpd_high+0.05 rather than relying on guardrail correction
bring all-zone rotation near vpd_high+0.22 to +0.25 during broad-house dry stress
reduce VPD-high band error during peak dry ventilation without changing crop bands
increase wet duty at peak while using evening transitions to reduce churn after observed recovery
Setpoints
Monday July 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:16 | hyst 0.20749999999999996 | post-midnight resource posture while VPD is recovered and de |
| 05:30 | hyst 0.1825 | pre-dawn handoff restores full wet budget before the Monday |
| 08:00 | hyst 0.1725 | sunrise ramp: corrected VPD begins rising and previous day s |
| 11:00 | hyst 0.16749999999999998 | peak heat/dry ventilation: prioritize corridor compliance an |
| 17:30 | hyst 0.1825 | late peak: fog window may be closing but evening outdoor VPD |
| 21:30 | hyst 0.20749999999999996 | evening taper only after observed recovery; do not close S1 |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:16 | s2 1.965; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.3; all 1.52; pulse 30; gap 56.25; wt 1.4 | post-midnight resource posture while VPD is recovered and de |
| 05:30 | s2 1.7500000000000002; cool_exit 1.51; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 37.5; wt 1.6333333333333333 | pre-dawn handoff restores full wet budget before the Monday |
| 08:00 | s2 1.5825; cool_exit 1.33; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 41.25; gap 26.25; wt 1.7999999999999998 | sunrise ramp: corrected VPD begins rising and previous day s |
| 11:00 | s2 1.5675000000000001; cool_exit 1.24; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667 | peak heat/dry ventilation: prioritize corridor compliance an |
| 17:30 | s2 1.7; cool_exit 1.51; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 37.5; gap 33.75; wt 1.7000000000000002 | late peak: fog window may be closing but evening outdoor VPD |
| 21:30 | s2 1.95; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.29; all 1.5; pulse 30; gap 52.5; wt 1.4533333333333334 | evening taper only after observed recovery; do not close S1 |
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | hyst 0.1825 | Tuesday pre-dawn repeats severe hot-dry setup; restore wet b |
| 11:00 | hyst 0.16749999999999998 | Tuesday peak hot-dry VENTILATE assist posture |
| 21:30 | hyst 0.20749999999999996 | Tuesday evening recovery taper remains conditional on measur |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | s2 1.7500000000000002; cool_exit 1.51; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 37.5; wt 1.6333333333333333 | Tuesday pre-dawn repeats severe hot-dry setup; restore wet b |
| 11:00 | s2 1.5675000000000001; cool_exit 1.24; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667 | Tuesday peak hot-dry VENTILATE assist posture |
| 21:30 | s2 1.95; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.29; all 1.5; pulse 30; gap 52.5; wt 1.4533333333333334 | Tuesday evening recovery taper remains conditional on measur |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | hyst 0.1825 | Wednesday pre-dawn repeats dry ramp; preserve guardrail-comp |
| 11:00 | hyst 0.16749999999999998 | Wednesday peak extreme hot-dry posture |
| 21:30 | hyst 0.20749999999999996 | Wednesday evening handoff: conserve modestly while preservin |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | s2 1.7500000000000002; cool_exit 1.51; all_fans 0; dw_stress 0; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 37.5; wt 1.6333333333333333 | Wednesday pre-dawn repeats dry ramp; preserve guardrail-comp |
| 11:00 | s2 1.5675000000000001; cool_exit 1.24; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667 | Wednesday peak extreme hot-dry posture |
| 21:30 | s2 1.95; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 21; engage 1.29; all 1.5; pulse 30; gap 52.5; wt 1.4533333333333334 | Wednesday evening handoff: conserve modestly while preservin |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 00:16 | band_track_fraction | initial 0 |
| 00:16 | cold_vent_guard_delta_f | initial 8 |
| 00:16 | cool_stage2_exit_hysteresis_f | initial 1 |
| 00:16 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 00:16 | direct_wet_stress_vpd_margin_kpa | initial 0.08 |
| 00:16 | dwell_gate_ms | initial 270000 |
| 00:16 | enthalpy_close | initial 1 |
| 00:16 | enthalpy_open | initial -2 |
| 00:16 | fog_escalation_kpa | initial 0.3 |
| 00:16 | heat_hysteresis | initial 1 |
| 00:16 | min_fog_off_s | initial 96 |
| 00:16 | min_fog_on_s | initial 50.25 |
| 00:16 | mist_backoff_s | initial 600 |
| 00:16 | mist_max_closed_vent_s | initial 600 |
| 00:16 | mist_thermal_relief_s | initial 90 |
| 00:16 | mister_all_delay_s | initial 93 |
| 00:16 | mister_engage_delay_s | initial 46.5 |
| 00:16 | mister_water_budget_gal | initial 240 |
| 00:16 | night_vpd_bias_kpa | initial 0 |
| 00:16 | outdoor_staleness_max_s | initial 600 |
| 00:16 | sw_dwell_gate_enabled | initial 1 |
| 00:16 | sw_fog_closes_vent | initial 1 |
| 00:16 | sw_mister_closes_vent | initial 0 |
| 00:16 | sw_summer_vent_enabled | initial 1 |
| 00:16 | temp_hysteresis | initial 1.96 |
| 00:16 | vent_exchange_fraction | initial 0.3 |
| 00:16 | vent_prefer_dp_delta_f | initial 3 |
| 00:16 | vent_prefer_temp_delta_f | initial 4 |
| 00:16 | vpd_watch_dwell_s | initial 67.5 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 05:30 | dwell_gate_ms | 270000 → 195000 |
| 05:30 | fog_escalation_kpa | 0.3 → 0.2 |
| 05:30 | min_fog_off_s | 96 → 66 |
| 05:30 | min_fog_on_s | 50.25 → 61.5 |
| 05:30 | mister_all_delay_s | 93 → 70.5 |
| 05:30 | mister_engage_delay_s | 46.5 → 35.25 |
| 05:30 | mister_water_budget_gal | 240 → 300 |
| 05:30 | temp_hysteresis | 1.96 → 1.51 |
| 05:30 | vpd_watch_dwell_s | 67.5 → 48.75 |
| 08:00 | dwell_gate_ms | 195000 → 165000 |
| 08:00 | fog_escalation_kpa | 0.2 → 0.15 |
| 08:00 | min_fog_off_s | 66 → 48 |
| 08:00 | min_fog_on_s | 61.5 → 68.25 |
| 08:00 | mister_all_delay_s | 70.5 → 61.5 |
| 08:00 | mister_engage_delay_s | 35.25 → 30.75 |
| 08:00 | temp_hysteresis | 1.51 → 1.33 |
| 08:00 | vpd_watch_dwell_s | 48.75 → 41.25 |
| 11:00 | dwell_gate_ms | 165000 → 150000 |
| 11:00 | min_fog_off_s | 48 → 42 |
| 11:00 | min_fog_on_s | 68.25 → 70.5 |
| 11:00 | mister_all_delay_s | 61.5 → 60 |
| 11:00 | mister_engage_delay_s | 30.75 → 30 |
| 11:00 | temp_hysteresis | 1.33 → 1.24 |
| 11:00 | vpd_watch_dwell_s | 41.25 → 37.5 |
| 17:30 | dwell_gate_ms | 150000 → 195000 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:30 | min_fog_off_s | 42 → 60 |
| 17:30 | min_fog_on_s | 70.5 → 63.75 |
| 17:30 | mister_all_delay_s | 60 → 70.5 |
| 17:30 | mister_engage_delay_s | 30 → 35.25 |
| 17:30 | temp_hysteresis | 1.24 → 1.51 |
| 17:30 | vpd_watch_dwell_s | 37.5 → 48.75 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.07 |
| 21:30 | dwell_gate_ms | 195000 → 270000 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.3 |
| 21:30 | min_fog_off_s | 60 → 90 |
| 21:30 | min_fog_on_s | 63.75 → 52.5 |
| 21:30 | mister_all_delay_s | 70.5 → 93 |
| 21:30 | mister_engage_delay_s | 35.25 → 46.5 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 21:30 | temp_hysteresis | 1.51 → 1.96 |
| 21:30 | vpd_watch_dwell_s | 48.75 → 67.5 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.07 → 0.05 |
| 05:30 | dwell_gate_ms | 270000 → 195000 |
| 05:30 | fog_escalation_kpa | 0.3 → 0.2 |
| 05:30 | min_fog_off_s | 90 → 66 |
| 05:30 | min_fog_on_s | 52.5 → 61.5 |
| 05:30 | mister_all_delay_s | 93 → 70.5 |
| 05:30 | mister_engage_delay_s | 46.5 → 35.25 |
| 05:30 | mister_water_budget_gal | 260 → 300 |
| 05:30 | temp_hysteresis | 1.96 → 1.51 |
| 05:30 | vpd_watch_dwell_s | 67.5 → 48.75 |
| 11:00 | dwell_gate_ms | 195000 → 150000 |
| 11:00 | fog_escalation_kpa | 0.2 → 0.15 |
| 11:00 | min_fog_off_s | 66 → 42 |
| 11:00 | min_fog_on_s | 61.5 → 70.5 |
| 11:00 | mister_all_delay_s | 70.5 → 60 |
| 11:00 | mister_engage_delay_s | 35.25 → 30 |
| 11:00 | temp_hysteresis | 1.51 → 1.24 |
| 11:00 | vpd_watch_dwell_s | 48.75 → 37.5 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.07 |
| 21:30 | dwell_gate_ms | 150000 → 270000 |
| 21:30 | fog_escalation_kpa | 0.15 → 0.3 |
| 21:30 | min_fog_off_s | 42 → 90 |
| 21:30 | min_fog_on_s | 70.5 → 52.5 |
| 21:30 | mister_all_delay_s | 60 → 93 |
| 21:30 | mister_engage_delay_s | 30 → 46.5 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 21:30 | temp_hysteresis | 1.24 → 1.96 |
| 21:30 | vpd_watch_dwell_s | 37.5 → 67.5 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.07 → 0.05 |
| 05:30 | dwell_gate_ms | 270000 → 195000 |
| 05:30 | fog_escalation_kpa | 0.3 → 0.2 |
| 05:30 | min_fog_off_s | 90 → 66 |
| 05:30 | min_fog_on_s | 52.5 → 61.5 |
| 05:30 | mister_all_delay_s | 93 → 70.5 |
| 05:30 | mister_engage_delay_s | 46.5 → 35.25 |
| 05:30 | mister_water_budget_gal | 260 → 300 |
| 05:30 | temp_hysteresis | 1.96 → 1.51 |
| 05:30 | vpd_watch_dwell_s | 67.5 → 48.75 |
| 11:00 | dwell_gate_ms | 195000 → 150000 |
| 11:00 | fog_escalation_kpa | 0.2 → 0.15 |
| 11:00 | min_fog_off_s | 66 → 42 |
| 11:00 | min_fog_on_s | 61.5 → 70.5 |
| 11:00 | mister_all_delay_s | 70.5 → 60 |
| 11:00 | mister_engage_delay_s | 35.25 → 30 |
| 11:00 | temp_hysteresis | 1.51 → 1.24 |
| 11:00 | vpd_watch_dwell_s | 48.75 → 37.5 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.07 |
| 21:30 | dwell_gate_ms | 150000 → 270000 |
| 21:30 | fog_escalation_kpa | 0.15 → 0.3 |
| 21:30 | min_fog_off_s | 42 → 90 |
| 21:30 | min_fog_on_s | 70.5 → 52.5 |
| 21:30 | mister_all_delay_s | 60 → 93 |
| 21:30 | mister_engage_delay_s | 30 → 46.5 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 21:30 | temp_hysteresis | 1.24 → 1.96 |
| 21:30 | vpd_watch_dwell_s | 37.5 → 67.5 |
🌅 Morning Cycle (2:09 AM) — iris-20260713-0200
validated
5/10
band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...
Reflection
Validating previous cycle: iris-20260712-0543
Result: Weekly plan was superseded by sunrise after about 3.6h, so only the pre-dawn objective is gradable. Safety held and no heating/dew risk emerged; house stayed safe but dry-edge with VPD near/above the high edge. The plan did not yet face its main hot-dry daytime hypothesis, and guardrail/missed rows mean exact materialization confidence remains limited. Treat the score as partial evidence only. Score: 5/10
Hypothesis
Testing: Weekly guardrail-compatible persistence test: sustained band-coupled wet/fog assist across three 97-100F hot-dry days, with only modest overnight taper after measured recovery. Expected outcome: By Thursday 02:00 MDT: dew margin stays >=8F; fewer VPD-stress, house-too-dry, and vent-moisture-gap alerts than Sunday; peak water budget does not clip VPD recovery; heat misses may persist as physics-limited near 100F.
Setpoints
Monday July 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | hyst 0.1875 | Current safe but dry-edge VENTILATE; keep moisture surface o |
| 07:30 | hyst 0.1875 | Pre-stage dry ramp as fog window opens. |
| 11:00 | hyst 0.1875 | Peak dual heat and VPD stress; prioritize corridor complianc |
| 17:30 | hyst 0.1875 | Evening remains dry; keep recovery available. |
| 21:30 | hyst 0.1875 | Modest overnight taper after recovery window. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 02:00 | s2 1.6124999999999998; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Current safe but dry-edge VENTILATE; keep moisture surface o |
| 07:30 | s2 1.5150000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 39; gap 30; wt 1.7466666666666666 | Pre-stage dry ramp as fog window opens. |
| 11:00 | s2 1.4975; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.7666666666666666 | Peak dual heat and VPD stress; prioritize corridor complianc |
| 17:30 | s2 1.5975; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 36; gap 37.5; wt 1.7 | Evening remains dry; keep recovery available. |
| 21:30 | s2 1.7; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Modest overnight taper after recovery window. |
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | hyst 0.1875 | Restore full budget before Tuesday dry ramp. |
| 08:00 | hyst 0.1875 | Tuesday severe dry ramp; pre-stage assist. |
| 11:00 | hyst 0.1875 | Tuesday peak compliance-first posture. |
| 17:30 | hyst 0.1875 | Tuesday evening recovery. |
| 21:30 | hyst 0.1875 | Tuesday overnight taper. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | s2 1.58; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 37.5; wt 1.7 | Restore full budget before Tuesday dry ramp. |
| 08:00 | s2 1.5150000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 39; gap 30; wt 1.7466666666666666 | Tuesday severe dry ramp; pre-stage assist. |
| 11:00 | s2 1.4975; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.7666666666666666 | Tuesday peak compliance-first posture. |
| 17:30 | s2 1.615; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 36; gap 37.5; wt 1.7 | Tuesday evening recovery. |
| 21:30 | s2 1.7; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Tuesday overnight taper. |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | hyst 0.1875 | Restore full Wednesday budget. |
| 08:00 | hyst 0.1875 | Wednesday severe ramp. |
| 11:00 | hyst 0.1875 | Wednesday peak compliance-first posture. |
| 17:30 | hyst 0.1875 | Wednesday evening recovery. |
| 21:30 | hyst 0.1875 | Final overnight taper inside 72h envelope. |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:30 | s2 1.58; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 37.5; wt 1.7 | Restore full Wednesday budget. |
| 08:00 | s2 1.5150000000000001; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 39; gap 30; wt 1.7466666666666666 | Wednesday severe ramp. |
| 11:00 | s2 1.4975; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.7666666666666666 | Wednesday peak compliance-first posture. |
| 17:30 | s2 1.615; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 36; gap 37.5; wt 1.7 | Wednesday evening recovery. |
| 21:30 | s2 1.7; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 21; engage 1.27; all 1.47; pulse 33.75; gap 41.25; wt 1.7 | Final overnight taper inside 72h envelope. |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 02:00 | band_track_fraction | initial 0 |
| 02:00 | cold_vent_guard_delta_f | initial 8 |
| 02:00 | cool_stage2_exit_hysteresis_f | initial 1 |
| 02:00 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 02:00 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 02:00 | dwell_gate_ms | initial 210000 |
| 02:00 | enthalpy_close | initial 1 |
| 02:00 | enthalpy_open | initial -2 |
| 02:00 | fog_escalation_kpa | initial 0.2 |
| 02:00 | heat_hysteresis | initial 1 |
| 02:00 | min_fog_off_s | initial 72 |
| 02:00 | min_fog_on_s | initial 59.25 |
| 02:00 | mist_backoff_s | initial 600 |
| 02:00 | mist_max_closed_vent_s | initial 600 |
| 02:00 | mist_thermal_relief_s | initial 90 |
| 02:00 | mister_all_delay_s | initial 75 |
| 02:00 | mister_engage_delay_s | initial 37.5 |
| 02:00 | mister_water_budget_gal | initial 300 |
| 02:00 | night_vpd_bias_kpa | initial 0 |
| 02:00 | outdoor_staleness_max_s | initial 600 |
| 02:00 | sw_dwell_gate_enabled | initial 1 |
| 02:00 | sw_fog_closes_vent | initial 1 |
| 02:00 | sw_mister_closes_vent | initial 0 |
| 02:00 | sw_summer_vent_enabled | initial 1 |
| 02:00 | temp_hysteresis | initial 1.6 |
| 02:00 | vent_exchange_fraction | initial 0.3 |
| 02:00 | vent_prefer_dp_delta_f | initial 3 |
| 02:00 | vent_prefer_temp_delta_f | initial 4 |
| 02:00 | vpd_watch_dwell_s | initial 52.5 |
| 07:30 | fog_escalation_kpa | 0.2 → 0.15 |
| 07:30 | min_fog_off_s | 72 → 54 |
| 07:30 | min_fog_on_s | 59.25 → 66 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:30 | min_fog_off_s | 54 → 66 |
| 17:30 | min_fog_on_s | 66 → 61.5 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.25 |
| 21:30 | min_fog_off_s | 66 → 72 |
| 21:30 | min_fog_on_s | 61.5 → 59.25 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 05:30 | fog_escalation_kpa | 0.25 → 0.2 |
| 05:30 | min_fog_off_s | 72 → 66 |
| 05:30 | min_fog_on_s | 59.25 → 61.5 |
| 05:30 | mister_water_budget_gal | 260 → 300 |
| 08:00 | fog_escalation_kpa | 0.2 → 0.15 |
| 08:00 | min_fog_off_s | 66 → 54 |
| 08:00 | min_fog_on_s | 61.5 → 66 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:30 | min_fog_off_s | 54 → 66 |
| 17:30 | min_fog_on_s | 66 → 61.5 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.25 |
| 21:30 | min_fog_off_s | 66 → 72 |
| 21:30 | min_fog_on_s | 61.5 → 59.25 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
| 05:30 | fog_escalation_kpa | 0.25 → 0.2 |
| 05:30 | min_fog_off_s | 72 → 66 |
| 05:30 | min_fog_on_s | 59.25 → 61.5 |
| 05:30 | mister_water_budget_gal | 260 → 300 |
| 08:00 | fog_escalation_kpa | 0.2 → 0.15 |
| 08:00 | min_fog_off_s | 66 → 54 |
| 08:00 | min_fog_on_s | 61.5 → 66 |
| 17:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 17:30 | min_fog_off_s | 54 → 66 |
| 17:30 | min_fog_on_s | 66 → 61.5 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.25 |
| 21:30 | min_fog_off_s | 66 → 72 |
| 21:30 | min_fog_on_s | 61.5 → 59.25 |
| 21:30 | mister_water_budget_gal | 300 → 260 |
🌅 Morning Cycle (5:46 AM) — iris-20260713-0544
validated
5/10
band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...
Reflection
Validating previous cycle: iris-20260712-2032
Previous hypothesis: SUNSET plan for Sunday 2026-07-12. Context is degraded: daily scorecard timed out, semantic retrieval failed because OPENAI_API_KEY is missing, validate-plan-coverage and static site context are missing. I used live MCP climate, 12h forecast, alerts, active lessons, setpoints, guardrail audit, and plan_evaluate instead. I evaluated iris-20260712-0016 at 4/10 vs anchor 3 and iris-20260712-0543 at 5/10 vs anchor 2. The high self-score/anchor gap on the daytime plan is because safety and dew margin held and wet/fog assist was active, while the deterministic anchor correctly penalized 640 VPD-high guardrail events and 573 held-by-guardrail events. Tonight is warm/dry, not a heating event; main challenge is preserving evening VPD recovery without spending another high-water night, then reopening a full hot-dry posture before Monday’s severe ramp. Result: SUNRISE 2026-07-13 plan was directionally correct but only partially effective. Daily scorecard() is unavailable due db_statement_timeout, so evaluation uses the assembled window scorecard, alert history, structured predicted-vs-actual, and live context. Window scorecard for the governed interval shows compliance about 65.9, temp axis about 46.5, VPD axis about 35.2, heat stress about 6.1h and VPD-high about 7.8h. Alerts later reached 16.8h VPD stress with repeated house-too-dry and vent_moisture_capacity_limit warnings. Forecast hypothesis was broadly right: actual peak outdoor temp about 98F vs 100F predicted, solar 1066 W/m2 vs 902 predicted, and the day stayed hot/dry/clear. Wet/fog assist protected dew/safety and water budget was not the binding failure, but it did not pull VPD fully back inside band under physics-limited hot-dry ventilation. Utility/cost was driven by cooling, fog and misting water/electric runtime rather than gas; total water was about 346 gal, above the 7-day values except the prior 413 gal extreme day. The deterministic anchor should be treated as a materialization warning because recent guardrail/held-by-guardrail events repeatedly reshaped wet-assist values. Score: 5/10
New finding: On consecutive extreme July hot-dry days with outdoor RH near/below 15%, solar near/above 900 W/m2, and observed VPD still above band after sunset, guardrail-compatible wet/fog assist must remain active until sustained measured recovery; taper only modestly afterward because clock-based evening resource reduction leaves VPD-high alerts unresolved. → Added to Lessons Learned
Hypothesis
Testing: Guardrail-compatible persistence v2: keep wet/fog assist band-coupled through the measured dry recovery window, extending bounded evening wet recovery to 22:00 only when dew margin is safe. Expected outcome: Dew margin remains >8F, VPD-high alerts are lower than the 17.3h seen on 2026-07-12, water may remain high but should avoid low-value overnight misting, and remaining heat misses are treated as physically limited if outdoor approaches 100F.
Conditions
100.0°F
8.0%
902.0 W/m²
6.0%
extreme clear hot-dry July day; forecast VPD has known positive bias but corrected priors still show severe VPD-high from late morning through evening
Expected stress windows
band-coupled moisture engage near vpd_high+0.05, all-zone near +0.20 to +0.25, mist duty 35-40%, fog escalation 0.15 while gates allow, bounded wet recovery to 22:00
45 min thermal lead, solar precool gain 1.5, full cooling stack and VENTILATE wet/fog assist; accept physically limited misses near 100F
repeat guardrail-compatible wet/fog assist on the second severe day
same pre-cool and vent-mist assist; structural capacity likely dominates
Parameter rationale
keep S1 mist materialized near the dispatcher-owned vpd_high+0.05 instead of relying on guardrail correction
keep all-zone rotation available near vpd_high+0.25 during persistent VPD-high
reduce VPD-high band error during peak dry ventilation while dew margin remains above 8F
raise effective wet duty at peak; if guardrails hold gap nearer 30s, still avoid conservative 40s-plus peak gaps
avoid water-budget clipping during peak VPD recovery
permit bounded evening recovery while dew margin is healthy, then taper by measurement rather than clock time alone
Setpoints
Monday July 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 05:44 | hyst 0.1925 | Dawn safe and in corridor, but severe dry ramp begins by 08- |
| 08:00 | hyst 0.1875 | Morning ramp: forecast VPD crosses the high edge with solar |
| 11:00 | hyst 0.1825 | Peak approach: dual heat and VPD misses likely; compliance b |
| 15:00 | hyst 0.1825 | Peak heat/dry stress: 99-100F and RH near 9-13%; use full bo |
| 18:30 | hyst 0.1925 | Solar decline but outdoor VPD remains extreme; do not close |
| 21:30 | hyst 0.20249999999999999 | Evening recovery: taper water modestly only after peak solar |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 05:44 | s2 1.665; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.47; pulse 37.5; gap 33.75; wt 1.7000000000000002 | Dawn safe and in corridor, but severe dry ramp begins by 08- |
| 08:00 | s2 1.6090000000000002; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 41.25; gap 28.5; wt 1.7799999999999998 | Morning ramp: forecast VPD crosses the high edge with solar |
| 11:00 | s2 1.5735000000000001; cool_exit 1.51; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 45; gap 24; wt 1.8533333333333335 | Peak approach: dual heat and VPD misses likely; compliance b |
| 15:00 | s2 1.5675000000000001; cool_exit 1.51; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.42; pulse 45; gap 22.5; wt 1.8666666666666667 | Peak heat/dry stress: 99-100F and RH near 9-13%; use full bo |
| 18:30 | s2 1.685; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.47; pulse 39; gap 30; wt 1.7466666666666666 | Solar decline but outdoor VPD remains extreme; do not close |
| 21:30 | s2 1.8; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.52; pulse 31.5; gap 41.25; wt 1.58 | Evening recovery: taper water modestly only after peak solar |
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.1875 | Tuesday repeats the hot-dry ramp; restore full guardrail-com |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | s2 1.6; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 42; gap 26.25; wt 1.8066666666666666 | Tuesday repeats the hot-dry ramp; restore full guardrail-com |
Wednesday July 15
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | hyst 0.1875 | Wednesday remains hot and dry; keep morning posture until th |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 08:00 | s2 1.6; cool_exit 1.6; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 42; gap 26.25; wt 1.8066666666666666 | Wednesday remains hot and dry; keep morning posture until th |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 05:44 | band_track_fraction | initial 0 |
| 05:44 | cold_vent_guard_delta_f | initial 7 |
| 05:44 | cool_stage2_exit_hysteresis_f | initial 1 |
| 05:44 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 05:44 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 05:44 | dwell_gate_ms | initial 225000 |
| 05:44 | enthalpy_close | initial 1 |
| 05:44 | enthalpy_open | initial -2 |
| 05:44 | fog_escalation_kpa | initial 0.15 |
| 05:44 | heat_hysteresis | initial 1 |
| 05:44 | min_fog_off_s | initial 60 |
| 05:44 | min_fog_on_s | initial 63.75 |
| 05:44 | mist_backoff_s | initial 600 |
| 05:44 | mist_max_closed_vent_s | initial 600 |
| 05:44 | mist_thermal_relief_s | initial 90 |
| 05:44 | mister_all_delay_s | initial 79.5 |
| 05:44 | mister_engage_delay_s | initial 39.75 |
| 05:44 | mister_water_budget_gal | initial 300 |
| 05:44 | night_vpd_bias_kpa | initial 0 |
| 05:44 | outdoor_staleness_max_s | initial 600 |
| 05:44 | sw_dwell_gate_enabled | initial 1 |
| 05:44 | sw_fog_closes_vent | initial 1 |
| 05:44 | sw_mister_closes_vent | initial 0 |
| 05:44 | sw_summer_vent_enabled | initial 1 |
| 05:44 | temp_hysteresis | initial 1.69 |
| 05:44 | vent_exchange_fraction | initial 0.3 |
| 05:44 | vent_prefer_dp_delta_f | initial 3 |
| 05:44 | vent_prefer_temp_delta_f | initial 3 |
| 05:44 | vpd_watch_dwell_s | initial 56.25 |
| 08:00 | dwell_gate_ms | 225000 → 210000 |
| 08:00 | min_fog_off_s | 60 → 51.599999999999994 |
| 08:00 | min_fog_on_s | 63.75 → 66.9 |
| 08:00 | mister_all_delay_s | 79.5 → 75 |
| 08:00 | mister_engage_delay_s | 39.75 → 37.5 |
| 08:00 | temp_hysteresis | 1.69 → 1.6 |
| 08:00 | vpd_watch_dwell_s | 56.25 → 52.5 |
| 11:00 | dwell_gate_ms | 210000 → 195000 |
| 11:00 | min_fog_off_s | 51.599999999999994 → 44.4 |
| 11:00 | min_fog_on_s | 66.9 → 69.6 |
| 11:00 | mister_all_delay_s | 75 → 70.5 |
| 11:00 | mister_engage_delay_s | 37.5 → 35.25 |
| 11:00 | temp_hysteresis | 1.6 → 1.51 |
| 11:00 | vpd_watch_dwell_s | 52.5 → 48.75 |
| 15:00 | min_fog_off_s | 44.4 → 42 |
| 15:00 | min_fog_on_s | 69.6 → 70.5 |
| 18:30 | cold_vent_guard_delta_f | 7 → 8 |
| 18:30 | dwell_gate_ms | 195000 → 225000 |
| 18:30 | fog_escalation_kpa | 0.15 → 0.2 |
| 18:30 | min_fog_off_s | 42 → 54 |
| 18:30 | min_fog_on_s | 70.5 → 66 |
| 18:30 | mister_all_delay_s | 70.5 → 79.5 |
| 18:30 | mister_engage_delay_s | 35.25 → 39.75 |
| 18:30 | temp_hysteresis | 1.51 → 1.69 |
| 18:30 | vent_prefer_temp_delta_f | 3 → 4 |
| 18:30 | vpd_watch_dwell_s | 48.75 → 56.25 |
| 21:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.08 |
| 21:30 | dwell_gate_ms | 225000 → 255000 |
| 21:30 | fog_escalation_kpa | 0.2 → 0.25 |
| 21:30 | min_fog_off_s | 54 → 72 |
| 21:30 | min_fog_on_s | 66 → 59.25 |
| 21:30 | mister_all_delay_s | 79.5 → 88.5 |
| 21:30 | mister_engage_delay_s | 39.75 → 44.25 |
| 21:30 | temp_hysteresis | 1.69 → 1.87 |
| 21:30 | vpd_watch_dwell_s | 56.25 → 63.75 |
| 08:00 | cold_vent_guard_delta_f | 8 → 7 |
| 08:00 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 08:00 | dwell_gate_ms | 255000 → 210000 |
| 08:00 | fog_escalation_kpa | 0.25 → 0.15 |
| 08:00 | min_fog_off_s | 72 → 48 |
| 08:00 | min_fog_on_s | 59.25 → 68.25 |
| 08:00 | mister_all_delay_s | 88.5 → 75 |
| 08:00 | mister_engage_delay_s | 44.25 → 37.5 |
| 08:00 | temp_hysteresis | 1.87 → 1.6 |
| 08:00 | vent_prefer_temp_delta_f | 4 → 3 |
| 08:00 | vpd_watch_dwell_s | 63.75 → 52.5 |
🌆 Evening Cycle (8:33 PM) — iris-20260713-2031
validated
4/10
band_track_fraction, cold_vent_guard_delta_f, cool_exit_hysteresis_f, cool_stage2_exit_hysteresis_f, cool_stage2_over_high_f, direct_wet_stress_latest_hour, direct_wet_stress_min_dew_margin_f, direct_wet_stress_vpd_margin_kpa ...
Reflection
Validating previous cycle: iris-20260713-0544
Previous hypothesis: SUNRISE plan for Monday 2026-07-13. Daily scorecard is degraded by db_statement_timeout, and mandatory semantic retrieval is degraded because knowledge_search and lessons_search require OPENAI_API_KEY. I evaluated yesterday’s sunrise plan iris-20260712-0543 at 5/10, but the deterministic anchor was 2 because 640 VPD-high guardrail events and 573 held-by-guardrail events show the requested wet posture was repeatedly reshaped. I accept the anchor as the stronger materialization/compliance warning: safety and dew margin held, but VPD-high remained the limiting axis and water use rose to 413 gal. Current house is safe and inside corridor at about 70.3F, VPD 0.86 kPa, RH 66%, dew margin 11.8F, IDLE, with all relays off. Today’s forecast repeats extreme hot-dry stress: 100F, RH down to 8-11%, solar near 900 W/m2, and raw VPD near 6 kPa; corrected VPD remains severe after the morning ramp… Result: Sunset plan governed only the evening-to-midnight segment before this MIDNIGHT reset. Daily scorecard is unavailable due db_statement_timeout and the window row appears degraded/zeroed, so evaluation uses live MCP climate/equipment/alerts plus guardrail audit. Safety and dew margin held: at review house is about 72.9F, RH 56%, VPD 1.24 kPa, dew margin 16.8F, no unresolved active alerts, heaters off. The plan correctly identified VPD-high as the bottleneck and preserved wet/fog assist; controller/equipment shows VENTILATE with both fans, vent, fog and center mister active. Misses: VPD was not fully recovered by midnight (house VPD slightly above 1.22 high edge and east zone 1.43), VPD-stress alerts continued through 22:24 reaching 16.8h for the day, and guardrail audit shows requested evening taper values were repeatedly guardrailed/held/missed (mister thresholds, pulse gap, min_fog_off, direct_wet_stress_latest_hour). The hypothesis was directionally safe but over-credited overnight resource taper before measured VPD recovery. Score: 4/10
New finding: After an extreme hot-dry day, do not lower the water budget or relax mist/fog duty at sunset while house or priority occupied-zone VPD remains above the served high edge; keep guardrail-compatible wet assist active until sustained measured recovery, then taper modestly. → Added to Lessons Learned
Hypothesis
Conditions
96.0°F
12.0%
923.0 W/m²
0.0%
warm dry night after extreme hot-dry day; current VPD remains above band with safe dew margin, followed by another severe hot-dry clear day Tuesday
Expected stress windows
keep moisture engage near vpd_high+0.05, all-zone near +0.25, wet cutoff 22 while dew margin is safe; taper only after measured recovery
pre-dawn handoff restores band-coupled wet assist, duty 35%, fog escalation 0.15 during the firmware fog window, 300 gal practical cap
45 min thermal lead, solar precool gain 1.5, VENTILATE wet assist; accept physically limited heat misses near 96F
Parameter rationale
avoid suppressing S1 mist during live evening dry-edge recovery while dew margin remains above 8F
keep all-zone recovery available near vpd_high+0.25 until measured evening recovery
make fog available early in the next severe dry ramp if SUNRISE replanning is delayed
reduce low-value overnight water/relay churn after recovery without closing wet assist during active VPD-high
conserve overnight water after VPD recovery while preserving 300 gal peak budget for Tuesday
Setpoints
Monday July 13
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 20:31 | hyst 0.20249999999999999 | evening_settle: current VPD is still above band with 14F dew |
| 22:30 | hyst 0.2125 | late_evening_taper: after solar is gone and forecast tempera |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 20:31 | s2 1.84; cool_exit 1.87; all_fans 0; dw_stress 0; dw_until 22; engage 1.27; all 1.47; pulse 36; gap 37.5; wt 1.6533333333333333 | evening_settle: current VPD is still above band with 14F dew |
| 22:30 | s2 1.885; cool_exit 2.05; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.52; pulse 30; gap 48.75; wt 1.5 | late_evening_taper: after solar is gone and forecast tempera |
Tuesday July 14
Primary crop-band changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | hyst 0.22249999999999998 | midnight_posture: no heating risk and dew margin is safe; hu |
| 05:30 | hyst 0.20749999999999996 | pre_dawn: start reopening dry-ramp guard before sunrise with |
| 07:45 | hyst 0.1925 | morning_handoff: if SUNRISE is delayed, restore compliance-f |
Tactical tunable changes:
| Time | Values | Note |
|---|---|---|
| 00:30 | s2 1.915; cool_exit 2.23; all_fans 0; dw_stress 0; dw_until 22; engage 1.32; all 1.5699999999999998; pulse 30; gap 56.25; wt 1.4 | midnight_posture: no heating risk and dew margin is safe; hu |
| 05:30 | s2 1.73; cool_exit 1.96; all_fans 0; dw_stress 0; dw_until 22; engage 1.3; all 1.52; pulse 30; gap 45; wt 1.5333333333333332 | pre_dawn: start reopening dry-ramp guard before sunrise with |
| 07:45 | s2 1.5475; cool_exit 1.69; all_fans 0; dw_stress 1; dw_until 22; engage 1.27; all 1.44; pulse 41.25; gap 30; wt 1.7666666666666666 | morning_handoff: if SUNRISE is delayed, restore compliance-f |
Changed secondary parameters:
| Time | Parameter | Change |
|---|---|---|
| 20:31 | band_track_fraction | initial 0 |
| 20:31 | cold_vent_guard_delta_f | initial 8 |
| 20:31 | cool_stage2_exit_hysteresis_f | initial 1 |
| 20:31 | direct_wet_stress_min_dew_margin_f | initial 8 |
| 20:31 | direct_wet_stress_vpd_margin_kpa | initial 0.05 |
| 20:31 | dwell_gate_ms | initial 255000 |
| 20:31 | enthalpy_close | initial 1 |
| 20:31 | enthalpy_open | initial -2 |
| 20:31 | fog_escalation_kpa | initial 0.2 |
| 20:31 | heat_hysteresis | initial 1 |
| 20:31 | min_fog_off_s | initial 66 |
| 20:31 | min_fog_on_s | initial 61.5 |
| 20:31 | mist_backoff_s | initial 600 |
| 20:31 | mist_max_closed_vent_s | initial 600 |
| 20:31 | mist_thermal_relief_s | initial 90 |
| 20:31 | mister_all_delay_s | initial 88.5 |
| 20:31 | mister_engage_delay_s | initial 44.25 |
| 20:31 | mister_water_budget_gal | initial 240 |
| 20:31 | night_vpd_bias_kpa | initial 0 |
| 20:31 | outdoor_staleness_max_s | initial 600 |
| 20:31 | sw_dwell_gate_enabled | initial 1 |
| 20:31 | sw_fog_closes_vent | initial 1 |
| 20:31 | sw_mister_closes_vent | initial 0 |
| 20:31 | sw_summer_vent_enabled | initial 1 |
| 20:31 | temp_hysteresis | initial 1.87 |
| 20:31 | vent_exchange_fraction | initial 0.3 |
| 20:31 | vent_prefer_dp_delta_f | initial 3 |
| 20:31 | vent_prefer_temp_delta_f | initial 4 |
| 20:31 | vpd_watch_dwell_s | initial 63.75 |
| 22:30 | direct_wet_stress_vpd_margin_kpa | 0.05 → 0.08 |
| 22:30 | dwell_gate_ms | 255000 → 285000 |
| 22:30 | fog_escalation_kpa | 0.2 → 0.25 |
| 22:30 | min_fog_off_s | 66 → 84 |
| 22:30 | min_fog_on_s | 61.5 → 54.75 |
| 22:30 | mister_all_delay_s | 88.5 → 97.5 |
| 22:30 | mister_engage_delay_s | 44.25 → 48.75 |
| 22:30 | mister_water_budget_gal | 240 → 220 |
| 22:30 | temp_hysteresis | 1.87 → 2.05 |
| 22:30 | vpd_watch_dwell_s | 63.75 → 71.25 |
| 00:30 | cold_vent_guard_delta_f | 8 → 9 |
| 00:30 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.1 |
| 00:30 | dwell_gate_ms | 285000 → 315000 |
| 00:30 | fog_escalation_kpa | 0.25 → 0.3 |
| 00:30 | min_fog_off_s | 84 → 96 |
| 00:30 | min_fog_on_s | 54.75 → 50.25 |
| 00:30 | mister_all_delay_s | 97.5 → 106.5 |
| 00:30 | mister_engage_delay_s | 48.75 → 53.25 |
| 00:30 | mister_water_budget_gal | 220 → 180 |
| 00:30 | temp_hysteresis | 2.05 → 2.23 |
| 00:30 | vent_prefer_dp_delta_f | 3 → 4 |
| 00:30 | vent_prefer_temp_delta_f | 4 → 5 |
| 00:30 | vpd_watch_dwell_s | 71.25 → 78.75 |
| 05:30 | cold_vent_guard_delta_f | 9 → 8 |
| 05:30 | direct_wet_stress_vpd_margin_kpa | 0.1 → 0.08 |
| 05:30 | dwell_gate_ms | 315000 → 270000 |
| 05:30 | fog_escalation_kpa | 0.3 → 0.25 |
| 05:30 | min_fog_off_s | 96 → 78 |
| 05:30 | min_fog_on_s | 50.25 → 57 |
| 05:30 | mister_all_delay_s | 106.5 → 93 |
| 05:30 | mister_engage_delay_s | 53.25 → 46.5 |
| 05:30 | mister_water_budget_gal | 180 → 220 |
| 05:30 | temp_hysteresis | 2.23 → 1.96 |
| 05:30 | vent_prefer_dp_delta_f | 4 → 3 |
| 05:30 | vent_prefer_temp_delta_f | 5 → 4 |
| 05:30 | vpd_watch_dwell_s | 78.75 → 67.5 |
| 07:45 | direct_wet_stress_vpd_margin_kpa | 0.08 → 0.05 |
| 07:45 | dwell_gate_ms | 270000 → 225000 |
| 07:45 | fog_escalation_kpa | 0.25 → 0.15 |
| 07:45 | min_fog_off_s | 78 → 54 |
| 07:45 | min_fog_on_s | 57 → 66 |
| 07:45 | mister_all_delay_s | 93 → 79.5 |
| 07:45 | mister_engage_delay_s | 46.5 → 39.75 |
| 07:45 | mister_water_budget_gal | 220 → 300 |
| 07:45 | temp_hysteresis | 1.96 → 1.69 |
| 07:45 | vpd_watch_dwell_s | 67.5 → 56.25 |
End-of-Day Summary
Climate
69.8–89.8°F; avg 78.0°F
0.84–2.50 kPa; avg 1.26 kPa
44.5–74.2%
Interior Light Evidence
- Crop DLI: unavailable
- Reason:
source_reading_missing - Provenance:
legacy_invalid_exterior_proxy_plus_fixture_estimate - Validity:
dli-validity-v1; 2024-01-01T00:00:00+00:00 → open - Qualified-light minutes and photoperiod remain independent of unavailable DLI.
Stress Hours
- Heat stress (>85°F): 4.5h
- VPD stress (>2.0 kPa): 9.2h
- Cold stress (<55°F): 9.3h
Economics
USD —
USD 0.00
USD 1.670
USD —
Equipment Runtimes
| Equipment | Runtime | Reading |
|---|---|---|
| Fan 1 | 692 min | Primary exhaust runtime. |
| Fan 2 | 699 min | Secondary exhaust runtime. |
| Vent | 773 min | Intake vent runtime. |
| Fog | 384 min | Fogger runtime. |
| Heat 1 electric | 0 min | Electric heater runtime. |
| Heat 2 gas | 0 min | Gas heater runtime. |
| Grow lights | 955 min | Supplemental lighting runtime. |
| Mister south | 0.00h | South mister runtime. |
| Mister west | 0.00h | West mister runtime. |
| Mister center | 2.00h | Center mister runtime. |
Water
- Total: 346 gal
- Mister: 147 gal
Hourly Pattern
| Hour | Temperature | VPD | RH |
|---|---|---|---|
| 12:00 | 82.8°F | 1.32 kPa | 66.4% |
| 13:00 | 83.9°F | 1.49 kPa | 64.1% |
| 14:00 | 86.1°F | 1.83 kPa | 58.9% |
| 15:00 | 88.0°F | 2.03 kPa | 56.8% |
| 16:00 | 89.0°F | 2.36 kPa | 50.1% |
| 17:00 | 86.2°F | 2.16 kPa | 50.1% |
| 18:00 | 85.3°F | 2.11 kPa | 50.4% |
| 19:00 | 82.0°F | 1.31 kPa | 65.3% |
| 20:00 | 80.6°F | 1.20 kPa | 66.5% |
| 21:00 | 78.4°F | 1.16 kPa | 65.3% |
| 22:00 | 76.2°F | 1.23 kPa | 60.4% |
| 23:00 | 74.5°F | 1.23 kPa | 58.4% |
| 00:00 | 73.5°F | 1.15 kPa | 60.1% |
| 01:00 | 73.0°F | 1.15 kPa | 59.1% |
| 02:00 | 72.1°F | 1.18 kPa | 56.6% |
| 03:00 | 71.1°F | 1.16 kPa | 55.6% |
| 04:00 | 70.1°F | 1.13 kPa | 55.1% |
| 05:00 | 70.2°F | 0.91 kPa | 64.0% |
| 06:00 | 71.3°F | 0.92 kPa | 65.2% |
| 07:00 | 72.7°F | 1.00 kPa | 63.9% |
| 08:00 | 74.1°F | 1.04 kPa | 64.1% |
| 09:00 | 76.9°F | 1.12 kPa | 64.9% |
| 10:00 | 79.9°F | 1.18 kPa | 66.3% |
| 11:00 | 80.9°F | 1.14 kPa | 68.3% |
7-Day Stress Context
| Date | Heat | VPD high | Cold |
|---|---|---|---|
| 2026-07-07 | 0.8h | 12.5h | 0.0h |
| 2026-07-08 | 3.4h | 9.0h | 0.0h |
| 2026-07-09 | 0.5h | 4.6h | 0.0h |
| 2026-07-10 | 2.4h | 3.8h | 1.0h |
| 2026-07-11 | 3.8h | 9.0h | 9.2h |
| 2026-07-12 | 5.1h | 10.3h | 8.2h |
| 2026-07-13 | 4.5h | 9.2h | 9.3h |