Known Limits
Verdify works because it is honest about the limits of the greenhouse. Some limits are physical. Some are sensor quality. Some are software reliability work that still needs to be tightened.
| Limit | Status badge | Where to inspect |
|---|---|---|
| Light measurement | Roadmap sensor fix | Climate evidence and Generated lessons |
| Misting geometry | Operational workaround | Planning Loop and Operations |
| Setpoint delivery | Guarded, still watched | AI-Writable Tunables and Data Model |
| Shade cloth | Physical upgrade needed | Climate constraints and Generated lessons |
| Intake probe | Direct sensor offline | Operations |
| Firmware change risk | Protocol-gated | Firmware Change Protocol |
| Model/local route limits | Local-first, not local-only | Local Inference Setup and OpenClaw Configuration |
Light Measurement
The LDR on GPIO35 saturates around 28,000 lux. A sunny Colorado day can exceed 100,000 lux outdoors, and the sensor is positioned where a tree shadows it during part of the morning. It also cannot see the grow lights clearly enough to measure their contribution.
The planner applies a correction factor, but this is still a workaround. A digital lux sensor remains the right fix.
Misting Geometry
South and west misters produce much stronger VPD response than center. The firmware now selects mister zones from crop-driven VPD stress instead of falling back to center, but the center nozzle geometry still underperforms.
Setpoint Delivery
The setpoint dispatcher verifies writes after sending them to the ESP32 because batch delivery can silently miss parameters. That verification is now part of the safety system, but dispatcher reliability remains a watch item.
The bounded parameter list being delivered is documented in AI-Writable Tunables.
Shade Cloth
Shade cloth is the most important missing physical upgrade. On hot sunny days, solar gain can exceed what the fans can remove. Software can reduce stress, pre-cool, and use mist/fog intelligently, but it cannot cool below ambient or remove roof solar load.
Intake Probe
The exterior intake probe has been offline since February 23, 2026. The firmware can use Tempest weather station data as a fallback, but direct intake measurement would be better.
ESP32 Reboots
March 2026 had a spike in ESP32 reboots. Reboots reset controller parameters to firmware defaults until the dispatcher pushes the active plan again. The recovery path works, but safer firmware defaults remain an important improvement.
Local Inference Route
Gemma 4 26B A4B (MoE), served locally under the gemma4-26b alias, is suitable for routine local-first checks but is not treated as a guaranteed full-plan engine yet. Required full-plan cycles can use the cloud peer until the local full-plan context trim passes a clean bake. The route is explicit in OpenClaw audit metadata; it is not a hidden fallback.
Related Evidence
- Generated lessons show validated operational findings.
- Planning loop explains how Iris works around known constraints.
- AI-Writable Tunables lists what Iris can and cannot change.
- Safety Architecture shows the relay-control boundary.
- Firmware Change Protocol documents replay and OTA safeguards.
- Operations shows live health, alerts, and controller state.