Danilo Alessandro Vinciprova

Danilo Alessandro Vinciprova

AI-Assisted Web Developer · React · Next.js · Claude Code

Ho imparato a pensare al costruire come a parti che devono incastrarsi tra loro.

Sistemi AI · workflow multi-agente

FWEA — AI agent workflow

Builder → Revisore → Fixer → Verificatore, come l’ho progettato. I cicli di revisione mostrati qui sono letti dal suo stesso log.

Release candidateCostruito e rivisto; validazione A/B finale ancora da fare

Claude Code · progettazione, revisione e verifica multi-agente

Sistema multi-agente progettato e orchestrato da me.

Problema

Un agente AI che valuta il proprio lavoro non è un controllo affidabile: lo stesso punto di vista che ha fatto un errore è quello che lo cerca. FWEA separa costruzione, revisione, correzione e verifica in agenti diversi, e registra tutto con gli hash.

Un agente da solo

  1. costruisce il lavoro
  2. valuta il proprio lavoro
  3. lo approva

Nessun altro ha guardato. Un punto cieco nella costruzione è anche un punto cieco nel controllo.

FWEA: ruoli separati

  1. un builder costruisce
  2. due critici isolati revisionano
  3. un fixer corregge; un controllore rilegge
  4. due verificatori nuovi confermano
  5. il risultato viene registrato con un hash

Nessun ruolo valuta il proprio lavoro, e ogni turno lascia una traccia.

Come lavoro

“Uso agenti AI all’interno di un workflow di sviluppo strutturato: costruire → revisionare → correggere → verificare, mantenendo la responsabilità di requisiti, decisioni e qualità finale.”

ILF

Ho progettato ILF, un framework personale di “lab” AI strutturati per web design, film, cibo e prodotti

Dichiarato da Danilo

Architettura

I ruoli dell’esecuzione reale di FWEA del 28 settembre 2026, come li registra il suo log di revisione. Ogni critico ha lavorato in isolamento, e l’albero che ha superato la revisione è fissato dal suo digest SHA-256.

Builder → critici → fixer → verificatori

Livello di prova: Prova esistente · ruoli dal log di revisione

isolati · sola letturase un turno fallisce: correzione, poi nuovi criticiBuildercrea l’albero della skillCritico · Lente 1correttezza edecidibilitàCritico · Lente 2ambito ed economiaFixer+ controllore internoVerificatore 1verifica ogni rilievoVerificatore 2verifica ogni rilievoPASScheckpoint con hashsha256 8551e9a4…isolati · sola letturaturno successivoBuildercrea l’albero della skillCritico · Lente 1correttezza edecidibilitàCritico · Lente 2ambito ed economiaFixer+ controllore internoVerificatore 1verifica ogni rilievoVerificatore 2verifica ogni rilievoPASScheckpoint con hashsha256 8551e9a4…
Ruoli di FWEA: un builder; due critici isolati (lente 1: correttezza e decidibilità; lente 2: ambito ed economia); un fixer con un controllore interno, che torna a critici nuovi finché un turno fallisce; due verificatori; PASS, con il digest dell’albero della skill sha256 8551e9a4a99b… registrato nel checkpoint.

La sequenza, come testo

  1. Il builder crea l’albero della skill.
  2. Due critici, isolati e in sola lettura, lo revisionano: la lente 1 per correttezza e decidibilità, la lente 2 per ambito ed economia. Ognuno riporta rilievi BLOCKER, MAJOR e MINOR.
  3. Il fixer corregge i rilievi; un controllore interno rilegge le modifiche, e una correzione aggiuntiva chiude ciò che trova.
  4. Finché un turno fallisce, critici nuovi revisionano l’albero corretto: turni 0, 1 e 2, poi i critici finali.
  5. Due verificatori controllano che ogni rilievo grave dei critici finali sia chiuso, e cercano regressioni.
  6. PASS: l’albero è fissato dal suo digest, sha256 8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b.

I turni di correzione (fixer, controllore interno, correzione aggiuntiva) sono registrati nello stesso log; le loro righe non sono pubblicate qui. I turni, i verificatori e il digest sono negli estratti sotto Prove.

Cicli di revisione

Ogni critico ha riportato i suoi rilievi come BLOCKER, MAJOR o MINOR. 4 turni di critici sono finiti con FAIL; dopo l’ultimo turno di correzione, due verificatori hanno controllato ogni rilievo grave e lo step 2 è passato. I numeri sono letti dalle righe stesse del log quando questo sito viene generato.

Rilievi per turno e revisore

