Pomona roadmap¶
Open edge AI for controlled agriculture.
Platform v0.1.0-alpha.1 · 11 phases (0–10) · 2 done · 8 active/partial · Phase 2 primary focus · Full tracker →
| # | Focus | Status |
|---|---|---|
| 0 | Repo, docs, open source | ✅ |
| 1 | Docker, core API, MQTT, simulator | ✅ |
| 2 | Dashboard + persistence | ⏳ partial — local SQLite/dashboard/Docker/simulation/backup validation complete; optional sensor-ingestion API-key auth added; authentication elsewhere, signed device identity, and production observability remain |
| 3 | Tomato reasoner | ⏳ partial — local Ollama/GGUF runtime is wired behind deterministic guarding; checkpoint quality still needs improvement |
| 3b | Water/irrigation reasoner | ⏳ partial — v0.1.8 release candidate published; guarded platform wiring verified locally |
| 4 | Safety checker | ⏳ partial — deterministic tomato and actuator gates implemented |
| 5 | LLM advisor (HF) | ⏳ partial — adapter/router contract exists; live backend remains optional |
| 6 | Automation (suggestions) | ⏳ partial — services/automation-engine live: YAML rules, suggestions, manual approve/reject; deployed at automation-engine-fawn.vercel.app; dashboard integration and bounded SQLite history available locally |
| 7 | Public browser demo | ⏳ partial — static guarded demo live; full platform playground still planned |
| 8 | ESP32 devices | ⬜ |
| 9 | Model registry | ⏳ partial — models/registry/ |
| 10 | Train reasoner models | ⏳ partial — v0.1.7 LoRA on HF |
Product phases and release versions are separate. See VERSIONING.md.
Key milestones¶
Tracked two ways: what's sustainable (works without ongoing hand-holding) and what's still manual toil (needs a person, a script, or a decision every time). Closing the second list is how the first list stays true.
Sustainable — shipped and self-maintaining¶
- Deterministic safety layer is the final authority everywhere; it's rule code, not a model, so it doesn't drift or degrade over time.
- 5 models + 1 dataset published on Hugging Face, bundled in one Collection.
- Free, static public demo Space — no server to run, no paid tier, no hosting bill.
- CI (
.github/workflows/ci.yml) runs all six Python service test suites on every push/PR. make local-checkverifies the platform without Docker — lowers the bar for anyone else to confirm a change works.- First tagged GitHub release
(
v0.1.0-alpha.1).
Manual toil — real, current, tracked here so it doesn't get lost¶
- Keep the combined local and per-service CI suites aligned as new services
and shared contracts are added. Run
make test-localto verify the current baseline across all six Python services. scripts/run_local_validation.shdidn't start thedigital-twinservice, so the dashboard's new digital-twin health check always failedmake local-check— fixed by starting it alongside the other four services in that script.- Tomato, water/irrigation, and nutrient/pH-EC now have guarded local Ollama
runtime paths with schema-constrained decoding, but sensor quality, safety
triage, and actuator gate still use deterministic fallback in the
platform. The tomato v0.1.7 GGUF also remains below standalone quality
(0.60 F1 on the 15-case golden smoke suite), so deterministic rules must
remain authoritative —
hybrid_guardedmode validates model output but intentionally discards it in favor of rules; onlymodel_only(evaluation) surfaces raw model output. - One maintainer, one set of GitHub/HF credentials. No documented continuity or handoff process if that becomes unavailable.
- Naming drift between the dataset, hardware contract, and deployed code
(e.g. today's
hydroponic/hydroponic_greenhouse/controlled_greenhousefix) isn't caught automatically — only manual review finds it.
Phase 8 hardware design inspiration¶
OpenValve is an open-hardware, 3D-printable, bistable pinch valve designed for small greenhouse and irrigation systems, including gravity-fed water. It is noted here only as design inspiration for Phase 8 actuator hardware — Pomona has not integrated, purchased, bench tested, or adopted it, and there is no current plan to build an adapter for it.
Whatever irrigation actuator hardware Pomona eventually targets in Phase 8, the same non-negotiable safety principles apply:
- electrical isolation, default-safe (fail-closed) behavior, manual close/override, command acknowledgement, and recovery after power or network loss;
- maximum open duration and flow limits, leak detection, stale-sensor blocking, and an allowlisted irrigation-only command schema;
- every proposed command routed through the deterministic safety checker, with human approval required during hardware validation;
- an advisory-only model-router: no LLM output may directly operate an actuator;
- no nutrient, fertilizer, pesticide, or other chemical dosing.
OpenValve hardware is published under its own license; any future reference would link to the upstream design rather than copy it into this repository.
Repos and releases¶
| What | GitHub | Hugging Face |
|---|---|---|
| Platform (this repo) | okyanu/pomona | — |
| Agronomist training | pomona-agronomist-llm (not yet published) |
ai-pomona-agronomist-gemma4 |
| Tomato risk reasoner | registry YAML | pomona-tomato-risk-reasoner-v0.1.7-lora |
| Water/irrigation reasoner | registry YAML | pomona-water-irrigation-risk-reasoner-v0.1.8-lora |
| Actuator command gate | registry YAML | pomona-actuator-command-gate-reasoner-v0.1-lora — research preview |
| Greenhouse sensor dataset | datasets/pomona-tomato-risk-v0.1/ | greenhouse-sensor-data |
Small Reasoner Roadmap¶
GitHub contains platform code, deterministic safety logic, docs, schemas, and metadata. Hugging Face contains model weights and clean published dataset artifacts.
Current best model set:
| Reasoner | Status | Notes |
|---|---|---|
Tomato risk v0.1.7 |
Published | Best tomato risk-label adapter; use with deterministic tomato rules |
Sensor quality v0.1.1-boundary |
Local, not published | Good enough for first integration; detects missing/suspect/stale/conflicting sensor packets |
Safety triage v0.1 |
Local, not published | Good enough for first integration; classifies unsafe proposed actions |
Water / irrigation risk v0.1.8 |
Published release candidate | Advisory; deterministic validation and human review required |
Actuator command gate v0.1 |
Published research preview | Below standalone gate; deterministic checker remains final authority |
Actuator command gate v0.1.1-hardcases |
Rejected | Local eval regression; do not use |
Actuator command gate v0.1.2-correction |
Rejected | Independent-eval regression; do not use |
Nutrient / pH-EC v0.1.1-correction |
Published | LoRA, GGUF, and MLX; use only through the deterministic guarded route |
Next integration work:
POST /v1/reasoners/sensor-quality
POST /v1/reasoners/tomato-risk
POST /v1/reasoners/safety-triage
POST /v1/actuator-command-gate/check
Future model families:
strawberry risk reasoner
lettuce risk reasoner
aquaponic water chemistry reasoner
daily farm summary reasoner
digital twin scenario reasoner
Do not let any model directly control actuators. All actuator or chemical decisions must pass deterministic safety checks and human approval paths.
Implementation detail: PROJECT_STATUS.md