Fase 5: Packaging orto-skills suite (test release)
Struttura distribuzione pronta: - orto-skills-suite/INSTALL.sh — Script installazione automatica - orto-skills-suite/README.md — Documentazione con lista skills - orto-skills-suite/orto-init/SKILL.md (9.4 KB) - orto-skills-suite/orto-onboarding/SKILL.md (8.5 KB) - orto-skills-suite/references/colture_it.md (7.6 KB) - orto-skills-suite/references/qa_checklist_it.md (6.1 KB) - Symlink: orto-init/references → ../references - Symlink: orto-onboarding/references → ../references Test release: 2 skills + 2 references pronte per installazione. Prossime: orto-agronomo, orto-calendario, orto-fitopatologo, etc.
This commit is contained in:
parent
5dea379692
commit
b8315d21e2
8 changed files with 1186 additions and 0 deletions
37
orto-skills-suite/INSTALL.sh
Executable file
37
orto-skills-suite/INSTALL.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
# Installazione orto-skills
|
||||
|
||||
SOURCE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TARGET="$HOME/.openclaw/skills/orto-skills"
|
||||
|
||||
echo "📦 Installing orto-skills..."
|
||||
echo ""
|
||||
|
||||
# Verifica destinazione
|
||||
if [ -d "$TARGET" ]; then
|
||||
echo "⚠️ Directory esistente: $TARGET"
|
||||
read -p "Sovrascrivere? (y/N) " confirm
|
||||
if [ "$confirm" != "y" ]; then
|
||||
echo "❌ Installazione annullata"
|
||||
exit 1
|
||||
fi
|
||||
rm -rf "$TARGET"
|
||||
fi
|
||||
|
||||
# Crea directory parent
|
||||
mkdir -p "$(dirname "$TARGET")"
|
||||
|
||||
# Copia skills
|
||||
cp -r "$SOURCE" "$TARGET"
|
||||
|
||||
echo "✅ Installation complete!"
|
||||
echo ""
|
||||
echo "Skills installate in: $TARGET"
|
||||
echo ""
|
||||
echo "Skills incluse (2):"
|
||||
echo " - orto-init"
|
||||
echo " - orto-onboarding"
|
||||
echo ""
|
||||
echo "References incluse (2):"
|
||||
echo " - colture_it.md"
|
||||
echo " - qa_checklist_it.md"
|
||||
57
orto-skills-suite/README.md
Normal file
57
orto-skills-suite/README.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# orto-skills
|
||||
|
||||
Suite di AgentSkills generate da framework-translator.
|
||||
|
||||
## Panoramica
|
||||
|
||||
- **Skills:** 2
|
||||
- **References:** 2
|
||||
- **Lingua:** Italiano
|
||||
- **Dominio:** Orto / Giardinaggio
|
||||
|
||||
## Installazione
|
||||
|
||||
### Metodo 1: Script Automatico
|
||||
|
||||
```bash
|
||||
./INSTALL.sh
|
||||
```
|
||||
|
||||
### Metodo 2: Copia Manuale
|
||||
|
||||
```bash
|
||||
cp -r . ~/.openclaw/skills/orto-skills
|
||||
```
|
||||
|
||||
## Skills Incluse
|
||||
|
||||
- **orto-init** — Inizializzazione progetto orto (crea struttura directory, registry, template)
|
||||
- **orto-onboarding** — Raccolta dati questionario (5 blocchi, GardenConfig, CommunityProfile)
|
||||
|
||||
## References
|
||||
|
||||
- `colture_it.md` — Catalogo colture orticole italiane (40+ varietà, 8 famiglie, consociazioni, rotazioni)
|
||||
- `qa_checklist_it.md` — Checklist validazione PlanBundle (6 criteri QA, conflitti, audit trail)
|
||||
|
||||
## Uso
|
||||
|
||||
Dopo installazione, le skills sono disponibili in OpenClaw:
|
||||
|
||||
```
|
||||
/openclaw orto-init --id orto_roma_testaccio_001 --nome "Orto Testaccio" ...
|
||||
/openclaw orto-onboarding --orto_id orto_roma_testaccio_001
|
||||
```
|
||||
|
||||
## Prossime Skills (in sviluppo)
|
||||
|
||||
- orto-agronomo — Selezione e pianificazione colture
|
||||
- orto-calendario — Timeline stagionale e task settimanali
|
||||
- orto-fitopatologo — Diagnosi e trattamenti biologici
|
||||
- orto-layout — Progettazione aiuole e consociazioni
|
||||
- orto-irrigazione — Sistema irrigazione e automazione
|
||||
- orto-meteo-decisioni — Decisioni basate su previsioni meteo
|
||||
- orto-orchestratore — Coordinamento workflow e risoluzione conflitti
|
||||
|
||||
---
|
||||
|
||||
_Generato da framework-translator il 2026-03-07_
|
||||
361
orto-skills-suite/orto-init/SKILL.md
Normal file
361
orto-skills-suite/orto-init/SKILL.md
Normal file
|
|
@ -0,0 +1,361 @@
|
|||
---
|
||||
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 workflow di onboarding. 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 | Note |
|
||||
|-------|------|----------|---------|------|
|
||||
| `orto_id` | String | Sì | `orto_roma_testaccio_001` | lowercase, underscore, max 64 caratteri |
|
||||
| `orto_name` | String | Sì | `Orto Testaccio Roma` | Nome leggibile |
|
||||
| `provincia` | String | Sì | `Roma` | Normalizzare a lista province italiane |
|
||||
| `regione` | String | Sì | `Lazio` | Normalizzare a lista regioni italiane |
|
||||
| `latitude` | Float | Sì | `41.8782` | -90 a 90, decimale |
|
||||
| `longitude` | Float | Sì | `12.4922` | -180 a 180, decimale |
|
||||
| `area_mq` | Float | No | `50` | Raccolto in onboarding se non fornito |
|
||||
| `climate_zone` | Enum | No | `centro` | Inferito da lat/lon se non fornito |
|
||||
|
||||
### Validazione Input
|
||||
|
||||
- `orto_id`: lowercase, 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
|
||||
|
||||
**Obiettivo:** Mappare latitudine a macro-zona italiana per stagionalità colture.
|
||||
|
||||
**Azioni:**
|
||||
|
||||
1. Leggi `latitude` da input
|
||||
2. Applica regole di mappatura:
|
||||
|
||||
**Regole decisionali:**
|
||||
|
||||
```
|
||||
se latitude >= 44.0:
|
||||
→ zona = "nord"
|
||||
→ ultima_gelata ≈ 25 aprile
|
||||
→ prima_gelata ≈ 15 ottobre
|
||||
→ zone_clima: Piemonte, Lombardia, Veneto, Friuli, Liguria (ponente)
|
||||
|
||||
altrimenti se latitude >= 42.5:
|
||||
→ zona = "centro"
|
||||
→ ultima_gelata ≈ 15 aprile
|
||||
→ prima_gelata ≈ 25 ottobre
|
||||
→ zone_clima: Toscana, Lazio, Marche, Umbria, Abruzzo, Liguria (levante)
|
||||
|
||||
altrimenti:
|
||||
→ zona = "sud"
|
||||
→ ultima_gelata ≈ 1 aprile
|
||||
→ prima_gelata ≈ 5 novembre
|
||||
→ zone_clima: Campania, Puglia, Basilicata, Calabria, Sicilia, Sardegna
|
||||
```
|
||||
|
||||
**Output intermedio:** Zona climatica + date gelate stimate
|
||||
|
||||
---
|
||||
|
||||
### Fase 2: Genera Struttura Directory
|
||||
|
||||
**Obiettivo:** Creare struttura directory standardizzata per il progetto orto.
|
||||
|
||||
**Azioni:**
|
||||
|
||||
1. Crea cartella base: `/home/<user>/.openclaw/workspace/Orti/<orto_id>/`
|
||||
2. Crea sottocartelle:
|
||||
|
||||
```
|
||||
<orto_id>/
|
||||
├── README.md # Project overview
|
||||
├── config/
|
||||
│ ├── garden_config.md # Base garden config
|
||||
│ └── 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
|
||||
├── media/
|
||||
│ ├── foto/
|
||||
│ └── video/
|
||||
└── report/
|
||||
└── report_mensili/
|
||||
```
|
||||
|
||||
**Output intermedio:** Struttura directory creata
|
||||
|
||||
---
|
||||
|
||||
### Fase 3: Genera File Template
|
||||
|
||||
**Obiettivo:** Creare file markdown template con header e struttura base.
|
||||
|
||||
**Azioni:**
|
||||
|
||||
1. **README.md** — Overview progetto:
|
||||
```markdown
|
||||
# <orto_name>
|
||||
|
||||
**ID:** <orto_id>
|
||||
**Localizzazione:** <provincia>, <regione>
|
||||
**Zona climatica:** <zona>
|
||||
**Coordinate:** <latitude>, <longitude>
|
||||
|
||||
## Quick Links
|
||||
|
||||
- [Questionario](dati/questionario/)
|
||||
- [Piano Colture](dati/colture/piano_colture_annuale.md)
|
||||
- [Calendario](dati/calendario/calendario_stagionale.md)
|
||||
- [Audit Trail](log/audit_trail.md)
|
||||
|
||||
---
|
||||
|
||||
_Creato: YYYY-MM-DD | Orto Init v1.0_
|
||||
```
|
||||
|
||||
2. **config/garden_config.md** — Configurazione base:
|
||||
```markdown
|
||||
# Garden Configuration
|
||||
|
||||
_Orto: <orto_id> | Ultima modifica: YYYY-MM-DD_
|
||||
|
||||
## Localizzazione
|
||||
|
||||
- **Provincia:** <provincia>
|
||||
- **Regione:** <regione>
|
||||
- **Latitudine:** <latitude>
|
||||
- **Longitudine:** <longitude>
|
||||
- **Zona climatica:** <zona>
|
||||
|
||||
## Date Gelate (Stimate)
|
||||
|
||||
- **Ultima gelata primavera:** <data>
|
||||
- **Prima gelata autunno:** <data>
|
||||
- **Lunghezza stagione:** <gg> giorni
|
||||
|
||||
## Dati Ambientali
|
||||
|
||||
*(Da compilare in onboarding)*
|
||||
|
||||
- **Esposizione:**
|
||||
- **Vento:**
|
||||
- **Suolo:**
|
||||
- **Acqua:**
|
||||
|
||||
---
|
||||
|
||||
_Generato da: orto-init_
|
||||
```
|
||||
|
||||
3. **log/audit_trail.md** — Audit log iniziale:
|
||||
```markdown
|
||||
# Audit Trail — <orto_id>
|
||||
|
||||
## Entry #1: Inizializzazione Progetto
|
||||
|
||||
**Timestamp:** YYYY-MM-DDTHH:MM:SSZ
|
||||
**Agente:** orto-init
|
||||
**Evento:** Progetto orto creato
|
||||
|
||||
**Dati:**
|
||||
- orto_id: <orto_id>
|
||||
- orto_name: <orto_name>
|
||||
- provincia: <provincia>
|
||||
- regione: <regione>
|
||||
- zona: <zona>
|
||||
|
||||
**Output:**
|
||||
- Struttura directory creata
|
||||
- Template generati
|
||||
- Pronto per onboarding (Workflow 01)
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
4. **Template questionari** — 5 blocchi con struttura:
|
||||
```markdown
|
||||
# Blocco 1 — Localizzazione
|
||||
|
||||
**Stato:** DA COMPILARE
|
||||
|
||||
## Dati
|
||||
|
||||
- **Località:**
|
||||
- **Provincia:**
|
||||
- **Regione:**
|
||||
- **Coordinate:**
|
||||
|
||||
---
|
||||
|
||||
_Compilato da: | Data: |
|
||||
```
|
||||
|
||||
**Output intermedio:** File template creati
|
||||
|
||||
---
|
||||
|
||||
### Fase 4: Registra nel Registry Centrale
|
||||
|
||||
**Obiettivo:** Aggiornare registry centrale orti con nuovo progetto.
|
||||
|
||||
**Azioni:**
|
||||
|
||||
1. Leggi registry esistente: `/home/<user>/.openclaw/workspace/Orti/orti_registry.json`
|
||||
2. Aggiungi entry:
|
||||
|
||||
```json
|
||||
{
|
||||
"orto_id": "<orto_id>",
|
||||
"name": "<orto_name>",
|
||||
"provincia": "<provincia>",
|
||||
"regione": "<regione>",
|
||||
"latitude": <latitude>,
|
||||
"longitude": <longitude>,
|
||||
"zone": "<zona>",
|
||||
"created_at": "YYYY-MM-DDTHH:MM:SSZ",
|
||||
"status": "active",
|
||||
"path": "/home/<user>/.openclaw/workspace/Orti/<orto_id>"
|
||||
}
|
||||
```
|
||||
|
||||
3. Scrivi registry aggiornato
|
||||
|
||||
**Output finale:** Registry aggiornato con nuovo orto
|
||||
|
||||
---
|
||||
|
||||
## Output
|
||||
|
||||
**File generati:**
|
||||
|
||||
- `Orti/<orto_id>/README.md`
|
||||
- `Orti/<orto_id>/config/garden_config.md`
|
||||
- `Orti/<orto_id>/config/ambiente_vincoli.md` (template)
|
||||
- `Orti/<orto_id>/dati/questionario/blocco_1-5_*.md` (5 file template)
|
||||
- `Orti/<orto_id>/log/audit_trail.md`
|
||||
- `Orti/orti_registry.json` (aggiornato)
|
||||
|
||||
**Formato:** Markdown strutturato + JSON (solo registry)
|
||||
|
||||
**Struttura directory:** Completa, pronta per Workflow 01 (Onboarding)
|
||||
|
||||
### Esempio Output
|
||||
|
||||
```markdown
|
||||
# Orto Testaccio Roma
|
||||
|
||||
**ID:** orto_roma_testaccio_001
|
||||
**Localizzazione:** Roma, Lazio
|
||||
**Zona climatica:** centro
|
||||
**Coordinate:** 41.8782, 12.4922
|
||||
|
||||
## Quick Links
|
||||
|
||||
- [Questionario](dati/questionario/)
|
||||
- [Piano Colture](dati/colture/piano_colture_annuale.md)
|
||||
- [Calendario](dati/calendario/calendario_stagionale.md)
|
||||
- [Audit Trail](log/audit_trail.md)
|
||||
|
||||
---
|
||||
|
||||
_Creato: 2026-03-07 | Orto Init v1.0_
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
*Nessun reference richiesto* — Skill auto-contenuta.
|
||||
|
||||
---
|
||||
|
||||
## Scripts
|
||||
|
||||
### `init_new_orto.py` (Opzionale)
|
||||
|
||||
Script Python per automazione inizializzazione (se disponibile in `scripts/`).
|
||||
|
||||
**Utilizzo:**
|
||||
|
||||
```bash
|
||||
python3 scripts/init_new_orto.py \
|
||||
--id orto_roma_testaccio_001 \
|
||||
--nome "Orto Testaccio Roma" \
|
||||
--provincia Roma \
|
||||
--regione Lazio \
|
||||
--lat 41.8782 \
|
||||
--lon 12.4922
|
||||
```
|
||||
|
||||
**Dipendenze:**
|
||||
- Python 3.8+
|
||||
- Nessuna libreria esterna (standard lib)
|
||||
|
||||
---
|
||||
|
||||
## Note
|
||||
|
||||
**Edge cases gestiti:**
|
||||
|
||||
- **Coordinate mancanti:** Inferite da provincia (usa geocoding approssimativo)
|
||||
- **Zona climatica ambigua:** Usa latitudine come criterio primario
|
||||
- **Registry corrotto:** Backups automatico prima scrittura
|
||||
|
||||
**Limitazioni:**
|
||||
|
||||
- Non valida esistenza reale del luogo (coordinate possono essere fittizie)
|
||||
- Non crea physical structure (solo directory e file)
|
||||
|
||||
**Avvertenze:**
|
||||
|
||||
- ⚠️ **Date gelate:** Sono stime macro-zona; verificare microclima locale prima di trapianti critici
|
||||
- ⚠️ **Registry:** Backup automatico creato prima di modifiche
|
||||
|
||||
---
|
||||
|
||||
_Aggiornato: 2026-03-07 | Versione: 1.0_
|
||||
1
orto-skills-suite/orto-init/references
Symbolic link
1
orto-skills-suite/orto-init/references
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../references
|
||||
331
orto-skills-suite/orto-onboarding/SKILL.md
Normal file
331
orto-skills-suite/orto-onboarding/SKILL.md
Normal file
|
|
@ -0,0 +1,331 @@
|
|||
---
|
||||
name: orto-onboarding
|
||||
description: Raccogliere dati essenziali per configurare orto comunitario/domestico attraverso 5 blocchi di questionario markdown. Usare quando: (1) nuovo utente completa profilo orto, (2) aggiornare configurazione esistente, (3) validare completezza dati prima di generare piano colture. Output: 5 blocchi questionario compilati, GardenConfig aggiornato, CommunityProfile, audit trail entry.
|
||||
---
|
||||
|
||||
# Orto Onboarding — Raccolta Dati e Configurazione
|
||||
|
||||
Raccogliere dati essenziali per configurare orto attraverso 5 blocchi di questionario in markdown.
|
||||
|
||||
## Quando Usare Questa Skill
|
||||
|
||||
- **Dopo orto-init:** Progetto orto creato, ora serve configurare
|
||||
- **Nuovo utente:** Utente finale compila profilo per la prima volta
|
||||
- **Aggiornamento configurazione:** Dati cambiati (es. nuova esposizione, cambio preferenze)
|
||||
- **Validazione pre-planning:** Verificare completezza dati prima di generare piano colture
|
||||
|
||||
## Input
|
||||
|
||||
| Input | Tipo | Obbligatorio | Esempio | Note |
|
||||
|-------|------|--------------|---------|------|
|
||||
| `orto_id` | String | Sì | `orto_roma_testaccio_001` | ID progetto esistente |
|
||||
| `questionario_mode` | Enum | No | `chat` / `form` / `file` | Default: `chat` |
|
||||
| `skip_blocks` | Array | No | `[2, 4]` | Blocchi da saltare (già compilati) |
|
||||
|
||||
### Validazione Input
|
||||
|
||||
- `orto_id`: deve esistere come directory in `Orti/`
|
||||
- `questionario_mode`: solo `chat`, `form`, o `file`
|
||||
- `skip_blocks`: numeri 1-5, solo se blocchi già compilati
|
||||
|
||||
## Processo
|
||||
|
||||
### Fase 1: Colloquio Utente (Blocco 1)
|
||||
|
||||
**Obiettivo:** Raccogliere localizzazione e contesto ambientale.
|
||||
|
||||
**File:** `dati/questionario/blocco_1_localizzazione.md`
|
||||
|
||||
**Domande (max 6):**
|
||||
|
||||
1. **Località** (città/area):
|
||||
- Esempio: "Roma, quartiere Testaccio"
|
||||
|
||||
2. **Esposizione**:
|
||||
- Opzioni: pieno sole / mezz'ombra / ombra
|
||||
- Default: pieno sole (se utente non sa)
|
||||
|
||||
3. **Vento** (se noto):
|
||||
- Opzioni: basso / medio / alto
|
||||
- Default: medio (se utente non sa)
|
||||
|
||||
4. **Serra/tunnel** disponibili:
|
||||
- Opzioni: sì / no
|
||||
- Default: no
|
||||
|
||||
5. **Tipo suolo**:
|
||||
- Opzioni: sabbioso / argilloso / limoso / misto / sconosciuto
|
||||
- Default: misto (se utente non sa)
|
||||
|
||||
6. **Fonte acqua**:
|
||||
- Opzioni: rubinetto / serbatoio / pozzo / altro
|
||||
- Default: rubinetto
|
||||
|
||||
**Regole:**
|
||||
- Se utente non sa: proporre default e segnare come "assunzione"
|
||||
- Massimo 6 domande per blocco (linea guida UX)
|
||||
|
||||
**Output intermedio:** Blocco 1 compilato
|
||||
|
||||
---
|
||||
|
||||
### Fase 2: Layout e Spazio (Blocco 2)
|
||||
|
||||
**Obiettivo:** Raccogliere dati su spazio disponibile e vincoli fisici.
|
||||
|
||||
**File:** `dati/questionario/blocco_2_layout_spazio.md`
|
||||
|
||||
**Domande:**
|
||||
|
||||
1. **Superficie totale** (m²) o dimensioni aiuole (L x W):
|
||||
- Esempio: "50 m²" oppure "4 aiuole da 2m x 5m"
|
||||
|
||||
2. **Numero aiuole e accessi**:
|
||||
- Esempio: "4 aiuole, camminamenti 0.6m"
|
||||
|
||||
3. **Ombre principali** (muri, alberi, edifici):
|
||||
- Esempio: "Muro sud, albero nord-ovest"
|
||||
|
||||
4. **Vincoli particolari**:
|
||||
- Esempi: bambini piccoli, animali domestici, regole condominiali
|
||||
|
||||
**Output intermedio:** Blocco 2 compilato
|
||||
|
||||
---
|
||||
|
||||
### Fase 3: Irrigazione (Blocco 3)
|
||||
|
||||
**Obiettivo:** Raccogliere dati su sistema irrigazione e automazione.
|
||||
|
||||
**File:** `dati/questionario/blocco_3_irrigazione.md`
|
||||
|
||||
**Domande:**
|
||||
|
||||
1. **Modalità irrigazione**:
|
||||
- Opzioni: manuale / goccia / aspersione / mista
|
||||
|
||||
2. **Numero zone** (anche stimato):
|
||||
- Esempio: "2 zone" o "non so"
|
||||
|
||||
3. **Sensori disponibili**:
|
||||
- Opzioni: umidità suolo / pioggia / temperatura-umidità / flow / nessuno
|
||||
|
||||
4. **Controller valvole/pompa**:
|
||||
- Opzioni: sì (specificare marca/modello) / no
|
||||
|
||||
**Output intermedio:** Blocco 3 compilato
|
||||
|
||||
---
|
||||
|
||||
### Fase 4: Comunità e Dieta (Blocco 4)
|
||||
|
||||
**Obiettivo:** Raccogliere preferenze alimentari e profilo comunità.
|
||||
|
||||
**File:** `dati/questionario/blocco_4_comunita_dieta.md`
|
||||
|
||||
**Domande:**
|
||||
|
||||
1. **Numero persone** coinvolte:
|
||||
- Esempio: 4
|
||||
|
||||
2. **Tipo dieta**:
|
||||
- Opzioni: onnivoro / vegetariano / vegano / misto
|
||||
|
||||
3. **Verdure preferite** (max 10):
|
||||
- Esempio: pomodoro, insalata, zucchina, basilico
|
||||
|
||||
4. **Verdure da evitare** (max 10):
|
||||
- Esempio: melanzane, peperoni
|
||||
|
||||
5. **Allergie/intolleranze**:
|
||||
- Esempio: "nessuna" o lista specifica
|
||||
|
||||
6. **Ricette ricorrenti** (opzionale, max 3):
|
||||
- Esempio: pasta al pomodoro, insalata mista, parmigiana
|
||||
|
||||
**Output intermedio:** Blocco 4 compilato
|
||||
|
||||
---
|
||||
|
||||
### Fase 5: Obiettivi e Vincoli (Blocco 5)
|
||||
|
||||
**Obiettivo:** Raccogliere obiettivi, metodo coltivazione e vincoli operativi.
|
||||
|
||||
**File:** `dati/questionario/blocco_5_obiettivi_vincoli.md`
|
||||
|
||||
**Domande:**
|
||||
|
||||
1. **Metodo coltivazione**:
|
||||
- Opzioni: biologico / tradizionale / IPM (integrato)
|
||||
|
||||
2. **Tempo manutenzione settimanale** (ore):
|
||||
- Esempio: "5 ore/settimana"
|
||||
|
||||
3. **Priorità principali**:
|
||||
- Opzioni: resa / semplicità / risparmio acqua / biodiversità / estetico
|
||||
|
||||
4. **Esperienza giardinaggio**:
|
||||
- Opzioni: base / medio / avanzato
|
||||
|
||||
5. **Budget iniziale** (opzionale):
|
||||
- Opzioni: basso / medio / alto
|
||||
|
||||
6. **Strumenti disponibili**:
|
||||
- Esempio: vanga, rastrello, zappa, carriola
|
||||
|
||||
**Output intermedio:** Blocco 5 compilato
|
||||
|
||||
---
|
||||
|
||||
### Fase 6: Validazione e Generazione Config
|
||||
|
||||
**Obiettivo:** Validare completezza dati e generare GardenConfig + CommunityProfile.
|
||||
|
||||
**Azioni:**
|
||||
|
||||
1. **Verifica completezza:**
|
||||
- Tutti i 5 blocchi compilati?
|
||||
- Dati obbligatori presenti (località, superficie, dieta)?
|
||||
|
||||
2. **Genera `config/garden_config.md`:**
|
||||
```markdown
|
||||
# Garden Configuration
|
||||
|
||||
_Orto: <orto_id> | Ultima modifica: YYYY-MM-DD_
|
||||
|
||||
## Localizzazione
|
||||
|
||||
- **Provincia:** <da Blocco 1>
|
||||
- **Regione:** <da Blocco 1>
|
||||
- **Latitudine:** <da orto-init>
|
||||
- **Longitudine:** <da orto-init>
|
||||
- **Zona climatica:** <inferita da latitudine>
|
||||
|
||||
## Esposizione e Ambiente
|
||||
|
||||
- **Esposizione:** <da Blocco 1>
|
||||
- **Vento:** <da Blocco 1>
|
||||
- **Suolo:** <da Blocco 1>
|
||||
- **Acqua:** <da Blocco 1>
|
||||
- **Serra/tunnel:** <da Blocco 1>
|
||||
|
||||
## Spazio
|
||||
|
||||
- **Superficie totale:** <da Blocco 2> m²
|
||||
- **Numero aiuole:** <da Blocco 2>
|
||||
- **Camminamenti:** <da Blocco 2>
|
||||
|
||||
## Irrigazione
|
||||
|
||||
- **Tipo:** <da Blocco 3>
|
||||
- **Zone:** <da Blocco 3>
|
||||
- **Sensori:** <da Blocco 3>
|
||||
- **Controller:** <da Blocco 3>
|
||||
|
||||
---
|
||||
|
||||
_Generato da: orto-onboarding_
|
||||
```
|
||||
|
||||
3. **Genera `config/community_profile.md`:**
|
||||
```markdown
|
||||
# Community Profile
|
||||
|
||||
_Orto: <orto_id> | Ultima modifica: YYYY-MM-DD_
|
||||
|
||||
## Comunità
|
||||
|
||||
- **Numero persone:** <da Blocco 4>
|
||||
- **Tipo dieta:** <da Blocco 4>
|
||||
|
||||
## Preferenze
|
||||
|
||||
- **Preferite:** <lista da Blocco 4>
|
||||
- **Da evitare:** <lista da Blocco 4>
|
||||
- **Allergie:** <da Blocco 4>
|
||||
|
||||
## Obiettivi e Vincoli
|
||||
|
||||
- **Metodo:** <da Blocco 5>
|
||||
- **Tempo settimanale:** <da Blocco 5>
|
||||
- **Priorità:** <da Blocco 5>
|
||||
- **Esperienza:** <da Blocco 5>
|
||||
|
||||
---
|
||||
|
||||
_Generato da: orto-onboarding_
|
||||
```
|
||||
|
||||
4. **Aggiorna audit trail:**
|
||||
```markdown
|
||||
## Entry #2: Onboarding Completato
|
||||
|
||||
**Timestamp:** YYYY-MM-DDTHH:MM:SSZ
|
||||
**Agente:** orto-onboarding
|
||||
**Evento:** Questionario 5 blocchi completato
|
||||
|
||||
**Dati raccolti:**
|
||||
- Blocco 1: ✅ Localizzazione
|
||||
- Blocco 2: ✅ Layout
|
||||
- Blocco 3: ✅ Irrigazione
|
||||
- Blocco 4: ✅ Comunità
|
||||
- Blocco 5: ✅ Obiettivi
|
||||
|
||||
**Output:**
|
||||
- GardenConfig generato
|
||||
- CommunityProfile generato
|
||||
- Pronto per Workflow 02 (Piano Stagionale)
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
**Output finale:** GardenConfig + CommunityProfile + audit entry
|
||||
|
||||
---
|
||||
|
||||
## Output
|
||||
|
||||
**File generati/aggiornati:**
|
||||
|
||||
- `dati/questionario/blocco_1_localizzazione.md` (compilato)
|
||||
- `dati/questionario/blocco_2_layout_spazio.md` (compilato)
|
||||
- `dati/questionario/blocco_3_irrigazione.md` (compilato)
|
||||
- `dati/questionario/blocco_4_comunita_dieta.md` (compilato)
|
||||
- `dati/questionario/blocco_5_obiettivi_vincoli.md` (compilato)
|
||||
- `config/garden_config.md` (generato)
|
||||
- `config/community_profile.md` (generato)
|
||||
- `log/audit_trail.md` (aggiornato)
|
||||
|
||||
**Formato:** Markdown strutturato
|
||||
|
||||
**Stato:** Progetto pronto per Workflow 02 (Piano Stagionale)
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
*Nessun reference richiesto* — Skill auto-contenuta (raccolta dati).
|
||||
|
||||
---
|
||||
|
||||
## Note
|
||||
|
||||
**Edge cases gestiti:**
|
||||
|
||||
- **Utente non sa rispondere:** Proporre default e segnare come "assunzione"
|
||||
- **Dati parziali:** Permette compilazione graduale (salva stato parziale)
|
||||
- **Modifiche successive:** Sovrascrive file esistenti (backup automatico opzionale)
|
||||
|
||||
**Limitazioni:**
|
||||
|
||||
- Non valida coerenza incrociata (es. superficie vs. numero aiuole)
|
||||
- Non traduce preferenze in colture (compito di orto-agronomo)
|
||||
|
||||
**Avvertenze:**
|
||||
|
||||
- ⚠️ **Default:** Se utente accetta default, verificare in fase di planning
|
||||
- ⚠️ **Assunzioni:** Marcate come tali, da confermare con esperienza reale
|
||||
|
||||
---
|
||||
|
||||
_Aggiornato: 2026-03-07 | Versione: 1.0_
|
||||
1
orto-skills-suite/orto-onboarding/references
Symbolic link
1
orto-skills-suite/orto-onboarding/references
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../references
|
||||
158
orto-skills-suite/references/colture_it.md
Normal file
158
orto-skills-suite/references/colture_it.md
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
# Colture It
|
||||
|
||||
_Framework: orto_v1 | Estratto: 2026-03-07_
|
||||
_Usato da: orto-agronomo, orto-layout_
|
||||
|
||||
## Sommario
|
||||
|
||||
Catalogo colture orticole italiane con varietà, requisiti di coltivazione, classi acqua, spaziature e famiglie botaniche. Include regole di rotazione e consociazione.
|
||||
|
||||
---
|
||||
|
||||
## Famiglie Botaniche Principali
|
||||
|
||||
### Solanaceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Pomodoro | San Marzano, Ciliegino, Cuor di Bue | 70-90 | 40-60 | ALTO | Pieno sole (6-8h) | Sensibile a peronospora |
|
||||
| Peperone | Quadrato di Asti, Cuneo | 80-100 | 50-70 | MEDIO-ALTO | Pieno sole | Ciclo lungo |
|
||||
| Melanzana | Violetta Lunga, Rosa Bianca | 75-90 | 60-80 | MEDIO-ALTO | Pieno sole | Termofila |
|
||||
| Patata | Varietà precoci/tardive | 90-120 | 30-40 (fila), 70-80 (tra file) | MEDIO | Pieno sole | Tubero sotterraneo |
|
||||
|
||||
### Cucurbitaceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Zucchina | Nero di Milano, Gold Rush | 45-60 | 80-100 | ALTO | Pieno sole | Produzione continua |
|
||||
| Cocomero | Crimson Sweet, Sugar Baby | 80-100 | 100-150 | ALTO | Pieno sole | Esigente spazio |
|
||||
| Melone | Retato, Cantalupo | 75-90 | 100-120 | MEDIO-ALTO | Pieno sole | Dolcezza dipende da sole |
|
||||
| Cetriolo | Lungo delle Canie, Marketer | 50-70 | 40-60 (fila), 100 (tra file) | ALTO | Pieno sole | Rampicante |
|
||||
|
||||
### Brassicaceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Cavolo Cappuccio | Cuor di Bue, Tardivo di Lucca | 90-120 | 50-70 | MEDIO | Pieno sole | Resistente freddo |
|
||||
| Broccolo | Calabrese, Romanesco | 90-110 | 60-80 | MEDIO | Pieno sole | Temperature miti |
|
||||
| Cavolfiore | Bianco d'Autunno, Violetto | 100-130 | 60-80 | MEDIO | Pieno sole | Sensibile a caldo |
|
||||
| Ravanello | Tondo Rosso, Candela Ghiaccio | 20-30 | 5-10 | MEDIO | Sole parziale | Ciclo rapidissimo |
|
||||
|
||||
### Liliaceae / Amaryllidaceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Cipolla | Dorata di Parma, Rossa di Tropea | 90-120 | 10-15 (fila), 30-40 (tra file) | BASSO | Pieno sole | Stop irrigazione prima raccolta |
|
||||
| Aglio | Bianco Piacentino, Rosso di Nubia | 120-150 | 10-15 (fila), 30-40 (tra file) | BASSO | Pieno sole | Plantazione autunnale/primaverile |
|
||||
| Porro | Gigante d'Inverno, Bleu de Solaise | 120-150 | 10-15 (fila), 40-50 (tra file) | MEDIO | Pieno sole | Rincalzo per imbiancamento |
|
||||
|
||||
### Fabaceae (Leguminose)
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Fagiolo | Borlotto, Cannellino, Nano | 50-70 | 30-40 (fila), 50-70 (tra file) | MEDIO | Pieno sole | Fissa azoto atmosferico |
|
||||
| Pisello | Nano, Rampicante, Taccola | 60-90 | 5-10 (fila), 50-70 (tra file) | MEDIO | Sole parziale | Resistente freddo |
|
||||
| Fava | Aguadulce, Baiana | 120-150 | 20-30 (fila), 70-80 (tra file) | MEDIO | Pieno sole | Plantazione autunnale |
|
||||
|
||||
### Asteraceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Lattuga | Romana, Cappuccio, Canasta | 40-60 | 25-30 | MEDIO | Sole parziale | Successioni ogni 2-3 settimane |
|
||||
| Cicoria | Radicchio, Catalogna, Pan di Zucchero | 60-90 | 25-30 | MEDIO | Pieno sole | Amaro, resistente |
|
||||
| Carciofo | Violetto di Toscana, Romanesco | perenne | 80-100 | MEDIO | Pieno sole | Impianto pluriennale |
|
||||
|
||||
### Apiaceae (Ombrellifere)
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Carota | Nantese, Tonda di Parigi | 70-100 | 5-10 (diradata) | MEDIO | Pieno sole | Terreno sciolto |
|
||||
| Sedano | Gigante d'America, Verde | 100-130 | 30-40 | ALTO | Pieno sole | Esigente acqua |
|
||||
| Finocchio | Bianco di Verona, Tondo | 70-90 | 30-40 | MEDIO | Pieno sole | Rincalzo per imbiancamento |
|
||||
|
||||
### Chenopodiaceae
|
||||
|
||||
| Coltura | Varietà Comuni | Ciclo (gg) | Spaziatura (cm) | Acqua | Esposizione | Note |
|
||||
|---------|---------------|------------|-----------------|-------|-------------|------|
|
||||
| Spinacio | Gigante d'Inverno, Matador | 40-60 | 10-15 (fila), 30-40 (tra file) | MEDIO | Sole parziale | Resistente freddo |
|
||||
| Bietola | da Costa, da Taglio | 50-70 | 30-40 | MEDIO | Pieno sole | Raccolta scalare foglie |
|
||||
|
||||
---
|
||||
|
||||
## Classi Acqua
|
||||
|
||||
| Classe | Fabbisogno Settimanale (mm) | Colture Tipiche |
|
||||
|--------|----------------------------|-----------------|
|
||||
| **ALTO** | 30-50 mm | Pomodoro, Zucchina, Cocomero, Melone, Sedano |
|
||||
| **MEDIO-ALTO** | 20-35 mm | Peperone, Melanzana, Cetriolo, Fagiolo |
|
||||
| **MEDIO** | 15-25 mm | Lattuga, Cavolo, Broccolo, Cipolla (fase crescita), Carota |
|
||||
| **BASSO** | 10-15 mm | Cipolla (maturazione), Aglio, Porro, Spinacio |
|
||||
|
||||
---
|
||||
|
||||
## Consociazioni Positive
|
||||
|
||||
| Coltura A | Coltura B | Beneficio |
|
||||
|-----------|-----------|-----------|
|
||||
| Pomodoro | Basilico | Basilico respinge mosca bianca |
|
||||
| Pomodoro | Carota | Radici a profondità diverse |
|
||||
| Pomodoro | Lattuga | Lattuga copre suolo, riduce infestanti |
|
||||
| Zucchina | Fagiolo nano | Fagiolo fissa azoto |
|
||||
| Carota | Cipolla | Confondono parassiti reciproci |
|
||||
| Lattuga | Ravanello | Ravanello rapido, libera spazio |
|
||||
| Cavolo | Sedano | Sedano respinge cavolaia |
|
||||
|
||||
---
|
||||
|
||||
## Consociazioni da Evitare
|
||||
|
||||
| Coltura A | Coltura B | Motivo |
|
||||
|-----------|-----------|--------|
|
||||
| Pomodoro | Patata | Stessa famiglia, malattie comuni |
|
||||
| Pomodoro | Cavolo | Competizione nutrienti |
|
||||
| Fagiolo | Cipolla/Aglio | Allium inibisce crescita legumi |
|
||||
| Carota | Sedano | Stessa famiglia, parassiti comuni |
|
||||
| Cetriolo | Patata | Competizione, malattie fungine |
|
||||
|
||||
---
|
||||
|
||||
## Rotazioni Consigliate
|
||||
|
||||
### Famiglie in Rotazione (ciclo 3-4 anni)
|
||||
|
||||
**Anno 1:** Solanaceae (Pomodoro, Peperone, Melanzana, Patata)
|
||||
**Anno 2:** Brassicaceae (Cavolo, Broccolo, Ravanello) + Fabaceae (Fagiolo, Pisello)
|
||||
**Anno 3:** Cucurbitaceae (Zucchina, Cetriolo, Melone) + Liliaceae (Cipolla, Aglio)
|
||||
**Anno 4:** Asteraceae/Apiaceae (Lattuga, Carota, Sedano) + Chenopodiaceae (Spinacio, Bietola)
|
||||
|
||||
### Regole Rotazione
|
||||
|
||||
1. **Non ripetere stessa famiglia** sullo stesso aiuola per 2-3 anni
|
||||
2. **Alternare esigenti** (Solanaceae, Cucurbitaceae) con **miglioratrici** (Fabaceae)
|
||||
3. **Inserire sovesci** (Senape, Veccia, Trifoglio) tra cicli per arricchire suolo
|
||||
|
||||
---
|
||||
|
||||
## Rese Indicative (per pianta)
|
||||
|
||||
| Coltura | Resa Min (kg) | Resa Tipica (kg) | Resa Max (kg) | Note |
|
||||
|---------|--------------|-----------------|--------------|------|
|
||||
| Pomodoro | 2 | 5-8 | 12 | Varietà determinante vs indeterminata |
|
||||
| Zucchina | 3 | 5-7 | 10 | Produzione continua |
|
||||
| Lattuga | 0.2 | 0.3-0.5 | 0.8 | Peso netto |
|
||||
| Cavolo | 1 | 2-3 | 5 | Dipende da varietà |
|
||||
| Fagiolo | 0.3 | 0.5-0.8 | 1.2 | Raccolta scalare |
|
||||
| Cipolla | 0.1 | 0.2-0.3 | 0.5 | Peso fresco |
|
||||
| Carota | 0.1 | 0.2-0.4 | 0.6 | Dipende da densità |
|
||||
|
||||
---
|
||||
|
||||
## Note
|
||||
|
||||
- **Varietà locali:** Preferire varietà adattate al clima regionale
|
||||
- **Rese:** Calibrate su feedback reali per migliorare stime
|
||||
- **Cicli:** Variabili in base a clima, esposizione, cure
|
||||
|
||||
---
|
||||
|
||||
_Reference generato da framework-translator_
|
||||
240
orto-skills-suite/references/qa_checklist_it.md
Normal file
240
orto-skills-suite/references/qa_checklist_it.md
Normal file
|
|
@ -0,0 +1,240 @@
|
|||
# Qa Checklist It
|
||||
|
||||
_Framework: orto_v1 | Estratto: 2026-03-07_
|
||||
_Usato da: orto-orchestratore_
|
||||
|
||||
## Sommario
|
||||
|
||||
Checklist di validazione per PlanBundle e output delle skills. Include controlli di coerenza, completezza e safety.
|
||||
|
||||
---
|
||||
|
||||
## Criteri di Validazione PlanBundle
|
||||
|
||||
### 1. Completezza Dati (Data Completeness)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] GardenConfig completo (localizzazione, zona climatica, esposizione, suolo)
|
||||
- [ ] CommunityProfile completo (preferenze, allergie, dieta, esperienza)
|
||||
- [ ] Vincoli ambientali documentati (vento, pendenza, ombre)
|
||||
- [ ] Sistema irrigazione configurato (tipo, zone, sensori)
|
||||
|
||||
**Score:** 0-1 (1 = tutti i campi obbligatori compilati)
|
||||
|
||||
---
|
||||
|
||||
### 2. Coerenza Agronomica (Agronomic Consistency)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] Colture selezionate compatibili con zona climatica
|
||||
- [ ] Colture compatibili con esposizione (sole/ombra)
|
||||
- [ ] Cicli colture allineati con stagione
|
||||
- [ ] Famiglie botaniche non ripetute su stesso aiuola (rotazione)
|
||||
- [ ] Consociazioni rispettate (no antagonismi)
|
||||
|
||||
**Score:** 0-1 (1 = nessuna violazione)
|
||||
|
||||
---
|
||||
|
||||
### 3. Coerenza Spaziale (Spatial Consistency)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] Area occupata ≤ area disponibile
|
||||
- [ ] Spaziature rispettate per ogni coltura
|
||||
- [ ] Accessibilità garantita (camminamenti ≥ 0.5m)
|
||||
- [ ] Zone irrigazione coerenti con layout aiuole
|
||||
|
||||
**Score:** 0-1 (1 = tutti i vincoli spaziali rispettati)
|
||||
|
||||
---
|
||||
|
||||
### 4. Coerenza Idrica (Water Consistency)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] Fabbisogno acqua totale ≤ disponibilità stimata
|
||||
- [ ] Zone irrigazione omogenee per classe acqua
|
||||
- [ ] Programma irrigazione compatibile con meteo (no irrigazione se pioggia prevista)
|
||||
|
||||
**Score:** 0-1 (1 = nessun conflitto idrico)
|
||||
|
||||
---
|
||||
|
||||
### 5. Coerenza Temporale (Temporal Consistency)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] Date semina/trapianto compatibili con finestra stagionale
|
||||
- [ ] Successioni colture rispettano cicli (no sovrapposizioni incompatibili)
|
||||
- [ ] Task calendario distribuiti uniformemente (no picchi di lavoro)
|
||||
|
||||
**Score:** 0-1 (1 = timeline coerente)
|
||||
|
||||
---
|
||||
|
||||
### 6. Safety Trattamenti (Treatment Safety)
|
||||
|
||||
**Controlli:**
|
||||
|
||||
- [ ] Trattamenti rispettano tempi di carenza
|
||||
- [ ] DPI specificati per trattamenti
|
||||
- [ ] No trattamenti fogliari con vento > 8 nodi
|
||||
- [ ] No trattamenti con pioggia imminente (<24h)
|
||||
|
||||
**Score:** 0-1 (1 = tutti i vincoli safety rispettati)
|
||||
|
||||
---
|
||||
|
||||
## Calcolo QA Score
|
||||
|
||||
### Formula Ponderata
|
||||
|
||||
```
|
||||
QA Score = (
|
||||
completezza * 0.15 +
|
||||
agronomica * 0.25 +
|
||||
spaziale * 0.15 +
|
||||
idrica * 0.15 +
|
||||
temporale * 0.15 +
|
||||
safety * 0.15
|
||||
)
|
||||
```
|
||||
|
||||
### Interpretazione Score
|
||||
|
||||
| Score | Giudizio | Azione |
|
||||
|-------|----------|--------|
|
||||
| 0.90 - 1.00 | **Excellent** | PlanBundle approvato, pronto per pubblicazione |
|
||||
| 0.75 - 0.89 | **Good** | Approvato con note minori |
|
||||
| 0.60 - 0.74 | **Fair** | Richiede revisione prima pubblicazione |
|
||||
| < 0.60 | **Poor** | Respinto, richiede riprogettazione |
|
||||
|
||||
---
|
||||
|
||||
## Esempio Report QA
|
||||
|
||||
```markdown
|
||||
# QA Report — orto_roma_testaccio_001
|
||||
|
||||
**Data:** 2026-03-07
|
||||
**Orchestratore:** orto-orchestratore v1.0
|
||||
|
||||
## Punteggi
|
||||
|
||||
| Criterio | Score | Peso | Contributo |
|
||||
|----------|-------|------|------------|
|
||||
| Completezza | 1.00 | 0.15 | 0.15 |
|
||||
| Agronomica | 0.90 | 0.25 | 0.225 |
|
||||
| Spaziale | 0.85 | 0.15 | 0.1275 |
|
||||
| Idrica | 0.95 | 0.15 | 0.1425 |
|
||||
| Temporale | 0.80 | 0.15 | 0.12 |
|
||||
| Safety | 1.00 | 0.15 | 0.15 |
|
||||
|
||||
**QA Score Totale:** 0.915
|
||||
|
||||
**Giudizio:** Excellent ✅
|
||||
|
||||
## Note
|
||||
|
||||
- **Spaziale:** Camminamento sud ridotto a 0.45m (soglia 0.5m). Accettato per vincoli spazio.
|
||||
- **Temporale:** Picco lavoro settimana 12 (3 task). Suggerimento: anticipare 1 task a settimana 11.
|
||||
|
||||
## Approvazione
|
||||
|
||||
- **Approvato da:** Orchestratore Agent
|
||||
- **Data:** 2026-03-07
|
||||
- **Status:** APPROVED
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Conflitti Tipici e Risoluzione
|
||||
|
||||
### Conflitto 1: Zona Irrigazione vs. Consociazioni
|
||||
|
||||
**Rilevamento:**
|
||||
- Coltura A (classe ALTO) + Coltura B (classe BASSA) stessa aiuola
|
||||
|
||||
**Risoluzione:**
|
||||
1. **Priorità:** Evitare stress idrico a coltura esigente
|
||||
2. **Opzione A:** Dividi aiuola in due zone irrigazione
|
||||
3. **Opzione B:** Adatta irrigazione (ALTO priority), accetta over-irrigazione per BASSA
|
||||
4. **Nota:** Documenta compromesso in audit trail
|
||||
|
||||
---
|
||||
|
||||
### Conflitto 2: Task Calendario vs. Meteo
|
||||
|
||||
**Rilevamento:**
|
||||
- Task "Trapianto" pianificato, previsione vento > 8 nodi
|
||||
|
||||
**Risoluzione:**
|
||||
1. **Auto-riprogramma:** +2 giorni (o prima finestra sicura)
|
||||
2. **Notifica utente:** "Trapianto rinviato da Mar a Gio per vento forte"
|
||||
3. **Aggiorna calendario:** Modifica task list settimanale
|
||||
|
||||
---
|
||||
|
||||
### Conflitto 3: Area Troppo Piccola vs. Fabbisogno Comunità
|
||||
|
||||
**Rilevamento:**
|
||||
- Fabbisogno comunità > raccolta fattibile con area disponibile
|
||||
|
||||
**Risoluzione:**
|
||||
1. **Priorità:** Colture ad alta resa (Zucchina, Fagiolo, Lattuga)
|
||||
2. **Successioni:** Pianifica 2-3 cicli/anno per colture rapide
|
||||
3. **Stoccaggio:** Includi colture da conservazione (Cipolla, Aglio, Patata)
|
||||
4. **Nota utente:** "Area limitata: priorità a resa. Considera espansione o integrazione esterna."
|
||||
|
||||
---
|
||||
|
||||
## Checklist Operativa Settimanale
|
||||
|
||||
Prima di pubblicare weekly briefing:
|
||||
|
||||
- [ ] Meteo verificato (previsione 7 giorni)
|
||||
- [ ] Sensori letti (umidità, pioggia, temperatura)
|
||||
- [ ] Task calendarizzati compatibili con meteo
|
||||
- [ ] Irrigazione programmata (se necessaria)
|
||||
- [ ] Trattamenti rispettano finestre meteo sicure
|
||||
- [ ] Raccolte pianificate in base a maturazione
|
||||
|
||||
---
|
||||
|
||||
## Audit Trail Template
|
||||
|
||||
Ogni validazione QA deve lasciare traccia:
|
||||
|
||||
```markdown
|
||||
## Audit Entry — QA Check
|
||||
|
||||
**Timestamp:** 2026-03-07T14:30:00Z
|
||||
**Orchestratore:** orto-orchestratore
|
||||
**Evento:** PlanBundle validation
|
||||
|
||||
**Input:**
|
||||
- GardenConfig: orto_roma_testaccio_001
|
||||
- PlanBundle v1.0 (colture, layout, irrigazione, calendario)
|
||||
|
||||
**QA Score:** 0.91 (Excellent)
|
||||
|
||||
**Conflitti Risolti:**
|
||||
1. Zona irrigazione vs. consociazioni → Opzione B (adatta irrigazione)
|
||||
2. Task trapianto vs. vento → Auto-riprogramma +2 gg
|
||||
|
||||
**Raccomandazioni:**
|
||||
- Monitorare umidità aiuola 3 (sotto-irrigata)
|
||||
- Anticipare raccolta lattuga settimana 12
|
||||
|
||||
**Output:**
|
||||
- PlanBundle approvato
|
||||
- Weekly briefing generato
|
||||
- Audit log aggiornato
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
_Reference generato da framework-translator_
|
||||
Loading…
Add table
Add a link
Reference in a new issue