Livello di prova: Prova esistente · estratti dal log

  • BLOCKER
  • MAJOR
  • MINOR
  • pieno, tratteggiato, vuoto · numeri: BLOCKER · MAJOR · MINOR
Turno 0FAILLente 1 correttezza e decidibilità3 · 12 · 11Lente 2 ambito ed economia2 · 10 · 5Turno 1FAILLente 1 correttezza e decidibilità2 · 15 · 7Lente 2 ambito ed economia0 · 4 · 8Turno 2FAILLente 1 correttezza e decidibilità1 · 11 · 10Lente 2 ambito ed economia0 · 3 · 9Critici finali · isolamento più rigido18 rilievi gravi distinti, tutti risoltiLente 1 correttezza e decidibilità2 · 13 · 5Lente 2 ambito ed economia0 · 4 · 7Verifica mirata · dopo l’ultimo turno di correzione✓ PASSV1 regressione18/18 chiusi · 0 · 0 · 5V2 regressione19/19 chiusi · 0 · 0 · 4Turno 0FAILLente 13 · 12 · 11Lente 22 · 10 · 5Turno 1FAILLente 12 · 15 · 7Lente 20 · 4 · 8Turno 2FAILLente 11 · 11 · 10Lente 20 · 3 · 9Critici finali18 gravi distintiLente 12 · 13 · 5Lente 20 · 4 · 7Verifica mirata✓ PASSV118/18 chiusi · 0 · 0 · 5V219/19 chiusi · 0 · 0 · 4
Rilievi per turno e revisore, dal log di revisione
TurnoRevisoreBLOCKERMAJORMINORRisultatoLog
Turno 0Critico · Lente 131211FAILriga 17 del log di revisione, Turno 0
Critico · Lente 22105FAILTurno: FAILriga 18 del log di revisione, Turno 0
Turno 1Critico · Lente 12157FAILriga 28 del log di revisione, Turno 1
Critico · Lente 2048FAILTurno: FAILriga 29 del log di revisione, Turno 1
Turno 2Critico · Lente 111110FAILriga 39 del log di revisione, Turno 2
Critico · Lente 2039FAILTurno: FAILriga 40 del log di revisione, Turno 2
Critici finaliisolamento più rigidoCritico · Lente 12135FAILriga 56 del log di revisione, Critici finali
Critico · Lente 2047FAILTurno: 18 rilievi gravi distinti, tutti risoltiriga 57 del log di revisione, Critici finali
Verifica miratadopo l’ultimo turno di correzioneVerificatore 1rilievi di regressione005CLEAN · 18/18 chiusiriga 67 del log di revisione, Verifica mirata
Verificatore 2rilievi di regressione004CLEAN · 19/19 chiusiTurno: step 2 PASSriga 68 del log di revisione, Verifica mirata

Risultati reali dal log di revisione, 28 settembre 2026. Barre impilate dei rilievi BLOCKER, MAJOR e MINOR per ogni revisore, in 5 turni; per i verificatori, i rilievi chiusi e i nuovi rilievi (di regressione). Gli stessi numeri sono nella tabella; ogni link “riga” apre l’estratto testuale di quel turno.

Demo

Un’affermazione di esempio attraversa gli stessi quattro ruoli. È una simulazione: la frase è inventata e nessuno di questi rilievi viene dal log reale (i numeri reali sono in Cicli di revisione).

Un’affermazione di esempio, passo per passo

Livello di prova: Simulazione · illustrativa

  1. 01 Builder: Scrive una prima bozza

    Il builder trasforma il brief in una prima versione della frase.

    Affermazione di esempio (bozza)

    Esperto di tutte le tecnologie web moderne, con risultati impeccabili.

    Bozza

  2. 02 Critici: Due critici isolati la revisionano

    Ogni critico legge solo la bozza e il brief, con strumenti di sola lettura, e riporta i rilievi per gravità.

    Affermazione di esempio (bozza)

    Esperto di tutte le tecnologie web moderne, con risultati impeccabili.

    • BLOCKER · Lente 1 · correttezza e decidibilità: “tutte le tecnologie web moderne” non è decidibile: nessuna prova potrebbe mai dimostrarlo.
    • MINOR · Lente 2 · ambito ed economia: “risultati impeccabili” è un’espressione vaga che non aggiunge nulla di verificabile.

    FAIL · 1 BLOCKER, 0 MAJOR, 1 MINOR

  3. 03 Fixer: Corregge ciò che i critici hanno trovato

    Il fixer cambia solo ciò che i rilievi indicano; un controllore interno rilegge le righe modificate.

    Affermazione di esempio (dopo la correzione)
    Esperto di tutte le tecnologie web moderne, con risultati impeccabili.Costruisce pagine responsive in HTML, CSS e JavaScript; ogni competenza rimanda alla sua prova.
    • F1 (BLOCKER): ora l’affermazione nomina le competenze, ognuna con la sua prova.
    • F2 (MINOR): l’espressione vaga è stata tolta.
    • Controllore: nessun nuovo rilievo nelle righe modificate.

    Corretto · in attesa di verifica

  4. 04 Verificatore: Un verificatore nuovo controlla ogni rilievo

    Il verificatore non ha partecipato alla revisione né alla correzione. Controlla ogni rilievo sul nuovo testo, poi cerca regressioni.

    Affermazione di esempio (dopo la correzione)

    Costruisce pagine responsive in HTML, CSS e JavaScript; ogni competenza rimanda alla sua prova.

    • F1: CLOSED
    • F2: CLOSED
    • Regressione: 0 BLOCKER, 0 MAJOR, 0 MINOR

    PASS · sigillato con il suo SHA-256

    sha256 della frase corretta: a301b1ed0864968417d92b1dcb50c6c32e4664af364d86321bd7879906647741

