<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on GeppettoBarbuto - Wiki</title><link>https://blog.carrubanet.duckdns.org/tags/documentation/</link><description>Recent content in Documentation on GeppettoBarbuto - Wiki</description><generator>Hugo -- gohugo.io</generator><language>it-it</language><lastBuildDate>Mon, 23 Mar 2026 13:46:03 +0000</lastBuildDate><atom:link href="https://blog.carrubanet.duckdns.org/tags/documentation/index.xml" rel="self" type="application/rss+xml"/><item><title>Validazione Documentale &amp; Protocollo "Trust-but-Verify"</title><link>https://blog.carrubanet.duckdns.org/wiki/programmazione-metodologia-validazione/</link><pubDate>Mon, 23 Mar 2026 13:27:55 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/programmazione-metodologia-validazione/</guid><description>&lt;h1 id="-validazione-documentale-il-protocollo-trust-but-verify"&gt;🛡️ Validazione Documentale: Il Protocollo &amp;ldquo;Trust-but-Verify&amp;rdquo;
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Concept:&lt;/strong&gt; &amp;ldquo;L&amp;rsquo;IA genera la bozza, l&amp;rsquo;Auditor certifica la qualità, l&amp;rsquo;Umano firma il progetto.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;::: warning IL RISCHIO DELL&amp;rsquo;ALLUCINAZIONE TECNICA
I modelli linguistici sono generatori probabilistici. Senza una validazione rigorosa, c&amp;rsquo;è il rischio reale di approvare documenti che contengono parametri API inesistenti, diagrammi Mermaid sintatticamente errati per Wiki.js 8.8.2 o requisiti (SRS) che non trovano riscontro nell&amp;rsquo;architettura (SAD).
:::&lt;/p&gt;
&lt;h2 id="-motivazione-e-obiettivi"&gt;🎯 Motivazione e Obiettivi
&lt;/h2&gt;&lt;p&gt;La genesi di questo protocollo risiede nella necessità di eliminare il &amp;ldquo;debito tecnico documentale&amp;rdquo;. Un errore in fase di specifica (Design) costa 100 volte più di un bug nel codice.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;obiettivo è triplice:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Garantire la Coerenza:&lt;/strong&gt; Assicurarsi che ogni Requisito Funzionale (FR) sia effettivamente implementato nel design.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validazione Formale:&lt;/strong&gt; Prevenire errori di rendering dei grafici e link interrotti.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verifica di Fattibilità:&lt;/strong&gt; Confermare che le librerie e le tecnologie suggerite esistano realmente e siano compatibili con il nostro hardware (es. Mac Pro 2013).&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-principi-della-validazione-ingegneristica"&gt;🏗️ Principi della Validazione Ingegneristica
&lt;/h2&gt;&lt;p&gt;Il protocollo si basa su tre pilastri fondamentali:&lt;/p&gt;
&lt;h3 id="1-cross-ai-validation-il-secondo-parere"&gt;1. Cross-AI Validation (Il Secondo Parere)
&lt;/h3&gt;&lt;p&gt;Mai usare la stessa sessione di chat o lo stesso modello per generare e validare. Se hai usato &lt;strong&gt;Claude 3.7&lt;/strong&gt; per il design, usa &lt;strong&gt;GPT-4o&lt;/strong&gt; (o viceversa) per il controllo. Un&amp;rsquo;IA diversa ha &amp;ldquo;pregiudizi statistici&amp;rdquo; differenti e individuerà più facilmente gli errori della prima.&lt;/p&gt;
&lt;h3 id="2-integrità-della-tracciabilità-id-mapping"&gt;2. Integrità della Tracciabilità (ID Mapping)
&lt;/h3&gt;&lt;p&gt;Ogni ID requisito (&lt;code&gt;FR-01&lt;/code&gt;) deve essere un filo conduttore unico. Se un ID appare nell&amp;rsquo;SRS ma scompare nell&amp;rsquo;Implementation Plan, il sistema di governance segnala un&amp;rsquo;interruzione della catena del valore.&lt;/p&gt;
&lt;h3 id="3-compliance-formale-mermaid-882"&gt;3. Compliance Formale (Mermaid 8.8.2)
&lt;/h3&gt;&lt;p&gt;Dato che la nostra Wiki.js utilizza una versione specifica di Mermaid, la validazione deve bloccare proattivamente sintassi moderne (come &lt;code&gt;direction&lt;/code&gt; o &lt;code&gt;subgraph&lt;/code&gt; nidificati) che causerebbero il fallimento del rendering.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="-lo-strumento-prompt-lv_doc_validator_v1"&gt;🤖 Lo Strumento: Prompt LV_doc_validator_v1
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Questo prompt trasforma l&amp;rsquo;LLM in un &lt;strong&gt;QA Software Architect&lt;/strong&gt;. Carica i documenti prodotti nelle fasi precedenti e lancia questa istruzione.&lt;/em&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: LV_doc_validator_v1.md
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: Audit tecnico e validazione di coerenza per la suite documentale ALFO.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[RUOLO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Agisci come un &lt;span style="font-weight:bold"&gt;**Senior Technical Auditor**&lt;/span&gt; e &lt;span style="font-weight:bold"&gt;**QA Software Architect**&lt;/span&gt;. Il tuo compito è analizzare criticamente la suite documentale fornita (BRD/PRD, SRS, FSD, SAD, Implementation Plan) per identificare allucinazioni, incoerenze logiche e violazioni dei vincoli tecnici.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[CONTESTO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Il progetto segue il framework &amp;#34;Design-First&amp;#34;. La documentazione deve essere pronta per la pubblicazione su una Wiki (Mermaid 8.8.2) e deve fornire istruzioni inequivocabili per l&amp;#39;implementazione.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[COMPITO - ESEGUI L&amp;#39;AUDIT IN 3 FASI]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### FASE 1: ANALISI FORMALE E SINTATTICA
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Mermaid 8.8.2 Check:**&lt;/span&gt; Verifica ogni blocco Mermaid. Segnala come ERRORE l&amp;#39;uso di &amp;#34;direction&amp;#34;, subgraph nidificati o caratteri speciali non protetti.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**ID Traceability:**&lt;/span&gt; Scansiona l&amp;#39;SRS e l&amp;#39;Implementation Plan. Ogni ID (FR-x, NFR-x) deve avere una corrispondenza biunivoca. Esistono requisiti orfani?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Placeholder Hunt:**&lt;/span&gt; Trova testi come &amp;#34;[TBD]&amp;#34;, &amp;#34;...&amp;#34;, &amp;#34;[Inserire qui]&amp;#34; o sezioni incomplete.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### FASE 2: ANALISI DI COERENZA (CROSS-DOC)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**SRS vs SAD:**&lt;/span&gt; Quello che è descritto come requisito funzionale nell&amp;#39;SRS è effettivamente rappresentato nei diagrammi dei componenti o delle classi nel SAD?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Logic Gap:**&lt;/span&gt; Esistono flussi descritti nell&amp;#39;FSD che non hanno un supporto architetturale nel SAD?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Tech Stack Alignment:**&lt;/span&gt; Le librerie e i framework citati sono coerenti tra i vari documenti?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### FASE 3: VERIFICA EMPIRICA E REALISMO
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Hallucination Check:**&lt;/span&gt; Le librerie o le API citate sono reali ed esistenti? 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Security &amp;amp; Best Practices:**&lt;/span&gt; Sono stati omessi aspetti critici come la gestione dei segreti o la validazione dell&amp;#39;input?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Feasibility:**&lt;/span&gt; I requisiti di performance sono realistici per l&amp;#39;hardware dichiarato?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[VINCOLI]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Sii &lt;span style="font-weight:bold"&gt;**estremamente critico**&lt;/span&gt;. È meglio un falso positivo che una documentazione errata.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Non riscrivere i documenti. Elenca solo le criticità trovate.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[OUTPUT]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Inizia con: &amp;#34;Rapporto di Audit Tecnico avviato. Stato della suite documentale: [NON COMPLIANT / PARTIALLY COMPLIANT / READY]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Fornisci poi l&amp;#39;elenco dei:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **[CRITICAL]:** Errori bloccanti (Mermaid rotto, ID mancanti, errori logici gravi).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **[WARNING]:** Suggerimenti di miglioramento o ambiguità.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **[ACTION PLAN]:** Lista di prompt correttivi da dare all&amp;#39;IA generatrice per risolvere i problemi.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="-workflow-di-integrazione"&gt;📉 Workflow di Integrazione
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A["Suite Documentale Generata"] --&gt; B{"Prompt: LV_doc_validator"}
 B --&gt; C["Generazione Rapporto Audit"]
 C --&gt; D{"Criticità Trovate?"}
 
 D -- "SI: Errori Critici" --&gt; E["Rifinitura con Prompt Correttivi"]
 E --&gt; B
 
 D -- "NO: Solo Suggerimenti" --&gt; F["Validazione Umana Finale"]
 F --&gt; G["Pubblicazione su Wiki.js"]
 
 style B fill:#f9f,stroke:#333
 style G fill:#4CAF50,color:#fff&lt;/pre&gt;&lt;hr&gt;
&lt;p&gt;Tags: #AIValidation #QA #SoftwareArchitecture #Governance #TrustButVerify*&lt;/p&gt;</description></item><item><title>Hub Metodologia Documentale</title><link>https://blog.carrubanet.duckdns.org/wiki/programmazione-metodologia-index/</link><pubDate>Mon, 23 Mar 2026 13:01:04 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/programmazione-metodologia-index/</guid><description>&lt;h1 id="-software-governance--documentation-lifecycle"&gt;🏛️ Software Governance &amp;amp; Documentation Lifecycle
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Vision:&lt;/strong&gt; &amp;ldquo;Unificando la progettazione, la sincronizzazione e l&amp;rsquo;analisi forense in un unico flusso ingegneristico verificato.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;::: info IL CICLO BIDIREZIONALE
In questo laboratorio, la documentazione non è un&amp;rsquo;attività statica post-sviluppo, ma un&amp;rsquo;entità viva che si muove nel tempo. Gestiamo il &lt;strong&gt;Futuro&lt;/strong&gt; attraverso il Design, il &lt;strong&gt;Presente&lt;/strong&gt; attraverso la Sincronizzazione automatica, il &lt;strong&gt;Passato&lt;/strong&gt; tramite il Reverse Architecting e l&amp;rsquo;&lt;strong&gt;Integrità&lt;/strong&gt; tramite la Validazione.
:::&lt;/p&gt;
&lt;h2 id="-le-dimensioni-della-documentazione"&gt;🔄 Le Dimensioni della Documentazione
&lt;/h2&gt;&lt;p&gt;L&amp;rsquo;infrastruttura documentale è suddivisa in tre pilastri operativi e un pilastro di controllo qualità.&lt;/p&gt;
&lt;h3 id="-1-il-futuro-design-first-dall"&gt;🟢 1. IL FUTURO: &lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/metodologia/design-first" &gt;Design-First (Dall&amp;rsquo;Idea alla Specifica)&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Pianificazione e Blueprinting prima di scrivere una riga di codice.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Asset:&lt;/strong&gt; SRS, SAD, FSD, Implementation Plan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vantaggio:&lt;/strong&gt; Riduzione drastica delle deviazioni creative dell&amp;rsquo;IA e coerenza architetturale.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-2-il-presente-automated-docs-sincronizzazione-di-corollario"&gt;🟡 2. IL PRESENTE: &lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai/automated-docs" &gt;Automated Docs (Sincronizzazione di Corollario)&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Mantenimento dei manuali e della storia del progetto durante lo sviluppo.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Asset:&lt;/strong&gt; README, Changelog, Manuali ITA/ENG (Protocollo LV_sync_doc v4).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vantaggio:&lt;/strong&gt; Documentazione &amp;ldquo;Zero-Drift&amp;rdquo; sempre allineata all&amp;rsquo;ultimo commit Git.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-3-il-passato-reverse-architecting-analisi-forense"&gt;🔵 3. IL PASSATO: &lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/metodologia/reverse-architect" &gt;Reverse-Architecting (Analisi Forense)&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Recupero del design e dei requisiti da codice esistente o prototipi.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Asset:&lt;/strong&gt; SRS e SAD ricostruiti ex-post, Gap Analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vantaggio:&lt;/strong&gt; Trasparenza totale sul software legacy e base sicura per il refactoring.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-4-la-verifica-validazione-documentale-quality-gate"&gt;🛡️ 4. LA VERIFICA: &lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/metodologia/validazione" &gt;Validazione Documentale (Quality Gate)&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;Protocollo di controllo per garantire che l&amp;rsquo;IA non abbia introdotto errori o allucinazioni.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Metodo:&lt;/strong&gt; Protocollo &amp;ldquo;Trust-but-Verify&amp;rdquo; a 3 livelli (Formale, Coerenza, Empirica).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vantaggio:&lt;/strong&gt; Eliminazione delle allucinazioni tecniche e garanzia di fattibilità dei requisiti.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-il-ciclo-di-vita-totale-mermaid-882"&gt;📉 Il Ciclo di Vita Totale (Mermaid 8.8.2)
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 %% Percorso Futuro
 IDEA[Idea / Requisito] --&gt;|Design-First| SPECS[Specifiche: SRS/SAD]
 SPECS --&gt;|Validazione| CODE[Codice Sorgente]

 %% Percorso Presente
 CODE --&gt;|LV_sync_doc v4| CORO[README, Manuali]
 CORO --&gt;|Validazione| CODE

 %% Percorso Passato
 LEGACY[Codice Esistente] --&gt;|Reverse-Architect| SPECS_RE[SRS/SAD ex-post]
 SPECS_RE --&gt;|Validazione| REF[Refactoring Roadmap]
 REF --&gt; CODE

 %% Nodo Validazione (Trasversale)
 subgraph Quality_Gate
 VALID[Validazione &amp; Trust-but-Verify]
 end

 style SPECS fill:#bfb,stroke:#333
 style CORO fill:#fdf,stroke:#333
 style SPECS_RE fill:#bbf,stroke:#333
 style Quality_Gate fill:#fff3e0,stroke:#ff9800,stroke-dasharray: 5 5&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="-principi-della-governance-documentale"&gt;💡 Principi della Governance Documentale
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Documentation as Code (DaC):&lt;/strong&gt; La documentazione segue il ciclo di vita del codice (Git).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Single Source of Truth:&lt;/strong&gt; Il codice è la verità, i documenti ne sono l&amp;rsquo;interpretazione validata.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context-Awareness:&lt;/strong&gt; Uso dell&amp;rsquo;IA sempre ancorato ai dati reali del &lt;code&gt;#workspace&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verificabilità Obbligatoria:&lt;/strong&gt; Ogni affermazione tecnica nel documento deve avere un riscontro nel codice.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-toolchain-del-laboratorio"&gt;🛠️ Toolchain del Laboratorio
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Core:&lt;/strong&gt; VS Code + GitHub Copilot (Claude 3.7 / GPT-4o).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automation:&lt;/strong&gt; Script Python custom (ALFO) per linting e check.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Output:&lt;/strong&gt; Wiki.js con rendering Mermaid 8.8.2.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Tags: #SoftwareArchitecture #Governance #DesignFirst #ReverseEngineering #QA*&lt;/p&gt;</description></item><item><title>Documentation as Code: Il Protocollo LV_Sync_Doc</title><link>https://blog.carrubanet.duckdns.org/wiki/programmazione-ai-automated-docs-esempio/</link><pubDate>Mon, 23 Mar 2026 12:33:35 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/programmazione-ai-automated-docs-esempio/</guid><description>&lt;h1 id="-documentation-as-code-il-protocollo-lv_sync_doc"&gt;📚 Documentation as Code: Il Protocollo LV_Sync_Doc
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Filosofia:&lt;/strong&gt; &amp;ldquo;Se non è documentato, non è stato fatto. Se la documentazione è manuale, è già obsoleta.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;::: info OBIETTIVO
Questa pagina descrive l&amp;rsquo;utilizzo del prompt &lt;strong&gt;LV_sync_doc&lt;/strong&gt;, uno strumento di automazione progettato per sincronizzare istantaneamente il codice sorgente con la documentazione narrativa, il log delle modifiche e i manuali utente bilingue.
:::&lt;/p&gt;
&lt;h2 id="-anatomia-del-workflow"&gt;🧩 Anatomia del Workflow
&lt;/h2&gt;&lt;p&gt;Il prompt agisce su quattro livelli incrementali di informazione:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;README (The Entry Point):&lt;/strong&gt; Sintesi ad alto livello per il &amp;ldquo;primo contatto&amp;rdquo; con il repository.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CHANGELOG (The History):&lt;/strong&gt; Registro cronologico dei cambiamenti per la tracciabilità tecnica.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MANUALI (The How-To):&lt;/strong&gt; Documentazione modulare e bilingue (ITA/ENG) divisa per capitoli logici.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ARCHITETTURA (The Why):&lt;/strong&gt; Documentazione delle decisioni tecniche (ADR - Architecture Decision Records).&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-il-prompt-lv_sync_doc_v4-versione-migliorata"&gt;🛠️ Il Prompt: LV_sync_doc_v4 (Versione Migliorata)
&lt;/h2&gt;&lt;p&gt;Questo prompt è ottimizzato per &lt;strong&gt;Claude 3.5/3.7&lt;/strong&gt; o &lt;strong&gt;GPT-4o&lt;/strong&gt; all&amp;rsquo;interno di VS Code (Copilot Edits).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: LV_sync_doc_v4.md
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: Sincronizzazione automatica, modulare e verificata della documentazione.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[RUOLO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Agisci come un Senior Technical Writer e Software Architect. Il tuo obiettivo è la &amp;#34;Zero-Drift Documentation&amp;#34;: la documentazione deve essere un riflesso perfetto del codice.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[CONTESTO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Analizza il #workspace (git diff, nuovi file, commenti Doxygen/Sphinx). Identifica le modifiche logiche e funzionali.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[COMPITO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; ANALISI SORGENTE: Verifica la presenza di nuove docstring. Se mancano in funzioni critiche, segnalalo prima di procedere.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; README UPDATE: Aggiorna &lt;span style="color:#e6db74"&gt;`ROOT/README.md`&lt;/span&gt; (Sintesi e Requisiti).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; CHANGELOG: Aggiorna &lt;span style="color:#e6db74"&gt;`ROOT/changelog.md`&lt;/span&gt; seguendo lo standard &amp;#34;Keep a Changelog&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; MANUALE MODULARE (Diátaxis Framework):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Percorso: &lt;span style="color:#e6db74"&gt;`ROOT/doc/manual/`&lt;/span&gt; sottocartelle &lt;span style="color:#e6db74"&gt;`ita/`&lt;/span&gt; e &lt;span style="color:#e6db74"&gt;`eng/`&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Struttura: File numerati &lt;span style="color:#e6db74"&gt;`00_index.md`&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;`01_...`&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Applica modifiche speculari in entrambe le lingue.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Categorizza i nuovi contenuti come: Tutorials, How-to, Reference, o Explanation.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; ADR (Architecture Decision Record):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Se la logica è cambiata, aggiorna/crea &lt;span style="color:#e6db74"&gt;`ROOT/doc/architecture_notes.md`&lt;/span&gt; spiegando il &amp;#34;PERCHÉ&amp;#34; in ITALIANO.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;6.&lt;/span&gt; COMMIT MESSAGE: Genera un messaggio di commit in formato &amp;#34;Conventional Commits&amp;#34; che riassuma l&amp;#39;intero aggiornamento.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[VINCOLI]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Lingua: Manuali bilingue (ITA/ENG), Architettura e README in ITA.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Numerazione: Mantieni rigorosamente la sequenza dei file (00, 01, 02...).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Integrità: Non rimuovere mai informazioni esistenti a meno che non siano deprecate dal nuovo codice.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[OUTPUT]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Inizia con: &amp;#34;Analisi completata. Ecco il piano di sincronizzazione documentale:&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; Elenco file impattati.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; Codice completo per ogni file da creare o modificare.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; Messaggio di commit suggerito.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="-diagramma-del-flusso-di-sincronizzazione-mermaid"&gt;📉 Diagramma del Flusso di Sincronizzazione (Mermaid)
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[Modifica Codice] --&gt; B{Trigger: LV_sync_doc}
 B --&gt; C[Analisi Workspace/Diff]
 C --&gt; D[Verifica Docstrings/Auto-docs]
 D --&gt; E[Aggiornamento README &amp; Changelog]
 E --&gt; F[Sincronizzazione Manuali ITA/ENG]
 F --&gt; G[Generazione ADR/Architettura]
 G --&gt; H[Generazione Conventional Commit]
 H --&gt; I[Revisione Umana &amp; Push]
 
 style H fill:#bbf,stroke:#333
 style I fill:#bfb,stroke:#333&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="-note-dellarchitetto-miglioramenti-apportati-reasoning"&gt;💡 Note dell&amp;rsquo;Architetto: Miglioramenti apportati (Reasoning)
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Integrazione Diátaxis:&lt;/strong&gt; Nella v4 abbiamo imposto la categorizzazione dei capitoli. Questo costringe l&amp;rsquo;IA a non mescolare istruzioni passo-passo (How-to) con descrizioni tecniche (Reference), migliorando la leggibilità per l&amp;rsquo;utente finale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Check delle Docstrings:&lt;/strong&gt; Il primo step ora verifica se l&amp;rsquo;Ingegnere ha documentato il codice a basso livello. Se non l&amp;rsquo;ha fatto, l&amp;rsquo;IA funge da &amp;ldquo;coscienza tecnica&amp;rdquo;, chiedendo chiarimenti prima di sporcare la documentazione narrativa con supposizioni.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conventional Commits:&lt;/strong&gt; Automatizzare il messaggio di commit (&lt;code&gt;feat:&lt;/code&gt;, &lt;code&gt;fix:&lt;/code&gt;, &lt;code&gt;docs:&lt;/code&gt;) garantisce che la storia del repository Git sia professionale e pronta per generare release notes automatiche.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Tags: #AI #PromptEngineering #Documentation #Git #DevOps #Governance*&lt;/p&gt;</description></item></channel></rss>