{"generated_at":"2026-09-11T04:29:06.641901+00:00","timezone":"America/Denver","greenhouse_id":"vallery","data_health_status":"ok","climate_age_seconds":58,"open_critical_high_alerts":1,"planner_score_today":80.6,"planner_score_scope":"climate_only_resource_excluded","planner_score_resource_weight_pct":0,"planner_score_resource_terms_available":false,"both_axis_compliance_pct":80.6,"graded_compliance_attributable_pct":null,"temp_compliance_pct":67.6,"vpd_compliance_pct":77.1,"stress_axis_hours":5.77,"active_plan_id":"preemptive-20260911-0346","active_plan_status":"active","last_plan_id":"iris-20260910-1919","last_validated_plan_id":"iris-20260910-0016","cost_today_usd":null,"water_today_gal":null,"resource_accounting":{"water":{"ambiguous_gal":233.0,"ambiguous_runs":115,"attributed_gal":27.0,"available_for_scoring":false,"climate_wetting_gal":27.0,"command_only_runs":3,"conservation_error_gal":0.0,"date":"2026-09-10","greenhouse_id":"vallery","ledger_quality":"partial_day","manual_or_unattributed_gal":5.0,"meter_attributed_runs":17,"quality_filtered_meter_gal":265.0,"resource_quality":"partial_day","unsupported_path_gal":0.0,"wall_fertigation_gal":0.0,"wall_irrigation_gal":0.0},"energy":{"coefficient_revisions":[{"equipment":"vent","evidence_ref":"migration:085","high":12,"low":8,"nominal":10,"revision":"operator_catalog_2026_07_09","source":"operator","unit":"W"},{"equipment":"fan1","evidence_ref":"issue:#437,july-9-meter-audit","high":124,"low":102,"nominal":113,"revision":"meter_fit_2026_07_09","source":"meter_fit","unit":"W"},{"equipment":"fan2","evidence_ref":"issue:#437,july-9-meter-audit","high":124,"low":102,"nominal":113,"revision":"meter_fit_2026_07_09","source":"meter_fit","unit":"W"},{"equipment":"fog","evidence_ref":"issue:#437,july-9-meter-audit","high":620,"low":315,"nominal":468,"revision":"meter_fit_2026_07_09","source":"meter_fit","unit":"W"},{"equipment":"grow_light_main","evidence_ref":"vault:equipment.md","high":693,"low":567,"nominal":630,"revision":"operator_fixture_count_2026_07_09","source":"operator","unit":"W"},{"equipment":"grow_light_grow","evidence_ref":"vault:equipment.md","high":897.6,"low":734.4,"nominal":816,"revision":"operator_fixture_count_2026_07_09","source":"operator","unit":"W"},{"equipment":"heat1","evidence_ref":"issue:#437,july-9-meter-audit","high":1500,"low":1350,"nominal":1436,"revision":"meter_fit_2026_07_09","source":"meter_fit","unit":"W"}],"date":"2026-09-10","estimate_delta_kwh":null,"greenhouse_id":"vallery","kwh_estimated":null,"measured_available_for_scoring":false,"measured_kwh":11.145,"measured_quality":"partial_day","measured_scope":"partial_shelly_two_channels","meter_coverage_pct":93.2,"model_quality":"incomplete_runtime","modeled_available_for_scoring":false,"modeled_kwh_high":null,"modeled_kwh_low":null,"modeled_scope":"whole_controlled_equipment_runtime","quality_flag":"missing_runtime_model","runtime_coverage_pct":0.0,"runtime_evidence":[{"complete_day":false,"eligible":false,"equipment":"fan1","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"fan2","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"fog","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"grow_light_grow","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"grow_light_main","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"heat1","quality":"partial_day","start_state_known":true},{"complete_day":false,"eligible":false,"equipment":"vent","quality":"partial_day","start_state_known":true}]},"scalar_policy":"water_today_gal is null unless ledger conservation/coverage is scoring-eligible; modeled and partial-measured energy remain separate"},"active_relays":[],"active_control_crops":2,"public_plan_records":447,"climate_rows":414401,"lesson_rows_active":195,"controller_mode":"IDLE","planner_health":{"generated_at":"2026-09-11T04:29:14.399879+00:00","latest_required":[{"delivered_at":"2026-09-11T01:19:01.185215+00:00","due_at":"2026-09-11T01:49:01.185632+00:00","event_label":"Evening planning cycle","event_type":"SUNSET","expected_at":"2026-09-11T01:16:58.774526+00:00","instance":"local","resolved_at":"2026-09-11T01:20:59.53847+00:00","resulting_plan_id":"iris-20260910-1919","status":"plan_written","trigger_id":"4f37142a-f810-4dd0-b9fe-191876cc49b9"},{"delivered_at":"2026-09-10T12:38:18.935004+00:00","due_at":"2026-09-10T13:08:18.934165+00:00","event_label":"Morning planning cycle","event_type":"SUNRISE","expected_at":"2026-09-10T12:36:56.856202+00:00","instance":"local","resolved_at":"2026-09-10T12:40:07.315677+00:00","resulting_plan_id":"iris-20260910-0638","status":"plan_written","trigger_id":"9c71d8f8-8d30-4546-a6a2-35f57feacc0b"},{"delivered_at":"2026-09-10T06:16:43.23026+00:00","due_at":"2026-09-10T06:46:43.229919+00:00","event_label":"End-of-day review and reset","event_type":"MIDNIGHT","expected_at":"2026-09-10T06:15:00+00:00","instance":"local","resolved_at":"2026-09-10T06:18:35.517111+00:00","resulting_plan_id":"iris-20260910-0016","status":"plan_written","trigger_id":"30913801-81ba-4277-b373-8a92a78e7959"}],"missed_expected_count":0,"overdue_delivered_count":0,"recent_expected_count":10,"required_failure_count":0,"resolved_count":8},"planning_quality":{"planner_score_today":80.6,"planner_score_scope":"climate_only_resource_excluded","planner_score_resource_weight_pct":0,"resource_terms_available":false,"both_axis_compliance_pct":80.6,"graded_compliance_attributable_pct":null,"temp_compliance_pct":67.6,"vpd_compliance_pct":77.1,"stress_axis_hours":5.77,"stress_breakdown":{"heat_h":4.03,"cold_h":0.0,"vpd_high_h":1.74,"vpd_low_h":0.0},"last_validated_plan":{"plan_id":"iris-20260910-0016","outcome_score":8,"validated_at":"2026-09-11T01:19:35.450549+00:00"},"last_plan":{"plan_id":"iris-20260910-1919","created_at":"2026-09-11T01:20:59.538470+00:00","age_s":11292,"outcome_score":null,"validated_at":null,"status":"awaiting outcome"},"latest_lesson":{"id":292,"category":"cooling","lesson":"When a clear-day forecast materially overpredicts dryness/heat, keep band-coupled moisture assist available but gate escalation on live VPD and temperature; the 2026-09-09 plan contained VPD-high stress to 0.61h in its scoped window but should not pre-stage the most aggressive posture from forecast alone.","confidence":"low","times_validated":1,"last_validated":"2026-09-10T06:17:11.089027+00:00"}},"operations":{"data_health_status":"ok","latest_climate_ts":"2026-09-11T04:28:13.575674+00:00","latest_climate_age_s":58,"open_critical_high_alerts":1,"active_controller_mode":"IDLE","active_relays":[],"active_plan_id":"preemptive-20260911-0346","active_plan_status":"active","active_plan_age_s":2588,"last_plan_age_s":11292,"cost_today_usd":null,"water_today_gal":null,"mister_water_today_gal":null,"water_accounting_status":"partial_day","water_accounting_incomplete":true,"water_accounting_details":"accepted meter gallons are conserved across attributed, ambiguous, and manual_or_unattributed; inspect resource_accounting.water for coverage"}}