Prove

Lo stato della skill, il digest e il manifest del checkpoint, e le righe testuali del log di revisione da cui è costruita questa pagina.

Stato

Livello di prova: Prova esistente

Release candidateCostruito e rivisto; validazione A/B finale ancora da fare

Release candidate. Revisione statica superata con due verificatori indipendenti; il benchmark A/B contro l’uso senza la skill è progettato ma non ancora eseguito.

Sistema multi-agente progettato e orchestrato da me.

Checkpoint

Livello di prova: Prova esistente

Digest dell’albero della skill (l’albero che ha superato lo step 2)
8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b
MANIFEST.sha256
684 righe · sha256 39f269514ec828c05051c5bbcb5b8b2536c5b2f4511c441250efd561c8bf96c7

Calcolato in locale il 2 ottobre 2026; i file della skill non sono pubblicati. Apri il record

Un workflow AI multi-agente che ho progettato e diretto con Claude Code: costruisce e mette alla prova una skill di web design riutilizzabile (agenti builder, revisore, fixer e verificatore; checkpoint e hash SHA-256). La prima versione di questo CV è stata costruita con esso.

Vedi la prova
  1. Affermazione

    Un workflow AI multi-agente che ho progettato e diretto con Claude Code: costruisce e mette alla prova una skill di web design riutilizzabile (agenti builder, revisore, fixer e verificatore; checkpoint e hash SHA-256). La prima versione di questo CV è stata costruita con esso.

    Dichiarato da Danilo

  2. Prove

  3. Risultato

    Estratti testuali del log di revisione (28/09/2026): quattro turni di due critici isolati ciascuno sono finiti con FAIL; dopo l’ultimo turno di correzione, due verificatori hanno chiuso ogni rilievo grave e lo step 2 è passato. La skill è una release candidate: il benchmark A/B contro l’uso senza la skill è progettato ma non ancora eseguito. Che il workflow l’abbia progettato e diretto Danilo, e che la prima versione di questo CV sia stata costruita con esso, sono sue dichiarazioni.

Sviluppo assistito dall’AI con Claude Code; workflow multi-agente con ruoli di builder, revisore, fixer e verificatore; progettazione e test di skill per Claude Code

Vedi la prova
  1. Affermazione

    Sviluppo assistito dall’AI con Claude Code; workflow multi-agente con ruoli di builder, revisore, fixer e verificatore; progettazione e test di skill per Claude Code

    Dichiarato da Danilo

  2. Prove

  3. Risultato

    Il log di revisione di FWEA (28/09/2026) e il record del checkpoint mostrano un workflow multi-agente che mette alla prova una skill: agenti critici isolati con strumenti di sola lettura, poi due agenti verificatori che hanno chiuso ogni rilievo grave. Che il workflow l’abbia progettato Danilo, e il resto di questa affermazione, sono sue dichiarazioni.

Il log di revisione, testuale

6 intervalli di righe del log, copiati senza modifiche; il file in sé non è pubblicato.

Livello di prova: Prova esistente

tools/step2/STEP2_RUN_LOG.md righe 10–14 senza 11

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 10–14 senza 11
Isolation check at launch 1 (from the stream-json init events):
riga 11 omessa
- MCP servers: none;
- tools: Read/Grep/Glob plus session utilities; no Agent, Task, Skill, Bash, Edit, Write, WebFetch or WebSearch;
- permission mode: default.

Livello di prova: Prova esistente

Log di revisione FWEA: il controllo di isolamento dei critici · copiato il 2 ottobre 2026 · sha256 b18466513995…Originale in inglese, copiato senza modifiche.

