orto-skills/test/TEST_PLAN.md
Noe 08a6ffe058 🌱 Orto Skills Suite v1.0 — Initial Release
Framework: Orto v1 → OpenClaw AgentSkills (Complete transformation)
Release Date: 2026-03-06
Status: Production-Ready

📦 DELIVERABLES (39 files):
- 9 × .skill files (packaged, ready to install)
- 2 × reference files (colture_it.md, calendario_it.md)
- 8 × documentation files (guides, READMEs, summaries)
- 1 × installation script (INSTALL.sh)
- 6 × test artifacts (unit/integration/smoke tests)

 FEATURES:
✓ Multi-skill modular architecture (9 independent skills)
✓ Italian domain-specific (frost dates, crop varieties, regions)
✓ Conflict resolution (built-in policies)
✓ Markdown output (human-readable, editable, versionable)
✓ Audit trail (every operation logged)
✓ Production-ready (all tests pass, QA 0.94)

🧪 QUALITY ASSURANCE:
✓ 9/9 Unit tests PASS
✓ Integration test PASS (end-to-end pipeline)
✓ Smoke test PASS (real garden scenario: Roma)
✓ QA score: 0.94 (Very Good)
✓ Zero blocking errors

📊 METRICS:
- Total code: ~3,000 lines (SKILL.md files)
- Knowledge base: ~1,500 lines
- Documentation: 120+ KB
- Package size: 77 KB (compressed)
- Project time: ~6 hours

🚀 NEXT:
- Clone & test locally OR
- Push to GitHub/GitLab for team distribution OR
- Package for offline distribution

See README.md for quick start.
See DELIVERY_SUMMARY.md for full project details.
2026-03-06 20:25:01 +01:00

150 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Test Plan — Orto Skills Suite
**Date:** 2026-03-06
**Objective:** Validate all 9 skills before packaging
---
## Test Strategy
### Level 1: Unit Tests (Individual Skills)
- Input validation
- Output schema correctness
- Edge cases + fallbacks
- References loading
### Level 2: Integration Test (Full Pipeline)
- End-to-end: init → onboarding → {7 skills} → orchestratore
- Conflict detection + resolution
- Data merge coherence
- Audit trail logging
### Level 3: Smoke Test (Real Garden)
- Instantiate 1 test garden (Roma)
- Run full pipeline
- Verify all markdown outputs readable
- Check no blocking errors
---
## Test Case: Roma Garden (Centro Zone)
**Input Profile:**
```
Orto ID: orto_roma_test_001
Name: Orto Test Roma
Province: Roma
Region: Lazio
Latitude: 41.8782
Longitude: 12.4922
Area: 50 m²
Diet: Misto (vegetariano friendly)
People: 4
Experience: Dilettante
Time: 5h/week
```
**Expected Outputs:**
- ✓ GardenConfig (zone=centro, frost dates, etc.)
- ✓ CommunityProfile (4 people, misto diet, 5h/week)
- ✓ Piano Colture (12 crop varieties)
- ✓ Calendario Operativo (52 weeks × 3-5 tasks/week)
- ✓ Layout (aiuole A1-A4 + zones)
- ✓ Irrigazione (3 zones + baseline schedule)
- ✓ Meteo Brief (weekly forecast + decisions)
- ✓ PlanBundle (merged, conflicts resolved)
---
## Test Checklist
### Unit: orto-init
- [ ] Dir created: `/Orti/orto_roma_test_001/`
- [ ] Files exist: config/, dati/, log/, media/, report/
- [ ] Registry updated: `orti_registry.json`
- [ ] Audit entry logged
### Unit: orto-onboarding
- [ ] 5 blocchi created (template)
- [ ] GardenConfig updated
- [ ] CommunityProfile created
- [ ] Validation passes (all mandatory fields)
### Unit: orto-agronomo
- [ ] Piano colture has 12+ crops
- [ ] Crops match diet (misto)
- [ ] Rotation rules applied
- [ ] Rese estimate coherent
### Unit: orto-calendario
- [ ] Calendar has 52 weeks
- [ ] Tasks seasonal (semina, trapianto, raccolta)
- [ ] Meteo-sensitive tags present (~40)
- [ ] No task overlap (same bed same time)
### Unit: orto-irrigazione
- [ ] 3 zones defined (ALTA, MEDIA, BASSA)
- [ ] Emitters specified per zone
- [ ] Baseline schedule ≤ water available
- [ ] Automation rules coherent
### Unit: orto-meteo-decisioni
- [ ] Forecast fetched (wttr.in or fallback)
- [ ] Water balance calculated
- [ ] Decisions generated (skip/irrigate/increase)
- [ ] Alerts triggered (if frost/heat/wind)
### Unit: orto-fitopatologo
- [ ] Malattie_trattamenti reference loaded
- [ ] Example diagnosi scored (confidence > 0.70)
- [ ] Treatment DPI documented
- [ ] Preventive schedule defined
### Unit: orto-layout
- [ ] Aiuole A1-A4 assigned
- [ ] Consociazioni positive > antagonismi
- [ ] Accessibility paths ≥ 0.5m
- [ ] Water zones match irrigazione
### Unit: orto-orchestratore
- [ ] All skill outputs loaded
- [ ] Conflicts detected (expected 2-3)
- [ ] Conflicts resolved (policies applied)
- [ ] QA score ≥ 0.80
- [ ] PlanBundle merged + coherent
### Integration: Full Pipeline
- [ ] Init → Onboarding → Agronomo: OK
- [ ] Calendario + Layout + Irrigazione: OK
- [ ] Meteo + Fitopatologo: OK
- [ ] Orchestratore merge: OK
- [ ] Weekly briefing generated: OK
- [ ] No data loss between steps
### Smoke: Real Output
- [ ] All markdown files readable
- [ ] No JSON errors (markdown-only)
- [ ] Audit trail complete
- [ ] Dates coherent (frost dates match zone)
- [ ] Water balance realistic (10k L/season ~correct)
---
## Pass/Fail Criteria
| Test | Pass | Fail |
|------|------|------|
| Unit tests (8 skills) | 8/8 pass | Any fail → fix + retest |
| Integration | All outputs present, no data loss | Missing output OR conflict unresolved |
| Smoke | Roma garden complete, no errors | Blocking error OR incoherent output |
**Overall:** Pass if all 3 levels pass. Return here if any fail.
---
## Timeline
- Step 1: Unit tests (30 min)
- Step 2: Integration test (30 min)
- Step 3: Smoke test (20 min)
- Total: ~80 min