Phases¶
Platform version: v0.1.0-alpha.1 · Total: 11 phases (Phase 0 → Phase 10)
| Count | |
|---|---|
| ✅ Completed | 2 (Phase 0, Phase 1) |
| ⏳ Active / partial | 8 (Phases 2, 3, 4, 5, 6, 7, 9, 10) |
| ⬜ Remaining | 1 (Phase 8) |
Source of truth for phase status. When a phase finishes, update this file first, then ROADMAP.md, PROJECT_STATUS.md, and README.md.
Status table¶
| Phase | Name | Status |
|---|---|---|
| 0 | Project setup & open source | ✅ Done |
| 1 | Local MVP (Docker, core, simulator) | ✅ Done |
| 2 | Dashboard + database | ⏳ In progress |
| 3 | Tomato greenhouse reasoner | ⏳ Partial — HF adapter + guarded local Ollama/GGUF runtime; model quality hardening pending |
| 4 | Safety checker | ⏳ Partial — deterministic tomato and actuator gates implemented; full chain pending |
| 5 | Agronomist LLM adapter | ⏳ Partial — HF adapter + model-router contract; live backend wiring pending |
| 6 | Automation engine | ⏳ Partial — YAML rules, suggestions, and manual approve/reject live in services/automation-engine; dashboard integration (evaluate, list, approve/reject) live in services/dashboard |
| 7 | Public browser demo | ⏳ Partial — static guarded demo live; full platform playground still planned |
| 8 | ESP32 / real devices | ⬜ Planned — see EDGE_CONTROLLER_DESIGN_NOTES.md (exploratory, pre-implementation) |
| 9 | Model registry standard | ⏳ Partial — public YAML registry and HF lifecycle metadata |
| 10 | Fine-tune pipeline | ⏳ Partial — dataset builders, validators, Colab training, and clean evaluation |
Legend: ✅ Done · ⏳ Active or partial · ⬜ Planned
Phase status measures product completion. It is intentionally separate from platform and model versions; see VERSIONING.md.
Current Phase 2 checkpoint¶
Phase 2 is partially implemented locally, with its local Docker validation checkpoint complete:
- Core persists sensor events in SQLite and survives a service restart.
- The dashboard monitoring views show readings, guarded pipeline output, audit summaries, service status, and runtime status.
- Local automation history persists on a separate Compose volume. Manual
decisions record an optional unverified reviewer label and a timestamp;
they never execute hardware.
MAX_SUGGESTIONSbounds history retention. make demo-localruns three offline tomato scenarios using the actual rules, without a server, model downloads, persistent suggestions, or approvals.make local-checkruns the service tests and the temporary-state four-service validation runner.make docker-configvalidates Compose syntax, and the local Docker Compose smoke benchmark passes all four scenarios.
Phase 2 remains partial because production hardening and hardware validation are separate milestones. The local Docker deployment, simulation, backup, and recovery gates are complete.
What works after Phase 1¶
./scripts/up.sh— MQTT + core + model-router./scripts/sim.sh— greenhouse sensor simulator- REST API + demo advisor (stub)
Next milestone: Continue owner-approved local runtime integration and hardware-preparation validation without enabling autonomous actuator control.
When you complete a phase — update these files¶
docs/PHASES.md(this file) — change ⬜/⏳ to ✅, set next phase to ⏳docs/ROADMAP.md— sync the status columndocs/PROJECT_STATUS.md— add deliverables + completion dateREADME.md— sync the phase table under "Project phases"private/DAILY_LOG.md— optional personal note (local only)
Partial progress: use "⏳ partial" in PHASES + note in PROJECT_STATUS only.
Detailed deliverables (maintainer): private/planning/ROADMAP.full.md