tools/step2/STEP2_RUN_LOG.md righe 16–19

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 16–19
## Round 0 result (launch 3, both critics valid: 0 void tool calls)
- L1 (082f4db933bb): FAIL — 3 BLOCKER, 12 MAJOR, 11 MINOR (17 tool calls, all inside packet)
- L2 (7807a7e16c55): FAIL — 2 BLOCKER, 10 MAJOR, 5 MINOR (18 tool calls, all inside packet; 279 s)
- Step 2 = FAIL on the pre-RC1 tree def5e846…. Correction round 1 of max 2 starts (Spec §13 Correction rounds).

Livello di prova: Prova esistente

Log di revisione FWEA: risultato del turno 0 · copiato il 2 ottobre 2026 · sha256 290557a856df…Originale in inglese, copiato senza modifiche.

tools/step2/STEP2_RUN_LOG.md righe 27–30

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 27–30
## Round 1 result (fresh critics, both valid: 0 void tool calls)
- L1 (0db2ad0aa774): FAIL — 2 BLOCKER, 15 MAJOR, 7 MINOR (17 tool calls, all inside packet)
- L2 (12694d35367d): FAIL — 0 BLOCKER, 4 MAJOR, 8 MINOR (17 tool calls, all inside packet)
- Step 2 = FAIL on tree e2f346bc…. Correction round 2 of max 2 (last) starts; snapshot fwea-workspace/snapshots_pre_round2_skill. Fixer instructed with explicit anti-overfitting rules (critics can read the test spec).

Livello di prova: Prova esistente

Log di revisione FWEA: risultato del turno 1 · copiato il 2 ottobre 2026 · sha256 75d069d1619f…Originale in inglese, copiato senza modifiche.

tools/step2/STEP2_RUN_LOG.md righe 38–42

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 38–42
## Round 2 result (fresh critics, both valid: 0 void tool calls)
- L1 (1bab4fd91aff): FAIL — 1 BLOCKER, 11 MAJOR, 10 MINOR (18 tool calls)
- L2 (17b649e28abc): FAIL — 0 BLOCKER, 3 MAJOR, 9 MINOR (19 tool calls)
- Trend L1 B/M: 3/12 → 2/15 → 1/11; L2 B/M: 2/10 → 0/4 → 0/3.
- Step 2 = FAIL after the 2 allowed correction rounds → OWNER DECISION required (Spec §13).

Livello di prova: Prova esistente

Log di revisione FWEA: risultato del turno 2 · copiato il 2 ottobre 2026 · sha256 6925e87c1316…Originale in inglese, copiato senza modifiche.

tools/step2/STEP2_RUN_LOG.md righe 55–58

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 55–58
## Final critics (v1.1 isolation) — both valid, 0 void tool calls
- L1 (4d95e6389f06): FAIL — 2 BLOCKER, 13 MAJOR, 5 MINOR (14 tool calls)
- L2 (9bd3b623e9f7): FAIL — 0 BLOCKER, 4 MAJOR, 7 MINOR (15 tool calls)
- No finding argues from a test item (the critics had no test material). Residual serious findings: 2 BLOCKER + 17 MAJOR (L1-01 and L2-04 overlap, so 18 unique). They go to the owner one by one (D-FWEA-1); nothing is accepted automatically.

Livello di prova: Prova esistente

Log di revisione FWEA: risultato dei critici finali · copiato il 2 ottobre 2026 · sha256 21552fc94357…Originale in inglese, copiato senza modifiche.

tools/step2/STEP2_RUN_LOG.md righe 66–70

Raw: testo di tools/step2/STEP2_RUN_LOG.md, righe 66–70
## Targeted verification result (D-FWEA-2) — STEP 2 PASS
- V1 (80df4d8e9a39): CLEAN — 18/18 findings CLOSED; regression 0 BLOCKER, 0 MAJOR, 5 MINOR; scripts sizes PASS, dead refs PASS, 0 duplicate groups (15 tool calls, 0 void).
- V2 (4fc38e62dc7a): CLEAN — 19/19 entries CLOSED (L2-04 counted separately); regression 0 BLOCKER, 0 MAJOR, 4 MINOR; scripts PASS (15 tool calls, 0 void).
- No finding among the 18 was accepted implicitly: all were fixed and independently verified closed.
- STEP 2 = PASS on tree 8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b (2026-09-28).

Livello di prova: Prova esistente

Log di revisione FWEA: risultato della verifica mirata · copiato il 2 ottobre 2026 · sha256 5f7e8e932477…Originale in inglese, copiato senza modifiche.