Creazione 6 file references mancanti: malattie, irrigazione, consociazioni, meteo, conflitti, qa

This commit is contained in:
Noe 2026-03-07 01:33:14 +01:00
parent 3b632f2a88
commit 640ee26a2f
6 changed files with 1526 additions and 0 deletions

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)

211
references/meteo_soglie.md Normal file
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

362
references/qa_checklist.md Normal file
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)