Consegna completa del package Laravel padosoft/eval-harness-ui (Laravel ^13.0, PHP ^8.3) con admin SPA di sette schermate per il protocollo eval-harness:
- Dashboard
- Reports list
- Report detail
- Compare
- Trend
- Adversarial manifests
- Live batches
- Branch principale macro:
main - Branch operativo corrente:
task/api-contracts-and-ux-improvements - Build/test baseline locale: verdi su
typecheck,test:unit,build,composer analyse,composer test,e2e. - Nota operativa: tutto il lavoro segue il loop PR/Copilot (richiesta revisore + verifica reale
requested_reviewers+ chiusura commenti must-fix + CI verde).
- Scope:
AGENTS.md,CLAUDE.md,PLAN.md,docs/PROGRESS.md,docs/RULES.md,docs/LESSON.mdskills/eval-harness-admin-plan/SKILL.md.github/copilot-instructions.md,.github/PULL_REQUEST_TEMPLATE.md- regole anti-zombie processi e regole Copilot.
- Stato: completo
- Data verifica: 2026-05-06.
- Scope:
- Service provider, controller e rotte (prefix/middleware/config)
- Config file pubblicabile e asset/config publishes
- bootstrap JSON nel frontend.
- Stato: completo
- Deliverable tecnici:
src/EvalHarnessUiServiceProvider.phpsrc/UiConfig.phpsrc/Http/Controllers/EvalHarnessUiController.phproutes/web.phpconfig/eval-harness-ui.php
- Guardrail:
composer validate --strict --no-check-publishcomposer analysecomposer testdocs/PROGRESS.mdaggiornato.
- Scope:
- Adapter endpoint completo (
/reports,/reports/{id},/reports/{id}/diff/{otherId}, cohort, histogram, trend, adversarial, live) - Validazione schema/errore e response handling (404/422/503)
- Utility path + URL normalization.
- Adapter endpoint completo (
- Stato: completo
- Deliverable:
resources/js/services/evalHarnessApi.tsresources/js/utils/path.tsresources/js/services/evalHarnessApi.test.ts
- Guardrail:
npm run test:unit
- Scope:
- Vite/React/Tailwind bootstrap, layout, stato base, componenti UI riutilizzabili.
AppShell, tabelle, chips, error/empty states.
- Stato: completo
- Deliverable:
resources/js/main.tsxresources/js/app.tsxresources/js/context/AppContext.tsxresources/js/components/ui/*resources/js/app.test.tsx
- Guardrail:
npm run typechecknpm run buildnpm run test:unit
- Scope:
- Dashboard, Reports list, Report detail con tab (Summary/Cohorts/Histograms/Failures/Raw JSON), filtri e fallback states.
- Stato: completo
- Guardrail:
tests/e2e/admin-ui.spec.tsscenario:- Dashboard
- Reports list + open detail + tab switching
npm run e2e
- Scope:
- Pagina compare con shortcut latest-vs-previous + stato differenziale.
- Trend con dataset, metriche, overlay, cohorte.
- Adversarial manifest list/detail.
- Live batches e progress polling endpoint.
- Stato: completo
- Guardrail:
- e2e scenario 3/4/5/6 di
tests/e2e/admin-ui.spec.ts
- e2e scenario 3/4/5/6 di
- Scope:
- i18n EN/IT presente per tutte le label principali
- Accessibilità funzionale base (roles/labels/screen readers)
- A11y automation avanzata con Axe su dashboard, report detail e trend.
- Stato: completo
- Deliverable:
tests/e2e/accessibility.spec.ts
- Scope:
- README completo v2 (wow level)
- GitHub workflows CI + release tag
- Chiusura roadmap/lesson/rules con procedura finale
- Tag release
v0.1.0(o semver da confermare da maintainers)
- Stato: completo
- Deliverable:
.github/workflows/ci.yml.github/workflows/release.ymlREADME.mddocs/PROGRESS.mddocs/LESSON.mddocs/RULES.md
Ogni subtask:
- implementazione con test locali nel punto
- apertura PR sul branch macro
- richiesta
--reviewer copilot - verifica
gh api repos/<owner>/<repo>/pulls/<PR>/requested_reviewers - verifica
/reviewse/comments - merge solo con CI green e commenti must-fix risolti
- Primo deliverable usabile: v0.1.0 (
mainonce merged via process loop). - Prossimo hardening: chart unificato + template release note più strutturato.