Alchimiste IA

Audit interno: sei incoerenze corrette nei nostri segnali pubblici

Nel luglio 2026, Alchimiste IA ha confrontato le proprie dichiarazioni pubbliche con le risorse effettivamente servite ai motori di ricerca, ai crawler e agli strumenti agentici: sitemap, file di scoperta automatica, profilo di identità e pipeline di deployment. Non tutte queste risorse sono standard adottati universalmente; la loro coerenza resta comunque verificabile e contribuisce a una architettura pubblica onesta, documentata e priva di capacità fittizie.

Risultati dell’audit interno

  • 6 contraddizioni rilevate
  • 6 contraddizioni corrette
  • 7 URL nella sitemap, generate dal registro delle route (contro 5, solo FR, in precedenza)
  • 0 capacità agentica fittizia dichiarata negli attuali file pubblici
  • 1 pipeline di generazione coerente, alimentata da due contratti sorgente: il registro delle route per gli URL e il contratto YAML per l’identità

Le date di ultima modifica delle risorse generate controllate in questo audit derivano dalla loro cronologia Git; non sono inserite manualmente.

Metodo di verifica

La verifica ha confrontato quattro livelli del sistema:

  1. i contratti sorgente presenti nel repository;
  2. i file prodotti dal generatore;
  3. gli artefatti selezionati per il deployment;
  4. le risposte HTTP effettivamente servite in produzione.

Per ogni risorsa, i controlli hanno riguardato il codice di stato HTTP, il tipo MIME, il contenuto, la data di ultima modifica e la coerenza con le capacità effettivamente disponibili. Il controllo in produzione è stato eseguito dall’ambiente locale contro gli URL pubblici con check-discovery.ps1 -Live, completato da un’ispezione dell’artefatto distribuito sul server.

Standard e convenzioni sperimentali

Non tutte le risorse citate in questo audit hanno lo stesso stato. Questa pagina le distingue invece di presentarle come equivalenti.

Stato e ruolo delle risorse controllate
RisorsaStatoRuolo
robots.txtProtocollo standardizzatoPolitica di crawling
sitemap.xmlStandard ampiamente utilizzatoScoperta degli URL
JSON-LD Schema.orgVocabolario ampiamente adottatoDescrizione delle entità
llms.txtConvenzione emergenteSommario potenziale per alcuni strumenti
ai.txtConvenzione non universaleDichiarazione informativa, con rimando a llms.txt e llms-full.txt
ait.txtConvenzione non universaleContenuto attualmente identico a ai.txt; distinzione non ancora stabilita
agents.jsonFormato dipendente da una specificaPossibile descrizione delle capacità
Carte A2AUtile solo con un servizio A2A realeScoperta e interazione agentica

Il duplicato ai.txt / ait.txt è segnalato qui intenzionalmente invece di essere nascosto: la sua chiarificazione (fusione o ruoli distinti) resta da decidere, secondo lo stesso principio che ha portato a rimuovere manifest.webmanifest, duplicato di manifest.json.

