--- name: orto-orchestratore description: Orchestrare workflow multi-skill, risolvere conflitti, validare QA, generare PlanBundle unificato. Usare quando: (1) eseguire pipeline planning completa, (2) gestire conflitti tra skills, (3) validare QA prima pubblicazione, (4) generare weekly briefing. Output: PlanBundle unificato (markdown) con tutti piani integrati, audit log, weekly briefing. --- # Orto Orchestratore — Orchestrazione Workflow Master Coordinare skills, risolvere conflitti, validare QA, merge in piano unificato. ## Quando Usare - **Planning completo:** Dopo onboarding, eseguire pipeline full - **Weekly briefing:** Merge calendario + meteo + stato → task list - **Risoluzione conflitti:** Skills producono output conflittuali - **Validazione QA:** Prima di pubblicare piano a utente ## Input | Input | Tipo | Obbligatorio | |-------|------|--------------| | `orto_id` | String | Sì | | `workflow_type` | Enum | Sì (`full_planning`, `weekly_brief`, `ad_hoc`) | | `skills_output` | Object | Sì (output da skills) | ## Processo ### Fase 1: Verifica Prerequisiti ``` ✓ orto-init: Progetto creato ✓ orto-onboarding: GardenConfig + CommunityProfile completi ✓ orto-agronomo: Piano colture completato ✓ orto-calendario: Calendario disponibile ✓ orto-layout: Aiuole assegnate ✓ orto-irrigazione: Sistema progettato ✓ orto-meteo-decisioni: Previsioni disponibili Se MANCANTE → PAUSA, notifica utente ``` ### Fase 2: Rileva Conflitti **Pattern conflitti:** | Tipo | Rilevamento | Risoluzione | |------|-----------|-------------| | Irrigazione vs. Consociazioni | ALTO + BASSO stessa aiuola | Dividi aiuola o adatta ad ALTO | | Task vs. Meteo | Trapianto + vento >8kn | Riprogramma +2gg | | Accessibilità vs. Spazio | Sentiero <0.7m | Riottimizza layout | | Acqua deficit | Fabbisogno > disponibilità | Riduci colture esigenti | ### Fase 3: Validazione QA **6 Criteri:** 1. Completezza dati (0-1) 2. Coerenza agronomica (0-1) 3. Coerenza spaziale (0-1) 4. Coerenza idrica (0-1) 5. Coerenza temporale (0-1) 6. Safety trattamenti (0-1) **QA Score:** ``` QA = (completezza×0.15 + agronomica×0.25 + spaziale×0.15 + idrica×0.15 + temporale×0.15 + safety×0.15) ≥0.90: Excellent ✅ 0.75-0.89: Good 0.60-0.74: Fair (revisione) <0.60: Poor (respinto) ``` ### Fase 4: Genera PlanBundle **Output:** ```markdown # PlanBundle — **Data:** YYYY-MM-DD **QA Score:** 0.XX (Excellent/Good/Fair/Poor) ## Piani Integrati 1. Piano Colture (da orto-agronomo) 2. Layout (da orto-layout) 3. Calendario (da orto-calendario) 4. Irrigazione (da orto-irrigazione) 5. Meteo (da orto-meteo-decisioni) ## Conflitti Risolti | Tipo | Decisione | Motivazione | |------|-----------|-------------| | Irrigazione vs. Consociazioni | Adatta ad ALTO | Basilico tollera acqua extra | | Task vs. Meteo | Riprogramma Mar→Gio | Vento 10 nodi | ## Validazione QA | Criterio | Score | Peso | Contributo | |----------|-------|------|------------| | Completezza | 1.00 | 0.15 | 0.15 | | Agronomica | 0.90 | 0.25 | 0.225 | | ... | ... | ... | ... | **Totale:** 0.91 (Excellent) ✅ ## Weekly Briefing **Settimana:** YYYY-WW **Task principali:** - Lunedì: Irrigazione, raccolta lattuga - Martedì: Trapianto basilico - ... **Alert:** Possibile pioggia giovedì --- _Generato da: orto-orchestratore_ ``` ## Output **File:** `report/planbundle_YYYY-MM-DD.md` ## References - [`conflitti_risoluzione_it.md`](../references/conflitti_risoluzione_it.md) - [`qa_checklist_it.md`](../references/qa_checklist_it.md) --- _Aggiornato: 2026-03-07 | Versione: 1.0_