Riorganizzazione: Nuova struttura orto-suite/ - No more .skill zips, pronto per copia diretta

This commit is contained in:
Noe 2026-03-07 02:00:05 +01:00
parent 1d2401e647
commit c729f59621
29 changed files with 5642 additions and 135 deletions

12
.gitignore vendored
View file

@ -1,12 +1,12 @@
# Python (but keep build/dist/*.skill files)
# Python & Build artifacts
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/**/*
!build/dist/
!build/dist/**/*.skill
# NOTE: Ignore old .skill zip files (use orto-suite/ instead)
build/dist/
develop-eggs/
dist/
downloads/
@ -47,5 +47,7 @@ htmlcov/
node_modules/
npm-debug.log
# Large files (optional, keep .skill files)
# *.tar.gz ← Keep distribution package
# IMPORTANT: orto-suite/ SHOULD be tracked
# Comment out this if it was in build/** rule:
!orto-suite/
!orto-suite/**

View file

@ -1,110 +1,141 @@
#!/bin/bash
# Orto Skills Suite v1.0 — Installation Script
# For teams: Extract & install all 9 skills
##############################################################################
# INSTALL.sh - Orto Skills Suite Installation
#
# Copia la cartella orto-suite/ in ~/.openclaw/skills/
#
# Usage:
# ./INSTALL.sh
#
# Output:
# - Copia orto-suite/ → ~/.openclaw/skills/orto-suite/
# - Verifica 9 skill + references
# - Ready for use
##############################################################################
set -e
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ Orto Skills Suite v1.0 — Team Installation Script ║"
echo "╚════════════════════════════════════════════════════════════════╝"
echo ""
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_DIR="$SCRIPT_DIR/orto-suite"
TARGET_DIR="$HOME/.openclaw/skills/orto-suite"
# Determine installation directory
if [ -z "$OPENCLAW_SKILLS_DIR" ]; then
INSTALL_DIR="${HOME}/.openclaw/skills/orto-suite"
else
INSTALL_DIR="$OPENCLAW_SKILLS_DIR/orto-suite"
fi
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
echo "📂 Installation directory: $INSTALL_DIR"
echo ""
log() {
echo -e "${BLUE}[$(date +'%H:%M:%S')]${NC} $1"
}
# Create directory
if [ ! -d "$INSTALL_DIR" ]; then
echo "📁 Creating directory..."
mkdir -p "$INSTALL_DIR"
else
echo "⚠️ Directory already exists. Backing up existing..."
mv "$INSTALL_DIR" "${INSTALL_DIR}.backup.$(date +%s)"
mkdir -p "$INSTALL_DIR"
fi
error() {
echo -e "${RED}[ERROR]${NC} $1" >&2
}
# Find .skill files (in current dir or subdirs)
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DIST_DIR="$SKILL_DIR/build/dist"
success() {
echo -e "${GREEN}[✓]${NC} $1"
}
if [ ! -d "$DIST_DIR" ]; then
echo "❌ Error: build/dist/ not found!"
echo " Expected at: $DIST_DIR"
warning() {
echo -e "${YELLOW}[⚠]${NC} $1"
}
# ============================================================================
log "=== Orto Skills Suite Installation ==="
# Verifica source directory esiste
if [ ! -d "$SOURCE_DIR" ]; then
error "Source directory not found: $SOURCE_DIR"
exit 1
fi
echo "📦 Installing 9 skills from: $DIST_DIR"
echo ""
success "Source directory found: $SOURCE_DIR"
# Extract all .skill files
skill_count=0
for skill in "$DIST_DIR"/*.skill; do
if [ -f "$skill" ]; then
skill_name=$(basename "$skill" .skill)
echo " ⬇️ Installing $skill_name..."
unzip -q "$skill" -d "$INSTALL_DIR"
((skill_count++))
# Crea target directory se non esiste
mkdir -p "$(dirname "$TARGET_DIR")"
# Se target esiste già, chiedi conferma
if [ -d "$TARGET_DIR" ]; then
warning "Target directory already exists: $TARGET_DIR"
read -p "Overwrite? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
log "Backing up existing installation..."
BACKUP_DIR="$TARGET_DIR.backup.$(date +%s)"
mv "$TARGET_DIR" "$BACKUP_DIR"
success "Backup saved: $BACKUP_DIR"
else
log "Installation cancelled"
exit 0
fi
fi
# Copia orto-suite
log "Copying orto-suite to $TARGET_DIR..."
cp -r "$SOURCE_DIR" "$TARGET_DIR"
success "Copied successfully"
# Verifica installation
log "Verifying installation..."
# Count skill directories
SKILL_COUNT=$(find "$TARGET_DIR" -maxdepth 1 -name "orto-*" -type d | wc -l)
log "Found $SKILL_COUNT skill directories"
if [ "$SKILL_COUNT" -lt 9 ]; then
error "Expected 9 skills, found $SKILL_COUNT"
exit 1
fi
# Verifica SKILL.md files
SKILL_MD_COUNT=$(find "$TARGET_DIR" -maxdepth 2 -name "SKILL.md" -type f | wc -l)
log "Found $SKILL_MD_COUNT SKILL.md files"
if [ "$SKILL_MD_COUNT" -lt 9 ]; then
error "Expected 9 SKILL.md files, found $SKILL_MD_COUNT"
exit 1
fi
# Verifica references
if [ ! -d "$TARGET_DIR/references" ]; then
error "References directory not found"
exit 1
fi
REF_COUNT=$(find "$TARGET_DIR/references" -maxdepth 1 -name "*.md" -type f | wc -l)
log "Found $REF_COUNT reference files"
success "Installation verified"
# ============================================================================
echo ""
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ ✅ INSTALLATION COMPLETED SUCCESSFULLY ║"
echo "╚════════════════════════════════════════════════════════════╝"
success "Skills installed: $SKILL_COUNT"
success "Installation directory: $TARGET_DIR"
echo ""
echo "=== INSTALLED SKILLS ==="
find "$TARGET_DIR" -maxdepth 2 -name "SKILL.md" -type f | sort | while read skillmd; do
skilldir=$(dirname "$skillmd")
skillname=$(basename "$skilldir")
echo "$skillname"
done
echo ""
echo "✅ Installation complete!"
echo ""
echo "📊 Results:"
echo "$skill_count skills installed"
echo " • Location: $INSTALL_DIR"
echo ""
# Verify installation
echo "🔍 Verifying installation..."
skill_files=$(find "$INSTALL_DIR" -name "SKILL.md" | wc -l)
echo " ✅ Found $skill_files SKILL.md files"
echo ""
# List installed skills
echo "📋 Installed skills:"
ls -1 "$INSTALL_DIR" | while read skill; do
if [ -f "$INSTALL_DIR/$skill/SKILL.md" ]; then
echo "$skill"
fi
done
echo ""
# Next steps
echo "🚀 Next steps:"
echo ""
echo "=== NEXT STEPS ==="
echo "1. Create your first garden:"
echo " openclaw invoke $INSTALL_DIR/orto-init/SKILL.md \\"
echo " --id orto_mytown_001 \\"
echo " --name 'My Garden' \\"
echo " --provincia Roma \\"
echo " --regione Lazio \\"
echo " --lat 41.8782 \\"
echo " --lon 12.4922"
echo " openclaw invoke $TARGET_DIR/orto-init/SKILL.md --id orto_mytown_001 ..."
echo ""
echo "2. Run onboarding (collect profile):"
echo " openclaw invoke $INSTALL_DIR/orto-onboarding/SKILL.md \\"
echo " --orto-id orto_mytown_001"
echo "2. Run onboarding:"
echo " openclaw invoke $TARGET_DIR/orto-onboarding/SKILL.md --orto-id orto_mytown_001"
echo ""
echo "3. Generate full plan:"
echo " openclaw invoke $INSTALL_DIR/orto-orchestratore/SKILL.md \\"
echo " --orto-id orto_mytown_001"
echo ""
echo "4. Check output:"
echo " ~/.openclaw/workspace/Orti/orto_mytown_001/"
echo ""
echo " openclaw invoke $TARGET_DIR/orto-orchestratore/SKILL.md --orto-id orto_mytown_001"
echo "📖 For documentation, see:"
echo " • README.md"
echo " • INSTALLATION_GUIDE.md"
echo " • INDEX.md"
echo ""
echo "🌱 Happy gardening!"
echo ""
exit 0

152
README.md
View file

@ -2,7 +2,16 @@
**Framework Orto v1 → OpenClaw AgentSkills**
Suite completa multi-skill per gestione orto italiano. 9 skill modulari, 548 KB, pronto per produzione.
Suite completa multi-skill per gestione orto italiano. 9 skill modulari, pronto per produzione.
**📦 Installazione Rapida:**
```bash
# 1. Clone o scarica repository
# 2. Esegui:
./INSTALL.sh
# 3. Skills saranno copiate in: ~/.openclaw/skills/orto-suite/
```
---
@ -27,59 +36,102 @@ Suite completa multi-skill per gestione orto italiano. 9 skill modulari, 548 KB,
## 🗂️ Mappa Directory
```
orto-skills/
orto-skills/ ← Repository
├── README.md # Questo file
├── COMPLETION_SUMMARY.md # Sommario completo deliverable
├── SKILL_DEVELOPMENT_PLAN.md # Log sviluppo & pianificazione
├── references/ # Knowledge base condiviso (8 file, 88 KB)
│ ├── colture_it.md # Database colture: 120+ varietà, parametri, consociazioni, rese
│ ├── calendario_it.md # Calendari regionali: date gelate, finestre semina (Nord/Centro/Sud)
│ ├── malattie_trattamenti.md # 📌 NEW: Mapping sintomi→patogeno, trattamenti bio, DPI, carenza
│ ├── irrigazione_parametri.md # 📌 NEW: ET₀, Kc, classe acqua, sensori, baseline schedule
│ ├── consociazioni_layout.md # 📌 NEW: Matrice consociazione, spacing, rotazione 3-anni, layout examples
│ ├── meteo_soglie.md # 📌 NEW: Threshold vento/pioggia/gelo/caldo, decision matrix
│ ├── conflitti_risoluzione.md # 📌 NEW: 7 tipologie conflitti + politiche risoluzione
│ └── qa_checklist.md # 📌 NEW: Criteri validazione PlanBundle, formula QA score
└── build/ # 9 cartelle skill (pronte da pacchettizzare)
├── INSTALL.sh ⭐ # Copia orto-suite/ → ~/.openclaw/skills/
├── INSTALL_INTERACTIVE.md # Guida installazione via chat
├── install_via_openclaw.sh # Script per OpenClaw exec()
├── COMPLETION_SUMMARY.md # Sommario deliverable
├── SKILL_DEVELOPMENT_PLAN.md # Log sviluppo
├── QUICK_START.md # Quick reference
├── INSTALLATION_GUIDE.md # Guida dettagliata
├── DISTRIBUTION_GUIDE.md # Distribuzione team
└── orto-suite/ ⭐ ← COPIA IN ~/.openclaw/skills/orto-suite/
├── orto-init/
│ ├── SKILL.md
│ ├── references/ (symlink a ../references)
│ └── scripts/
├── orto-onboarding/
│ ├── SKILL.md
│ └── ...
├── orto-agronomo/
├── orto-calendario/
├── orto-irrigazione/
├── orto-meteo-decisioni/
├── orto-fitopatologo/
├── orto-layout/
└── orto-orchestratore/
├── orto-orchestratore/
│ └── SKILL.md
└── references/ ⭐ (8 file, 88 KB)
├── colture_it.md (120+ varietà)
├── calendario_it.md (date gelate regionali)
├── malattie_trattamenti.md (bio treatments)
├── irrigazione_parametri.md (ET₀, Kc, schedule)
├── consociazioni_layout.md (companion matrix)
├── meteo_soglie.md (wind/rain/frost thresholds)
├── conflitti_risoluzione.md (7 pattern)
└── qa_checklist.md (validation formula)
```
**📌 COMPLETAMENTO SUITE (2026-03-07):**
- ✅ **Task 1:** Creati 6 file references mancanti (45 KB)
- ✅ **Task 2:** Integrati riferimenti in tutti 9 SKILL.md
- ✅ **Task 3:** Aggiunta gestione progetti, registry, audit trail in orchestratore
**🎯 NUOVA STRUTTURA (2026-03-07):**
- ✅ **Eliminati:** `.skill` files (zip ridondanti)
- ✅ **Nuova:** `orto-suite/` pronta per copia diretta
- ✅ **Semplificato:** INSTALL.sh copia cartella (no zip)
- ✅ **Pronto:** Per installazione via chat o diretta
---
## 🚀 Inizio Veloce
### 1. Leggi Prima
### Opzione 1: Installazione Diretta (Consigliato)
- **[COMPLETION_SUMMARY.md](COMPLETION_SUMMARY.md)** — Cosa è deliverabile, workflow, prossimi passi
- **Ogni SKILL.md di skill** — Scopo, input, output, esempi
```bash
# 1. Clone repository (o scarica)
git clone https://git.noelab.it/robots/orto-skills.git
cd orto-skills
### 2. Comprendi Workflow
# 2. Installa
./INSTALL.sh
# 3. Verifica
ls ~/.openclaw/skills/orto-suite/
# Output: 9 cartelle orto-* + references/
# 4. Usa
openclaw invoke ~/.openclaw/skills/orto-suite/orto-init/SKILL.md \
--id orto_roma_001 --name "Orto" --provincia Roma --regione Lazio --lat 41.8782 --lon 12.4922
```
### Opzione 2: Installazione via Chat (Zero Terminale)
1. Carica `orto-skills-v1.0-dist.tar.gz` in OpenClaw chat
2. Scrivi: "Installa le skill orto"
3. Rispondi alle domande
4. Ricevi piano completo
Vedi: **[INSTALL_INTERACTIVE.md](INSTALL_INTERACTIVE.md)**
### Opzione 3: Copia Manuale
```bash
# Copia cartella orto-suite/ direttamente
cp -r ./orto-suite/ ~/.openclaw/skills/
# È pronta all'uso!
```
### Workflow Tipico
```
init → onboarding → {agronomo, calendario, layout, irrigazione} →
{meteo-decisioni, fitopatologo} → orchestratore → weekly briefing
```
### 3. Prossimo: Pacchettizzazione & Testing
Vedi **[COMPLETION_SUMMARY.md](COMPLETION_SUMMARY.md)** → "Prossimi Passi" per:
- Fase 3: Testing (unit + integration)
- Fase 4: Pacchettizzazione (→ file .skill)
- Fase 5: Distribuzione (ClawHub o locale)
---
## 📖 Knowledge Base — 8 Reference Files
@ -326,23 +378,39 @@ Lingua italiana. Aperto per riuso sotto termini progetto.
**Localizzazione:** `build/dist/*.skill` (pronti da installare o publicare)
**Installazione:**
**Installazione Rapida:**
```bash
# Locale (testing):
unzip -d ~/.openclaw/skills/orto-suite/ build/dist/*.skill
# Opzione 1: Script automatico
./INSTALL.sh
# Produzione (ClawHub):
clawhub publish build/dist/*.skill
# Opzione 2: Copia diretta
cp -r ./orto-suite/ ~/.openclaw/skills/
# Uso:
# 1. Eseguire `orto-init` per creare progetto
# 2. Eseguire `orto-onboarding` per profilo
# 3. Eseguire `orto-orchestratore` per full planning
# 4. Ricevi weekly briefing (meteo + task)
# Opzione 3: Via chat (zero terminale)
# Vedi: INSTALL_INTERACTIVE.md
```
**Uso:**
```bash
# 1. Crea progetto
openclaw invoke ~/.openclaw/skills/orto-suite/orto-init/SKILL.md \
--id orto_roma_001 --name "Orto" --provincia Roma --regione Lazio --lat 41.8782 --lon 12.4922
# 2. Raccogli profilo
openclaw invoke ~/.openclaw/skills/orto-suite/orto-onboarding/SKILL.md \
--orto-id orto_roma_001
# 3. Genera piano completo
openclaw invoke ~/.openclaw/skills/orto-suite/orto-orchestratore/SKILL.md \
--orto-id orto_roma_001
# 4. Weekly briefing
openclaw invoke ~/.openclaw/skills/orto-suite/orto-meteo-decisioni/SKILL.md \
--orto-id orto_roma_001
```
---
🌱 **Suite Orto Skills — Pronto per la tua stagione 2026!**
🌱 **Suite Orto Skills — Installazione Semplice!**
Per iniziare: **Esegui `orto-init`**
**Inizia:** `./INSTALL.sh` oppure vedi **INSTALL_INTERACTIVE.md** per chat-only setup

View file

@ -0,0 +1,271 @@
---
name: orto-agronomo
description: Selezionare e pianificare colture per calendario annuale dell'orto basato su dieta, spazio, clima e principi agronomici. Usare quando: (1) generare selezione colture corrispondente a preferenze dieta comunitaria e bilancio nutrizionale, (2) applicare regole consociazione e rotazione colture, (3) stimare rese e pianificare tempi successioni, (4) considerare clima regionale e finestre stagionali. Output: Piano colture annuale (markdown con piano colture) con varietà, date semina, spaziature, classe acqua, consociazioni, rese attese.
---
# Orto Agronomo — Selezione e Pianificazione Colture
Selezionare colture e generare piano colture annuale basato su preferenze comunitarie, clima, spazio e best practice agronomiche.
## Quando Usare Questa Skill
- **Dopo onboarding:** Profilo utente (GardenConfig + CommunityProfile) è completo
- **Selezione colture:** Scegliere verdure corrispondenti a dieta, spazio, livello esperienza
- **Pianificazione stagionale:** Mappare colture a finestre di semina (date gelate, requisiti temperatura)
- **Pianificazione rotazione:** Assicurare rotazione famiglia negli anni per prevenire accumulo parassiti/malattie
## Processo
### Fase 1: Filtra Colture per Vincoli
**Applicare filtri in sequenza:**
1. **Filtro zona climatica:** (Da GardenConfig)
- Filtrare colture_it.md per macro-zona (nord/centro/sud)
- Mantenere solo colture adatte a date gelate e lunghezza stagione della zona
2. **Filtro esposizione solare:** (Da GardenConfig)
- Sole pieno richiesto (6-8h): Pomodoro, Peperone, Zucchina, Melone, Mais, Carota
- Sole parziale (4-6h): Cavolo, Lattuga, Spinacio, Carota
- Tolleranti ombra (< 4h): Lattuga, Spinacio (limitato)
3. **Filtro spazio:** (Da GardenConfig)
- area < 20m²: piccole + a rapido ciclo (Lattuga, Spinacio, Rucola, Insalata, Erbe)
- 20-50m²: medie + diverse (+ Cavolo, Fagiolo, Basilico)
- > 50m²: grandi + forti consumatori possibili (+ Pomodoro, Peperone, Zucchina, Mais)
4. **Filtro disponibilità acqua:** (Da GardenConfig)
- Acqua limitata (< 150 mm): Carota, Cipolla, Spinacio, Pisello, Fagiolo
- Acqua media: Lattuga, Basilico, Cavolo, Broccoli
- Acqua abbondante: Pomodoro, Peperone, Zucchina, Melone, Cocomero
5. **Filtro preferenze dieta:** (Da CommunityProfile)
- Includere tutte le preferenze_colture listate
- Escludere tutte colture_evitare
- Bias verso profilo dieta (vegano → legumi; onnivoro → diverse)
6. **Filtro esperienza:** (Da CommunityProfile)
- Esperienza "nessuna": Filtrare per colture robuste e indulgenti (Lattuga, Carota, Zucchina, Basilico, Cipolla)
- Esperienza "dilettante": Aprire più opzioni
- Esperienza "esperto": Consentire colture impegnative (Melanzana, Melone, etc.)
### Fase 2: Lista Colture Candidate
**Output:** Lista candidate con score confidence
```markdown
## Colture Candidate (Ordinate per Probabilità)
| # | Coltura | Varietà Suggerite | Ciclo (gg) | Acqua | Spazio | Confidence | Note |
|----|---------|-----------------|-----------|-------|--------|------------|------|
| 1 | Pomodoro | San Marzano, Ciliegia | 80 | Medio-Alto | Medio | 0.95 | Preferenza esplicita |
| 2 | Basilico | Basilico Genovese | 60 | Medio | Piccolo | 0.90 | Dieta; consociazione pomodoro |
| 3 | Lattuga | Romana | 60 | Basso | Piccolo | 0.88 | Successioni; facile |
| ... | ... | ... | ... | ... | ... | ... | ... |
```
### Fase 3: Costruisci Piano Colture Annuale
**Per ogni coltura candidata:**
1. **Mappa a finestre di semina:** (Da calendario_it.md)
- Trovare date di semina adatte per zona
- Considerare date gelate, requisiti temperatura
- Identificare opportunità successioni (2-3x/anno se ciclo breve)
2. **Assegna gruppi rotazione:** (Da colture_it.md > Famiglia)
- Tracciare famiglia botanica (Solanaceae, Brassicaceae, etc.)
- Assicurare nessuna coltura stessa famiglia su stesso aiuola per 2-3 anni
- Pianificare rotazione prossimo anno se applicabile
3. **Stima rese:** (Da colture_it.md > Rese)
- Usare rese min/typ/max per coltura
- Aggiustare per area, esperienza, clima
- Calcolare volume produzione totale (kg/stagione)
4. **Assegna input layout spaziale:** (Per skill orto-layout)
- Requisiti spaziatura per coltura
- Classe water zoning (basso/medio/alto)
- Requisiti esposizione sole
- Gruppi consociazione (positive consociazioni)
### Fase 4: Output Piano Colture Annuale
**File:** `dati/colture/piano_colture_annuale.md`
**Structure:**
```markdown
# Piano Colture Annuale — [ORTO_ID]
**Zona Climatica:** [ZONE]
**Area disponibile:** [AREA] m²
**Comunità:** [DIET] | [N_PERSONE] pp
**Esperienza:** [LEVEL]
---
## Riepilogo Stagionale
### Primavera (Mar-Mag)
- Lattuga (marzo, successioni)
- Spinacio (aprile)
- Pomodoro (trapianto post-gelo)
- Basilico (maggio, post-freddo)
**Totale area occupata:** XX m²
**Stima rese:** XX kg
### Estate (Giu-Ago)
- Pomodoro (raccolta continua)
- Peperone (raccolta continua)
- Zucchina (raccolta continua)
- Lattuga estiva (ombra parziale)
- Fagiolo rampicante (successione giugno)
### Autunno (Set-Nov)
- Cavolo/Broccoli (trapianto agosto)
- Lattuga/Spinacio (successioni)
- Carota (raccolta da agosto)
- Ravanello (rapido)
### Inverno (Dic-Feb)
- Pisello/Fava (semina autunno, raccolta primavera)
- Riposo relativo
---
## Dettagli Colture
### 1. Pomodoro
| Proprietà | Valore |
|-----------|--------|
| **Varietà consigliata** | San Marzano (determinato), Ciliegia (indeterminato), Cuor di Bue |
| **Ciclo** | 70-90 gg (post-trapianto) |
| **Trapianto** | Post-[LAST_FROST], min T notte 15°C |
| **Raccolta** | [ZONE]-specific dates |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Medio-Alto; classe: **ALTO** |
| **Spaziatura** | 40-60cm |
| **Stima resa** | 3-6 kg/m² |
| **Consociazioni** | ✅ Basilico (classico), Carota, Cipolla |
| **Famiglia** | Solanaceae (Rotazione: attendere 2-3 anni) |
| **Malattie** | Peronospora, Oidio, Verticillium; Bio: Rame, Zolfo, Neem |
| **Note** | Tutore necessario (bambù, spago), cesellatura regolare |
**Piano temporale (ZONA CENTRO, es. Roma):**
- Semina indoor: Gen-Feb
- Trapianto: Post-15 aprile
- Prima raccolta: Giugno
- Raccolta massima: Lug-Ago
- Fine raccolta: Ott (gelo)
---
### 2. Basilico
| Proprietà | Valore |
|-----------|--------|
| **Varietà** | Basilico Genovese (dolce), Basilico Rosso, Thai |
| **Ciclo** | 45-60 gg |
| **Semina** | Maggio post-freddo, diretto o trapianto |
| **Raccolta** | Continua (cesellatura) giu-set |
| **Esigenza acqua** | Medio; classe: **MEDIO** |
| **Spaziatura** | 20-25cm |
| **Stima resa** | 0.5-1.5 kg/m² |
| **Consociazioni** | ✅ Pomodoro (benefici reciproci), Peperone |
| **Famiglia** | Lamiaceae |
| **Note** | Termofilo; stop < 15°C; ama sole |
---
### [Continua per altre colture candidati...]
---
## Rotazione Pluri-Annuale
**Anno 1:** Pomodoro (A1), Cavolo (A2), Legume (A3)
**Anno 2:** Cavolo (A1), Legume (A2), Pomodoro (A3)
**Anno 3:** Legume (A1), Pomodoro (A2), Cavolo (A3)
---
## Stima Nutrizionale
**Comunità:** [N_PERSONE] pp, Dieta [DIET]
**Target nutritivo:** [Calcolo dieta giornaliera × giorni stagione]
**Produzione stimata:** [TOT kg] / stagione
**Allineamento:** ✓ Sufficiente / ⚠️ Marginal / ❌ Insufficiente
*(Da migliorare con maggiore area/succesioni)*
---
## Prossimi Passi
1. → **orto-calendario:** Generare timeline settimanale per task
2. → **orto-layout:** Assegnare colture a aiuole con consociazioni
3. → **orto-irrigazione:** Definire water zoning per zone acqua alta/media/bassa
---
**Data generazione:** [TODAY]
**Confidence globale:** [AVG_CONFIDENCE]
**Última revisione:** [AUTO_UPDATE_READY]
```
## Riferimenti
**Consultati:**
- `references/colture_it.md` — Database colture (120+ varietà), parametri, consociazioni, rotazione famiglie, rese
- `references/calendario_it.md` — Date gelate, finestre semina per zona
- `references/consociazioni_layout.md` — Matrice consociazione per ottimizzazione layout
- `references/irrigazione_parametri.md` — Classe acqua colture per raggruppamento
## Script (Opzionale)
Script Python (opzionale) per parsare colture_it.md e filtrare candidati:
```bash
scripts/filter_crops_by_constraints.py \
--area <area_mq> \
--zone <nord|centro|sud> \
--sun <h_per_day> \
--diet <list> \
--experience <none|dilettante|esperto>
```
## Gestione Errori
| Errore | Fallback |
|-------|----------|
| Nessuna coltura passa filtri | Suggerire ampliamento vincoli; fornire lista robusta default |
| Confidence < 0.5 su selezione | Flaggare come sperimentale; suggerire consultazione esperto |
| Area troppo piccola per bisogni dieta | Suggerire successioni, varietà compatte, o approccio fagiato |
| Acqua insufficiente | Bias verso colture tolleranti siccità; aggiungere compost/pacciame |
## Assunzioni
1. CommunityProfile è completo e validato
2. GardenConfig include zona, area, sole, disponibilità acqua
3. Inferenza zona climatica da GardenConfig è accurata
4. Database colture (colture_it.md) è aggiornato
## Checklist Validazione
- ✓ Colture corrispondono preferenze dieta e liste evitamento
- ✓ Rotazione colture rispettata (nessuna famiglia stessa 2+ anni)
- ✓ Date semina entro finestre gelate
- ✓ Spazio allocato non eccede area
- ✓ Gruppi consociazione positive coerenti
- ✓ Classe acqua allineata con disponibilità
- ✓ Rese sommate a target ragionevole per dimensione comunità
---
**Skill: orto-agronomo** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,355 @@
---
name: orto-calendario
description: Generare calendario operativo stagionale con schedule task settimanale per orti italiani. Usare quando: (1) creare timeline task da piano colture (semina, trapianto, raccolta, trattamenti), (2) adattare a date gelate regionali e finestre climatiche, (3) taggare task sensibili al meteo per reschedule automatico, (4) coordinare con previsioni meteo. Output: Calendario operativo settimanale (markdown) con liste task, date, ubicazioni, dipendenze, tag meteo.
---
# Orto Calendario — Schedule Task Stagionale e Settimanale
Generare calendario operativo mappando colture da piano_colture_annuale a checklist task settimanale, rispettando finestre climatiche e sensibilità meteo.
## Quando Usare Questa Skill
- **Dopo orto-agronomo:** Piano colture è finalizzato
- **Pianificazione task settimanale:** Spezzare piano annuale in checklist settimanale azionabile
- **Adattamento meteo:** Taggare task che necessitano reschedule consapevole del meteo
- **Gestione successioni:** Tracciare date semina per colture multi-generazione (successioni lattuga, etc.)
## Processo
### Fase 1: Estrai Timeline Colture da Piano Colture
**Input:** `dati/colture/piano_colture_annuale.md`
**Per ogni coltura, estrarre:**
- Data semina (finestra inizio/fine)
- Data trapianto (finestra)
- Periodo raccolta (range date)
- Resa attesa & volume
**Esempio (Pomodoro, ZONA CENTRO):**
- Semina indoor: Feb 1-28
- Trapianto: Apr 20 - 5 Mag (post-gelata)
- Raccolta inizio: 15 Giu (circa)
- Raccolta fine: 15 Ott
### Fase 2: Traduci in Task Settimanali
**Expand to granular tasks with metadata:**
```markdown
## Settimana 1 (Jan 1-7)
### Sabato 1-7 Gennaio
**Task 1.1 — Preparazione Semenzaio**
- Coltura: Pomodoro, Peperone, Melanzana
- Azione: Preparare terriccio, vasetti, ripiani in semenzaio
- Difficoltà: Bassa
- Ubicazione: Semenzaio (interno)
- Stima tempo: 1.5h
- Prerequisiti: None
- Meteo-sensibile: No
- Note: Preparare in anticipo per semina Jan 15-20
**Task 1.2 — Pianificazione Annuale**
- Azione: Revisionare piano_colture_annuale, marcare date critiche
- Difficoltà: Bassa
- Stima tempo: 0.5h
- Prerequisiti: piano_colture completo
---
## Settimana 5 (Jan 29 - Feb 4)
### Lunedì 29 Gennaio
**Task 5.1 — Semina Pomodoro (INDOOR)**
- Coltura: Pomodoro
- Azione: Seminare in vasetti (2-3 semi/vasetto)
- Difficoltà: Bassa
- Ubicazione: Semenzaio
- Stima tempo: 0.5h
- Temperatura richiesta: 20-25°C indoor
- Cura: Mantenere umido, luce LED 12-14h/gg
- Germinazione attesa: 5-10 giorni
- Meteo-sensibile: No (indoor)
- Critical date: YES (finestra ristretta)
- Precedente: Task 1.1 ✓
---
## Settimana 16 (Apr 20-26) — TRAPIANTO POMODORO
**⚠️ METEO-SENSIBILE CRITICA**
**Task 16.1 — Trapianto Pomodoro**
- Coltura: Pomodoro (piantine 5-6 foglie vere)
- Azione: Messa a dimora in campo
- Pre-requisiti: Ultima gelata passata (post-25 apr), notti > 15°C, piantine 5-6 foglie
- Difficoltà: Bassa-Media
- Ubicazione: A1, A2 (assegnazione da orto-layout)
- Stima tempo: 2h (50 piante = tempo circa)
- Spaziatura: 40-60cm tra piante, 60cm tra file
- Tutori: Preparare bambù/spago prima
- Concimazione: NPK 1.5:1:1.5 (per coltura solanacee)
- **Meteo-sensibile:** YES
- Rinviare se: vento > 8kn, pioggia imminente, T < 12°C
- Delay notification: send to orto-meteo-decisioni, reschedule +3 gg se risky
- Confidence in date: MEDIA (frost date margin 1 settimana)
---
## Settimana 27 (June 29 - Jul 5)
**Task 27.1 — Inizio Raccolta Pomodoro**
- Coltura: Pomodoro
- Azione: Raccolta frutti rossi maturi (non verdi)
- Difficoltà: Bassa
- Ubicazione: A1, A2
- Stima tempo: 1h (raccolta 1x/sett ~4-8 frutti)
- Frequenza: 2-3x/settimana (estate)
- Note: Raccogliere mattina presto per freschezza
- Resa attesa: 3-6 kg/m² stagione
- **Meteo-sensibile:** No (può raccogliere sotto pioggia)
---
## Settimana 42 (Oct 15-21)
**Task 42.1 — Fine Raccolta Pomodoro**
- Azione: Raccolta frutti verdi in caso di gelo imminente (trasportare indoor a maturare)
- Stima resa totale: [FORECAST kg da aprile]
- Post-raccolta: Smaltire piante (compost)
```
### Fase 3: Taggare Task Sensibili al Meteo
**Identificare task che necessitano check previsione meteo (48h prima):**
| Task | Tag Meteo | Condizione Skip | Reschedule |
|------|-----------|---|---|
| Trapianto | **METEO_CRITICA** | Vento > 8kn, gelo, pioggia | +2-7 gg |
| Trattamento fogliare | **METEO_DEFER** | Vento > 5kn, pioggia, T < 10°C | +1-3 gg |
| Innesto | **METEO_MONITOR** | Freddo < 5°C | +1-2 gg |
| Raccolta | **NO_DEFER** | (raccogliere comunque, salvo gelo) | No reschedule |
| Irrigazione | **METEO_SKIP** | Pioggia > 10mm/24h prevista | Skip / Delay 48h |
### Fase 4: Output Calendario Operativo
**File:** `dati/calendario/calendario_operativo_settimanale.md`
**Structure:**
```markdown
# Calendario Operativo — [ORTO_ID] — [YEAR]
**Zona climatica:** [ZONE]
**Ultima gelata:** [LAST_FROST]
**Prima gelata:** [FIRST_FROST]
**Lunghezza stagione:** [LENGTH] gg
---
## Indice Rapido Colture
- Pomodoro: Semina W5, Trapianto W16, Raccolta W26-42
- Basilico: Semina W20, Raccolta W24-39
- Cavolo: Semina W22 (semenzaio), Trapianto W32, Raccolta W40-48
- [Continua per ogni coltura]
---
## Gennaio — Preparazione Invernale
### Settimana 1 (1-7 Gen)
**Lunedì**
- [ ] Preparazione semenzaio interno
- [ ] Check riscaldamento semenzaio (20-25°C)
- Tempo: 1.5h
**Mercoledì**
- [ ] Pianificazione settimanale
- Tempo: 0.5h
---
## Febbraio — Semina Indoor
### Settimana 5 (29 Gen - 4 Feb) ⚠️ CRITICA
**Lunedì 29 Gen** — **SEMINA POMODORO**
- Azione: Seminare 60 semi pomodoro (3-4 semi/vasetto)
- Ubicazione: Semenzaio
- Temperatura: 20-25°C
- Luce: LED 12h/gg
- Innaffiatura: Mantenere umido (non saturo)
- Germinazione: 5-10 gg
- **METEO:** No (interno)
- Tempo: 0.5h
**Giovedì 1 Feb** — **SEMINA PEPERONE + MELANZANA**
- Azione: Seminare peperone (esigente, più lento), melanzana
- Tempo: 0.5h
- Note: Peperone germina 15-20 gg (più lento pomodoro)
**Sabato 3 Feb** — **CONTROLLO LUCE/UMIDITÀ**
- Check: Led funzionante, umidità terriccio
- Tempo: 0.25h
---
## Aprile — Trapianti Pre-Gelo
### Settimana 15 (Apr 13-19)
**Prepare zone per trapianti:**
- [ ] Preparare aiuole A1, A2 per pomodoro
- [ ] Togliere pacciamatura, vangare, aggiungere compost
- [ ] Preparare tutori (bambù, spago)
- Tempo: 3h
---
### Settimana 16 (Apr 20-26) — 🚨 TRAPIANTO POMODORO 🚨
**⚠️ METEO-SENSIBILE CRITICA**
**Martedì 21 Apr**
- **TRAPIANTO POMODORO** (post-gelo confermato)
- Pre-check: Ultima gelata > 25 Apr? ✓
- Notti > 15°C previsione? ✓
- Piantine pronte (5-6 foglie)? ✓
- Azione: Messa a dimora 40 piante, distanza 50cm
- Acclimatazione: Semi-ombra 3 gg poi sole pieno
- Concimazione: NPK 1.5:1:1.5 (es. sangue secco + letame)
- Irrigazione: Dopo trapianto, poi ogni 2-3 gg
- **METEO-DECISION:** Controllare previsione 48h prima. Se vento > 8kn o pioggia imminente: RINVIARE +3 gg
- Tempo: 2.5h
- Confidence: 0.85 (margine +/- 1 sett frost window)
---
## Giugno — Raccolta Inizio
### Settimana 26 (Jun 23-29)
**Martedì 24 Giu** — **INIZIO RACCOLTA POMODORO**
- Azione: Raccogliere frutti rossi maturi
- Ubicazione: A1, A2
- Stima: 4-8 frutti
- Frequenza: 2-3x/settimana inizio estate
- Tempo: 1h
- Note: Raccogliere mattina presto
---
## Agosto — Picco Raccolta, Caldo
### Settimana 35 (Aug 24-30)
**Lunedì** — **IRRIGAZIONE INTENSIVA (CALDO)**
- ⚠️ Temp > 30°C prevista
- Azione: Aumentare irrigazione (mattina + sera se possibile)
- Mulching: Check pacciamatura, aggiungere se necessario
- Tempo: 1h
**Mercoledì** — **RACCOLTA INTENSIVA POMODORO**
- Azione: Raccogliere continuamente (frutti maturi)
- Stima: 8-15 frutti
- Temp: 1h
---
## Settembre — Trapianti Autunnali
### Settimana 37 (Sep 7-13)
**Semenzaio autunnale:** Cavolo, Broccoli, Cavolfiore
- Azione: Seminare per trapianto agosto
- Ubicazione: Semenzaio ombra (troppo sole = piante bruciate)
- Tempo: 0.5h
---
## Ottobre — Fine Raccolta Pomodoro, Raccolti Autunnali
### Settimana 42 (Oct 19-25)
**Lunedì 20 Ott** — **RACCOLTA FINALE POMODORO**
- Azione: Raccogliere frutti verdi (gelo previsto week 44)
- Destinazione: Cartone/cassa a maturare indoor (2-3 settimane)
- Resa totale: [FORECAST ~120-180 kg per 40 piante × 3-6 kg/m²]
- Post-raccolta: Smantellamento tutori, sradicamento piante
- Compostaggio: Piante sane → compost; piante malate → rifiuti
- Tempo: 1.5h
**Mercoledì 22 Ott**
- [ ] Raccolta Cavolo/Broccoli autunnali (W32 trapianto + 50gg = inizio oct raccolto)
- [ ] Raccolta Lattuga autunnale
- Tempo: 1h
---
## Novembre-Dicembre — Chiusura Stagione
### Settimana 48 (Nov 23-29)
- [ ] Raccolte finali (ultime lattughe, cavoli)
- [ ] Pulizia aiuole (rimozione detriti, piante)
- [ ] Preparazione compost
- [ ] Previsione: Semente pisello/fava settimane prossime
- Tempo: 2h
---
## Riepilogo Stima Raccolta (ZONA CENTRO, A1+A2 = 50 m²)
| Coltura | Ciclo | Resa /m² | Area (m²) | Resa Tot | Note |
|---------|-------|----------|-----------|----------|------|
| Pomodoro | 70-90gg | 4 kg | 15 | ~60 kg | 40 piante, raccolta 2-3 mesi |
| Basilico | 45-60gg | 1 kg | 5 | ~5 kg | Cesellatura continua |
| Cavolo | 60-90gg | 3 kg | 8 | ~24 kg | Autunno |
| Lattuga | 45-70gg | 0.7 kg | 12 | ~8 kg | Successioni (4x/anno est.) |
| Carota | 60-80gg | 1.5 kg | 10 | ~15 kg | Successioni (2-3x) |
| **TOTALE** | | | 50 | ~112 kg | Stagione ~9 mesi |
---
## Meteo Alerts Integration
**Questo calendario integra con orto-meteo-decisioni:**
- Task con tag **METEO_CRITICA**: 48h prima, check previsioni + reschedule se needed
- Task con tag **METEO_DEFER**: Flip to "on-hold" se condizioni avverse
- Task con tag **METEO_SKIP**: Skip automatio se pioggia > soglia
**Notifiche settimanali:** Elenco task + meteo alert summary
---
## Riferimenti
- `references/calendario_it.md` — Date gelate regionali, finestre semina/raccolta per coltura, lunghezze stagione
- `references/colture_it.md` — Cicli colturali, successioni timing
- `references/meteo_soglie.md` — Meteo-sensitive task tagging e rescheduling logic
## Assunzioni
1. Piano colture annuale è completo
2. Zona climatica correttamente inferita
3. Previsioni meteo disponibili per decisioni reschedule (integrazione orto-meteo-decisioni)
4. Calendario è lineare (non account per "catch-up" se attività saltata)
## Checklist Validazione
- ✓ Tutte colture da piano_colture mappate
- ✓ Date semina entro finestre climatiche
- ✓ Task sensibili meteo taggati
- ✓ Stima tempo totale settimanale ≤ vincolo ore disponibili
- ✓ Successioni identificate (es. 3x lattuga, 2x carota)
- ✓ End-date raccolte prima prima gelata
---
**Skill: orto-calendario** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,299 @@
---
name: orto-fitopatologo
description: Diagnosticare malattie colture e raccomandare trattamenti biologici. Usare quando: (1) utente riporta sintomi su colture (macchie foglia, appassimento, insetti, etc.), (2) generare schedule trattamento preventivo per stagione, (3) selezionare trattamenti biologici con vincoli sicurezza (DPI, timing, periodi carenza), (4) loggare trattamenti in audit trail. Output: Markdown diagnosi con ID patogeno e confidence, piano trattamento con timing e note sicurezza, schedule monitoraggio preventivo.
---
# Orto Fitopatologo — Diagnosi Malattie e Trattamenti Biologici
Diagnosticare malattie piante e raccomandare trattamenti biologici con vincoli sicurezza.
## Quando Usare Questa Skill
- **Reattivo:** Utente riporta sintomi (danno foglia, appassimento, insetti, etc.)
- **Preventivo:** Generare schedule trattamento stagionale per colture alto-rischio (Pomodoro → peronospora)
- **Selezione trattamento:** Scegliere opzione biologica corrispondente a vincoli sicurezza/timing
- **Valutazione rischio:** Valutare pressione malattia & confidence prima di raccomandare azione
## Processo
### Fase 1: Raccolta Sintomi e Filtraggio Iniziale
**Utente fornisce:**
- Nome coltura (es. "Pomodoro")
- Descrizione sintomo (es. "Foglie gialle con macchie scure, bagnate")
- Ubicazione (es. "A1, 5 piante")
- Inizio (es. "Ultimi 3-4 giorni")
- Condizioni osservate (es. "Umidità alta, pioggia notturna frequente")
**Filtrare candidati da malattie_trattamenti.md:**
| Sintomo | Coltura | Patogeno Candidati | Confidence |
|---------|---------|-------------------|-----------|
| Macchie giallo-brune, margine indefinito | Pomodoro | Peronospora (Phytophthora) | 0.70 |
| | | Alternaria (Alternaria solani) | 0.60 |
| | | Stemphylium | 0.30 |
### Phase 2: Diagnostic Tree
**Ask clarifying questions:**
1. **Localizzazione foglia:** Bassa/media/alta canopia? (Peronospora bassa; Oidio alta)
2. **Aspetto lato foglia:** Dorso sporco? Pagina inferiore muffa? (Peronospora = dorso sporco)
3. **Progressione veloce?** (Peronospora rapida; Alternaria lenta)
4. **Temperatura/umidità:** >80% RH, T 15-25°C? (Peronospora loves this)
5. **Fragranza:** Odore marcio? (Marciume batterico)
**Example output:**
```
Q: Foglie interessate bassa canopia? Sì
Q: Dorso foglia sporco? Sì
Q: Umidità alta ricorrente? Sì
Q: Progressione veloce? Sì
→ DIAGNOSIS SCORE: Peronospora 0.92 (Very High)
```
### Fase 3: Scoring Confidence e Valutazione Rischio
**Calcola confidence:**
```
base_score = sum(feature_matching) / total_feature
es., 4 matching / 4 asked = 1.0 → 0.92 (penalità interna per incertezza)
Se confidence < 0.60: Flagga come incerto; raccomanda revisione foto esperto
```
**Valutazione rischio:**
- **Confidence:** 0.92 (Molto Alto) → Tratta
- **Severità:** 5 piante su 40 pomodori (12.5%) → Basso rischio diffusione, intervento precoce
- **Urgenza:** Pioggia prevista domani (alta umidità continua) → Azione IMMEDIATA
### Fase 4: Raccomandazione Trattamento
**For each candidate pathogen, retrieve from malattie_trattamenti.md:**
| Treatment | Active | DPI | Timing | Carency | Efficacy | Notes |
|-----------|--------|-----|--------|---------|----------|-------|
| Rame (fungicida) | Cupric oxide | Gloves, respir | Pre/early | 14 gg | 75% | Preventivo migliore |
| Zolfo | Zolfo micronizzato | Gloves | Pre/early | 7 gg | 60% | OK oidio; meno peronospora |
| Bacillus subtilis | Bio fungicida | None | Early stage | 0 gg | 50% | Limitato; provare subito |
| Neem oil | Azadirachtin | Gloves | Evening | 7 gg | 40% | Last resort |
**Selection logic:**
```
IF confidence > 0.85 AND urgency HIGH:
→ Recommend rame (highest efficacy, preventivo)
→ Check DPI disponibili (gloves, respirator se spray)
→ Advise timing: Sera (no sole direct), T < 25°C
ELIF confidence 0.70-0.85 AND severity LOW:
→ Suggest monitoring first (2-3 gg)
→ If spreading: escalate to rame
→ Try Bacillus subtilis (bio-friendly, low risk)
ELIF confidence < 0.60:
→ Advise expert consult (photo to agronomist)
→ Meanwhile: improve conditions (areazione, reduce umidità)
```
### Fase 5: Schedule Preventivo
**Per colture alto-rischio (es. Pomodoro in zona umida):**
```
CALENDARIO PREVENTIVO (Bio):
**Giugno (Inizio stagione, giovani piante):**
- Week 1-2: Nessun trattamento (piante robuste giovani)
- Week 3: Primo trattamento preventivo (rame 5g/L) se pioggia frequente
**Luglio (Picco rischio: caldo + umidità notturna):**
- Spray rame settimanale (Lunedì) — timing: sera post-pioggia
- Alternare con Bacillus subtilis (Giovedì) — rotazione per resistenza
**Agosto:**
- Mantenere cadenza settimanale (caldo alto, umidità notturna)
**Settembre-Ottobre:**
- Ridurre (temperature calano, umidità meno propizia)
- Spray PRN (se sintomo osservato)
**Logistica:**
- Stock: 500g rame micronizzato (stagione, ~€8)
- Spray: Pompa manuale 5L (riutilizzabile, €15)
- Tempo: 30 min/settimana
```
### Fase 6: Output Diagnosi e Trattamenti
**File:** `dati/trattamenti/diagnosi_problemi.md`
```markdown
# Diagnosi Problemi — [ORTO_ID]
**Date:** [TODAY]
**Reporter:** [USER_NAME]
---
## Diagnosi #1 — Pomodoro Peronospora (2026-03-XX)
### Descrizione Sintomi
- Coltura: Pomodoro (20 piante, A1)
- Sintomi osservati: Foglie gialle, macchie scure irregolari, dorso sporco grigio-bianco
- Zona: Bassa canopia (foglie inferiori) → superiore
- Onset: 3-4 giorni fa
- Velocità progressione: Veloce (aumenta daily)
### Condizioni Ambientali
- Umidità: 85-90% (alta)
- Temperatura: 18-22°C (ideale peronospora)
- Precipitazione: Pioggia notturna, 2-3 giorni precedenti
- Ventilazione: Mediocre (spalliera fitta)
### Diagnostic Scoring
| Feature | Match | Weight | Score |
|---------|-------|--------|-------|
| Macchie foglia bassa | ✓ | 0.3 | 0.3 |
| Dorso sporco grigio | ✓ | 0.3 | 0.3 |
| Umidità alta | ✓ | 0.2 | 0.2 |
| Temp 15-25°C | ✓ | 0.1 | 0.1 |
| Fog gialle (stress) | ✓ | 0.1 | 0.1 |
| | **TOTAL** | | **0.90** |
### **DIAGNOSIS: Peronospora (Phytophthora infestans) — Confidence 0.90 (Very High)**
---
## Raccomandazioni Trattamento
### Azione Immediata (Oggi)
1. **Isolare zona:** Mark A1 (quarantine mentally; no spread other zones)
2. **Rimozione foglie infette:**
- Strappa tutte foglie gialle-macchiate (bassa canopia)
- Destina compost/rifiuti (NON suolo orto)
- Disinfetta cesoie (alcol 70%) tra piante
3. **Spray preventivo (sera, domani):**
- **Prodotto:** Rame micronizzato, 5g/L acqua
- **Dosaggio:** 1 L spray per 10 m² (A1 = 15m², serve 1.5L)
- **Timing:** Domani sera 18:30, T < 20°C, no sole diretto
- **Copertua:** Interamente (dorso foglia importante)
- **DPI:** Gloves + respir (rame polvere irritante)
- **Carency:** 14 gg (no raccolta prima)
- **Efficacy:** 75% (prevenzione > cura)
4. **Condition improvement:**
- **Ventilazione:** Pota rami inferiori (aria circola)
- **Umidità:** Irrigazione mattina (no sera; riduce umidità notturna)
- **Spacing:** Aumenta distanze tra piante (areazione)
---
### Preventive Schedule Pomodoro (Stagione)
**A partire da giugno (nuovo ciclo):**
| Settimana | Azione | Prodotto | Timing | Note |
|-----------|--------|----------|--------|------|
| 1-2 | Nessuno | - | - | Piante giovani, vigore alto |
| 3+ | Preventivo | Rame 5g/L | Lunedì | Cadenza settimanale |
| Alternato | Bio-rotation | Bacillus subtilis | Giovedì | Resistenza crociata |
| Post-pioggia | Extra spray | Rame | +1 gg pioggia | Umidità propizia |
---
### Costi & Logistica
- **Rame:** €8 (500g, stagione)
- **Spray:** €15 (pompa manuale, one-time)
- **Tempo:** 30 min/trattamento × 12-15 trattamenti = 6-8 ore/stagione
- **Total cost:** ~€23 (one-time, poi ~€5/anno ricaricare rame)
---
## Monitoraggio (Follow-up)
**Prossimi 7 giorni:**
- [ ] **Giorno 1 (Oggi):** Rimozione foglie, spray sera
- [ ] **Giorno 3:** Verifica se new symptomi → successful
- [ ] **Giorno 7:** Secondo spray (rame OR Bacillus rotation)
- [ ] **Giorno 14:** Inizio raccolta (carency passato rame, 14 gg)
**Success criterion:** No new leaf symptoms by day 5
**If spreading:**
- Escalate to more frequent spray (2-3x/week)
- Consider removing heavily affected plants (if <10% piante)
- Consult expert if confidence < 0.60
---
## Archive & Audit Trail
**Stored:** `dati/trattamenti/`
**Logged:** `log/audit_trail.md` (Event: trattamento_peronospora, timestamp, prodotto, qty, risultato)
---
**Diagnosi completata:** 2026-03-XX
**Confidence:** 0.90 (Very High)
**Risk level:** MEDIUM (manageable with immediate action)
**Prognosis:** Good (early intervention + ventilazione improvement)
```
---
## References
- `references/malattie_trattamenti.md` — Symptom database, pathogen bio, treatments, DPI, carency
## Fallback & Uncertainty
| Confidence | Azione |
|------------|--------|
| > 0.85 | Tratta con confidenza (alta certezza) |
| 0.70-0.85 | Raccomanda monitoraggio 3-5 gg; escalate se diffonde |
| 0.50-0.70 | Suggerisci foto a esperto; nel frattempo migliora condizioni (ventilazione, etc.) |
| < 0.50 | NON TRATTARE (rischio danno). Ottieni opinione esperto. |
## Gestione Errori
| Errore | Fallback |
|-------|----------|
| Combo coltura/sintomo sconosciuto | Query malattie_trattamenti.md; se no match, consiglia revisione foto esperto |
| Multipli patogeni probabili | Elenca top 3 candidati con score confidence; tratta candidato top |
| DPI/Equipaggiamento mancante | Suggerisci alternativa più sicura (es. Bacillus al posto rame se no respiratore) |
## Assunzioni
1. malattie_trattamenti.md è aggiornato con malattie colture
2. Utente può fornire foto o descrizione sintomo dettagliata
3. Trattamenti biologici/bio sono preferiti (no chimici sintetici)
4. Periodi carenza rispettati (14 giorni prima raccolta per certi trattamenti)
## Riferimenti
- `references/malattie_trattamenti.md` — Mapping sintomi→patogeno, trattamenti biologici autorizzati Italia, DPI, carenza
- `references/colture_it.md` — Famiglia botanica colture per risk assessment
## Checklist Validazione
- ✓ Sintomi raccolti comprensivamente
- ✓ Confidence diagnostica > 0.60 O esperto referenziato
- ✓ Requisiti DPI trattamento documentati (vedi malattie_trattamenti.md)
- ✓ Periodi carenza annotati per sicurezza raccolta
- ✓ Schedule preventivo definito per colture alto-rischio
- ✓ Audit trail loggato (trattamento applicato, risultati)
---
**Skill: orto-fitopatologo** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,336 @@
---
name: orto-init
description: Inizializzare un nuovo progetto di orto comunitario o domestico nel sistema di gestione Orto. Usare quando: (1) configurare un nuovo orto con localizzazione, dimensioni e dettagli ambientali, (2) creare la struttura di directory e template markdown per il progetto, (3) registrare l'orto nel registro centrale, (4) preparare blocchi di questionario per il profilo utente. Output: Config orto markdown, template questionari, audit trail, struttura di directory pronta per il workflow di onboarding.
---
# Orto Init — Inizializzazione Progetto Orto
Inizializzare un nuovo progetto orto da zero. Questo è il primo passo nel workflow Orto.
## Quando Usare Questa Skill
- **Setup nuovo orto:** L'utente vuole iniziare a gestire un orto con Orto
- **Registrazione orto:** Assegnare ID univoco, nome, localizzazione e dati ambientali base
- **Scaffolding directory:** Creare struttura di progetto (config, dati, log, media, cartelle report)
- **Preparazione template:** Generare template markdown per questionario, config, calendario, etc.
## Input
Codex raccoglie questi dettagli dall'utente (o usa default se non disponibili):
| Input | Tipo | Obbligatorio | Esempio |
|-------|------|----------|---------|
| `orto_id` | String | Sì | `orto_roma_testaccio_001` |
| `orto_name` | String | Sì | `Orto Testaccio Roma` |
| `provincia` | String | Sì | `Roma` |
| `regione` | String | Sì | `Lazio` |
| `latitude` | Float | Sì | `41.8782` |
| `longitude` | Float | Sì | `12.4922` |
| `area_mq` | Float | No (raccolto in onboarding) | `50` |
| `climate_zone` | Enum | No (inferito da lat/lon) | `centro` |
### Validazione Input
- `orto_id`: minuscolo, solo underscore/trattini, max 64 caratteri (es. `orto_NOME_NUMERO`)
- `provincia` + `regione`: normalizzare a lista regioni italiane (Roma → Lazio)
- `latitude`: -90 a 90, decimale
- `longitude`: -180 a 180, decimale
- `area_mq`: float positivo se fornito
## Processo
### Fase 1: Inferenza Zona Climatica
Mappare `latitude` a macro-zona italiana:
```
se lat >= 44.0:
zona = "nord" # Piemonte, Lombardia, Veneto, etc.
ultima_gelata ≈ 25 aprile
prima_gelata ≈ 15 ottobre
se no se lat >= 42.5:
zona = "centro" # Toscana, Lazio, Marche, etc.
ultima_gelata ≈ 15 aprile
prima_gelata ≈ 25 ottobre
se no:
zona = "sud" # Campania, Sicilia, Puglia, etc.
ultima_gelata ≈ 1 aprile
prima_gelata ≈ 5 novembre
```
### Fase 2: Genera Struttura Directory
Create base folder: `/home/<user>/.openclaw/workspace/Orti/<orto_id>/`
```
<orto_id>/
├── README.md # Project overview
├── config/
│ ├── garden_config.md # Base garden config (location, size, soil, etc.)
│ └── ambiente_vincoli.md # Environmental constraints
├── dati/
│ ├── questionario/
│ │ ├── blocco_1_localizzazione.md
│ │ ├── blocco_2_layout_spazio.md
│ │ ├── blocco_3_irrigazione.md
│ │ ├── blocco_4_comunita_dieta.md
│ │ └── blocco_5_obiettivi_vincoli.md
│ ├── calendario/
│ │ └── calendario_stagionale.md
│ ├── colture/
│ │ └── piano_colture_annuale.md
│ ├── layout/
│ │ ├── aiuole_dimensioni.md
│ │ └── zone_clima_microclimatico.md
│ ├── irrigazione/
│ │ ├── sistema_irrigazione.md
│ │ ├── sensori_monitoraggio.md
│ │ └── programmi_irrigazione.md
│ ├── meteo/
│ │ └── dati_meteo_giornalieri.md
│ ├── nutrizione/
│ │ ├── analisi_terreno.md
│ │ └── piano_concimazione.md
│ ├── trattamenti/
│ │ ├── diagnosi_problemi.md
│ │ └── piano_trattamenti.md
│ └── raccolti/
│ └── cicli_raccolta_previsti.md
├── log/
│ ├── audit_trail.md # Audit log
│ └── note_osservazioni.md # Field notes
├── media/
│ ├── foto/
│ └── video/
└── report/
└── (reports generated later)
```
### Fase 3: Genera Template Markdown
**garden_config.md** (dal template)
```markdown
# Configurazione Orto: [ORTO_ID]
## Dati Base
- **Nome:** [ORTO_NAME]
- **ID:** [ORTO_ID]
- **Provincia:** [PROVINCIA]
- **Regione:** [REGIONE]
- **Coordinate:** [LATITUDE], [LONGITUDE]
- **Zona climatica:** [ZONE] (Nord/Centro/Sud)
- **Ultima gelata (app.):** [LAST_FROST_DATE]
- **Prima gelata (app.):** [FIRST_FROST_DATE]
- **Lunghezza stagione:** ~[SEASON_LENGTH] giorni
## Spazio
- **Area disponibile:** ??? m² *(riempire in onboarding blocco 2)*
- **Tipologia terreno:** ??? *(riempire in onboarding blocco 2)*
- **Esposizione solare:** ??? *(riempire in onboarding blocco 2)*
## Vincoli Ambientali
- **Vincoli agua:** *(riempire in onboarding blocco 3)*
- **Vincoli manutenzione:** *(riempire in onboarding blocco 5)*
- **Note vincoli:** *(riempire in onboarding)*
## Status
- **Data creazione:** [TODAY]
- **Stato workflow:** Init completo, in attesa onboarding
```
**blocco_1_localizzazione.md** (template questionario)
```markdown
# Blocco 1 — Localizzazione Orto
## Domande
### Q1.1 — Dove si trova l'orto?
**Provincia:** [auto-filled]
**Regione:** [auto-filled]
**Indirizzo (opz.):** ___
### Q1.2 — Accessibilità
- [ ] Facile accesso da casa (< 10 min a piedi)
- [ ] Accesso moderato (10-30 min)
- [ ] Accesso difficile (> 30 min)
### Q1.3 — Proprietà/Gestione
- [ ] Proprietà privata personale
- [ ] Orto comunitario
- [ ] Terreno affittato
- [ ] Altro: ___
## Descrizione
[Spazio libero per note]
## Data risposta
[TODAY]
```
### Fase 4: Registra Orto nel Registro
Aggiungere al registro centrale (o creare se non esiste):
**orti_registry.json** (localizzazione: `/home/<user>/.openclaw/workspace/Orti/orti_registry.json`)
```json
{
"orti": [
{
"orto_id": "[ORTO_ID]",
"name": "[ORTO_NAME]",
"provincia": "[PROVINCIA]",
"regione": "[REGIONE]",
"latitude": [LAT],
"longitude": [LON],
"zone": "[ZONE]",
"created_at": "[TODAY_ISO]",
"status": "init_complete",
"path": "/home/<user>/.openclaw/workspace/Orti/[ORTO_ID]"
}
]
}
```
### Fase 5: Genera Voce Audit Trail
Creare `log/audit_trail.md`:
```markdown
# Audit Trail — [ORTO_ID]
## Evento: Init
| Campo | Valore |
|-------|-------|
| **Timestamp** | [TODAY_ISO] |
| **Evento** | orto_init |
| **Status** | success |
| **Orto ID** | [ORTO_ID] |
| **Coordinatore** | Codex (skill: orto-init) |
| **Dettagli** | Progetto orto inizializzato. Config creata, struttura directory scaffoldata, template questionari generati. |
---
```
## Output
**Struttura creata:**
- Directory `/Orti/<orto_id>/` con tutte le sottodirectory ✓
- File `garden_config.md` (template iniziale) ✓
- File `blocco_1...5.md` (template questionari, vuoti) ✓
- File `audit_trail.md` (evento init) ✓
- Voce registro in `orti_registry.json`
**Output console (Markdown):**
```markdown
# ✅ Orto Inizializzato
**Orto ID:** [ORTO_ID]
**Nome:** [ORTO_NAME]
**Localizzazione:** [PROVINCIA], [REGIONE]
**Zona:** [ZONE] (Gelate: [ULTIMA_GELATA]—[PRIMA_GELATA])
**Area:** ??? m² (raccolto in Blocco 2)
**Path:** /home/<user>/.openclaw/workspace/Orti/[ORTO_ID]
## Prossimo Passo
→ Eseguire skill **orto-onboarding** per raccogliere profilo orto tramite 5 blocchi di questionario.
**Tempo stimato:** 15-30 minuti
```
## Gestione Errori
| Errore | Fallback |
|-------|----------|
| Directory già esiste | Saltare creazione; aggiornare registro e confermare con utente |
| Coordinate non valide | Usare default centro-Italia (Lazio) e flaggare per verifica utente |
| File registro mancante | Creare nuovo registro con questa voce |
| Formato orto_id non valido | Suggerire ID normalizzato e chiedere conferma |
## Riferimenti
Vedere `references/calendario_it.md` bundled per dettagli date di gelata e zone climatiche.
## Script
Questa skill usa uno script Python bundled per creazione directory deterministica:
```bash
scripts/init_new_orto_bundled.sh \
--id <orto_id> \
--name "<orto_name>" \
--provincia <provincia> \
--regione <regione> \
--lat <latitude> \
--lon <longitude>
```
Lo script è completamente self-contained e idempotente (safe da re-eseguire).
---
## Esempi
### Esempio 1: Orto Roma
**Input:**
```
orto_id: orto_roma_testaccio_001
orto_name: Orto Testaccio Roma
provincia: Roma
regione: Lazio
latitude: 41.8782
longitude: 12.4922
```
**Output:**
- Directory creata: `/Orti/orto_roma_testaccio_001/`
- Zona inferita: `centro` (ultima gelata ~15 apr, prima gelata ~25 ott)
- Status: Init completato, pronto per onboarding
---
### Esempio 2: Orto Milano
**Input:**
```
orto_id: orto_milano_lambro_001
orto_name: Orto Lambro Milano
provincia: Milano
regione: Lombardia
latitude: 45.4642
longitude: 9.1900
```
**Output:**
- Directory creata: `/Orti/orto_milano_lambro_001/`
- Zona inferita: `nord` (ultima gelata ~25 apr, prima gelata ~15 ott)
- Status: Init completato
---
## Assunzioni
1. Codex è in esecuzione su una macchina con accesso filesystem a `/home/<user>/.openclaw/workspace/`
2. L'utente ha permessi di scrittura per creare directory e file
3. La zona climatica è inferita solo da latitudine (semplificazione; da raffinare se necessario)
4. Tutti i template sono in lingua italiana
5. Template questionari sono stub vuoti; compilati durante skill orto-onboarding
## Checklist di Validazione
- ✓ `orto_id` è univoco nel registro
- ✓ Path directory non conflitto con orti esistenti
- ✓ Coordinate valide (lat/lon bounds)
- ✓ Provincia e Regione corrispondono divisioni amministrative italiane
- ✓ Tutti file template creati e leggibili
---
**Skill: orto-init** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,315 @@
---
name: orto-irrigazione
description: Progettare sistema irrigazione multi-zona con baseline scheduling e logica automazione. Usare quando: (1) definire zone acqua per classe fabbisogno acqua coltura, (2) calcolare fabbisogni idrico giornalieri (ET, coefficienti Kc), (3) specificare emettitori e placement sensori, (4) scrivere baseline watering schedule e regole trigger meteo. Output: Config sistema irrigazione (markdown) con zone, emettitori, baseline schedule, soglie sensori umidità suolo, regole decisioni meteo.
---
# Orto Irrigazione — Progettazione Sistema Irrigazione Multi-Zona
Progettare zone irrigazione, baseline schedule, e regole automazione basate su fabbisogni acqua coltura, suolo e meteo.
## Quando Usare Questa Skill
- **Dopo orto-layout:** Assegnazione colture a beds/zone è nota
- **Pianificazione sistema:** Definire infrastruttura (emettitori, zone, sensori, controlli)
- **Baseline schedule:** Calcolare fabbisogni acqua giornalieri e frequenza irrigazione
- **Automazione:** Definire trigger umidità suolo + regole override meteo
## Processo
### Fase 1: Classificazione Fabbisogno Acqua da Colture
**Mappare colture → classe acqua (da colture_it.md):**
```
BASSO: Carota, Cipolla, Spinacio, Pisello, Aglio (~100-150 mm/stagione)
MEDIO: Lattuga, Cavolo, Broccoli, Fagiolo (~150-250 mm/stagione)
ALTO: Pomodoro, Peperone, Zucchina, Melone, Cocomero (~300-500 mm/stagione)
MOLTO_ALTO: (Raro; non tipico orto domestico)
```
### Fase 2: Inferisci Zone da Layout
**Input:** `dati/layout/aiuole_dimensioni.md` (zone + assegnazione colture)
**Example:**
```
Zone A1 (15 m²): Pomodoro (ALTO) + Basilico (MEDIO) → Zone ALTA
Zone A2 (15 m²): Cavolo (MEDIO) + Lattuga (MEDIO) → Zone MEDIA
Zone A3 (20 m²): Carota (BASSO) + Cipolla (BASSO) → Zone BASSA
```
### Phase 3: Calculate Baseline Water Needs
**Formula (simplified):**
```
Daily water need (mm) = ET0 × Kc × Area_fraction
Where:
- ET0 (ref evapotranspiration) = climate-based (lookup from zone)
- Kc (crop coefficient) = 0.4-1.2 (depends crop growth stage)
- Running frequency = Daily need / Emitter rate
Example (Zone ALTA, July, North Italy):
- ET0 ≈ 6 mm/day (summer peak)
- Kc (Pomodoro, mid-season) ≈ 0.9
- Daily need ≈ 6 × 0.9 = 5.4 mm/day
- If drip emitter 2 l/h spaced 0.5m = ~4 mm/h per m
- Runtime ≈ 5.4mm / 4mm_per_h ≈ 1.3h ≈ 80 min/day
- Frequency: 1x daily or split 2x (morning/evening in heat)
```
### Fase 4: Definisci Infrastruttura Zone
**Per ogni zona, specificare:**
| Parametro | Zona BASSA | Zona MEDIA | Zona ALTA |
|-----------|-----------|-----------|----------|
| **Tipo emettitore** | Goccia (0.5-1 l/h) | Goccia (1-2 l/h) | Goccia (2-4 l/h) + microspruzzatore |
| **Spaziatura** | 0.75m | 0.5-0.75m | 0.4-0.5m |
| **Runtime baseline** | 20-30 min | 40-60 min | 60-90 min |
| **Frequenza** | 2-3x/sett | 3-4x/sett | 4-6x/sett |
| **Sensore suolo** | Opzionale | Opzionale | Consigliato |
| **Soglia sensore (suolo %)** | 40% VWC | 50% VWC | 60% VWC |
### Fase 5: Delinea Logica Automazione
**Regola baseline (se no sensore):**
```
Zona ALTA (Pomodoro):
- Giugno-Luglio: Daily 7am + 5pm (split dovuto caldo)
- Agosto: Daily 6am + 6pm
- Pre-gelo (Ott): Skip se pioggia > 5mm in 24h
```
**Con sensore suolo:**
```
Zona ALTA:
- SE soil_moisture < 60% VWC AND (no pioggia ultime 24h) Irriga 60 min
- SE soil_moisture > 70% VWC → Skip
- Override: SE air_temp > 35°C → Irriga comunque (stress caldo)
```
**Override meteo (da orto-meteo-decisioni):**
```
- SE rain_forecast > 10mm in 24h → Skip 24h
- SE frost_alert → Muovi irrigazione a mattina (protezione radici)
- SE wind_alert → Sospendi spruzzatori (solo goccia)
```
### Fase 6: Output Config Sistema Irrigazione
**File:** `dati/irrigazione/sistema_irrigazione.md`
```markdown
# Sistema Irrigazione — [ORTO_ID]
**Area totale:** [AREA] m²
**Acqua disponibile:** [SOURCE] — [PORTATA] l/min
**Vincoli:** [CONSTRAINTS_FROM_ONBOARDING]
**Automazione:** [LEVEL]
---
## Zone Irrigue
### Zona ALTA (A1 — Pomodoro, Basilico)
**Colture:** Pomodoro (ALTO) + Basilico (MEDIO)
**Area:** 15 m²
**Sole:** Pieno (6-8h)
**Emitters:**
- Tipo: Dripper 2 l/h + microsprayer 4 l/h (angoli)
- Spacing: 0.4m
- Numero emitters: ~40 drippers
**Layout:**
```
[A1 Pomodoro — Area 15 m²]
Drip line 1 ──────────────────→
Drip line 2 ──────────────────→
Drip line 3 ──────────────────→
Drip line 4 ──────────────────→
Linea manifold: 16mm PE
Main inlet: 20mm PE (from rubinetto)
```
**Baseline Schedule (June-August, North Italy):**
| Mese | Frequency | Timing | Runtime | Note |
|------|-----------|--------|---------|------|
| Jun | 4x/week | 7am | 60 min | Inizio stagione |
| Jul | Daily | 7am, 5pm | 60 min each | Peak heat |
| Aug | Daily | 6am, 6pm | 80 min each | Peak caldo + ciclo lungo |
**Soil Sensor (Optional but recommended):**
- Model: Capacitive VWC sensor (es. SMT100)
- Placement: 20cm depth, centro aiuola A1
- Threshold: 60% VWC → Irrigate (trigger)
- Confidence: Sensor ±3% accuracy
**Meteo Override Rules:**
- IF rain_forecast > 10mm → Skip next 24h
- IF temp_forecast > 35°C → Force irrigate (heat stress priority)
- IF frost_alert → Early morning irrigation only
**Safety Interlocks:**
- Max runtime: 120 min/zone/day (prevent overwatering)
- Flow monitoring: IF flow sensor detects 0 l/min for 5 min → STOP + ALERT
**Cost estimate:**
- Drip tubing + emitters: €15 (DIY, PE budget)
- Sensor (if): €30-50
- Timer (if): €20-50
- Total: €65-115
**Expected water consumption:**
- Zone ALTA: 5.4 mm/day × 15 m² = 81 liters/day
- 30 days June-August: ~2,400 liters/mese
- Totale stagione (Jun-Oct): ~10,000 liters
---
### Zona MEDIA (A2 — Cavolo, Lattuga)
**Colture:** Cavolo (MEDIO) + Lattuga (MEDIO)
**Area:** 15 m²
**Baseline Schedule:**
| Mese | Frequency | Runtime |
|------|-----------|---------|
| Jun | 3x/week | 40 min |
| Jul | 4x/week | 50 min |
| Aug | 4x/week | 60 min |
| Sep-Oct | 2-3x/week | 40 min |
**Emitters:** Dripper 1-2 l/h, spacing 0.5m
---
### Zona BASSA (A3 — Carota, Cipolla)
**Colture:** Carota (BASSO) + Cipolla (BASSO)
**Area:** 20 m²
**Baseline Schedule:** 2-3x/week, 20-30 min
**Emitters:** Dripper 0.5-1 l/h, spacing 0.75m
**Note:** Post-raccolta (cipolla maturazione), ridurre irrigation (rischio marciume)
---
## Irrigation Circuit Layout (Diagram Testuale)
```
[Rubinetto]
[Timer/Controller]
[Linea principale 20mm PE]
├─→ [Regolatore pressione]
│ ├─→ Valvola solenoide Zona ALTA (A1)
│ ├─→ Valvola solenoide Zona MEDIA (A2)
│ └─→ Valvola solenoide Zona BASSA (A3)
└─→ [Sensore flusso totale (optional)]
└─→ [Manometro]
```
---
## Automazione Opzioni
### Opzione 1: Manuale (Budget basso)
- Timer meccanico semplice (€20)
- Avvio manuale o timer accensione
- Pro: Semplice, economico
- Contro: Meno preciso, niente sensori
### Opzione 2: Timer programmabile (Budget medio)
- Timer digitale (€30-50) con 4+ programmi
- Cron settimanale customizzabile
- Sensor input: None (rule-based only)
- Pro: Flessibile, reliable
- Contro: No adaptive weather
### Opzione 3: Smart controller (Budget alto)
- Controller IoT (es. Rasprry Pi + Sonoff relays, ~€80-150)
- WiFi integration: Previsioni meteo automatiche
- Sensor integration: Capacitive VWC input
- Pro: Full automation, adaptive
- Contro: Setup tecnico, power requirement
---
## Meteo Integration
**Input from orto-meteo-decisioni:**
Weekly briefing (ogni lunedì):
```
ZONA ALTA:
- Previsione pioggia: 15mm Wed (expected coverage 60%)
- Azione: Skip Wednesday+Thursday (2 days)
- Reschedule: Riprendere Friday
ZONA MEDIA:
- Nessun cambiamento (pioggia marginale)
ZONA BASSA:
- Previsione caldo (T > 32°C) Fri-Sun
- Nota: Carota in raccolta; ridurre irrigation (no stress)
```
---
## Troubleshooting
| Problema | Causa | Soluzione |
|----------|-------|----------|
| Emitter intasato | Calcare/sporco | Pulizia nozzle; demineralizzare se needed |
| Flusso ridotto | Perdita linea | Check connection; sostituire se bucata |
| Piante appassite | Sotto-irrigazione | Aumentare runtime o frequenza |
| Marciume radicale | Over-irrigazione | Ridurre frequenza; migliorare drenaggio |
---
## Manutenzione Annuale
- **Maggio:** Test controller, verifica emettitori (pulizia)
- **Giugno:** Calibrazione sensori (se presenti)
- **Agosto:** Check pressione sistema, riparazione leak
- **Settembre:** Preparare per riduzione irrigazione autunno
- **Novembre:** Svuotare linee, immagazzinare per inverno
---
## Riferimenti
- `references/irrigazione_parametri.md` — ET0 per zone, Kc per colture, classe acqua (BASSO/MEDIO/ALTO), soglie sensori, baseline schedule
- `references/colture_it.md` — Fabbisogni colture specifici per zone
- `references/meteo_soglie.md` — Override meteo (pioggia, gelo, caldo) per reschedule irrigazione
## Assunzioni
1. Fonte acqua disponibile (rubinetto, pozzo, raccolta pluviale)
2. Layout zone già definito (orto-layout)
3. Drenaggio suolo accettabile (>mediocre)
4. No rischio inondazione (topografia)
## Checklist Validazione
- ✓ Tutte zone hanno emettitori + baseline schedule
- ✓ Pressione sistema adeguata (0.5-1.5 bar goccia, 2-3 bar sprinkler)
- ✓ Consumo acqua max ≤ capacità fonte (l/min × runtime)
- ✓ Logica automazione coerente (no conflitti sensore/meteo)
- ✓ Safety interlocks presenti
- ✓ Stima costo ragionevole
---
**Skill: orto-irrigazione** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,309 @@
---
name: orto-layout
description: Progettare layout orto con aiuole rialzate, consociazioni e assegnazioni zone. Usare quando: (1) assegnare colture a aiuole basato su consociazioni e raggruppamento fabbisogno acqua, (2) creare layout spaziale (dimensioni aiuola, sentieri, accessibilità), (3) raggruppare colture per zona irrigazione (classe acqua), (4) disegnare mappe aiuole ASCII con etichette colture. Output: Layout markdown con assegnazioni aiuole, matrice consociazione, note accessibilità, assegnazioni zone per irrigazione.
---
# Orto Layout — Progettazione Aiuole Orto e Consociazione Piante
Mappare colture a aiuole fisiche, applicare regole consociazione piante, raggruppare per zone acqua, assicurare accessibilità.
## Quando Usare Questa Skill
- **Dopo piano colture:** Lista colture è finalizzata
- **Prima di irrigazione:** Necessitare raggruppamenti zona per scheduling acqua
- **Pianificazione spazio:** Layout fisico con dimensioni aiuola e sentieri
- **Accessibilità:** Assicurare sentieri calpestabili, adatti per minori/anziani se necessario
## Processo
### Fase 1: Estrai Requisiti Colture da Piano Colture
**Input:** `dati/colture/piano_colture_annuale.md`
**Per ogni coltura, raccolgi:**
- Classe acqua (BASSO, MEDIO, ALTO)
- Spaziatura (cm tra piante, cm tra file)
- Requisito sole (pieno/parziale/ombra)
- Gruppi consociazione (match positivi/negativi)
- Area necessaria (m²) = piante × area_spaziatura
### Fase 2: Raggruppa per Zona Acqua
**Logica:**
1. **ZONA ALTA (acqua-intensiva):** Pomodoro, Peperone, Zucchina, Melone, Basilico
2. **ZONA MEDIA:** Lattuga, Cavolo, Broccoli, Fagiolo, Carota
3. **ZONA BASSA:** Carota, Cipolla, Spinacio, Pisello, Barbabietola
**Constraint:** Avoid mixing high + low in same bed (diff watering needs)
### Phase 3: Apply Companion Rules
**Matrice consociazione (da colture_it.md):**
```
POSITIVO (✓):
- Pomodoro + Basilico → odore basilico repelle insetti
- Pomodoro + Carota → radici diverse (non competono)
- Fagiolo + Mais + Zucca → "Trio di sorelle" (N fixation, support, ombra)
ANTAGONISMO (✗):
- Pomodoro + Brassica → malattie compartite
- Cipolla + Fagiolo → sopprimono N fixation
- Carota + Finocchio → competizione radicale
```
**Output:** Raggruppamento aiuole rispettando:
1. Match zona acqua
2. Consociazioni positive quando possibile
3. No antagonismi in stessa aiuola
4. No stessa famiglia 2+ anni (check rotazione con storia)
### Fase 4: Progettazione Layout
**Raccomandazioni dimensioni aiuola (da colture_it.md):**
- Larghezza: 1.0-1.5 m (raggiungibile dai lati)
- Lunghezza: 2-4 m (modulare)
- Profondità: 0.3-0.5 m (rialzate), o 0 (a terra)
- Sentiero: 0.5 m min (accessibilità)
**Esempio per area 50 m²:**
```
Area 50 m² → Dividi in 4-5 aiuole + sentieri
Opzione 1: Rialzate (4 aiuole)
Ogni aiuola: 1.2m × 3m × 0.4m = 3.6 m²
Total aiuole: 4 × 3.6 = 14.4 m²
Sentiero: ~5 m² (10%)
Usable: ~14.4 m² ← Conservativo
Opzione 2: A terra (4 file parallele)
Ogni fila: 1m wide × 12m long = 12 m²
Total: ~36 m² (usable)
Sentiero: ~8 m² (20%)
Migliore: Mix (2 rialzate + 2 file) = ~20-25 m² usable
```
### Fase 5: Genera Mappa Layout e Assegnazione
**Output:** `dati/layout/aiuole_dimensioni.md`
```markdown
# Layout Orto — [ORTO_ID]
**Area totale:** 50 m²
**Area usable:** 25 m²
**Tipologia:** 2 aiuole rialzate + 2 file a terra
---
## Map Testuale
```
[NORD - Sole max al mattino]
AIUOLA A1 (Rialzata) AIUOLA A2 (Rialzata)
1.2m × 3m × 0.4m 1.2m × 3m × 0.4m
┌─────────────────────┐ ┌─────────────────────┐
│ POD │ POD │ POD │ POD│ │ CAV │ CAV │ LAT │ LAT│
│ + │ + │ + │ + │ │ +FR │+TIM │ │ │
│ BAS │ BAS │ BAS │ BAS│ │ │ │ │ │
└─────────────────────┘ └─────────────────────┘
[ZONA ALTA] [ZONA MEDIA]
Acqua: Daily Acqua: 3-4x/sett
PATHWAY 0.5m ↔
FILA A3 (A terra) FILA A4 (A terra)
1m × 12m 1m × 12m
[CAR || CAR || CAR] [CIP || CIP || CIP]
[ x || x || x ] [ x || x || x ]
[ x || x || x ] [ x || x || x ]
[ZONA MEDIA] [ZONA BASSA]
Acqua: 3x/sett Acqua: 2-3x/sett
[SUD - Ombra pomeridiana]
```
---
## Assegnazione Aiuole Dettagliata
### AIUOLA A1 — Zona ALTA (Pomodoro + Basilico)
**Dimensioni:** 1.2m × 3m (3.6 m²)
**Esposizione:** Pieno sole (6-8h)
**Acqua:** ALTA (daily 60-80 min)
**Layout (vista dall'alto):**
```
3 metri (NORD → SUD)
┌─────────────────────────┐ 1.2 m
│ POD │ POD │ POD │ POD │ (OVEST)
│ 0.6m │ 0.6m │ 0.6m │ 0.6m│
│ 60cm│ 60cm│ 60cm│ 60cm│
│ (distanza file) │
│ ┌──────────────────────┐ │
│ │BASILICO (bordure) │ │
│ └──────────────────────┘ │
└─────────────────────────┘
```
**Piante:**
- Pomodoro: 4 piante (1 per colonna, distanza 60cm)
- Basilico: 4 piante (bordure, angoli e centro tra righe)
- Tutori: Bambù per pomodori (centro aiuola, 2m height)
**Consociazione:** ✓ Positiva (basilico odore repelle insects)
**Cura:** Cesellatura basilico, tutoraggio pomodoro regolare
---
### AIUOLA A2 — Zona MEDIA (Cavolo + Lattuga + Timo)
**Dimensioni:** 1.2m × 3m (3.6 m²)
**Esposizione:** Pieno sole (6-8h)
**Acqua:** MEDIA (3-4x/sett 40-50 min)
**Layout:**
```
┌──────────────────────────┐
│ CAV │ CAV │ CAV │ CAV │ (60cm spacing)
│ │ │ │ │
│ LAT │ LAT │ LAT │ LAT │ (SECOND row, 30cm spacing)
│ │ │ │ │
│ TIM (corners, perennial, tutor fixed)
└──────────────────────────┘
```
**Piante:**
- Cavolo: 4 piante (60cm spacing)
- Lattuga: 8-12 piante (30cm spacing, second row)
- Timo: 2 piante (corners, permanent)
**Consociazione:** ✓ Positiva (timo + cavolo repelle; lattuga diversa root depth)
---
### FILA A3 — Zona MEDIA (Carota)
**Dimensioni:** 1m × 12m
**Esposizione:** Pieno sole parziale (4-6h ok)
**Acqua:** MEDIA (3x/sett 40 min)
**Layout:**
```
Carota: 3 righe parallele (distanza 20cm)
Ogni riga: ~30 piante (spacing 5-8cm, diradare crescita)
┌──────────────────────────────┐
│ C C C C C ... (30 plants) │ Riga 1 (0-20cm)
│ │
│ C C C C C ... (30 plants) │ Riga 2 (20-40cm)
│ │
│ C C C C C ... (30 plants) │ Riga 3 (40-60cm)
│ │
│ C C C C C ... (30 plants) │ Riga 4 (60-80cm) [optional]
└──────────────────────────────┘
```
**Succesioni:** Carota può seminare 2-3 volte (mar/mag-giu, lug-ago uscita ott)
---
### FILA A4 — Zona BASSA (Cipolla)
**Dimensioni:** 1m × 12m
**Esposizione:** Sole parziale ok (4-6h)
**Acqua:** BASSA (2-3x/sett 20-30 min)
**Layout:**
```
Cipolla: 2 righe (25cm spacing tra file, 15cm tra piante)
┌──────────────────────────────┐
│ O O O O O ... (40 bulbilli) │ Riga 1
│ │
│ O O O O O ... (40 bulbilli) │ Riga 2
└──────────────────────────────┘
Trapianto: Marzo-Aprile (bulbilli)
Raccolta: Luglio-Agosto (bulbi maturi)
```
---
## Accessibilità & Sicurezza
**Persone coinvolte:** [From CommunityProfile]
- Se minori (children): Remove toxic/irritating plants (no ruta, attenzione rovo)
- Se anziani: Rialzate preferred (no piegamento eccessivo)
- Se PMR: Pathways ≥0.7m, rialzate a 0.6-0.8m (wheel accessible)
**Pathways in layout:**
```
Main path (NORD-SUD): 0.7m wide (wheelchair OK)
Side paths (access to beds): 0.5m min
```
---
## Irrigation Zone Assignment (Summary)
| Aiuola | Zona Acqua | Baseline |
|--------|-----------|----------|
| A1 (POD+BAS) | **ALTA** | Daily 60-80 min |
| A2 (CAV+LAT) | **MEDIA** | 3-4x/sett 40-50 min |
| A3 (CAR) | **MEDIA** | 3x/sett 40 min |
| A4 (CIP) | **BASSA** | 2-3x/sett 20-30 min |
**Manifold layout:**
- Main 20mm → Split to 3 zones (ALTA, MEDIA, BASSA)
- Zone ALTA: Drip 2 l/h, Zone MEDIA: 1-2 l/h, Zone BASSA: 0.5-1 l/h
---
## Rotation Plan (Multi-Year)
**Anno 1:**
- A1: Solanaceae (Pomodoro)
- A2: Brassicaceae (Cavolo) + Asteraceae (Lattuga)
- A3: Apiaceae (Carota)
- A4: Amaryllidaceae (Cipolla)
**Anno 2 (Rotazione):**
- A1: Legume (Fagiolo) [N fixation benefit post-Solanaceae]
- A2: Apiaceae (Carota)
- A3: Amaryllidaceae (Cipolla)
- A4: Solanaceae (Pomodoro)
---
## Riferimenti
- `references/colture_it.md` — Spaziatura, consociazioni, classe acqua, famiglie botaniche
- `references/consociazioni_layout.md` — Matrice consociazione completa (positivo/antagonismo), dimensioni aiuole, spacing, accessibilità
- `references/irrigazione_parametri.md` — Classe acqua (BASSO/MEDIO/ALTO) per zone allocazione
## Assunzioni
1. Lista colture piano colture finalizzata
2. Dimensioni area fornite (GardenConfig)
3. Requisiti accessibilità da CommunityProfile
4. Esposizione sole misurata/stimata (GardenConfig)
## Checklist Validazione
- ✓ Tutte colture da piano colture assegnate a aiuole
- ✓ Zone acqua coerenti (ALTA/MEDIA/BASSA non miste)
- ✓ Consociazioni positive massimizzate
- ✓ No antagonismi in stessa aiuola
- ✓ Sentieri accessibilità ≥0.5m
- ✓ Piano rotazione copre 2-3 anni
- ✓ Disegno layout chiaro e azionabile
---
**Skill: orto-layout** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,278 @@
---
name: orto-meteo-decisioni
description: Analizzare previsione meteo e generare modifiche task operativi (aggiustamenti irrigazione, reschedule task, alert). Usare quando: (1) ottenere previsione 7-giorni per localizzazione orto, (2) calcolare precipitazione effettiva e deficit idrico, (3) decidere skip/delay irrigazione basato su pioggia, vento, gelo, caldo, (4) taggare task calendario per reschedule meteo-driven. Output: Briefing meteo settimanale (markdown) con decisioni irrigazione specifiche zona, raccomandazioni reschedule task, alert gelo/caldo/vento.
---
# Orto Meteo Decisioni — Decisioni Operative Basate su Meteo
Ottenere previsione meteo, calcolare bilancio acqua, generare aggiustamenti irrigazione e raccomandazioni reschedule task.
## Quando Usare Questa Skill
- **Settimanale:** Ogni lunedì, generare brief meteo per settimana avanti
- **Task critico:** Prima di trapianto, trattamenti, o operazioni alto-fabbisogno-acqua
- **Scheduling adattivo:** Real-time O lookahead 7-giorni (no, non intra-gg)
- **Integrazione:** Link con orto-calendario (task meteo_defer), orto-irrigazione (decisioni zona)
## Processo
### Fase 1: Ottieni Previsione Meteo
**Fonte dati:** wttr.in (o open-meteo fallback, no API key richiesta)
**Periodo previsione:** 7 giorni avanti (Lunedì-Domenica)
**Estrarre:**
- Tmax, Tmin giornalieri
- Precipitazione (mm, probabilità)
- Velocità vento (kn)
- Umidità relativa (%)
- Rischio gelo (T < 0°C notti)
### Fase 2: Calcola Bilancio Acqua per Zona
**Per ogni zona, computare:**
```
Precipitazione effettiva (mm) = Precip_mm × 0.85 (fattore infiltrazione suolo)
Deficit idrico (mm) = Zona_classe_acqua_bisogno_giornaliero (mm) - Precip_effettiva (mm)
Regola decisione:
SE Precip_effettiva >= 70% bisogno zona:
→ SALTA irrigazione (pioggia sufficiente)
→ Ritarda 24-48h se pioggia durante ore applicazione
SE PURE Precip_effettiva >= 30%:
→ RIDUCI runtime 30-50%
SE NO:
→ MANTIENI baseline O aumenta (alert caldo)
```
### Fase 3: Valuta Fattori Rischio
| Fattore | Threshold | Azione |
|--------|-----------|--------|
| **Gelo** | T < 0°C notte | Alert; differisci trapianto delicato +3-7 gg; irriga mattina (proteggi radici) |
| **Stress caldo** | T > 35°C gg | Forza irrigazione (priorità su previsione pioggia); aumenta frequenza |
| **Vento** | > 5 kn | Differisci spray fogliari, trapianto (piante stress); riduci irrigazione sprinkler |
| **Vento forte** | > 8 kn | DIFFERISCI trapianto critico, trattamenti |
| **Pioggia forte** | > 20mm/24h | Alert rischio inondazione (esp. se drenaggio scarso); controlla campo |
| **Grandine** | Alert grandine | Stop irrigazione immediato; valuta danni post-grandine |
### Fase 4: Genera Brief Settimanale
**Output:** `dati/meteo/dati_meteo_giornalieri.md`
```markdown
# Meteo Brief — Week [WK] ([DATE_RANGE]) — [ORTO_ID]
**Location:** [PROVINCIA], [REGIONE], [LAT], [LON]
**Zone climatica:** [ZONE]
**Data forecast:** [RETRIEVED_DATE]
---
## Riepilogo Settimanale
| Giorno | Tmax | Tmin | Precip (mm) | Vento (kn) | Allerta |
|--------|------|------|-------------|-----------|---------|
| Lun | 22 | 14 | 0 | 3 | ✓ OK |
| Mar | 24 | 15 | 2 | 4 | ✓ OK |
| Mer | 20 | 12 | 8 | 5 | ⚠️ VENTO |
| Gio | 19 | 10 | 12 | 2 | ✓ OK (pioggia) |
| Ven | 23 | 13 | 0 | 3 | ✓ OK |
| Sab | 26 | 16 | 0 | 4 | ✓ OK |
| Dom | 28 | 18 | 1 | 6 | ⚠️ CALDO + VENTO |
**Tendenza:** Instabile martedì-giovedì (pioggia intermittente), then dry + warm weekend
---
## Decisioni per Zone Irrigue
### ZONA ALTA (A1 — Pomodoro, Basilico)
**Baseline:** Daily 7am + 5pm, 60 min each (summer schedule)
**Meteo-adjusted schedule:**
| Giorno | Baseline | Precip | Effective | Decision | New Schedule | Nota |
|--------|----------|--------|-----------|----------|--------------|------|
| Lun | 7am+5pm | 0 mm | 0 mm | Irrigate full | 7am 60min, 5pm 60min | ✓ |
| Mar | 7am+5pm | 2 mm | 1.7 mm | Irrigate reduced | 7am 45min, skip 5pm | Pioggia leggera |
| Mer | SKIP | 8 mm | 6.8 mm | **SKIP** | **SKIP** | Vento 5kn (no spray) |
| Gio | SKIP | 12 mm | 10.2 mm | **SKIP** | **SKIP** | Pioggia adeguata, vento cala |
| Ven | 7am+5pm | 0 mm | 0 mm | Irrigate full | 7am 60min, 5pm 60min | Post-pioggia, recuperare |
| Sab | 7am+5pm | 0 mm | 0 mm | Irrigate full | 7am 60min, 5pm 60min | ✓ |
| Dom | 7am+5pm | 1 mm | 0.85 mm | 🔥 CALDO ALERT | 6am 80min, 5pm 80min | T > 28°C, vento 6kn (monitor) |
**Summary:**
- **Water saved Wed-Thu:** 240 min (pioggia sufficient)
- **Water added Dom:** +40 min (heat stress override)
- **Vento impact:** Mer risky (defer), Dom monitor
---
### ZONA MEDIA (A2 — Cavolo, Lattuga)
**Baseline:** 3-4x/week, 40-50 min per session
**Decision:** Baseline ridotto mercoledì (pioggia). Giovedì skip. Normale altri giorni.
---
### ZONA BASSA (A3 — Carota, Cipolla)
**Baseline:** 2-3x/week, 20-30 min (low water need)
**Decision:** Skip Wed-Thu (pioggia sufficiente). Cipolla in maturazione → ulteriore riduzione (evitare marciume).
---
## Task Rescheduling (Meteo-Sensitive Calendar)
**Calendar reference:** `dati/calendario/calendario_operativo.md`
### ⚠️ TASK CRITICA QUESTA SETTIMANA
**[Se presente] Task 16.1 — Trapianto Pomodoro**
Original date: Martedì (19 Apr)
**Meteo check:** Vento martedì 4 kn (OK), mercoledì 5 kn (borderline)
**Decision:** PROCEED martedì (vento tollerabile). Proteggere piantine da vento (wind break se needed).
**If trapianto fosse mercoledì:** RINVIARE +2 gg (vento 5+ kn non ideale; piante freshe soffrono)
---
### Task con meteo-tag METEO_DEFER
| Task | Scheduled | Meteo Issue | Action |
|------|-----------|-------------|--------|
| Trattamento fogliare (se presente) | Mercoledì | Vento > 5 kn | RINVIARE Venerdì |
| Concimazione (se presente) | Mercoledì | Pioggia imminente | POSTPONE Giovedì post-pioggia |
---
### Task con meteo-tag METEO_SKIP (None per questa settimana)
---
## Allerte Importanti
### 🟡 ATTENZIONE VENTO (Mercoledì)
**Vento 5 kn mercoledì.**
- NO trattamenti fogliari (spray non effective, drift)
- NO trapianti se piantine sensibili
- Irrigazione: Preferire goccia a spray
- Consiglio: Posticipare attività outdoor critiche
---
### 🔥 ALLERTA CALDO (Domenica)
**T max 28°C, possibile > 30°C domenica.**
- **Irrigazione:** Aumentate di +30% (heat stress override)
- **Mulching:** Check pacciamatura è adequata
- **Ombra:** Se lattuga estiva in bolognaise, aumentate copertura
- **Orario:** Irrigare presto mattina (6am) + sera (6pm), evitare ore 12-15 (radiazione massima)
---
### ✅ OK — Pioggia Prevista (Gio)
**Pioggia 12 mm giovedì** → SKIP irrigazione
- Effective rainfall ~10 mm (copre 70% zone MEDIA/ALTA)
- Opportunità: Ridurre pressione sull'acqua
- Nota: Post-pioggia (venerdì), monitorare marciume se drenaggio scadente
---
## Consigli Operative
**Lunedì:**
- [ ] Mantenere irrigazione baseline (niente pioggia)
- [ ] Check manometro pressione sistema
- [ ] Preparare strumenti (se trattamento necessario venerdì)
**Martedì:**
- [ ] Monitorare vento (possibile irrigazione ridotta se >5kn)
- [ ] Irrigazione 7am + 5pm (schedule normale)
**Mercoledì:**
- [ ] **SKIP irrigazione** (pioggia + vento)
- [ ] NO trattamenti fogliari (vento)
- [ ] Monitorare pioggia cumulo (potrebbe meno di forecast)
**Giovedì:**
- [ ] **SKIP irrigazione** (pioggia adequate)
- [ ] Check drenaggio post-pioggia (evitare ristagno)
**Venerdì:**
- [ ] **Riprendere irrigazione** full (baseline restored)
- [ ] Eseguire trattamenti fogliare se posticipato mercoledì (condizioni OK)
- [ ] Monitorare umidità suolo sensore (dovrebbe calare post-pioggia)
**Sabato:**
- [ ] Irrigazione baseline (sole, no pioggia)
**Domenica:**
- [ ] **AUMENTATE IRRIGAZIONE** (caldo, 28°C+)
- [ ] Controllare temperature (T > 30°C = heat stress risk)
- [ ] Cercare ombra naturale per lattuga/cavolo
---
## Forecast Confidence & Updates
**Confidence this forecast:** 0.82 (Day 1-3 high, Day 5-7 medium)
**Update schedule:**
- Monday 8am: Full 7-day
- Thursday 6pm: 2-day update (Fri-Sat precision)
- Real-time: Critical alerts (frost, hail, extreme wind)
**Source:** wttr.in (UK MetOffice data); fallback open-meteo (OM)
---
## Note Storiche (Opzionale)
*Campo tracking opzionale: Il meteo effettivo ha corrisposto alla previsione? Usare per calibrazione.*
- Scorsa settimana previsione pioggia Mer, effettiva Gio: errore -1 gg
- Margini confidenza migliorano con dati calibrazione
---
## Riferimenti
- `references/meteo_soglie.md` — Valori threshold completi (vento, pioggia, gelo, caldo, umidità), trigger operativi per reschedule
- `references/irrigazione_parametri.md` — Calcolo effective rainfall per decisioni irrigazione
- `references/calendario_it.md` — Date gelate regionali per frost alerts
## Assunzioni
1. Connessione internet disponibile (fetch meteo API)
2. Localizzazione orto lat/lon accuratamente registrata
3. Dati previsione sono rolling 7-giorni (refresh giornaliero)
4. Precipitazione effettiva = precip × 0.85 (fattore infiltrazione standard)
## Checklist Validazione
- ✓ Dati previsione recuperati e parsati
- ✓ Bilancio acqua calcolato per zona
- ✓ Raccomandazioni reschedule task coerenti con calendario
- ✓ Alert triggerati se threshold ecceduti (gelo, caldo, vento, pioggia)
- ✓ Markdown output azionabile (decisioni giornaliere chiare)
---
**Skill: orto-meteo-decisioni** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,327 @@
---
name: orto-onboarding
description: Raccogliere profilo completo orto tramite 5 blocchi questionario. Usare quando: (1) raccogliere specifiche orto dopo orto-init (spazio, suolo, capacità irrigazione), (2) comprendere preferenze dieta utente/comunità e vincoli, (3) definire disponibilità manutenzione e requisiti sicurezza/accessibilità, (4) preparare dati validati per pianificazione stagionale (orto-agronomo, orto-calendario, etc.). Output: Blocchi questionario compilati (Markdown), GardenConfig e CommunityProfile validati, pronti per workflow planning.
---
# Orto Onboarding — Raccolta Profilo Orto 5-Blocchi
Raccogliere informazioni complesse orto e comunità tramite questionario strutturato 5-blocchi. Questo è il secondo passo dopo orto-init.
## Quando Usare Questa Skill
- **Post-init:** Utente ha inizializzato un orto (orto-init completo)
- **Raccolta profilo:** Raccogliere dettagli su spazio, ambiente, comunità, dieta, vincoli
- **Preparazione planning:** Raccogliere dati necessari per pianificazione stagionale, selezione colture, design layout
- **Revisione accessibilità:** Assicurare design rispetta accessibilità, sicurezza e vincoli manutenzione
## Panoramica Processo
**5 Blocchi, Sequenziale o Parallelo:**
1. **Blocco 1 — Localizzazione** (localizzazione, accesso, tipo proprietà)
2. **Blocco 2 — Layout Spazio** (area, suolo, esposizione sole, topografia)
3. **Blocco 3 — Irrigazione** (disponibilità acqua, infrastruttura, vincoli)
4. **Blocco 4 — Comunità e Dieta** (utente/comunità, preferenze dieta, allergie)
5. **Blocco 5 — Obiettivi e Vincoli** (tempo manutenzione, obiettivi, preferenze stagionali)
**Flow Tipico:**
- Codex presenta ogni blocco
- Utente riempie dettagli (interattivamente o batch markdown edit)
- Codex valida input
- Al completamento: merge in file GardenConfig + CommunityProfile markdown
## Specifiche Blocchi
### Blocco 1 — Localizzazione
**Purpose:** Confermare dettagli localizzazione e accessibilità.
**Domande:**
| Q | Type | Default | Validation |
|---|------|---------|-----------|
| Q1.1 | Confirm provincia | Auto-filled from init | Read-only or allow edit |
| Q1.2 | Confirm regione | Auto-filled from init | Read-only or allow edit |
| Q1.3 | Indirizzo (opz.) | None | String, optional |
| Q1.4 | Accessibilità | Choose 3 options | Enum: easy/moderate/difficult |
| Q1.5 | Proprietà/Gestione | Choose 4 options | Enum: private/community/leased/other |
| Q1.6 | Note/Descrizione | Free text | Optional |
**Outputs:**
- `localizzazione.provincia`
- `localizzazione.regione`
- `localizzazione.accessibilita`
- `localizzazione.tipo_proprieta`
---
### Blocco 2 — Layout Spazio
**Purpose:** Define space constraints, soil, sun exposure.
**Questions:**
| Q | Type | Example | Validation |
|---|------|---------|-----------|
| Q2.1 | Area disponibile (m²) | 50 | Float > 0 |
| Q2.2 | Tipologia spazio | Choose: aiuole rialzate / a terra / vasi | Enum |
| Q2.3 | Sole diretto (ore/gg) | 6 | Integer, 0-12 |
| Q2.4 | Tipo suolo | Choose: sabbioso / limoso / argilloso / misto | Enum |
| Q2.5 | Drenaggio | Choose: ottimo / buono / mediocre / pessimo | Enum |
| Q2.6 | Topografia | Choose: piano / leggera pendenza / forte pendenza | Enum |
| Q2.7 | Vicinanza alberi/muri | Descrivi | String |
**Outputs:**
- `layout.area_mq`
- `layout.tipo_spazio`
- `layout.ore_sole_giornaliere`
- `layout.tipo_suolo`
- `layout.drenaggio`
- `layout.topografia`
**Hints:**
- Sole < 4h = parziale (verdure da foglia)
- Sole 4-6h = medio (alcune ortaggi)
- Sole > 6h = pieno (pomodoro, peperone, zucchina)
- Drenaggio scarso = rischio marciume
---
### Blocco 3 — Irrigazione
**Purpose:** Assess water infrastructure and constraints.
**Questions:**
| Q | Type | Choices | Validation |
|---|------|---------|-----------|
| Q3.1 | Fonte acqua disponibile | Choose: rubinetto / pozzo / raccolta pluviale / altro | Enum, ≥1 |
| Q3.2 | Portata rubinetto (l/min) | Input numeric (es: 10) | Float, optional |
| Q3.3 | Vincoli idrici | Choose: nessuno / razionamento estivo / razionamento tutto anno / altro | Enum |
| Q3.4 | Tipo irrigazione attuale | Choose: manuale / impianto goccia / impianto aspersione / nessuno | Enum |
| Q3.5 | Disponibilità sensori umidità | Choose: no / sì, da installare / sì, già presenti | Enum |
| Q3.6 | Automazione desiderata | Choose: nessuna / timers semplici / smart controller / altro | Enum |
| Q3.7 | Note / Vincoli speciali | Free text | Optional |
**Outputs:**
- `irrigazione.fonte_acqua`
- `irrigazione.portata_lmin`
- `irrigazione.vincoli`
- `irrigazione.tipo_impianto`
- `irrigazione.sensori_disponibili`
- `irrigazione.automazione_desiderata`
**Logic:**
- If portata < 5 l/min flag: "acqua limitata, design conservativo raccomandato"
- If razionamento estivo → nota: "attivare mulching, irrigazione serale/notturna"
---
### Blocco 4 — Comunità & Dieta
**Purpose:** Understand dietary preferences and community structure.
**Questions:**
| Q | Type | Input | Validation |
|---|------|-------|-----------|
| Q4.1 | Numero persone | Numeric | Integer ≥ 1 |
| Q4.2 | Profilo dieta | Choose: onnivoro / vegetariano / vegano / mixto | Enum, may select multiple |
| Q4.3 | Preferenze cultivi | Multi-select: pomodoro, zucchina, lattuga, basilico, carota, cipolla, ... | List |
| Q4.4 | Colture da evitare | Multi-select | List |
| Q4.5 | Allergie / Intolleranze | Text, list | Free text, optional |
| Q4.6 | Figli / Anziani in orto | Choose: no / sì, figli / sì, anziani / sì, entrambi | Enum |
| Q4.7 | Safety notes | Text | Optional (allergie piante, animali domestici) |
**Outputs:**
- `community.n_persone`
- `community.dieta` (list)
- `community.preferenze_colture` (list)
- `community.colture_evitare` (list)
- `community.allergie`
- `community.minori_anziani`
- `community.note_safety`
**Logic:**
- If vegano + fertilizzante preferito → bias toward nitrogen-fixing crops (fagiolo, pisello, fava)
- If bambini → safety: avoid highly toxic plantas; flag allergie comuni (arachidi grow no, ma altri)
- If allergie riportate → consulta reference e segnala colture compatibili
---
### Blocco 5 — Obiettivi & Vincoli
**Purpose:** Define maintenance capability and goals.
**Questions:**
| Q | Type | Input | Validation |
|---|------|-------|-----------|
| Q5.1 | Tempo settimanale disponibile | Choose: < 2h / 2-5h / 5-10h / > 10h | Enum |
| Q5.2 | Frequenza accesso | Choose: giornaliero / 2-3 volte sett / settimanale / bisettimanale / altro | Enum |
| Q5.3 | Obiettivi primari | Multi-select: orto terapeutico / approvvigionamento / educazione / comunità / hobby | List |
| Q5.4 | Esperienze precedenti | Choose: nessuna / dilettante / esperto | Enum |
| Q5.5 | Stagione preferita | Choose: primavera / estate / autunno / tutto l'anno | Enum |
| Q5.6 | Tolleranza rischio / fallimenti | Choose: bassa (voglio certezza) / media / alta (sperimentazione ok) | Enum |
| Q5.7 | Cosa non vuoi fare | Multi-select: concimazione chimica / trattamenti / potatura aggressiva / altro | List |
**Outputs:**
- `vincoli.ore_settimanali`
- `vincoli.frequenza_accesso`
- `vincoli.obiettivi` (list)
- `vincoli.esperienza`
- `vincoli.stagione_preferita`
- `vincoli.tolleranza_rischio`
- `vincoli.evitare` (list)
**Logic:**
- If ore < 2/sett design basso-manutenzione: colture robuste, pacciamatura, automazione
- If frequenza bisettimanale + caldo estivo → warning: "piante soffrono, pianificare coperture/ombra"
- If Obiettivo "educazione" → bias verso varietà interessanti, osservabili
---
## Validation & Merge
### Validation Rules
**Per-block validation:**
| Block | Rule | Error | Action |
|-------|------|-------|--------|
| 1 | provincia/regione match | Mismatch | Flag, suggest correction |
| 2 | area > 0 | area = 0 | Reject, ask again |
| 2 | sole ore > suolo drainsge | conflitto | Warning: "sole alto + scarso drenaggio → marciume" |
| 3 | fonte_acqua ≠ None | No water source | Flag: critical, ask fallback |
| 4 | n_persone > 0 | Empty | Default 1 |
| 5 | ore_settimanali > 0 | Empty | Ask, flag risk |
**Cross-block validation:**
| Check | Condition | Action |
|-------|-----------|--------|
| Coherence | minori/anziani + ore < 2/sett | Warning: "poco tempo per accessibilità; pianificare percorsi sicuri" |
| Diet alignment | dieta + colture evitare incompatible | Flag: "preferenze dieta e colture evitare conflittano" |
| Goal alignment | goal "approvvigionamento" + area < 20m² | Warning: "area piccola per approvvigionamento; puntare qualità/successioni" |
### Merge to GardenConfig & CommunityProfile
**After validation, create/update:**
1. **dati/config/garden_config.md**
- Top-level config: area, zone, vincoli ambientali
- Soloinfo oggettiva (coordinate, suolo, sole, irrigazione)
2. **dati/config/community_profile.md**
- Community: n_persone, dieta, preferenze, allergie
- Obiettivi: ore disponibili, goals, esperienza
- Constraints: cosa NON fare, minori/anziani, tolleranza rischio
3. **log/audit_trail.md**
- Event: onboarding_complete
- Timestamp, blocks completed, validation status
## Output
**Console Output:**
```markdown
# ✅ Onboarding Completato
**Orto:** [ORTO_NAME]
**Area:** [AREA] m²
**Zona climatica:** [ZONE]
**Comunità:** [N_PERSONE] persone
**Dieta:** [DIET_LIST]
**Tempo disponibile:** [HOURS]/settimana
## Profilo Validato ✓
- [✓] Localizzazione confermata
- [✓] Layout spazio raccolto
- [✓] Irrigazione pianificata
- [✓] Community profile completato
- [✓] Vincoli e obiettivi definiti
## Prossimi Passi
1. **orto-agronomo** → Piano colture (30 min)
2. **orto-calendario** → Timeline stagionale (20 min)
3. **orto-irrigazione** → Design irrigazione (20 min)
4. **orto-orchestratore** → Merge piano finale (10 min)
**Tempo totale planning:** ~80 minuti
```
## Error Handling
| Error | Fallback |
|-------|----------|
| Q3.1 (no water source) | Critical error; suggest alternative (raccolta pluviale, well pump) or suggest not proceeding |
| Q2.1 (area = 0) | Re-ask, provide hints (typical ranges: 20-100 m²) |
| Missing mandatory field | Highlight, require answer before merge |
| Allergia allergia | Cross-check with colture preferite; flag conflicts |
## References
- `references/colture_it.md` — Colture e preferenze
- `references/calendario_it.md` — Zone climatiche e validazione
## Assets
- `assets/blocco_template.md` — Template vuoto per ogni blocco (riempibile manualmente se preferito)
---
## Examples
### Example 1: Roma Comunità, Orto Terapeutico
**Blocco 1:** Roma, Lazio, Facile accesso, Orto comunitario
**Blocco 2:** 40 m², Aiuole rialzate, 7h sole, Suolo misto, Buon drenaggio
**Blocco 3:** Rubinetto disponibile, Razionamento estivo, Nessun impianto, Sensori da installare
**Blocco 4:** 8 persone, Misto, Piacerebbe pomodoro/basilico/insalata, No allergie, Con anziani
**Blocco 5:** 3-5h/settimana, Settimanale, Terapeutico + Comunità, No esperienza, Estate preferita
**Output:**
- garden_config.md: 40m², Zone centro, Sole buono, Irrigazione manuale da migliorare
- community_profile.md: 8pp, Misto, Therapeutic goal, Low maintenance experience, Accessibility required
---
### Example 2: Milano Famiglia, Approvvigionamento
**Blocco 1:** Milano, Lombardia, Accesso moderato, Privato
**Blocco 2:** 60 m², A terra, 6h sole, Suolo misto, Scarso drenaggio
**Blocco 3:** Rubinetto 8 l/min, No razionamento, Nessun impianto, Sensori interessano
**Blocco 4:** 3 persone, Onnivoro, Ama pomodoro/zucchina/carota, No allergie
**Blocco 5:** 5-10h/sett, 2-3 volte/sett, Approvvigionamento + Hobby, Dilettante, Tolleranza rischio media
**Output:**
- garden_config.md: 60m², Zona nord, Drenaggio scadente → pianificare rialzature, Irrigazione progettabile
- community_profile.md: 3pp, Onnivoro, Goal approvvigionamento, Esperienza dilettante, Willing to learn
---
## Assunzioni
1. Blocchi questionario sono presentati sequenzialmente (o utente può editare tutto markdown simultaneamente)
2. Validazione è leggera (non bloccante, ma flaggando problemi)
3. Allergie/note sicurezza sono check contro knowledge base piante
4. Dimensione comunità affetta raccomandazioni colture (più persone → più diverse)
5. Tutti output in formato Markdown, human-readable e editable
## Checklist Validazione
- ✓ Tutti campi obbligatori compilati
- ✓ No contraddizioni tra blocchi
- ✓ Area, tempo, vincoli acqua coerenti
- ✓ Dieta + preferenze colture compatibili
- ✓ garden_config.md aggiornato e leggibile
- ✓ community_profile.md creato e validato
- ✓ Evento audit_trail.md loggato
---
**Skill: orto-onboarding** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,510 @@
---
name: orto-orchestratore
description: Orchestrare workflow multi-skill, risolvere conflitti tra piani, validare completezza dati, e merge in PlanBundle unificato. Usare quando: (1) eseguire pipeline full planning stagionale end-to-end, (2) gestire conflitti (zona irrigazione vs. consociazioni, task calendario vs. previsione meteo), (3) assicurare QA checks passino prima finalizzazione, (4) generare weekly operational briefing per utenti. Output: PlanBundle unificato (documento markdown master) con tutti piani integrati, audit log, weekly briefing pronto per pubblicazione.
---
# Orto Orchestratore — Orchestrazione Workflow Master
Coordinare tutti skill planning, risolvere conflitti, validare vincoli, merge in piano unificato.
## Quando Usare Questa Skill
- **Planning completo:** Dopo onboarding, eseguire pipeline completa per generare master plan
- **Weekly briefing:** Merge calendario + meteo-decisioni + stato corrente → task list settimanale azionabile
- **Risoluzione conflitti:** Quando skill producono raccomandazioni conflittuali
- **Revisione piano:** Validazione QA prima di publicare piano a utente
## Gestione Progetti & Registry
### Struttura File Progetti
Ogni orto gestito è organizzato in struttura standardizzata:
```
/home/<user>/.openclaw/workspace/Orti/
├── orti_registry.json # Registry centrale (JSON)
└── orto_PROVINCIA_LOCALITA_NNN/ # Cartella progetto
├── README.md
├── config/ # Config statiche
│ ├── garden_config.md
│ └── ambiente_vincoli.md
├── dati/ # Dati operazionali
│ ├── questionario/
│ ├── calendario/
│ ├── layout/
│ ├── irrigazione/
│ ├── meteo/
│ ├── colture/
│ ├── nutrizione/
│ ├── trattamenti/
│ └── raccolti/
├── log/ # Log e audit
│ ├── audit_trail.md
│ └── note_osservazioni.md
├── media/ # Foto, video
│ ├── foto/
│ └── video/
└── report/ # Report generati
```
### Registry Centrale
**File:** `/home/<user>/.openclaw/workspace/Orti/orti_registry.json`
Mantiene indice tutti orti:
```json
{
"orti": [
{
"orto_id": "orto_roma_testaccio_001",
"name": "Orto Testaccio Roma",
"provincia": "Roma",
"regione": "Lazio",
"latitude": 41.8782,
"longitude": 12.4922,
"zone": "centro",
"created_at": "2026-03-06T23:18:00Z",
"status": "active",
"path": "/home/noe/.openclaw/workspace/Orti/orto_roma_testaccio_001"
}
]
}
```
### Funzioni Orchestrator su Progetti
**Lettura:**
- Carica registry
- Locate progetto orto
- Legge tutti file dati/ per orchestration
**Scrittura:**
- Aggiorna file dati/ (piano_colture_annuale, calendario, etc.)
- Aggiorna audit_trail.md con evento orchestration
- NO modifica registry (orto-init responsabile)
**Validazione:**
- Verifica tutti prerequisito skill hanno completato (file exist)
- Check integrità dati (no corrupted markdown)
---
## Processo
### Fase 1: Checklist Pre-Volo
**Verificare tutti skill prerequisito sono completi:**
```
✓ orto-init: Progetto orto creato, config registrato
✓ orto-onboarding: GardenConfig + CommunityProfile completo e validato
✓ orto-agronomo: Piano colture annuale completato
✓ orto-calendario: Calendario operativo (task settimanali) completato
✓ orto-irrigazione: Sistema irrigazione progettato
✓ orto-layout: Aiuole assegnate, zone definite
✓ orto-meteo-decisioni: Previsione settimanale & decisioni disponibili
Se QUALSIASI skill incompleto → PAUSA e notifica utente (dati mancanti)
```
### Fase 2: Rilevazione Conflitti e Risoluzione
**Verificare pattern conflitti noti:**
| Tipo Conflitto | Rilevamento | Politica Risoluzione |
|---------------|-----------|-------------------|
| **Irrigation zone vs. Consociations** | Crop A (ZONA ALTA) + Crop B (ZONA BASSA) same bed | Split bed OR adjust watering (ZONA ALTA priority due stress) |
| **Calendar task vs. Weather** | Task "Trapianto" scheduled Tue, wind > 8kn | Auto-reschedule +2 gg (contact user) |
| **Layout accessibility vs. Space** | Path < 0.5m needed for accessibility | Reoptimize layout (may reduce usable area) |
| **Water availability vs. Irrigation plan** | Total water need > available | Reduce crop area OR shift to drought-tolerant crops |
| **Area too small vs. Diet** | Community needs > feasible harvest | Suggest successions, off-season storage |
**Resolution logic:**
```
CONFLICT: A1 (Pomodoro ALTA) + Basilico (MEDIO) same bed?
→ Check: Can adapt watering?
→ ALLOW (Basilico tolera extra water; Pomodoro critical)
→ Flag: "Basilico may over-irrigate; monitor"
CONFLICT: Trapianto task Tue, vento 8kn?
→ Check: orto-meteo-decisioni says DEFER
→ AUTO-RESCHEDULE: Trapianto → Thursday +2 gg
→ NOTIFY: User reason + new date
CONFLICT: Path 0.4m (wheelchair needs 0.7m)?
→ Check: Critical accessibility?
→ REOPTIMIZE: Shift beds, sacrifice ~5% usable area
→ OR: Escalate to user (accept smaller accessible area)
```
### Fase 3: Validazione Dati (Checklist QA)
**Esegui verifiche comprehensive:**
| Verifica | Regola | Status | Fix |
|-------|------|--------|-----|
| **Diversità colture** | ≥4 gruppi (Solanaceae, Brassica, Legume, Leafy, Aromatica) | PASS | ✓ |
| **Bilancio nutrizionale** | Copertura profilo dieta ≥80% | PASS | ✓ |
| **Adeguatezza acqua** | Pioggia pianificata + irrigazione ≥ domanda coltura | WARN | ⚠️ Deficit estate 15%; mitigazione: mulching |
| **Coerenza rotazione** | No stessa famiglia 2+ anni per aiuola | PASS | ✓ |
| **Accessibilità** | Sentieri ≥ requisito (se necessario) | PASS | ✓ |
| **Tempo manutenzione** | Ore settimanali totali ≤ disponibili | PASS | ✓ |
| **Consociazioni** | % positivo > antagonismi | PASS | ✓ 85% positivo |
| **Accuratezza previsione** | Fonte dati meteo corrente | PASS | ✓ wttr.in (3-5 gg alta conf.) |
**Sommario:** QA SCORE = 0.92 (Molto Buono). Procedi con merge.
### Fase 4: Merge Fonti Dati
**Aggregare output da tutti skill in struttura markdown unificata:**
**File:** `dati/PlanBundle_Master.md`
```markdown
# PLAN BUNDLE — [ORTO_ID] — [YEAR]
**Generated:** [TODAY]
**Confidence:** 0.92 (Molto Buono)
**Status:** Pronto per Pubblicazione
---
## 1. CONFIGURAZIONE ORTO
(Copia da GardenConfig)
- Localizzazione: [PROVINCIA], [REGIONE]
- Area: [AREA] m²
- Zona: [ZONE]
- Suolo: [SOIL]
- Sole: [HOURS] h/gg
## 2. PROFILO COMUNITÀ
(Copia da CommunityProfile)
- Persone: [N]
- Dieta: [DIET_LIST]
- Esperienza: [LEVEL]
- Tempo: [HOURS]/settimana
- Accessibilità: [NEEDS]
## 3. PIANO COLTURE
(Excerpt da Piano Colture Annuale)
- Colture totali: 12 varietà
- Area allocato: 25 m²
- Resa est.: 120 kg/stagione
- Rotazione: Piano multi-anno incluso
## 4. PIANO LAYOUT
(Excerpt da Aiuole Dimensioni)
- Aiuole: 4 (2 rialzate + 2 file)
- Zone Acqua: 3 (ALTA, MEDIA, BASSA)
- Sentieri: Main 0.7m, lato 0.5m
- Accessibilità: ✓ Conforme
## 5. SISTEMA IRRIGAZIONE
(Excerpt da Sistema Irrigazione)
- Emettitori: Goccia + microspruzzatori
- Zone: 3 (ALTA/MEDIA/BASSA)
- Baseline: Daily (ALTA) ~ 2-3x/sett (BASSA)
- Automazione: [Timer/Smart]
## 6. CALENDARIO STAGIONALE
(Link a Calendario Operativo)
- Task settimanali: 52 sett × media 3-5 task = ~200 task annuali
- Task meteo-sensibili: ~40 task (taggati per reschedule)
- Date critiche: 12 (trapianti, raccolte)
## 7. PREVENZIONE MALATTIE
(Excerpt da Diagnosi Problemi)
- High-risk crop: Pomodoro (peronospora)
- Preventive schedule: Weekly rame spray (June-Sept)
- Organic treatments: Rame, Bacillus subtilis, Neem
- Cost: €25 (season)
## 8. WEEKLY BRIEF
(Latest from Meteo Decisioni + Calendar)
- This week: [DATE RANGE]
- Tasks: 5 items
- Meteo alerts: [WIND? FROST?]
- Irrigation adjustments: [SKIP WED-THU, INCREASE SUN]
## 9. AUDIT TRAIL
(Excerpt from Log)
- Garden created: [DATE]
- Onboarding completed: [DATE]
- Plans generated: [DATE]
- Conflicts resolved: 2 (irrigation zone vs consociation, calendar vs weather)
- QA score: 0.92
---
## METRICS
- **Total effort:** 120 hours/year (avg. 2.3h/week)
- **Total water:** ~10,000 liters/season
- **Total harvest:** ~120 kg/season
- **Cost:** €65 (setup) + €25 (yearly maintenance)
- **ROI:** High (fresh vegetables + health + community)
---
**PlanBundle Status:** ✅ COMPLETE & VALIDATED
```
### Phase 5: User Notification & Publishing
**Generate summary report:**
```markdown
# ✅ PIANO COMPLETO — [ORTO_ID]
**Buongiorno [USER]!**
Il tuo orto **[ORTO_NAME]** è pronto per il 2026.
## Cosa è stato pianificato:
**Colture:** 12 varietà selezionate (dieta bilanciata)
**Layout:** 4 aiuole organizzate per zone acqua
**Calendario:** 52 settimane di task settimanali
**Irrigazione:** Sistema multi-zona automatizzabile
**Malattie:** Piano prevenzione biologica (Pomodoro peronospora)
## Prossimi Passi:
1. **Leggi il piano master:** `dati/PlanBundle_Master.md` (30 min)
2. **Prepara strumenti:** Acquista emitters/timer (1-2 giorni)
3. **Settimana 1 (gen):** Preparazione semenzaio indoor
4. **Settimana 5 (feb):** Prima semina (Pomodoro)
## Supporto Settimanale:
Ogni lunedì ricevi:
- [ ] Briefing meteo (pioggia, vento, freddo)
- [ ] Task settimanale da fare
- [ ] Irrigazione schedule adjustments
- [ ] Allerte problemi
## Domande?
Se qualcosa non è chiaro, contatta l'agronomo. Buon orto! 🌱
---
**Piano generato:** [TODAY]
**Confidence:** Very Good (92%)
**Ultima revisione:** [AUTO-DATE_NEXT_WEEK]
```
### Phase 6: Weekly Briefing Integration
**Every Monday, generate integrated briefing:**
```markdown
# BRIEFING SETTIMANALE — Week [WK] ([DATE]) — [ORTO_ID]
**Data:** Lunedì [DATE] 8:00 AM
---
## 📊 Meteo (da orto-meteo-decisioni)
| Giorno | Tmax | Tmin | Pioggia | Vento | Alert |
|--------|------|------|---------|-------|-------|
| Lun | 22 | 14 | 0 mm | 3 kn | ✓ OK |
| Gio | 19 | 10 | 12 mm | 2 kn | ✓ Pioggia |
| Dom | 28 | 18 | 0 mm | 6 kn | ⚠️ Caldo |
---
## 📋 TASK SETTIMANALE (from orto-calendario)
### Lunedì 6 Gen
- [ ] **Preparazione Semenzaio** (1.5h)
- Terriccio, vasetti, riscaldamento check
- Ubicazione: Semenzaio indoor
- Meteo: ✓ OK (indoor)
- [ ] **Controllo Strumenti** (0.5h)
- Innaffiatore, guanti, forbici
- Test timer irrigazione
**Totale giornata:** 2h
### Mercoledì 8 Gen
- [ ] **SKIP Irrigazione** (pioggia prevista, vento)
- Meteo decision: Effective rainfall adeguata
- [ ] Controllo drenaggio post-pioggia
### Giovedì 9 Gen
- [ ] **Irrigazione ripresa** (30 min)
- Baseline schedule restored
---
## ⚠️ ALLERTE
🟡 **VENTO MER-GIO (4-6 kn)**
- Defer foliar sprays
- Monitor young plants (wind stress)
🔥 **CALDO DOM (28°C+)**
- Aumentate irrigazione +30%
- Check mulching
---
## 🎯 FOCUS COLTURA
**Pomodoro (Gennaio = Semina Indoor)**
- Settimana prossima: Semina Pomodoro 1-4 Feb
- Requisiti: T 20-25°C, luce LED 12h/gg
- Germinazione attesa: 5-10 gg
- Cura: Mantenere umido, no ristagno
---
## 📈 PROGRESS
- Year-to-date tasks: 2/52 settimane
- Onboarding: 100% ✓
- Planning: 100% ✓
- Implementation: 5% (starting)
---
## 💧 IRRIGAZIONE SETTIMANALE
| Zona | Baseline | Meteo Adjust | Note |
|------|----------|--------------|------|
| ALTA | Daily 60m | Skip Wed-Thu | Pioggia sufficient |
| MEDIA | 3-4x/sett | Normal | OK |
| BASSA | 2-3x/sett | Normal | OK |
**Totale acqua:** ~500 liters (January low due dormancy)
---
**Briefing generato:** Lunedì 6 Gen 8:00 AM
**Prossimo briefing:** Lunedì 13 Gen
**Contatti:** [SUPPORT_EMAIL]
```
---
## Conflict Resolution Examples
### Example 1: Irrigation vs. Consociations
**Conflict:** A1 layout puts Pomodoro (ZONA ALTA, daily) + Basilico (MEDIO, 3x/sett)
**Resolution:**
- Option A: Split beds (separate ZONA ALTA + MEDIA) → But reduces usable area
- Option B: Accept mixed zone → Keep in same bed, adapt watering (ALTA priority)
- **RECOMMENDATION:** Option B (Basilico tolerates extra water; Pomodoro critical)
- **MITIGATION:** Flag "Watch for basilico over-watering; adjust on-the-fly if wilt + root smell"
### Example 2: Calendar vs. Weather
**Conflict:** "Trapianto Pomodoro Tue" scheduled; orto-meteo-decisioni says "Vento 8kn Tue, DEFER"
**Resolution:**
- Auto-reschedule: Trapianto → Thursday +2 gg (vento cala, temp stable)
- Notify user: "Trapianto rimandato Tue→Thu (wind risk). New: Giovedì 10 Apr 9am"
- Update calendar + audit trail
### Example 3: Water Availability vs. Irrigation Plan
**Conflict:** Total water need (10,000 L/season) > Available (8 m³ = 8,000 L if constrained)
**Resolution:**
- Reduce irrigation frequency (use deficit irrigation) → Risk: crop stress
- Add rain capture tank (+100 L) → Marginal
- Shift a colture tolleranti siccità (Carota, Cipolla, Legume) → Riduci area Pomodoro del 30%
- **RACCOMANDAZIONE:** Accetta deficit idrico 15%; usa heavy mulching + compost suolo (migliora ritenzione)
---
## Audit Trail & Project Updates
**Ad ogni orchestration (pianificazione completa o weekly update), registrare:**
**File:** `log/audit_trail.md` (append entry)
```markdown
## Evento: Orchestration — PlanBundle Merge
| Campo | Valore |
|-------|-------|
| **Timestamp** | [TODAY_ISO] |
| **Evento** | orchestratore_merge_plan |
| **Tipo** | Full Planning / Weekly Briefing |
| **Status** | success / warning / error |
| **Orto ID** | [ORTO_ID] |
| **Coordinatore** | Codex (skill: orto-orchestratore) |
| **QA Score** | 0.92 (Excellent) |
| **Conflitti Risolti** | 2 (Irrigazione zone, Calendar task) |
| **Raccomandazioni** | Mulching per deficit acqua 15% |
| **Output Files** | dati/PlanBundle_Master.md, dati/calendario/calendario_operativo_settimanale.md |
| **Dettagli** | Orchestration completa: init→onboarding→agronomo→layout→irrigazione→meteo→merge. PlanBundle generato e validato QA. User notificato. |
```
Questo crea cronologia completa di ogni decisione orchestrator per tracciabilità e debugging.
---
## Gestione Errori
| Errore | Fallback |
|-------|----------|
| Output skill mancante | Usa piano anno precedente (se disponibile) o fallback rule-based |
| Raccomandazioni conflittuali | Elenca top 3 opzioni, lascia scegliere utente |
| Fallimento QA (critico) | NON PUBLICARE; flagga e richiedi revisione esperto |
## Riferimenti
**Questo skill legge e applica politiche da:**
- `references/conflitti_risoluzione.md` — Matrice conflitti, politiche risoluzione per tutti i pattern comuni
- `references/qa_checklist.md` — Checklist validazione PlanBundle, criteri QA score
- `references/meteo_soglie.md` — Soglie meteo (vento, pioggia, gelo, caldo) per reschedule task
- `references/irrigazione_parametri.md` — Parametri ET, Kc, calcolo fabbisogni per acqua feasibility
- `references/consociazioni_layout.md` — Matrice consociazioni per verificare coerenza layout
- `references/malattie_trattamenti.md` — Dati trattamenti e DPI per validazione sicurezza
- `references/colture_it.md` — Database colture (varietà, parametri, famiglie) per rotazione
- `references/calendario_it.md` — Date gelate regionali, finestre stagionali per frost checks
## Assunzioni
1. Tutti skill predecessore hanno completato
2. Integrità dati: no file markdown corrotti
3. Politiche risoluzione conflitti documentate e tuned (vedi conflitti_risoluzione.md)
4. Canale notifica utente disponibile (email/chat)
5. Tutti reference file sono disponibili e up-to-date
## Checklist Validazione
- ✓ Tutti output skill caricati e parsati
- ✓ Conflitti identificati e risolti
- ✓ QA score ≥ 0.70 (accettabile)
- ✓ PlanBundle unificato coerente e completo
- ✓ Weekly briefing generato e azionabile
- ✓ Audit trail documentato
- ✓ Notifica utente pronta
---
**Skill: orto-orchestratore** | Versione 1.0 | Status: Pronto per Produzione

View file

@ -0,0 +1 @@
../references

View file

@ -0,0 +1,289 @@
# Calendario Italiano — Knowledge Base
Frost dates, finestre semina/trapianto, stagioni per macro-zone italiano.
---
## Macro-Zone Climatiche Italia
| Zona | Regioni | Ultima Gelata | Prima Gelata | Lung. Stagione |
|------|---------|---------------|--------------|----------------|
| **Nord** | Piemonte, Lombardia, Veneto, Friuli-VG, ER | ~25 aprile | ~15 ott | ~170 giorni |
| **Centro** | Toscana, Umbria, Marche, Lazio | ~15 aprile | ~25 ott | ~190 giorni |
| **Sud** | Campania, Puglia, Basilicata, Calabria, Sicilia | ~1 aprile | ~5 nov | ~215 giorni |
---
## Calendario Semina/Trapianto per Macro-Zona
### NORD (Ultima gelata ~25 aprile)
#### Gennaio - Febbraio
- **Indoor:** Pomodoro, Peperone, Melanzana, Basilico (semenza a 15-20°C)
- **Diretto:** Spinacio, Pisello, Fava (tollerano freddo)
- **Semenzaio:** Cavolo, Broccoli, Cavolfiore
#### Marzo - Aprile
- **Indoor:** Zucchina, Melone, Cocomero (germinazione caldo, trapianto post-gelo)
- **Diretto:** Carota, Rapa, Barbabietola, Lattuga (diradare ogni 2-3 settimane per successioni)
- **Trapianto:** Pomodoro/Peperone/Melanzana (post-25 aprile, min 5-7 foglie vere + notti T>15°C)
- **Diretto:** Mais, Fagiolo (post-gelate, suolo >10°C)
#### Maggio - Giugno
- **Diretto:** Zucchina, Melone, Cocomero, Fagiolo rampicante
- **Diretto:** Lattuga estiva (se ombra), Rucola successione
- **Trapianto:** Basilico (post-30 maggio possibile)
#### Luglio - Agosto
- **Diretto:** Carota successione, Lattuga autunnale, Spinacio autunnale, Rucola (semina di Ferragosto per autunno abbondante)
- **Trapianto:** Cavolo, Broccoli, Cavolfiore per autunno (semenzaio maggio-giugno)
#### Settembre - Ottobre
- **Diretto:** Pisello autunnale, Fava autunnale (ago-set per raccolta primavera)
- **Diretto:** Spinacio, Rucola, Lattuga autunnale, Ravanello
#### Novembre - Dicembre
- **Dormienza:** Poco da fare; preparare suolo per primavera
- **Trapianto:** Cipolla e Aglio (set-ott se non già fatto)
---
### CENTRO (Ultima gelata ~15 aprile)
#### Gennaio - Febbraio
- **Indoor:** Pomodoro, Peperone, Melanzana, Basilico (anche qui; stagione ancora lunga)
- **Diretto:** Pisello, Fava, Spinacio
#### Marzo - Aprile
- **Diretto:** Carota, Rapa, Barbabietola, Lattuga (succesioni)
- **Indoor:** Zucchina, Melone, Cocomero (trapianto post-15apr, o diretto 1maggio)
- **Trapianto:** Pomodoro/Peperone/Melanzana post-15 aprile (notti >15°C stabile)
- **Diretto:** Mais, Fagiolo, Fagiolo nano (post-15 aprile)
#### Maggio - Giugno
- **Diretto:** Zucchina, Melone, Cocomero, Fagiolo rampicante (anche maggio no problema)
- **Diretto:** Lattuga successione (se ombra giù), Rucola
- **Trapianto:** Basilico (maggio)
#### Luglio - Agosto
- **Diretto:** Carota estate-autunno (lug per raccolta set-ott), Spinacio ago (semina 1-15 agosto per raccolta autunnale)
- **Diretto:** Lattuga e Rucola (ago-set)
- **Trapianto:** Cavolo/Broccoli/Cavolfiore autunnale (semenzaio giugno)
#### Settembre - Ottobre
- **Diretto:** Pisello autunnale, Lattuga, Spinacio, Rucola
- **Trapianto:** Cipolla e Aglio (set-ott di regola)
#### Novembre - Dicembre
- **Riposo:** Preparare suolo; colture a crescita lenta se clima mite
---
### SUD (Ultima gelata ~1 aprile, a volte nessuna)
#### Gennaio - Febbraio
- **Diretto/Semenzaio:** Pomodoro, Peperone, Melanzana (anche diretto presto; clima caldo)
- **Diretto:** Carota, Rapa, Barbabietola, Lattuga (clima mite permette)
- **Diretto:** Basilico (clima favorevole; trapianto feb-mar)
#### Marzo - Aprile
- **Diretto:** Zucchina, Melone, Cocomero, Mais, Fagiolo (clima sufficientemente caldo)
- **Trapianto:** Pomodoro/Peperone/Melanzana (ormai post-gelate)
- **Diretto:** Lattuga continua (se no caldo > 28°C)
#### Maggio - Giugno
- **Ombra:** Lattuga (sole parziale per non montare)
- **Diretto:** Fagiolo rampicante tardivo (inizio maggio ok)
- **Pause estive:** Colture freddo-tolleranti calano in estate (caldo)
#### Luglio - Agosto
- **Pausa/Ombra:** Molte colture soffrono caldo > 30°C
- **Diretto possibile:** Melanzana, Peperone continuano se irrigati
- **Diretto tardivo:** Carota agosto per raccolta autunno-inverno
- **Diretto:** Spinacio, Lattuga ago-set (per raccolta ott-nov)
#### Settembre - Ottobre
- **Diretto:** Lattuga, Spinacio, Rucola, Ravanello (clima di nuovo favorevole, fresche notti)
- **Diretto:** Cavolo, Broccoli, Cavolfiore (semina set-inizio ott per raccolta nov-gen)
- **Trapianto:** Cipolla aglio set-ott (se da ricavare)
#### Novembre - Dicembre
- **Diretto:** Pisello, Fava inizio stagione (clima ancora caldo; raccolta primavera)
- **Raccolte estese:** Molte colture continuano se clima mite
---
## Finestre Critiche per Coltura (Tutte Zone)
### Pomodoro
**Semina:** Gen-Feb (indoor), tempo freddo stop germinazione <12°C
**Trapianto:** Post-gelo locale + T notti ≥ 15°C (varia zone 25apr→1apr→10mar)
**Raccolta:** 60-90gg post-trapianto (giugno-agosto nord, maggio-luglio centro, aprile-giugno sud)
**Note:** Freddo blocca germogliazione; caldo eccessivo (>35°C) causa flower drop. Meteo-sensibile: monitorare previsioni trapianto.
### Peperone
**Semina:** Feb-Mar (indoor), esigente su calore
**Trapianto:** Post-gelo + T notti ≥ 18°C (preferisce caldo pomodoro)
**Raccolta:** 70-100gg post-trapianto (luglio-ottobre nord, giugno-settembre centro, maggio-agosto sud)
**Note:** Termofilo; freddo precoce accorcia stagione. Meteo-sensibile.
### Zucchina
**Semina diretto:** Post-gelo + T suolo ≥ 15°C
**Germinazione:** 5-10 giorni a 20-28°C
**Raccolta:** 45-60gg dalla semina (continua se raccolta piccole)
**Successioni:** Possibile 2-3 sementi nel nord (mag, lug), 3-4 nel sud
**Note:** Rapida; ama caldo. Alternanza secchezza/umidità causa marciume.
### Lattuga
**Semina diretto:** Ogni 2-3 settimane per successione continua
**Nord:** Mar-giu (primavera), ago-set (autunno); stop luglio (monta con caldo)
**Centro:** Feb-giu, ago-ott (più esteso)
**Sud:** Gen-giu (con ombra da maggio), ago-dic (autunno-inverno)
**Raccolta:** 45-70gg semina (dipende varietà, temperatura, luce)
**Meteo-sensibile:** Pioggia/umidità → marciume. Vento forte → stress.
### Carota
**Semina:** Marzo-giu (nord), feb-giu (centro), gen-giu + ago-ott (sud)
**Germinazione:** Lenta (20-30 giorni), richiede suolo fresco umido
**Raccolta:** 60-80gg dalla semina
**Diradamenti:** Necessari a 2-3cm, poi 5-8cm
**Note:** Tollerante freddo (germina 4°C); no caldo > 25°C per dolcezza massima. Successioni estive riescono.
### Cavolo/Broccoli/Cavolfiore
**Semenzaio:** Mag-giu (per autunno nord/centro/sud)
**Trapianto:** Ago-set a distanze 50-70cm
**Raccolta:** Ott-dic (nord), set-nov (centro), set-gen (sud)
**Primavera:** Semenzaio feb-mar → trapianto apr-mag → raccolta mag-giu nord (più stretto), mag-lug centro/sud
**Meteo-sensibile:** Freddo > -5°C danneggia; gelo > -10°C ucide.
### Pisello/Fava
**Semina autunno:** Set-ott → raccolta primavera mag-giu
**Semina primavera:** Feb-mar → raccolta primavera tardiva (maggio nord)
**Germinazione:** Tollerano freddo (4-5°C); veloce 10-14gg > 10°C
**Raccolta:** 60-70gg dalla semina
**Note:** Freddo-tolleranti; ideali succesioni autunno (semina ago-set, raccolta mag).
### Melone/Cocomero
**Semina:** Mag-giu (diretto post-gelo + T suolo >18°C)
**Trapianto:** Possibile apr-mag con protezione (semenzaio mar)
**Raccolta:** 80-120gg dalla semina (lug-set nord, giu-ago centro, mag-ago sud)
**Meteo-sensibile:** Pioggia continua (umidità >70%) → marciume radicale. Monitora previsioni.
### Cipolla/Aglio
**Cipolla (da bulbilli):** Trapianto mar-apr → raccolta lug-ago
**Cipolla (da seme):** Semina feb-mar → raccolta ago-set
**Aglio:** Semina set-ott (spicchi) → raccolta giu-lug anno successivo
**Conserva:** Eccellente se asciugati bene post-raccolta (2-3 settimane aria)
### Basilico
**Semina:** Mag-giu indoor o diretto (post-15°C notte minima)
**Raccolta:** Cesellatura regolare giu-set
**Durata:** 2-3 mesi (fino prima gelata autunnale nord)
**Meteo-sensibile:** Pioggia/umidità + freddo → marciume radicale. Areazione importante.
---
## Task Meteo-Sensibili (Differibili se Previsioni Avverse)
| Task | Condizioni Avverse | Rinvio Consigliato |
|------|-------------------|-------------------|
| **Trapianto** | Vento > 8kn, pioggia imminente, gelo | +1-3 giorni |
| **Trattamenti fogliari** | Vento > 5kn, pioggia 24h, temp < 10°C o > 30°C | +2-7 giorni |
| **Concimazione** | Pioggia imminente (< 2h), temp < 5°C | +1-2 giorni |
| **Irrigazione** | Pioggia prevista >10mm in 24h | Skip 24-48h |
| **Pacciamatura** | Pioggia continua (suolo saturo) | Attendere asciugatura |
| **Raccolta** | Pioggia, freschezza perduta | Rinviare mattina dopo |
---
## Successioni Tipiche per Stagione
### Primavera (Nord)
- **Letto 1 (Feb-Apr):** Pisello/Spinacio → (Apr-Giu) Basilico trapianto
- **Letto 2 (Mar-Giu):** Carota diradamenti × 2
- **Letto 3 (Apr-Set):** Pomodoro (trapianto post-25apr, raccolta giu-set)
### Estate (Nord)
- **Ago-Set:** Carota successione, Spinacio, Lattuga (con ombra)
- **Ago-Set:** Rucola, Ravanello rapide
### Autunno (Nord)
- **Set-Ott:** Pisello, Fava (raccolta primavera)
- **Set-Dic:** Cavolo, Broccoli, Cavolfiore (trapianto ago)
- **Set-Ott:** Lattuga, Spinacio
### Inverno (Nord)
- **Riposo relativo:** Colture lente (cavoli, piselli crescono lento ma costante)
- **Prep:** Concimazione, compostaggio, preparazione aiuole primavera
---
## Calcolo Giorni per Raccolta (da Semina)
```
Giorno raccolta ≈ Giorno semina + Ciclo coltura [gg] + Fattore temperatura
Fattore T:
- Se T media < optimum: +10-20% ciclo
- Se T media > optimum: -10% ciclo (rapido, meno dolce/nutrienti)
- Se T oscillante freddo-caldo: +5% ciclo (stress)
```
### Esempi
**Lattuga primavera (Nord, semina 1 marzo, temp media 10-15°C):**
- Ciclo base: 60 gg
- Fattore T (10°C < optim 15-18°C): +15% = +9 gg
- Raccolta stima: 1 mar + 69 gg ≈ 10 maggio ✓
**Pomodoro (Nord, trapianto 1 maggio, meteo stabile 18-22°C):**
- Ciclo base: 70 gg
- Fattore T (20°C ≈ optimum): +0%
- Raccolta stima: 1 mag + 70 gg ≈ 10 luglio ✓
**Zucchina (Nord, semina 10 maggio, caldo 22-28°C):**
- Ciclo base: 50 gg
- Fattore T (25°C > optimum 20°C): -5% = -3 gg
- Raccolta stima: 10 mag + 47 gg ≈ 26 giugno ✓
---
## Frost Dates Italia — Lookup Rapido
### Per Provincia (Indicativo)
**NORD:**
- Piemonte (Torino): 25 apr - 15 ott | 170 gg
- Lombardia (Milano): 20 apr - 20 ott | 185 gg
- Veneto (Venezia): 20 apr - 25 ott | 190 gg
- Friuli (Trieste): 25 apr - 15 ott | 170 gg
**CENTRO:**
- Toscana (Firenze): 15 apr - 25 ott | 195 gg
- Umbria (Perugia): 15 apr - 25 ott | 195 gg
- Lazio (Roma): 15 apr - 25 ott | 195 gg
- Marche (Ancona): 20 apr - 20 ott | 185 gg
**SUD:**
- Campania (Napoli): 1 apr - 5 nov | 220 gg
- Puglia (Bari): 1 apr - 10 nov | 225 gg
- Sicilia (Palermo): No gelo tipico | 300+ gg
- Calabria (Cosenza): 1 apr - 5 nov | 220 gg
---
**Fine Calendar Knowledge Base**

View file

@ -0,0 +1,582 @@
# Colture Italiane — Knowledge Base
Varietà coltivabili, cicli, parametri colturali, consociazioni.
**Nota:** Rese e cicli variano molto per clone, microclima, pratica colturale. Questi valori sono indicativi (min/typ/max). Calibrare col feedback reale.
---
## Indice
1. [Solanacea: Pomodoro, Melanzana, Peperone](#solanacea)
2. [Brassicacea: Cavolo, Broccoli, Cavolfiore](#brassicacea)
3. [Cucurbitacea: Zucchina, Melone, Cocomero](#cucurbitacea)
4. [Legume: Fagiolo, Pisello, Fava](#legume)
5. [Leafy: Lattuga, Spinacio, Rucola](#leafy)
6. [Aromatica: Basilico, Prezzemolo, Timo](#aromatica)
7. [Radice: Carota, Rapa, Barbabietola](#radice)
8. [Alliacee: Cipolla, Aglio, Scalogno](#alliacee)
9. [Altro: Mais, Angurie, etc.](#altro)
---
## Solanacea {#solanacea}
### Pomodoro (Solanum lycopersicum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Solanaceae |
| **Ciclo** | 60-90 giorni (trapianto a raccolta) |
| **Semina** | Feb-Mar (indoor), Trapianto Apr-Mag (post-gelo) |
| **Raccolta** | Jun-Oct (dipende trapianto) |
| **Esigenza luce** | Pieno sole (6-8h min) |
| **Esigenza acqua** | Medio-Alto (300-500mm stagione) |
| **Spaziatura** | 40-60cm tra piante, 60-100cm tra file |
| **Profondità radice** | 30-50cm |
| **pH suolo** | 6.0-6.8 |
| **NPK orientativo** | N:P:K = 1.5:1:1.5 (leggermente alto K) |
| **Varietà comuni** | San Marzano, Cuor di Bue, Ciliegia, Datterino |
| **Rese** | 3-6 kg/m² (dipende varietà e cura) |
| **Gradi crescita** | 15-25°C ottimo, stop < 10°C |
| **Consociazioni** | ✅ Basilico, Carota, Cipolla, Timo / ❌ Brassica, Finocchio, Patata |
| **Rotazione** | Attendere 2-3 anni su stessa area |
| **Malattie comuni** | Peronospora, Oidio, Verticillium, Fusarium, Marciume apicale (Ca deficit) |
| **Trattamenti bio** | Rame, Zolfo, Neem oil, Bacillus subtilis, areazione |
---
### Peperone (Capsicum annuum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Solanaceae |
| **Ciclo** | 70-100 giorni |
| **Semina** | Feb-Mar, Trapianto Apr-Mag |
| **Raccolta** | Jul-Oct (verde: 60-70gg, rosso: 80-100gg) |
| **Esigenza luce** | Pieno sole (6h min) |
| **Esigenza acqua** | Medio (250-350mm) |
| **Spaziatura** | 45-60cm tra piante |
| **NPK** | N:P:K = 1:0.8:1.5 (K importante per colorazione) |
| **Varietà** | Peperone rosso, giallo, lungo, cuore di bue |
| **Rese** | 2-4 kg/m² |
| **Consociazioni** | ✅ Basilico, Cipolla, Timo / ❌ Brassica, Finocchio |
| **Malattie** | Marciume, Oidio, Afidi, Ragnetto rosso |
---
### Melanzana (Solanum melongena)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Solanaceae |
| **Ciclo** | 80-120 giorni |
| **Semina** | Feb-Mar, Trapianto Mag |
| **Raccolta** | Jun-Oct |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Alto (300-400mm) |
| **Spaziatura** | 60-80cm |
| **Rese** | 2-4 kg/m² |
| **Consociazioni** | ✅ Cipolla, Aglio / ❌ Brassica |
| **Malattie** | Marciume, Dorifora (Solanacee pest) |
---
## Brassicacea {#brassicacea}
### Cavolo (Brassica oleracea var. capitata)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Brassicaceae |
| **Ciclo** | 60-90 giorni (trapianto) |
| **Semina** | Primavera (Gen-Feb uscita), Luglio-Ago (autunno) |
| **Trapianto** | Mar-Apr, Ago-Set |
| **Raccolta** | Mag-Giu, Oct-Nov |
| **Esigenza luce** | Sole parziale ok (4-6h) |
| **Esigenza acqua** | Medio (200-300mm, costante) |
| **Spaziatura** | 40-60cm |
| **NPK** | N:P:K = 2:1:1 (N importante) |
| **pH** | 6.0-7.5 |
| **Rese** | 2-4 kg/m² |
| **Varietà** | Cavolo verde, rosso, Verza |
| **Consociazioni** | ✅ Cipolla, Carota, Timo / ❌ Pomodoro, Finocchio, Fragola |
| **Malattie** | Cavolaia (larve), Marciume secco, Alternaria |
| **Trattamenti bio** | Rete, Bacillus thuringiensis, Neem, Insetti utili |
---
### Broccoli (Brassica oleracea var. calabrese)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Brassicaceae |
| **Ciclo** | 60-90 giorni |
| **Semina** | Mar-Apr, Lug-Ago |
| **Raccolta** | Mag-Giu, Set-Ott |
| **Esigenza acqua** | Medio (200-300mm, frequente) |
| **Spaziatura** | 50-60cm |
| **Rese** | 1-2 kg/m² (infiorescenza centrale + laterali) |
| **Consociazioni** | ✅ Cipolla, Timo / ❌ Pomodoro |
| **Malattie** | Cavolaia, Alternaria |
---
### Cavolfiore (Brassica oleracea var. botrytis)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Brassicaceae |
| **Ciclo** | 70-100 giorni |
| **Semina** | Feb-Mar, Lug |
| **Raccolta** | Mag-Giu, Set-Ott |
| **Esigenza acqua** | Medio-Alto (costante, no stress) |
| **Spaziatura** | 50-70cm |
| **Rese** | 1-2.5 kg/m² |
| **Consociazioni** | ✅ Cipolla, Carota / ❌ Pomodoro |
---
## Cucurbitacea {#cucurbitacea}
### Zucchina (Cucurbita pepo)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Cucurbitaceae |
| **Ciclo** | 45-60 giorni (raccolta immatura) |
| **Semina** | Mag-Giu (diretto in campo post-gelo) |
| **Raccolta** | Giu-Set (immatura: 15-20cm) |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Alto (300-400mm, frequente) |
| **Spaziatura** | 60-100cm (cresce molto) |
| **NPK** | N:P:K = 1:0.5:1 |
| **Rese** | 3-5 kg/m² (continua produzione se raccolta) |
| **Varietà** | Zucchina verde scura, tonda, gialla |
| **Gradi crescita** | > 15°C per germinazione, ottimo 20-28°C |
| **Consociazioni** | ✅ Cipolla, Aglio, Ravanello / ❌ Patata, Finocchio |
| **Malattie** | Oidio (umidità alta), Marciume radicale, Afidi, Trips |
| **Trattamenti bio** | Zolfo (oidio), Neem, Insetti predatori |
---
### Melone (Cucumis melo)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Cucurbitaceae |
| **Ciclo** | 80-120 giorni |
| **Semina** | Mag-Giu |
| **Raccolta** | Ago-Set |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Medio-Alto (250-300mm) |
| **Spaziatura** | 100-150cm (viticcio esteso) |
| **Rese** | 2-4 frutti/m² (dipende supporto) |
| **Varietà** | Retato, Galia, Charentais |
| **Consociazioni** | ✅ Cipolla, Mais / ❌ Patata |
| **Malattie** | Oidio, Marciume radicale, Afidi |
---
### Cocomero (Citrullus lanatus)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Cucurbitaceae |
| **Ciclo** | 70-100 giorni |
| **Semina** | Mag-Giu |
| **Raccolta** | Ago-Set |
| **Esigenza luce** | Pieno sole |
| **Esigenza acqua** | Medio (200-300mm, discreto ma non saturo) |
| **Spaziatura** | 100-200cm |
| **Rese** | 1-2 frutti grandi/m² |
| **Varietà** | Polpa rossa, gialla, sans grains |
| **Consociazioni** | ✅ Cipolla, Mais / ❌ Patata |
---
## Legume {#legume}
### Fagiolo (Phaseolus vulgaris)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Fabaceae (fissa N) |
| **Ciclo** | 45-70 giorni |
| **Semina** | Mag-Lug (post-gelo, diretto) |
| **Raccolta** | Giu-Set (baccelli verdi), Ago-Ott (secchi) |
| **Esigenza luce** | Sole parziale ok (4h min) |
| **Esigenza acqua** | Basso-Medio (150-200mm) |
| **Spaziatura** | 10-15cm tra piante, 40-60cm file |
| **NPK** | Basso (fissa propria N); P:K important |
| **pH** | 6.0-7.0 |
| **Rese** | 1.5-3 kg/m² (fresco), 0.5-1 kg/m² (secco) |
| **Varietà** | Borlotto, Cannellino, Azuki |
| **Tipo** | Rampicante (viticcio) o nano (cespuglio) |
| **Consociazioni** | ✅ Mais (tutore), Zucca (trio di sorelle), Pomodoro / ❌ Cipolla, Aglio |
| **Malattie** | Oidio, Macchia marrone (fungi), Cimici |
| **Trattamenti** | Zolfo, Insetti utili |
| **Benefici** | Fissa azoto nel suolo (~100-150 kg N/ha naturale) |
---
### Pisello (Pisum sativum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Fabaceae |
| **Ciclo** | 60-70 giorni (primavera) |
| **Semina** | Feb-Mar (diretto, tolera gelo) |
| **Raccolta** | Mag-Giu (baccelli verdi) |
| **Esigenza acqua** | Basso (100-150mm) |
| **Spaziatura** | 5-10cm, file 30-40cm |
| **Tipo** | Rampicante o nano |
| **Rese** | 1-2 kg/m² |
| **Varietà** | Pisello dolce (mange-tout), Pisello zucchero |
| **Consociazioni** | ✅ Carota, Ravanello / ❌ Cipolla |
| **Benefici** | Fissa N, ottimo per rotazione |
---
### Fava (Vicia faba)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Fabaceae |
| **Ciclo** | 60-90 giorni |
| **Semina** | Set-Ott (autunno), Feb-Mar (primavera) |
| **Raccolta** | Mag-Giu (baccelli verdi), Lug-Ago (secchi) |
| **Esigenza acqua** | Basso-Medio (150-200mm) |
| **Rese** | 1.5-3 kg/m² |
| **Varietà** | Fava gigante, fava mini |
| **Consociazioni** | ✅ Cereali, Carota / ❌ Cipolla |
| **Benefici** | Fissa N massiccia; ottima sovescio |
---
## Leafy {#leafy}
### Lattuga (Lactuca sativa)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Asteraceae |
| **Ciclo** | 45-70 giorni (dipende varietà e stagione) |
| **Semina** | Gen-Feb, Lug-Ago, Set-Ott (successioni) |
| **Raccolta** | Primavera, Estate (con ombra), Autunno |
| **Esigenza luce** | Sole parziale (4-6h), estate: mezz'ombra |
| **Esigenza acqua** | Basso-Medio (100-150mm, costante per croccantezza) |
| **Spaziatura** | 20-30cm |
| **NPK** | N moderato; P, K bassi |
| **pH** | 6.0-7.0 |
| **Rese** | 0.5-1 kg/m² |
| **Varietà** | Lattuga romana, iceberg, lollo, rossa |
| **Temp** | Freddo-tollerante (germina 4-5°C, ottimo 15-18°C); stop > 25°C (monta) |
| **Consociazioni** | ✅ Carota, Cipolla, Ravanello / ❌ Prezzemolo, Finocchio |
| **Malattie** | Marciume radicale (umidità), Afidi, Limacce |
| **Trattamenti bio** | Neem, Trappole, Barriere |
---
### Spinacio (Spinacia oleracea)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Amaranthaceae |
| **Ciclo** | 40-50 giorni |
| **Semina** | Feb-Mar, Ago-Set (autunno freddo) |
| **Raccolta** | Primavera, Autunno (tolera freddo) |
| **Esigenza acqua** | Basso (80-120mm) |
| **Spaziatura** | 15-20cm |
| **NPK** | N importante; P-K bassi |
| **Temp** | Freddo-tollerante; montata da caldo |
| **Rese** | 0.5-1 kg/m² |
| **Consociazioni** | ✅ Carota, Ravanello / ❌ Prezzemolo |
| **Malattie** | Peronospora (umidità), Afidi |
---
### Rucola (Eruca sativa)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Brassicaceae |
| **Ciclo** | 30-40 giorni |
| **Semina** | Mar-Ott (successioni frequenti) |
| **Raccolta** | Foglie giovani (tender) |
| **Esigenza acqua** | Basso (100-150mm) |
| **Spaziatura** | 10-15cm |
| **Temp** | Freddo-tollerante |
| **Rese** | 0.3-0.7 kg/m² |
| **Consociazioni** | ✅ Carota, Cipolla / ❌ Brassica grande |
| **Malattie** | Cavolaia (larve giovani), Afidi |
---
## Aromatica {#aromatica}
### Basilico (Ocimum basilicum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Lamiaceae |
| **Ciclo** | 45-60 giorni |
| **Semina** | Mag (post-gelo) |
| **Raccolta** | Giu-Set (cesellatura regolare) |
| **Esigenza luce** | Pieno sole (6-8h) |
| **Esigenza acqua** | Medio (150-200mm, no ristagno) |
| **Spaziatura** | 20-25cm |
| **Temp** | Termofilo (> 15°C, ottimo 20-25°C) |
| **Rese** | 0.5-1.5 kg/m² (fresco), 0.1-0.2 kg/m² (secco) |
| **Varietà** | Basilico dolce (genova), Basilico rosso, Thai |
| **Consociazioni** | ✅ Pomodoro (classico), Peperone / ❌ Ruta |
| **Malattie** | Oidio, Marciume radicale, Afidi |
| **Trattamenti bio** | Zolfo, Neem |
---
### Prezzemolo (Petroselinum crispum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Apiaceae |
| **Ciclo** | 70-90 giorni (lento da seme) |
| **Semina** | Mar-Apr, Lug-Ago (diretto, lentamente) |
| **Raccolta** | Foglie esterne continuamente |
| **Esigenza luce** | Sole parziale ok (4-6h) |
| **Esigenza acqua** | Medio (100-150mm, costante) |
| **Spaziatura** | 25-30cm |
| **Temp** | Freddo-tollerante; perenne in climi miti |
| **Rese** | 0.2-0.5 kg/m²/anno |
| **Varietà** | Prezzemolo riccio, Prezzemolo liscio (più sapore) |
| **Consociazioni** | ✅ Pomodoro / ❌ Lattuga |
---
### Timo (Thymus vulgaris)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Lamiaceae |
| **Ciclo** | Perenne (2-3 anni produttivi) |
| **Semina** | Primavera (inizio stagione) |
| **Raccolta** | Maggio-Settembre (cesellatura) |
| **Esigenza luce** | Pieno sole |
| **Esigenza acqua** | Basso (drenato, no ristagno) |
| **Spaziatura** | 30-40cm |
| **Temp** | Freddo-tollerante |
| **Rese** | 0.1-0.3 kg/m²/anno (secco) |
| **Consociazioni** | ✅ Pomodoro, Cavolo / ❌ nessun antagonismo noto |
| **Benefici** | Pianta mellifera, attira impollinatori |
---
## Radice {#radice}
### Carota (Daucus carota)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Apiaceae |
| **Ciclo** | 60-80 giorni (dalla semina) |
| **Semina** | Mar-Apr, Lug-Ago (diretto, costante) |
| **Raccolta** | Giu-Lug, Set-Ott |
| **Esigenza luce** | Sole parziale ok (4h min) |
| **Esigenza acqua** | Basso-Medio (150-200mm, no ristagno post-raccolta) |
| **Spaziatura** | 5-10cm (diradare) |
| **NPK** | K importante (zuccheri); N moderato |
| **pH** | 6.0-6.8 |
| **Rese** | 1-3 kg/m² |
| **Varietà** | Carota Nantese, Imperatrice, Chantenay |
| **Suolo** | Preferisce soffice/areato (radice lunga) |
| **Consociazioni** | ✅ Lattuga, Cipolla, Pisello, Ravanello / ❌ Finocchio, Aneto, Cipolla (competizione) |
| **Malattie** | Marciume secco (Alternaria), Mosca della carota (larvae) |
| **Trattamenti bio** | Rete (mosca), Rotazione |
---
### Rapa (Brassica rapa)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Brassicaceae |
| **Ciclo** | 45-60 giorni |
| **Semina** | Mar-Giu, Ago-Set |
| **Raccolta** | Mag-Giu, Set-Ott |
| **Esigenza acqua** | Medio (150-200mm) |
| **Spaziatura** | 10-15cm |
| **Rese** | 1.5-2.5 kg/m² |
| **Varietà** | Rapa gialla, rapa di Verona (rossa) |
| **Consociazioni** | ✅ Cipolla, Carota / ❌ Brassica grande |
---
### Barbabietola (Beta vulgaris)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Amaranthaceae |
| **Ciclo** | 60-80 giorni |
| **Semina** | Mag-Giu, Ago (diretto) |
| **Raccolta** | Ago-Set |
| **Esigenza luce** | Sole parziale ok |
| **Esigenza acqua** | Medio (150-200mm, costante) |
| **Spaziatura** | 8-12cm |
| **Rese** | 1-2 kg/m² |
| **Varietà** | Barbabietola rossa, gialla, striata (Chioggia) |
| **Consociazioni** | ✅ Lattuga, Cipolla / ❌ Spinacio (competizione N) |
| **Note** | Tollerante salino; foglie edibili (ortiche) |
---
## Alliacee {#alliacee}
### Cipolla (Allium cepa)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Amaryllidaceae (Allium) |
| **Ciclo** | 100-130 giorni (da seme), 60-80gg (da bulbillo) |
| **Semina** | Feb-Mar (diretto o trapiantamento) |
| **Trapianto** | Mar-Apr (bulbilli) |
| **Raccolta** | Lug-Ago (bulbi per conserva) |
| **Esigenza luce** | Sole parziale (4-6h) |
| **Esigenza acqua** | Basso (100-150mm, meno in estate post-raccolta) |
| **Spaziatura** | 10-15cm |
| **NPK** | N importante (crescita vegetativa); P, K moderati |
| **pH** | 6.0-7.0 |
| **Rese** | 1-2 kg/m² (bulbi) |
| **Varietà** | Cipolla Rossa (Tropea, Torpedo), Cipolla Gialla (Dorata), Cipolla Bianca |
| **Conserva** | Excellente (mesi) in fresco/secco |
| **Consociazioni** | ✅ Carota, Cavolo, Timo / ❌ Fagiolo, Pisello, Fragola |
| **Malattie** | Marciume bianco (Fusarium), Oidio, Tripidi |
| **Benefici** | Insetticida naturale, repellente parassiti |
---
### Aglio (Allium sativum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Amaryllidaceae |
| **Ciclo** | 150-180 giorni (Sep→Jun) |
| **Semina** | Set-Ott (spicchi, diretto in campo) |
| **Raccolta** | Giu-Lug (bulbi maturi) |
| **Esigenza luce** | Pieno sole preferibile |
| **Esigenza acqua** | Basso (100-150mm autunno/primavera) |
| **Spaziatura** | 10-15cm |
| **NPK** | Basso; P moderato |
| **Rese** | 0.8-1.5 kg/m² |
| **Varietà** | Aglio Bianco (polpa), Aglio Rosso (color porporino) |
| **Conserva** | Excellente (mesi-anno) |
| **Consociazioni** | ✅ Zucchina, Melanzana / ❌ Fagiolo, Pisello |
| **Benefici** | Fungicida/insetticida naturale; repellente; immunostimolante |
---
### Scalogno (Allium ascalonicum)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Amaryllidaceae |
| **Ciclo** | 70-90 giorni (da bulbillo) |
| **Semina** | Mar-Apr (bulbilli) |
| **Raccolta** | Giu-Lug |
| **Esigenza acqua** | Basso |
| **Spaziatura** | 15-20cm |
| **Rese** | 0.6-1.2 kg/m² |
| **Varietà** | Scalogno rosso, giallo |
| **Consociazioni** | ✅ Carota, Cavolo / ❌ Fagiolo |
---
## Altro {#altro}
### Mais (Zea mays)
| Proprietà | Valore |
|-----------|--------|
| **Famiglia** | Poaceae |
| **Ciclo** | 90-130 giorni |
| **Semina** | Mag (diretto post-gelo) |
| **Raccolta** | Ago-Set (pannocchie tenere), Ott-Nov (secco) |
| **Esigenza luce** | Pieno sole |
| **Esigenza acqua** | Medio-Alto (300-400mm) |
| **Spaziatura** | 25-30cm file, 60-80cm fra file |
| **NPK** | N elevato; P moderato; K moderato |
| **Rese** | 1.5-3 kg/m² (pannocchie tenere) |
| **Varietà** | Mais dolce, Mais pop-corn |
| **Consociazioni** | ✅ Fagiolo (tutore), Zucca (Trio Sorelle) / ❌ Pomodoro |
| **Benefici** | Tutore naturale per fagioli rampicanti; ombra estiva |
| **Note** | Esaurisce N; precedere da legume |
---
## Consociazioni — Matrice Veloce
| Coltura | Buone Consociazioni | Cattive Consociazioni |
|---------|---------------------|----------------------|
| Pomodoro | Basilico, Carota, Cipolla, Timo | Brassica, Finocchio, Patata |
| Peperone | Basilico, Cipolla, Timo | Brassica, Finocchio |
| Cavolo | Cipolla, Carota, Timo | Pomodoro, Finocchio, Fragola |
| Zucchina | Cipolla, Aglio, Ravanello, Mais | Patata, Finocchio |
| Fagiolo | Mais, Zucca, Pomodoro | Cipolla, Aglio |
| Pisello | Carota, Ravanello | Cipolla |
| Lattuga | Carota, Cipolla, Ravanello | Prezzemolo, Finocchio |
| Spinacio | Carota, Ravanello | Prezzemolo |
| Carota | Lattuga, Cipolla, Pisello, Ravanello | Finocchio, Aneto, Cipolla (competizione) |
| Cipolla | Carota, Cavolo, Timo | Fagiolo, Pisello, Fragola |
| Basilico | Pomodoro, Peperone | Ruta |
---
## Rotazione Famiglia Botanica
**Principio:** Evitare stessa famiglia per 2-3 anni sulla stessa area (parassiti + malattie specifiche, esaurimento nutrienti).
| Famiglia | Colture Comuni | Tempo Min. Rotazione |
|----------|----------------|----------------------|
| Solanaceae | Pomodoro, Peperone, Melanzana, Patata | 3 anni |
| Brassicaceae | Cavolo, Broccoli, Cavolfiore, Rapa, Rucola | 2-3 anni |
| Cucurbitaceae | Zucchina, Melone, Cocomero | 2-3 anni |
| Fabaceae | Fagiolo, Pisello, Fava | 1-2 anni (fissa N, benefica) |
| Apiaceae | Carota, Prezzemolo | 2-3 anni |
| Amaranthaceae | Spinacio, Barbabietola | 2-3 anni |
| Asteraceae | Lattuga, Rucola (Brassica però!) | 2 anni |
| Amaryllidaceae | Cipolla, Aglio, Scalogno | 2-3 anni |
| Poaceae | Mais | 1-2 anni |
---
## Rese Indicative (min/typ/max kg/m²)
Dipende: varietà, microclima, fertilità suolo, irrigazione, monitoraggio fitosanitario.
| Coltura | Resa Bassa | Resa Tipica | Resa Alta |
|---------|-----------|-------------|-----------|
| Pomodoro | 2.0 | 4.0 | 6.0 |
| Peperone | 1.5 | 3.0 | 4.0 |
| Zucchina | 2.0 | 4.0 | 5.0 |
| Fagiolo (fresco) | 1.0 | 2.0 | 3.0 |
| Lattuga | 0.3 | 0.7 | 1.0 |
| Carota | 0.8 | 1.5 | 3.0 |
| Cipolla | 0.6 | 1.2 | 2.0 |
| Cavolo | 1.5 | 3.0 | 4.0 |
| Melone | 1.0 | 2.5 | 4.0 |
---
## Tempistica Semina per Macro-Zone IT
**Nord (Piemonte, Lombardia, Veneto, etc.):** Ultima gelata ~25 aprile
**Centro (Toscana, Umbria, Lazio, etc.):** Ultima gelata ~15 aprile
**Sud (Campania, Sicilia, Calabria, etc.):** Ultima gelata ~1 aprile
Esempio Pomodoro:
- **Nord:** Semina indoor feb-mar, trapianto post-25apr, raccolta giu-set
- **Centro:** Semina indoor feb-mar, trapianto post-15apr, raccolta mag-set
- **Sud:** Semina indoor gen-feb, trapianto post-1apr, raccolta apr-giu (anticipato)
---
**Fine Knowledge Base**

View file

@ -0,0 +1,300 @@
# Conflitti & Politiche di Risoluzione
Guida per gestire conflitti tra raccomandazioni di skill multipli (orchestratore).
---
## Tipologie Conflitti Comuni
### 1. Irrigazione Zone vs. Consociazioni
**Scenario:**
- orto-layout assegna Pomodoro (ALTA) + Lattuga (MEDIA) nella stessa aiuola
- orto-irrigazione vuole 3 zone separate
- Conflitto: Impossibile irrigare differentemente sullo stesso letto
**Politica di Risoluzione:**
| Priorità | Scelta | Azione |
|----------|--------|--------|
| **1. Priorità ALTA** | Classe acqua (stress idrico > consociazione ideale) | Separate aiuole |
| **2. Fallback** | Se spazio insufficiente | Tollerare Lettuga con over-irrigazione (resistente) |
| **3. Mitigazione** | Aggiungere mulch (Lettuga) per ridurre stress | Reduce flag warning |
**Output Orchestrator:**
```
⚠️ CONFLITTO RISOLTO: Aiuola A1 (Pomodoro + Lettuga)
Decisione: Separate physically (A1 Pomodoro, A1b Lattuga)
OR Accept overirrigation (Lettuga tolera; Pomodoro critico)
Consiglio: A1 Pomodoro solo → A2 Lattuga + consociati (Carota, Cipolla)
```
---
### 2. Calendario Task vs. Previsione Meteo
**Scenario:**
- orto-calendario raccomanda trapianto Pomodoro Martedì
- orto-meteo-decisioni prevede vento > 8 kn Martedì
- Conflitto: Trapianto rischioso
**Politica di Risoluzione:**
| Vento | Temperatura | Azione | Reschedule |
|-------|---|---|---|
| > 8 kn | N/A | ❌ ANNULLA trapianto | +2-3 giorni |
| 5-8 kn | T > 25°C | ⚠️ ATTENDI (non ideale) | Mercoledì |
| 5-8 kn | T < 15°C | ANNULLA | +3-5 giorni |
| < 5 kn | Any | OK | Come schedulato |
**Fallback:** Se no data buona in prossimi 7 giorni → anticipare semenzaio coperto (indoor)
**Output:**
```
🔄 RESCHEDULE: Trapianto Pomodoro da Martedì a Giovedì
Motivo: Vento 9 kn previsto martedì (danno stress meccanico)
Confidence giorni alt: Giovedì (3 kn, T 22°C) ✅
```
---
### 3. Piano Colture vs. Vincoli Layout
**Scenario:**
- orto-agronomo raccomanda 50 piante Pomodoro (target rese)
- orto-layout ha solo 15 m² disponibili ZONA ALTA
- Conflitto: Troppi pomodori per spazio
**Politica di Risoluzione:**
| Scenario | Azione | Priorità |
|----------|--------|----------|
| Space > 50% insufficiente | Ridurre 20-30%, accettare minor resa | Realtà |
| Space borderline (80-90% ok) | Densità moderata (45-50 piante in 15m²) | Compromesso |
| Space abbondante (100%+) | Ok piano originale | Full plan |
**Output:**
```
⚠️ AGGIUSTAMENTO: Piano Colture
Originale: 50 piante Pomodoro
Area disponibile: 15 m² (max 3.6 piante/m²) = 54 piante ✅ OK
Densità: 3.6 p/m² (spaziatura 40-50 cm) → 40 piante CONSERVATIVA
Resa attesa: 3 kg/m² × 15 m² = 45 kg (vs. 60 kg target)
Mitigazione: Aggiungere successione (trapianto giugno) → 60 kg totale
```
---
### 4. Rotazione Colture vs. Spazio Piccolo
**Scenario:**
- orto-agronomo raccomanda rotazione 3 anni (no Pomodoro su A1 per 3 anni)
- orto disponibile è piccolo (50 m²): solo 4-5 aiuole
- Conflitto: Impossibile ruotare ogni anno se vuoi tutti i vegetali
**Politica di Risoluzione:**
| Scenario | Azione | Note |
|----------|--------|------|
| Spazio > 30 m² | Rotazione 3 anni rigorosa | Ideale |
| Spazio 15-30 m² | Rotazione semplificata (2 anni) | Compromesso |
| Spazio < 15 m² | Rotazione "Y" (3 zone, ma meno rigida) | Pratica |
**Esempio Rotazione Y (3 zone, 3 anni):**
```
Zona A: Anno 1: Pomodoro → Anno 2: Lettuga → Anno 3: Fagiolo
Zona B: Anno 1: Cavolo → Anno 2: Fagiolo → Anno 3: Carota
Zona C: Anno 1: Carota → Anno 2: Pomodoro (No! Via Cavolo prima)
CONFLITTO: C anno 3 vuole Pomodoro, ma A ha già fatto.
RISOLUZIONE:
C Anno 3: Basilico + Lattuga (neutre, da ripetto)
Accettare minor efficienza rotazione per spazio limitato
```
---
### 5. Esigenza Irrigazione vs. Disponibilità Acqua
**Scenario:**
- Fabbisogno stagionale: 150 L/gg (giugno-agosto, 3 zone)
- Disponibilità: 100 L/gg (rubinetto lento)
- Conflitto: 50 L deficit
**Politica di Risoluzione:**
| Deficit | Azione | Priorità | Crop Impact |
|---------|--------|-----------|---|
| < 20% | Riduci zone non-critiche (Lattuga 1x/sett) | Media | Minor |
| 20-50% | Shift a colture tolleranti siccità (Carota, Cipolla, Spinacio) | Alta | Significativo |
| > 50% | ❌ RIDURRE AREA O PASSARE A COLTURE "DRY" | Critica | Grave |
**Output:**
```
⚠️ VINCOLO ACQUA RILEVATO
Fabbisogno: 150 L/gg (peak)
Disponibilità: 100 L/gg
Deficit: 50 L (33%)
PIANO MITIGAZIONE:
1. Mulching pesante (riduce evaporazione 20-30%)
→ New need: 105-120 L/gg (tollerabile)
2. Shift colture:
- Carota area +5 m² (tollerante siccità)
- Pomodoro area -3 m² (high-demand)
3. Raccolta pluviale (se possibile): +50 L/gg stagionale
→ Deficit zero
Recommendation: Applicare 1+3 (mulch + rain barrel 200L)
```
---
### 6. Trattamento Malattia vs. Finestra Raccolta
**Scenario:**
- Peronospora rilevata su Pomodoro (8 giorni prima raccolta)
- orto-fitopatologo raccomanda Rame (carenza 14 giorni)
- Conflitto: Non puoi raccogliere entro carenza
**Politica di Risoluzione:**
| Carenza (gg) | Raccolta Prevista | Azione | Risk |
|---|---|---|---|
| < 7 gg | SUBITO | NO trattamento chimico | Mangia contaminated? |
| 7-14 gg | Tra 3-5 gg | ⚠️ RITARDI raccolta 14-21 gg | Loss nutrizionale |
| > 14 gg | Tra 15+ gg | ✅ OK trattamento | Mitigato |
**Fallback:** Trattamento biologico low-toxicity (Bacillus subtilis = 0-3 gg carenza)
**Output:**
```
⚠️ CONFLITTO FITOPATOLOGICO
Diagnosi: Peronospora Pomodoro, confidence 0.92
Raccolta originale: Tra 8 giorni
OPZIONE 1 (Rame): 14 gg carenza
→ RITARDA raccolta 21+ giorni
→ Risk sovrabbondanza (cracking se pioggia, stress pianta)
OPZIONE 2 (Bacillus subtilis): 0-3 gg carenza ✅
→ Raccogli tra 10-12 giorni (accettabile)
→ Efficacia: 50-60% (meno di rame, ma ok per early stage)
RACCOMANDAZIONE: Bacillus + rimozione foglie infette + areazione
```
---
### 7. Preferenze Dieta vs. Vincoli Clima
**Scenario:**
- Utente vegano richiede: Legumi, Noci(?), Semi
- Zona clima: Sud Italia, siccità estiva
- orto-agronomo raccomanda tolleranti-siccità (Carota, Cipolla, Aglio)
- Conflitto: Poche opzioni legumi adatte clima secco
**Politica di Risoluzione:**
| Opzione | Viability | Compromise | Output |
|---------|-----------|---|---|
| Forzare legumi (Fagiolo) | Difficile (richiede irrigazione) | Accept over-watering (caro) | Parziale |
| Shift a tolleranti siccità | Realistico (Pisello, Fava autunno) | Less familiar (ma vegan-ok) | Full |
| Ibrido: Mulch + Raccolta pluviale | Moderato (costi, setup) | Most legumi possibili | Buono |
**Output:**
```
🌱 AGGIUSTAMENTO DIETA per Clima
Preferenza utente: Vegano (legumi prioritari)
Clima: Sud Italia siccità (preferisce tolleranti)
CONFLITTO: Fagiolo estivo richiede 300+ mm acqua
SOLUZIONE:
1. Fagiolo RAMPICANTE (agosto-settembre, minore acqua per durata ridotta)
- Succession luglio (dopo earlier crop)
- Resa: 1-2 kg (piccola ma ok)
2. Pisello AUTUNNALE (settembre-novembre, bassa acqua)
- Planted agosto
- Resa: 2-3 kg
3. Fava INVERNALE (novembre-marzo, pioggia naturale)
- Planted ottobre
- Resa: 2 kg
Totale legumi: 5-7 kg (vs. 10-15 kg richiesto ideale)
Compromesso: Supplementare con proteine (tofu, tempeh) importate
```
---
## Matrice Decisionale Orchestrator
Quando conflitto rilevato:
```
CONFLICT RESOLUTION FLOWCHART:
1. IDENTIFY CONFLICT TYPE
→ Lookup in this document
2. DETERMINE IMPACT SEVERITY
- Critical (crop loss, safety) → Prioritize safety
- Medium (resa ridotta) → Compromise
- Low (preferenza) → User choice
3. APPLY RESOLUTION POLICY
→ Check table for scenario
→ Calculate tradeoff
4. FLAG DECISION
- Log conflict + resolution in audit trail
- Notify user (accept/override)
- Document rationale
5. PROCEED (User approved)
```
---
## Escalation & User Override
**Quando NON risolvere automaticamente:**
- Confidence < 0.70 in resolution Ask user
- Conflict affects > 20% area/yield → Present options (top 3)
- Safety concern → ESCALATE to expert, don't guess
**User Override:**
```
User: "Ignora consiglio orchest, voglio 50 Pomodori comunque"
System:
✅ Accept override
⚠️ Flag in audit (suboptimal)
⚠️ Log consequence (expected resa -30%)
```
---
## Escalation Patterns (Quando Far Suonare l'Allarme)
| Pattern | Threshold | Action |
|---------|-----------|--------|
| Resa totale < 50% target | Any | WARN user |
| Acqua deficit > 30% | > 2 weeks | ESCALATE (rainfall + rain barrel) |
| Malattia confidence < 0.60 | And spreading | REFER expert |
| Conflitto irrisolvibile | Any | Present to user (decide) |
---
**Ultima revisione:** 2026-03-06
**Integrazione:** orto-orchestratore legge questo durante Phase 2 (conflict detection)

View file

@ -0,0 +1,231 @@
# Consociazioni Piante & Layout Aiuole
Guida a companion planting positivo/negativo e progettazione aiuole.
---
## Matrice Consociazione Piante
### Legenda
- ✅ **Positivo:** Beneficio reciproco (protezione insetti, fissazione N, ombra)
- ⚠️ **Neutro:** No effetto significativo
- ❌ **Antagonismo:** Competizione, allelopatia, malattie compartite
### Pomodoro - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Basilico | Positivo | Odore repelle insetti; migliora sapore | Stesso letto |
| ✅ Carota | Positivo | Radici diverse profondità (no competizione) | 30 cm |
| ✅ Cipolla | Positivo | Repelle afidi; no competizione N | 25 cm |
| ⚠️ Lattuga | Neutro | Ombra leggera benefica (estate) | Bordo |
| ❌ Brassica (Cavolo, Broccoli) | Antagonismo | Malattie compartite (Solanaceae-Brassica incomp.) | >2 m |
| ❌ Finocchio | Antagonismo | Allelopatia (inibisce crescita) | >3 m |
### Peperone - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Basilico | Positivo | Come pomodoro | Stesso letto |
| ✅ Cipolla | Positivo | Repelle insetti | 25 cm |
| ✅ Melanzana | Positivo | Stesse esigenze (Solanaceae-friendly) | 40 cm |
| ❌ Cavolo | Antagonismo | Competizione/malattie | >2 m |
### Zucchina / Melone - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Mais | Positivo | "Tri sorelle" (mais supporta; zucca ombra) | 50 cm |
| ✅ Fagiolo | Positivo | "Tri sorelle" (fagiolo fissa N) | 50 cm |
| ✅ Carota | Positivo | Radici diverse | 30 cm |
| ⚠️ Cipolla | Neutro | Ok se distanza | 30 cm |
### Lettuga - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Carota | Positivo | Radici diverse | 15 cm |
| ✅ Cipolla | Positivo | Repelle insetti | 15 cm |
| ✅ Pomodoro | Positivo | Ombra leggera (estate) | Bordo |
| ✅ Barbabietola | Positivo | Simili esigenze | 20 cm |
| ❌ Cavolo | Antagonismo | Competizione acqua/N | >2 m |
### Cavolo / Broccoli - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Cipolla | Positivo | Repelle farfalle cavolo (Pieris) | 20 cm |
| ✅ Carota | Positivo | Radici diverse | 25 cm |
| ✅ Barbabietola | Positivo | Simili | 20 cm |
| ⚠️ Erbette | Neutro | Ok insieme | 15 cm |
| ❌ Pomodoro | Antagonismo | Competizione; malattie | >3 m |
| ❌ Fagiolo | Antagonismo | Inibisce N fissazione | >2 m |
### Fagiolo - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Mais | Positivo | "Tri sorelle" (fagiolo sale; mais supporta) | Misto |
| ✅ Zucchina | Positivo | "Tri sorelle" | Misto |
| ✅ Carota | Positivo | Radici diverse | 20 cm |
| ❌ Cipolla/Aglio | Antagonismo | Inibisce N fissazione | >2 m |
| ❌ Cavolo | Antagonismo | Competizione | >2 m |
### Carota - Consociazioni
| Con | Effetto | Motivo | Distanza |
|-----|--------|--------|----------|
| ✅ Cipolla | Positivo | Complementari | 15 cm |
| ✅ Lattuga | Positivo | Radici diverse | 15 cm |
| ✅ Pomodoro | Positivo | Radici diverse | 25 cm |
| ❌ Finocchio | Antagonismo | Allelopatia, competizione | >3 m |
| ❌ Aneto | Antagonismo | Simile a finocchio | >2 m |
---
## Layout Aiuole: Dimensioni & Spacing
### Raccomandazioni Base
| Parametro | Valore | Note |
|-----------|--------|------|
| **Larghezza aiuola** | 1.0-1.5 m | Raggiungibile da ambo lati senza calpestare |
| **Lunghezza aiuola** | 2-4 m | Modulare, facile gestione |
| **Profondità aiuola rialzata** | 0.3-0.5 m | 30-40 cm base; 50 cm se drenaggio scarso |
| **Profondità aiuola terra** | 0-0.2 m (vangatura) | Terra naturale, min. 30 cm fertile |
| **Sentiero principale** | 0.7-1.0 m | Passaggio, accessibilità (carrello, sedia a rotelle) |
| **Sentiero lato aiuola** | 0.5 m | Lato angusto, accesso rapido |
### Spacing Tra Piante
Per aiuole rialzate, "square-foot gardening" o fitte:
| Coltura | Spacing (cm) | Piante/m² | Note |
|---------|---|---|---|
| **Pomodoro** | 40-60 | 3-4 | Determinato 40cm; indeterminato 60cm |
| **Peperone** | 40-50 | 4-5 | Simile pomodoro |
| **Zucchina** | 50-75 | 2-3 | Grande, ramificante |
| **Melone** | 50-100 | 1-2 | Molto grande |
| **Lattuga** | 20-30 | 9-16 | Densa, veloce ciclo |
| **Cavolo** | 30-40 | 4-9 | Taglia finale; giovani più fitti |
| **Carota** | 7-10 | 25-49 | Molto densa dopo diradamento |
| **Cipolla** | 10-15 | 16-25 | Diradare a 15cm finali |
| **Basilico** | 20-25 | 16-20 | Cesellare; rigenerare |
| **Fagiolo** | 10-15 | 25-40 | Rapido; succulento se giovane |
### Pattern Semina
**Righe parallele (tradizionale):**
```
File 1: [POD] [POD] [POD] [POD]
40cm 40cm 40cm
File 2: [BAS] [BAS] [BAS] [BAS]
20cm 20cm 20cm
```
Distanza tra file: 60 cm
**Square-foot (grigliate):**
```
[POD] | [POD] | [BAS] | [BAS]
[POD] | [POD] | [BAS] | [BAS]
-------|---------|--------|------
[CAR] | [CAR] | [CIP] | [CIP]
```
Ogni quadrato ~30 cm
---
## Rotazione Colture (Famiglie)
Prevenire accumulo parassiti/malattie, esaurimento nutrienti.
### Famiglie Botaniche
| Famiglia | Colture Tipiche | Durata Rotazione |
|----------|---|---|
| **Solanaceae** | Pomodoro, Peperone, Melanzana | 3-4 anni |
| **Brassicaceae** | Cavolo, Broccoli, Cavolfiore, Rapa | 3 anni |
| **Cucurbitaceae** | Zucchina, Melone, Cocomero, Cetriolo | 3 anni |
| **Leguminosae** | Fagiolo, Pisello, Fava, Lenticchia | 2-3 anni (N-fixer) |
| **Apiaceae** | Carota, Parsnip, Sedano | 3 anni |
| **Amaryllidaceae** | Cipolla, Aglio, Porro | 2 anni |
| **Chenopodiaceae** | Barbabietola, Spinacio, Erbette | 2-3 anni |
### Piano Rotazione 3 Anni (Esempio)
```
Aiuola A:
Anno 1: Pomodoro (Solanaceae)
Anno 2: Lettuga / Carota (Apiaceae / Brassica-free)
Anno 3: Fagiolo (Legume) → azzera suolo
→ Back to Anno 1
Aiuola B:
Anno 1: Cavolo (Brassica)
Anno 2: Fagiolo (Legume)
Anno 3: Zucchina (Cucurbitaceae)
→ Back to Anno 1
Aiuola C:
Anno 1: Carota (Apiaceae)
Anno 2: Pomodoro? NO! Dopo Cavolo (A1)
→ Diverso da A+B
```
---
## Accessibilità & Sicurezza
### Per Utenti Diversamente Abili
| Esigenza | Raccomandazione | Misura |
|----------|---|---|
| Sedia a rotelle | Sentiero principale liscio | Min. 0.7 m |
| Raggiungibilità | Aiuole max altezza 0.8 m | Rialzate 0.5 m o meno |
| No scalini | Livello costante | Pendenza < 5% |
| Illuminazione | Percorsi illuminati | Luci soft sera |
| Riposo | Panchina ogni 20-30 m | Ombra se possibile |
### Sicurezza Generale
- Niente spigoli vivi (aiuole rialzate arrotondate)
- Vie di fuga chiare (no ostruzione con attrezzi)
- Primo soccorso visibile (kit)
- Fontana acqua (igiene, emergenza)
---
## Esempi Layout
### Esempio 1: Orto 50 m² - Famiglie
```
[NORD — Sole max mattina]
Aiuola A1 (Rialzata 1.2×3m) Aiuola A2 (Rialzata 1.2×3m)
- Pomodoro (4) + Basilico (12) - Cavolo (4) + Lattuga (24)
- Zona ALTA - Zona MEDIA
↑ Sentiero 0.7m ↑
Fila A3 (Terra, 1×12m) Fila A4 (Terra, 1×12m)
- Carota (densa) × 2 succ - Cipolla × 3 succ
- Zona MEDIA - Zona BASSA
[SUD — Ombra pomeridiana]
```
### Esempio 2: Orto 20 m² - Compatto (Balcone/Vaso)
```
Contenitori (vasi 20-30L):
- Pomodoro ciliegia × 2 (20L)
- Peperone × 1 (20L)
- Basilico × 3 (10L)
- Lattuga × 4 (10L)
- Carota × 2 (5L)
Layout: Griglia 4×3 vasi, profondità per luce sole
```
---
**Ultima revisione:** 2026-03-06

View file

@ -0,0 +1,230 @@
# Parametri Irrigazione: ET, Kc, Soglie Sensori
Riferimento tecnico per calcolo fabbisogni idrici e automazione irrigazione.
---
## Evapotraspirazione di Riferimento (ET₀)
### Tabella ET₀ Mensile per Macro-Zone Italia
Basato su dati medi (temperature, umidità, vento, radiazione).
| Mese | Nord (Pianura Padana) | Centro (Toscana, Lazio) | Sud (Puglia, Sicilia) |
|------|---|---|---|
| Gen | 0.5 mm/gg | 0.8 mm/gg | 1.2 mm/gg |
| Feb | 1.0 | 1.3 | 1.6 |
| Mar | 2.0 | 2.5 | 3.0 |
| Apr | 3.5 | 4.0 | 4.5 |
| Mag | 4.5 | 5.0 | 5.5 |
| **Giu** | **5.5** | **6.0** | **6.5** |
| **Lug** | **5.8** | **6.2** | **6.8** |
| **Ago** | **5.5** | **6.0** | **6.5** |
| Set | 4.0 | 4.5 | 5.0 |
| Ott | 2.5 | 3.0 | 3.5 |
| Nov | 1.2 | 1.5 | 2.0 |
| Dic | 0.6 | 0.9 | 1.2 |
**Peak season:** Giugno-Agosto (ET₀ 5.5-6.8 mm/gg)
**Formula rapida (se dati non disponibili):**
```
ET₀ (mm/gg) ≈ 0.0023 × (Tmed°C + 17.8) × (Tmax - Tmin)^0.5
(Hargreaves formula semplificata)
```
---
## Coefficiente Colturale (Kc)
Rappresenta la frazione di ET₀ necessaria per la coltura in base a fase di crescita.
### Per Principale Colture
| Coltura | Fase Iniziale | Fase Massima | Fase Raccolta | Note |
|---------|---|---|---|---|
| **Pomodoro** | 0.40 (giov.) | 0.95 (fioritura) | 0.70 (raccolta) | Determinato: 70-90 gg; indeterminato: più lungo |
| **Peperone** | 0.35 | 0.95 | 0.75 | Simile pomodoro |
| **Zucchina** | 0.45 | 1.05 | 0.80 | Ciclo più veloce |
| **Melone** | 0.40 | 1.00 | 0.75 | Peak luglio |
| **Lattuga** | 0.50 | 0.95 | 0.70 | Ciclo breve, sensibile stress |
| **Cavolo** | 0.45 | 0.90 | 0.65 | Ciclo medio |
| **Carota** | 0.40 | 0.80 | 0.60 | Resistente siccità relativa |
| **Basilico** | 0.60 | 0.85 | 0.70 | Termofilo |
| **Fagiolo** | 0.40 | 0.90 | 0.50 | Ciclo rapido |
| **Spinacio** | 0.50 | 0.95 | 0.70 | Ciclo breve |
**Interpretazione Kc:**
- Kc < 0.5: Coltura giovane o pre-fioritura
- Kc 0.5-0.8: Fase intermedia
- Kc > 0.9: Peak di consumo (fioritura, fruttificazione)
---
## Calcolo Fabbisogno Idrico Giornaliero
```
Fabbisogno (mm/gg) = ET₀ × Kc
Esempio (Pomodoro, Centro Italia, Luglio, fioritura):
ET₀ (luglio) = 6.2 mm/gg
Kc (fioritura) = 0.95
Fabbisogno = 6.2 × 0.95 = 5.9 mm/gg
Volume acqua per aiuola 15 m²:
5.9 mm × 15 m² = 88.5 litri/gg
```
---
## Classe Fabbisogno Acqua (Irrigazione Pratica)
### Raggruppamento Semplificato
Per scheduling pratico, raggruppare colture in 3 classi:
| Classe | Fabbisogno (mm/stagione) | Frequenza | Timing | Colture Tipiche |
|--------|---|---|---|---|
| **BASSO** | 100-150 mm | 2-3x/sett | Mattina (facoltativo) | Carota, Cipolla, Spinacio, Pisello, Aglio |
| **MEDIO** | 150-250 mm | 3-4x/sett | Mattina | Lattuga, Cavolo, Broccoli, Fagiolo |
| **ALTO** | 300-500 mm | 4-6x/sett (daily estate) | Mattina + Sera (heat) | Pomodoro, Peperone, Zucchina, Melone, Cocomero |
---
## Emettitori & Portata
### Metodi Irrigazione
| Metodo | Portata Tipica | Applicazione | Pro | Contro |
|--------|---|---|---|---|
| **Goccia (Dripper)** | 0.5-4 L/h per emettitore | Ortaggi | Efficiente, no foglia bagnata | Pulizia necessaria |
| **Microspruzzatore** | 4-20 L/h | Ortaggi, angoli | Copertura ampia | Foglia bagnata, costo |
| **Spruzzatore rotante** | 20-100 L/h | Grandi aree | Veloce, buon mixing | Alto fabbisogno, evaporazione |
| **Sommersione** | Variable | Colture acquatiche | Equilibrio naturale | Scarsa precisione |
### Calcolo Runtime
```
Runtime (minuti) = Fabbisogno (mm) / Portata emettitore (mm/h)
Esempio (Pomodoro ZONA ALTA, classe ALTO):
Fabbisogno giornaliero: 5.9 mm
Emettitori dripper 2 L/h spaziati 0.5 m = ~4 mm/h per metro
Runtime = 5.9 mm / 4 mm/h ≈ 1.5 h = 90 minuti
Splitting (estate caldo): 2x giornaliero = 45 min mattina + 45 min sera
```
---
## Sensori Umidità Suolo (Soil Moisture)
### Tecnologia Capacitiva (Consigliato)
**Tipo:** Sensore capacitivo VWC (Volumetric Water Content)
**Principio:** Variazione capacità elettrica con umidità
**Range:** 0-100% (0% secco, 100% saturo)
### Soglie per Zone Irrigue
Definire trigger auto-irrigazione:
| Zona | Colture | Min Umidità (Trigger) | Max Umidità (No Irrig) | Note |
|------|---------|---|---|---|
| **BASSA** | Carota, Cipolla, Spinacio | 30-35% VWC | 50-55% VWC | Tollerante siccità |
| **MEDIA** | Lattuga, Cavolo, Fagiolo | 40-45% VWC | 60-65% VWC | Equilibrio |
| **ALTA** | Pomodoro, Peperone, Zucchina | 50-60% VWC | 70-75% VWC | Sensibile stress |
**Profondità sensore:** 20-30 cm (zona radici principale)
**Placement:** 1 sensore per 5-10 m² (center di zona omogenea)
---
## Schedule Baseline (No Sensore, Metodo Stagionale)
### Nord Italia - Pomodoro (Giugno-Agosto)
```
Giugno (Kc 0.70):
- ET₀ ≈ 5.5 mm/gg
- Fabbisogno ≈ 3.9 mm/gg
- Schedule: 3x/sett, 60 min ciascuna (mattina)
Luglio-Agosto (Kc 0.95, peak caldo):
- ET₀ ≈ 5.8-6.2 mm/gg
- Fabbisogno ≈ 5.5-5.9 mm/gg
- Schedule: Daily split = 45 min mattina (6am) + 45 min sera (6pm)
- Reason: Evaporazione peak noon; protezione stress pomeridiano
```
### Centro Italia - Lattuga (Primavera)
```
Aprile (Kc 0.50-0.70):
- ET₀ ≈ 4.0 mm/gg
- Fabbisogno ≈ 2.0-2.8 mm/gg
- Schedule: 3x/sett, 30 min (mattina)
Maggio (Kc 0.95):
- ET₀ ≈ 5.0 mm/gg
- Fabbisogno ≈ 4.75 mm/gg
- Schedule: 4-5x/sett, 45 min (mattina)
```
---
## Meteo Override
**Pioggia prevista > 10 mm in 24h:** Skip irrigazione giorno successivo
**Fonte:** wttr.in, open-meteo
**Calcolo:**
```
Effective_rainfall = Precip_forecast × 0.85 (infiltrazione suolo)
IF Effective_rainfall >= 70% Zone_demand → SKIP
ELIF Effective_rainfall >= 30% → REDUCE 30-50%
ELSE → KEEP baseline
```
---
## Maintenance & Pulizia Emettitori
**Frequenza:** Mensile (goccia), settimanale se acqua dura
**Segni ostruzione:**
- Portata ridotta (compare bagnato non uniforme)
- Emettitore non bagna
**Pulizia:**
- Ispezionare filtro linea principale (250 mesh)
- Soffiare emettitori ostruiti o risciacquare con acqua distillata
- Replace se danno permanente
**Prevenzione:**
- Filtro 250 mesh all'entrata di ciascuna zona
- Acidificazione acqua se pH > 7.5 (dura)
---
## Tabella Veloce Scheduling (Pratica)
Senza calcoli (uso diretto):
| Stagione | Zona BASSA | Zona MEDIA | Zona ALTA |
|----------|---|---|---|
| **Primavera (Apr-Mag)** | 2x/sett, 20min | 3x/sett, 40min | 4x/sett, 60min |
| **Estate (Giu-Ago)** | 3x/sett, 25min | 4x/sett, 50min | Daily split 45+45min |
| **Autunno (Set-Ott)** | 2x/sett, 20min | 2x/sett, 35min | 3x/sett, 50min |
| **Inverno (Nov-Feb)** | PRN (se secco > 2sett) | PRN | PRN |
**PRN = Pro Re Nata** = se necessario (controllo manuale o sensore)
---
**Ultima revisione:** 2026-03-06
**Fonte:** FAO Irrigation & Drainage Paper 56 (ET₀), aggiustamenti locali

View file

@ -0,0 +1,192 @@
# Malattie, Sintomi e Trattamenti Biologici
Riferimento per diagnosi di malattie e raccomandazioni di trattamento biologico sicuro.
---
## Mapping Sintomi → Patogeno
### Foglie Gialle con Macchie Scure, Bagnate
| Patogeno | Colture | Confidence | Condizioni Favorevoli | Trattamento |
|----------|---------|-----------|--------|-----------|
| **Peronospora** (Phytophthora infestans) | Pomodoro, Patata, Peperone | 0.92 | Umidità alta, pioggia notturna, T 12-25°C | Rame, Bacillus subtilis |
| Oidio (Erysiphaceae) | Zucchina, Melone, Lattuga | 0.70 | Umidità media, T 18-28°C, scarsa areazione | Zolfo, Neem |
| Batteriosi (Pseudomonas, Xanthomonas) | Pomodoro, Peperone, Cavolo | 0.65 | Acqua fogliare, ferite, T 25-30°C | Rame (preventivo), rimozione foglie |
### Foglie Arricciate, Appassimento
| Patogeno | Colture | Confidence | Note |
|----------|---------|-----------|------|
| **Verticillium / Fusarium** (wilts) | Pomodoro, Peperone, Melanzana | 0.85 | Vasi linfatici ostruiti, progressivo da basso → alto |
| Stress idrico | Tutte | 0.80 | Check irrigazione; se sufficiente → malattia |
| Afidi (colonizzazione) | Lattuga, Cavolo, Ortaggi foglia | 0.75 | Visibile al dorso foglia, melata |
### Macchie Circolari / Anulari
| Patogeno | Colture | Confidence | Trattamento |
|----------|---------|-----------|-----------|
| **Septoria / Cercospora** (funghi) | Pomodoro, Lattuga, Carota | 0.80 | Rame, rimozione foglie infette |
| Alternaria | Pomodoro, Melanzana, Carota | 0.75 | Rame + Zolfo, areazione |
| Marciume secco (Colletotrichum) | Peperone, Melanzana, Pomodoro | 0.70 | Rame, rimozione, gestione umidità |
### Insetti Visibili
| Insetto | Colture | Danno | Trattamento Bio | Soglia Intervento |
|---------|---------|-------|---|---|
| **Afidi** | Lattuga, Cavolo, Ortaggi foglia | Foglie arricciate, ingiallimento | Neem, spray insecticida bio, coccinelle | > 50 afidi/foglia |
| **Ragnetto rosso** | Zucchina, Melone, Fagiolo | Punteggiature, ragnatela | Neem, aumento umidità, fitoseidi | Visibilità macroscopica |
| **Mosca bianca** | Pomodoro, Peperone, Melanzana | Decolorazione, melata | Neem, trappole gialle adesive | Cattura 5+/trappola/gg |
| **Lepidotteri** (Tuta, Diaphania) | Pomodoro, Zucchina, Cavolo | Gallerie, buchi, marciume | Bacillus thuringiensis (Bt), feromoni | Cattura 5+/trappola |
---
## Trattamenti Biologici Autorizzati (Italia - Allegato B D.M. 18527/2012)
### Rame (CuSO₄, ossicloruro, ossido)
**Uso:** Fungicida preventivo per peronospora, batteriosi, oidio (supporto)
**Dosi:** 5-10 g/L (es. 5kg/1000L acqua)
**Timing:**
- Preventivo: inizio condizioni favorevoli (pioggia, umidità persistente)
- Curativo: inizio sintomi, max 3 applicazioni/stagione
- Frequenza: 7-10 giorni se condizioni risky
**DPI:** Guanti, respiratore (polvere), abbigliamento coperto
**Carenza:** 14 giorni (Pomodoro, Peperone)
**Meteo:** No spray se vento > 5 kn, pioggia imminente < 2h, T < 10°C
**Limitazioni:** Bio? Sì (ECOCERT); Tossicità pesci sì (non usare vicino acqua)
---
### Zolfo
**Uso:** Fungicida preventivo per oidio, acaro rosso
**Dosi:** 10-15 g/L
**Timing:** Settimanale durante rischio oidio (estate, alta umidità)
**DPI:** Guanti, occhiali
**Carenza:** 7 giorni
**Meteo:** No spray T > 28°C (fitotossico), no vento forte
**Bio:** Sì
---
### Olio di Neem (Azadirachtin)
**Uso:** Insetticida + fungicida light (afidi, ragnetto, oidio)
**Dosi:** 10-20 ml/L
**Timing:** Sera (no sole diretto), repeat ogni 7-10 gg se necessario
**DPI:** Guanti, abbigliamento coperto
**Carenza:** 1-3 giorni (da prodotto specifico)
**Meteo:** No pioggia imminente < 4h (dilavare)
**Bio:** Sì
**Note:** Limitato vs. forti infestazioni; better per prevenzione
---
### Bacillus subtilis / Bacillus thuringiensis (Bt)
**Uso:**
- B. subtilis: Fungicida biologico (peronospora, oidio)
- B. thuringiensis: Insetticida biologico (lepidotteri - Tuta, Diaphania)
**Dosi:** 10-15 ml/L (Bacillus), 5-10 ml/L (Bt)
**Timing:**
- B. subtilis: Inizio sintomi o preventivo durante pioggia
- Bt: Non appena larve visibili (generazioni giovanili più sensibili)
**DPI:** Minimal (biologico)
**Carenza:** 0-3 giorni (leggi etichetta)
**Meteo:** Pioggia post-applicazione riduce efficacia (rinnovare)
**Bio:** Sì
---
### Solfato di Rame + Calce (Bordolese)
**Uso:** Fungicida preventivo multi-uso (peronospora, batteriosi, oidio)
**Dosi:** 15-20 g/L (formula 1-1-50: 1 rame + 1 calce + 50 acqua)
**Timing:** Inizio stagione preventivo, repeat ogni 10-14 gg
**Carenza:** 14 giorni
**DPI:** Come rame
**Bio:** Sì
**Note:** Meno fitotossico che rame puro, migliore adesione
---
## Piano Preventivo Biologico (Pomodoro - Esempio)
### Primavera (Aprile-Maggio)
- **Aprile:** Check semenzaio, areazione buona, no ristagni
- **Inizio maggio:** Primo spray rame se pioggia frequente (prevenzione peronospora)
### Estate (Giugno-Agosto)
- **Giugno:** Settimanale rame (lun) + Bacillus subtilis (gio) se pioggia/umidità
- **Luglio-Agosto:**
- Monitoraggio afidi (trappole gialle)
- Se afidi > soglia: Neem sera
- Se peronospora vista: Rame + rimozione foglie infette
- Areazione buona, irrigazione a goccia (no foglia bagnata)
### Autunno (Settembre-Ottobre)
- **Settembre:** Ridurre rame (umidità cala), continue Neem se afidi
- **Ottobre:** Fine raccolte, rimozione piante (sanificazione)
---
## Safety Checklist
**Prima di qualsiasi trattamento:**
- ✓ Identifica patogeno con confidence > 0.70 (altrimenti foto a esperto)
- ✓ Verifica meteo (no vento > 5 kn, no pioggia imminente)
- ✓ Indossa DPI appropriato (guanti minim, respiratore se polvere)
- ✓ Check carenza (raccolta sicura?)
- ✓ Non mischiare trattamenti (verifica compatibilità)
- ✓ Log trattamento (data, prodotto, dose, colture, risultati)
---
## Fallback & Escalation
- **Confidence < 0.60:** Chiedi foto a esperto; intanto no spray, solo prevenzione (areazione, igiene)
- **Resistenza sospetta:** Prova trattamento alternativo o rotazione
- **Danno collaterale:** STOP immediato; valuta altra strategia
- **Efficacia zero dopo 2-3 applicazioni:** Escalate a consulenza tecnica
---
**Ultima revisione:** 2026-03-06
**Fonte:** D.M. 18527/2012 (aggiornamenti periodici)
**Note:** Per norme specifiche regione/paese consultare autorità locali (MIPAAF, Regione)

View file

@ -0,0 +1,211 @@
# Soglie Meteo & Decisioni Operative
Trigger per decisioni meteo-aware in calendari e irrigazione.
---
## Vento (Velocità kn — Knots)
### Classificazione & Impatto
| Velocità | Scala Beaufort | Effetto su Orto | Irrigazione | Trapianto | Trattamenti |
|----------|---|---|---|---|---|
| < 3 kn | Calmo/Brezza lieve | Ideale | OK | OK | OK |
| 3-5 kn | Brezza moderata | Bagnato irrig. ridotto | ✅ OK | ✅ OK | ✅ OK |
| **5-8 kn** | **Brezza fresca** | **Piante oscillano** | ✅ OK (goccia) | ⚠️ DEFER spray | ⚠️ DEFER spray fogliare |
| **> 8 kn** | **Vento moderato** | **Danno stress meccanico** | ⚠️ SOSPENDI sprinkler | ❌ DEFER trapianto | ❌ ANNULLA spray |
| > 15 kn | Vento forte | Danno foglie, rami | ❌ STOP tutto | ❌ NO | ❌ NO |
### Decisione Operativa
**IF vento_forecast > 5 kn:**
- Goccia: OK (bassa deriva)
- Sprinkler/Microspruzzatore: SOSPENDI (evaporazione, deriva)
**IF vento > 8 kn:**
- NO trattamenti fogliari (inefficace, danno piante)
- NO trapianto (stress meccanico, secchezza radici)
- NO sprinkler
**Mitigazione:**
- Piantumare frangivento (siepi) lato dominante
- Schermi temporanei (juta, telo) per trapianti giovani
- Programmare lavori con vento basso (mattina presto)
---
## Pioggia
### Precipitazione Prevista
| Quantità | Impatto | Irrigazione | Trapianto | Trattamenti |
|----------|--------|---|---|---|
| 0 mm | Sec | ✅ Irriga normale | ✅ OK | ✅ OK |
| 1-5 mm | Tracce | ✅ Irriga normale | ✅ OK | ✅ OK |
| 5-10 mm | Leggera | ⚠️ RIDUCI 50% | ✅ OK | ⚠️ ATTENDI 4h post |
| **10-20 mm** | **Moderata** | **SKIP 24-48h** | ✅ OK (moisture) | ❌ ANNULLA |
| **> 20 mm** | **Forte** | **SKIP 48-72h** | ⚠️ ATTENDI (fango) | ❌ NO |
| > 50 mm | Alluvione | ❌ Risk inondazione | ❌ STOP | ❌ NO |
### Calcolo Effective Rainfall
```
Effective (mm) = Forecast precip × 0.85
Esempio: 15 mm previsti = 12.75 mm infiltrazione reale
Zone ALTA (fabbisogno ~6 mm/gg):
IF 12.75 > 6 × 0.7 (70% coverage) → SKIP irrigazione
Zone MEDIA (fabbisogno ~4 mm/gg):
IF 12.75 > 4 × 0.7 → SKIP
```
### Timing Rilevante
**Pioggia durante ore trattamento (fogliare):**
- IF pioggia in arrivo < 2 ore ANNULLA (dilavare)
- IF pioggia just passed, foglie bagnate → ATTENDI asciugatura (4-6 h)
**Pioggia post-semina:**
- Benefica (acqua, contatto semi-suolo)
- No action
---
## Gelo & Temperature Basse
### Frost Risk
| Temp Minima | Colture Sensibili | Azione | Timing |
|---|---|---|---|
| **> 10°C** | Tutte robuste | ✅ Normal | Qualsiasi |
| **5-10°C** | Pomodoro, Peperone, Melanzana, Basilico | ⚠️ MONITOR | No trapianto |
| **0-5°C** | Tutti ortaggi | ⚠️ MONITOR | No trapianto |
| **< 0°C (gelo)** | **Tutte colture giovani** | ** PROTEGGERE / DIFFERISCI** | **Frost alert** |
### Protezione Gelo
**Preventivo (T < 0°C previsto):**
1. **Irrigazione mattina (paradossale ma efficace)**
- Acqua suolo rilascia calore latente
- Protegge radici
- Timing: 6-7 am (prima alba fredda)
2. **Coperture (tessuto non tessuto)**
- TNT 17g/m² protegge -2 a -3°C
- TNT 40g/m² protegge -4 a -6°C
- Applicare sera, togliere mattina
3. **Reti frangivento**
- Riduce movimento aria fredda
- Installa lato Nord/vento dominante
4. **Fuochi (agricoltura tradizionale)**
- Vecchia tecnica, scarsa in orto moderno
- Riscalda aria locale (- di 1-2°C)
---
## Caldo & Stress Termico
### Temperature Alte
| Temp Max | Effetto | Irrigazione | Frequenza | Note |
|---|---|---|---|---|
| 25-30°C | Normale crescita | Normale | Standard | Peak stage |
| **30-35°C** | **Stress iniziale** | **AUMENTA 25%** | **Aggiungi 1 applicazione** | Polline sterile se > 30°C su Solanaceae |
| **> 35°C** | **Stress severo** | **AUMENTA 50%** | **Split 3x/gg (6am, 12pm, 6pm)** | Wilting, aborto fiori |
| **> 40°C** | **Danno acuto** | **Massimo + protezione** | **Continuous o semi-continuous** | Danno permanente |
### Mitigazione Caldo
1. **Irrigazione**
- Aumenta frequenza (non durata singola)
- Split su più volte (riduce evaporazione)
2. **Mulching** (2-5 cm)
- Riduce T suolo 5-10°C
- Mantiene umidità
- Usa paglia, scarti compost
3. **Ombreggiamento** (35-50% shade cloth)
- Riduce T aria locale 3-5°C
- Applicare Nord/Ovest (lato caldo)
- Colture foglia benefit; frutti ok
4. **Ventilazione**
- Rimuovi foglie basse (circolazione aria)
- Schermi frangivento ridotti
---
## Umidità Relativa (UR)
### Relazione Malattie
| UR | Funghi Risk | Insetti Risk | Azione |
|---|---|---|---|
| < 60% | Basso | Moderato (ragni) | Monitor |
| **60-85%** | **ALTO** (peronospora, oidio) | Moderato | Areazione |
| **> 85%** | **MOLTO ALTO** | Alto (afidi) | Spray preventivo |
| Notte: > 90% | Critico (free moisture) | Alto | Goccia (no foglia) |
### Prevenzione Umidità Alta
1. **Irrigazione goccia** (no bagnatura foglia)
2. **Areazione** (rimuovi foglie basse, spacing)
3. **Drenaggio** suolo (no ristagni)
4. **Timing sera** (prima UR notte scende, no free moisture foglie)
5. **Trattamenti preventivi rame** (se UR > 75% ricorrente)
---
## Combinazioni Critiche (Meteo Sinergico)
| Scenario | Condizioni | Risk | Azione |
|----------|-----------|------|--------|
| **Tempesta** | Pioggia > 20 mm + Vento > 10 kn + T < 15°C | Danno meccanico + fango | PROTEGGERE trapianti; check drenaggio post |
| **Onda caldo umida** | T > 35°C + UR > 85% | Fungo acuto + stress | Spray rame + irrigazione; areazione max |
| **Gelo umido** | T < 0°C + UR > 90% | Frost burn, ghiaccio foglie | TNT + no bagnare; fuochi? |
| **Siccità prolungata** | T > 30°C + UR < 50% + Vento > 5kn | Appassimento, ragnetti | Irrigazione massima; mulch; ombra |
---
## Tabella Rapida Decisioni (Tool per Codex)
### Daily Meteo Decision Matrix
```
METEO CHECK (ogni mattina 6:00):
[ ] Vento oggi > 5 kn? → NO spray
[ ] Pioggia prevista > 10 mm? → SKIP irrigazione
[ ] Temp min < 0°C previst? PROTEGGERE gelo
[ ] Temp max > 35°C? → IRRIGA massimo
[ ] UR notte > 90%? → NO foliare (goccia ok)
[ ] Vento > 8 kn? → NO trapianto/spray
→ Genera DAILY DECISION per ciascun task nel calendario
```
---
## Fonte Dati Meteo
**API Consigliato:** wttr.in (open-meteo fallback)
**Parametri estratti:**
- Tmax, Tmin (°C)
- Precip forecast (mm, %)
- Wind speed (kn)
- Humidity (%)
- Frost risk (T < 0°C)
**Update:** Giornaliero (6:00 am), rolling 7-10 giorni
---
**Ultima revisione:** 2026-03-06
**Integrazione:** Usare in orto-meteo-decisioni e orto-calendario per reschedule task

View file

@ -0,0 +1,362 @@
# QA Checklist — Validazione PlanBundle
Criteri e checklist per validare completezza e coerenza di piano prima della pubblicazione.
---
## QA Score Calculation
**Formula:**
```
QA_Score = (Checks_Pass / Total_Checks) × Weight_Pass
0.90-1.00: ✅ Excellent (publish)
0.70-0.89: ✅ Good (publish with warnings)
0.50-0.69: ⚠️ Marginal (request review/improvements)
< 0.50: Fail (do not publish; request major fixes)
```
---
## Sezione 1: Data Completeness
### 1.1 Garden Configuration
- [ ] **orto_id** non vuoto, univoco in registry
- [ ] **Location** (provincia + regione) valide (Italia)
- [ ] **Coordinates** (lat/lon) within bounds (-90 a 90, -180 a 180)
- [ ] **Area (m²)** positivo, > 0.1 m² (sensible)
- [ ] **Clima zone** inferito correttamente (nord/centro/sud)
- [ ] **Soil type** documentato (se possibile)
- [ ] **Sun exposure** documentato (ore/giorno)
- [ ] **Drainage** valutato (buono/mediocre/scarso)
**Validation:**
```python
if not (lat >= -90 and lat <= 90): error = "Invalid latitude"
if not (lon >= -180 and lon <= 180): error = "Invalid longitude"
if area <= 0: error = "Area must be positive"
```
**Impact:** ⭐⭐⭐ (critical for all downstream skills)
---
### 1.2 Community Profile
- [ ] **n_persone** > 0
- [ ] **Dieta** definita (vegano/vegetariano/onnivoro/altro)
- [ ] **Preferenze colture** lista non vuota (min. 3)
- [ ] **Colture evitamento** lista (se allergie)
- [ ] **Esperienza** livello segnato (nessuna/dilettante/esperto)
- [ ] **Tempo disponibile** (ore/settimana) > 0
- [ ] **Accessibility requirements** documentati (se disabilità)
**Validation:**
```python
if n_persone <= 0: error = "Zero people"
if not any(diet in ["vegano", "vegetariano", "onnivoro"]):
warning = "Unknown diet"
if not preferenze_colture: error = "No crop preference"
```
**Impact:** ⭐⭐ (affect crop selection, layout)
---
## Sezione 2: Agronomic Consistency
### 2.1 Crop Diversity
**Rule:** Min. 4 gruppi botanici rappresentati (spread nutritivo)
| Gruppo | Colture Tipiche | Min Presenti |
|--------|---|---|
| Solanaceae | Pomodoro, Peperone, Melanzana | 1+ |
| Brassicaceae | Cavolo, Broccoli, Cavolfiore | 1+ |
| Leguminosae | Fagiolo, Pisello, Fava | 1+ |
| Cucurbitaceae | Zucchina, Melone, Cocomero | 1+ |
| Leafy/Erbette | Lattuga, Spinacio, Cavolo riccio | 1+ |
| Aromatiche | Basilico, Parsley, Oregano | 0+ (opzionale) |
| Root | Carota, Cipolla, Barbabietola | 1+ |
**Check:**
```python
groups_present = len([g for g in GROUPS if count[g] > 0])
if groups_present < 4: flag = "⚠️ Low diversity"
```
**Impact:** ⭐⭐⭐ (nutritional balance, pest management)
---
### 2.2 Rotation Consistency
**Rule:** No stessa famiglia botanica per 2+ anni su stessa aiuola
**Check:**
```python
for aiuola in layout:
for year in [year1, year2, year3]:
crops = layout[aiuola][year]
families = [get_family(c) for c in crops]
if len(families) != len(set(families)): # Duplicates
error = f"Rotation fail {aiuola} year {year}"
```
**Fallback:** Se spazio piccolo (< 20 m²), tollerare 2 anni (vs. 3)
**Impact:** ⭐⭐⭐ (disease/pest control)
---
### 2.3 Nutritional Coverage
**Rule:** Piano colture deve coprire ≥ 80% fabbisogno dieta user
**Calcolo:**
```
For each dietary group (proteins, carbs, vit, minerals):
estimated_supply = sum(crop_yield × nutritional_contribution)
target = user_daily × days_season
coverage = estimated_supply / target
if coverage >= 0.80: ✅ OK
elif coverage >= 0.60: ⚠️ Marginal
else: ❌ Insufficient
```
**Example (Vegano, 3 persone, estate):**
```
Proteins (legumi):
Fagiolo 10 kg × 25g protein/100g = 2.5 kg protein
Target (3pp × 60g/gg × 90gg) = 16.2 kg
Coverage = 2.5 / 16.2 = 15% ❌ INSUFFICIENT
Recommendation: Aggiungere 2ª coltura legume (Pisello autunno)
```
**Impact:** ⭐⭐ (user satisfaction, sustainability)
---
## Sezione 3: Spatial Consistency
### 3.1 Layout Coherence
- [ ] **Tutte colture** da piano_colture_annuale sono assegnate a aiuole
- [ ] **No overlaps:** Stessa aiuola non ha > 100% area
- [ ] **Consociazioni:** % positive > antagonismi nella stessa aiuola
- [ ] **Accessibilità:** Sentieri >= min requirement (0.5-0.7 m)
- [ ] **Sun exposure:** Colture assegnate a zone corrette (pieno sole, ombra, ecc.)
**Check:**
```python
total_assigned = sum(area for crop in layout)
if total_assigned > available_area:
error = f"Over-allocated: {total_assigned} > {available_area}"
for aiuola in layout:
positives = count_positive_consociations(aiuola)
negatives = count_negative_consociations(aiuola)
if positives < negatives:
warning = f"Aiuola {aiuola}: more antagonismi than positive"
```
**Impact:** ⭐⭐⭐ (physical feasibility, crop performance)
---
### 3.2 Water Zone Coherence
- [ ] **Zone ALTA (MEDIA, BASSA)** assegnate coerentemente da layout
- [ ] **No mix:** Stessa zona irrigazione non ha mix ALTA + BASSA
- [ ] **Emitters**: Ciascuna zona ha emitter assegnato
**Check:**
```python
for zone in irrigation_zones:
crops_zone = [c for c in layout if zone_assigned(c) == zone]
water_classes = [get_water_class(c) for c in crops_zone]
if len(set(water_classes)) > 2: # More than 2 different classes
warning = f"Zone {zone}: mixed water needs (may need adjustment)"
```
**Impact:** ⭐⭐⭐ (irrigation efficiency, cost)
---
## Sezione 4: Water & Irrigation
### 4.1 Water Adequacy
**Rule:** Total water demand ≤ 110% source capacity (buffer 10%)
**Calc:**
```
Demand (mm/season) = sum(ET0 × Kc for each month × area_m2)
Rainfall (mm) = avg rainfall region × season_length
Irrigation_deficit = Demand - Rainfall
Source capacity (L/day) × season_length (days) × 1000 (L to mm on area)
/ area_m2
= Max available (mm/season)
if Irrigation_deficit <= Max_available: ✅ OK
elif Irrigation_deficit <= 1.1 × Max_available: ⚠️ Tight (need mulch)
else: ❌ INSUFFICIENT
```
**Mitigation (if deficit):**
- Mulching pesante (-20-30% ET)
- Raccolta pluviale (add 50-100 L)
- Shift crops (meno ALTA, più BASSA)
**Impact:** ⭐⭐⭐ (feasibility, cost)
---
### 4.2 System Pressure
**Rule:** Pressione sistema deve essere 0.5-1.5 bar (goccia) o 2-3 bar (sprinkler)
**Check:**
```python
emitters_per_zone = plan.irrigation[zone].emitters
total_flow = sum(e.flow for e in emitters_per_zone)
if source_pressure < min_required:
warning = "Low pressure: may need pump or regulator"
elif source_pressure > max_required:
warning = "High pressure: may damage emitters"
```
**Impact:** ⭐⭐ (durability, efficiency)
---
## Sezione 5: Temporal (Calendar)
### 5.1 Seasonal Alignment
- [ ] **Tutte colture** hanno semina/trapianto entro frost windows
- [ ] **Raccolta** prima di gelo primo (se sensitive)
- [ ] **Successioni** (es. Lattuga 3x) scheduled con spacing
- [ ] **Task frequency** total time ≤ available hours/week
**Check:**
```python
for crop in piano_colture:
if sowing_date < last_frost and crop_is_frost_sensitive:
error = f"{crop} planted before frost date"
if harvest_date > first_frost and crop_is_frost_sensitive:
error = f"{crop} harvest after frost"
# Time check
total_weekly_hours = sum(task.hours for task in calendario)
if total_weekly_hours > user_available_hours:
warning = f"Tasks exceed available time by {excess} hours/week"
suggestion = "Reduce scope or automate irrigation"
```
**Impact:** ⭐⭐⭐ (feasibility, success)
---
### 5.2 Meteo Sensitivity Tagging
- [ ] **Trapianti** tagged METEO_CRITICA
- [ ] **Trattamenti fogliari** tagged METEO_DEFER
- [ ] **Raccolta** no tag (non-deferent)
- [ ] **Irrigazione** tagged METEO_SKIP
**Check:**
```python
for task in calendario:
if task.type == "trapianto":
if not task.meteo_tag: warning = "Trapianto non taggato"
if task.type == "spray_fogliare":
if task.meteo_tag != "METEO_DEFER": error = "Wrong tag"
```
**Impact:** ⭐⭐ (weather adaptation)
---
## Sezione 6: Disease & Safety
### 6.1 Preventive Coverage
- [ ] **Alto-risk crops** (Pomodoro, Melanzana, Cavolo) hanno piano preventivo
- [ ] **Treatments** (rame, zolfo, bio) sono autorizzati Italia
- [ ] **DPI** richiesti documentati
- [ ] **Carenza** (raccolta timing) rispettate
**Check:**
```python
high_risk = ["Pomodoro", "Melanzana", "Cavolo"]
for crop in piano_colture:
if crop in high_risk:
if not plan_fitopatologo[crop].preventive:
warning = f"No preventive plan for high-risk {crop}"
```
**Impact:** ⭐⭐⭐ (disease management, safety)
---
### 6.2 DPI & Safety
- [ ] **Treatments** sono bio-authorized (D.M. 18527/2012) o IPM
- [ ] **DPI required** documentati (guanti, respiratore, ecc.)
- [ ] **Warnings** per allergie/sensibilità registrati
**Check:**
```python
for treatment in piano_fitopatologo.treatments:
if treatment not in APPROVED_BIO_LIST:
error = f"Unapproved treatment: {treatment}"
```
**Impact:** ⭐⭐⭐ (legal, health)
---
## Sezione 7: QA Summary Report
**Output Model:**
```markdown
# QA Report — [ORTO_ID]
## Score Card
| Check | Status | Weight | Result |
|-------|--------|--------|--------|
| Data Completeness | ✅ 10/10 | 15% | 1.5 |
| Agronomic | ✅ 8/9 | 20% | 1.78 |
| Spatial | ✅ 9/10 | 15% | 1.35 |
| Water | ⚠️ 7/10 | 20% | 1.4 |
| Temporal | ✅ 10/10 | 15% | 1.5 |
| Disease | ✅ 8/9 | 15% | 1.33 |
| **OVERALL** | | | **0.91** |
## Recommendations
1. ⚠️ Water tight (105% capacity) → Apply mulch (-25% ET)
2. ✅ Crop diversity excellent (6 groups)
3. ✅ Rotation coherent 3-year
4. ⚠️ Time: Weekly tasks 6.5 hrs (vs. 5 available) → Automate irrigation
## Decision
**APPROVED** (Score 0.91 — Excellent)
→ Publish to user with water mitigation note
---
```
---
**Ultima revisione:** 2026-03-06
**Integrazione:** orto-orchestratore Phase 3 (Data Validation)