Sei constatazioni e la loro tracciabilità tecnica

  1. La sitemap pubblica copriva solo il francese

    Osservazione
    La sitemap conteneva solo cinque URL francesi (/, /consultant-ia/, /mentions-legales, /confidentialite, /accessibilite), senza le pagine inglese e italiana pur pubblicate e rispondenti in HTTP 200.
    Correzione
    Gli URL sono ora generati dal registro delle route (contracts/url-policy/routes.csv), fonte comune di verità per il sito e la sitemap.
    Stato dopo la correzione
    Sette URL canonici (fr, en, it, pagine legali), rigenerati automaticamente a ogni modifica del registro delle route.
    Commit
    350f817
  2. File ereditati annunciavano capacità assenti

    Osservazione
    In produzione, agents.json, ai.txt e llms-sitemap.xml rispondevano 200 con contenuti ereditati da una versione precedente del sito, descrivendo interfacce (API, A2A) che non esistevano realmente (osservazione documentata il 25 luglio 2026).
    Correzione
    Sostituiti da dichiarazioni oneste: un catalogo di agenti vuoto, una scheda A2A con zero competenze e un contratto OpenAPI senza route.
    Stato dopo la correzione
    agents.json dichiara esplicitamente un elenco vuoto di agenti; openapi.json dichiara "paths": {}; entrambi lo dicono invece di lasciarlo intendere.
    Commit
    350f817, eabf1c0
  3. llms.txt si contraddiceva

    Osservazione
    Il file affermava “Nessuna API REST o A2A pubblica è attualmente esposta su alchimiste-ia.com”, subito dopo la pubblicazione di una scheda A2A a titolo di trasparenza: la scheda esisteva, seppure vuota, quindi l affermazione era diventata falsa.
    Correzione
    Il testo è stato riscritto per descrivere ciò che è realmente pubblicato invece di negarlo.
    Stato dopo la correzione
    “Una scheda A2A (...) e un contratto OpenAPI (...) sono pubblicati per trasparenza: dichiarano esplicitamente zero competenze e zero route, confermando che nessuna interfaccia attiva è esposta.”
    Commit
    ff8c404
  4. Il profilo di identità non era più sincronizzato

    Osservazione
    Il contratto YAML di identità era stato arricchito (con l aggiunta di “Architettura AI-First”) senza rigenerare i file pubblici derivati (humans.txt, scheda Schema.org della persona): uno scarto di tre giorni tra la fonte e la proiezione pubblica.
    Correzione
    Rigenerati dal contratto YAML, unica fonte di verità, tramite lo strumento di sincronizzazione esistente.
    Stato dopo la correzione
    humans.txt e la scheda Schema.org ora contengono esattamente le stesse competenze del contratto YAML, senza doppia compilazione.
    Commit
    24f5501
  5. La pipeline di deployment ignorava i nuovi file pubblici

    Osservazione
    L elenco dei percorsi richiesti per il deployment non includeva i nuovi file pubblici (llms-full.txt, llms-sitemap.xml, agents.json, agent-card.json, openapi.json, ai.txt, ait.txt).
    Correzione
    L elenco dei percorsi richiesti è stato aggiornato per includere esplicitamente ciascuno di questi file.
    Stato dopo la correzione
    Ogni nuovo file pubblico creato figura ora nella checklist di deployment.
    Commit
    9465fd6
  6. Una data visualizzata non corrispondeva a un commit reale.

    Osservazione
    Il piè di pagina di llms.txt mostrava “20 luglio 2026”, mentre l ultimo commit che aveva modificato realmente il file era del 21 luglio: uno scarto di un giorno tra la data mostrata e la realtà.
    Correzione
    Il generatore ricava ora ogni data dalla cronologia Git reale del file interessato e non mostra alcuna data se non esiste ancora un commit.
    Stato dopo la correzione
    La data mostrata corrisponde esattamente alla data dell ultimo commit che ha modificato il file, verificabile da chiunque abbia accesso alla cronologia.
    Commit
    85bedee, 364e0c9

Cosa cambiava per un lettore esterno

Corrispondenza tra il problema tecnico e la conseguenza per un lettore esterno
ProblemaConseguenza per un lettore esterno
Sitemap incompletPagine inglese e italiana assenti dal canale di scoperta fornito dalla sitemap
Déclarations héritées devenues inexactesIntegrazione impossibile sulla base di capacità inesistenti
llms.txt contradictoireUn agente che segue il testo poteva ignorare una risorsa comunque pubblicata
Profil désynchroniséAmbiguità sulle competenze effettivamente dichiarate dall entità
Déploiement incompletRischio che una correzione resti corretta nel codice ma assente in produzione
Dates improviséesImpossibile verificare la reale freschezza di una dichiarazione

Limiti di questa verifica

  • La presenza di un file pubblico non garantisce il suo utilizzo da parte di un motore o agente.
  • La conformità di un manifest non garantisce la citazione del sito.
  • Queste osservazioni descrivono lo stato del dominio alla data indicata; devono essere rieseguite dopo ogni deployment.
  • Questa pagina rimanda agli hash dei commit consultabili nella cronologia del repository; non offre ancora un registro pubblico delle prove con link diretti, il che richiede una decisione separata sull accessibilità del repository.
  • Autorizzare esplicitamente un crawler (OAI-SearchBot, GPTBot...) in robots.txt ne permette il crawling quando il sistema sceglie di consultare la pagina; non garantisce indicizzazione, visualizzazione né citazione.

Questo audit non invoca alcun punteggio di terze parti. Le constatazioni si basano sui contratti sorgente, sulla cronologia Git, sugli artefatti generati e su test HTTP riproducibili contro la produzione. I limiti di accesso al repository sono dichiarati sopra.