Alchimiste IA

Audit interne : six incohérences corrigées dans nos signaux publics

En juillet 2026, Alchimiste IA a comparé ses déclarations publiques avec les ressources réellement servies aux moteurs, crawlers et outils agentiques : sitemap, fichiers de découverte machine, profil d'identité et pipeline de déploiement. Ces ressources ne sont pas toutes des standards universellement utilisés ; leur cohérence reste néanmoins vérifiable, et participe à une architecture publique honnête, documentée et sans capacité fictive.

Résultats de l'audit interne

  • 6 contradictions détectées
  • 6 contradictions corrigées
  • 7 URL dans le sitemap, générées depuis le registre de routes (contre 5, FR uniquement, avant)
  • 0 capacité agentique fictive déclarée dans les fichiers publics actuels
  • 1 pipeline de génération cohérent, alimenté par deux contrats sources : le registre de routes pour les URL, le contrat YAML pour l'identité

Les dates de dernière modification des ressources générées contrôlées dans cet audit sont dérivées de leur historique Git ; elles ne sont pas saisies manuellement.

Méthode de vérification

La vérification a comparé quatre niveaux du système :

  1. les contrats sources présents dans le dépôt ;
  2. les fichiers produits par le générateur ;
  3. les artefacts sélectionnés pour le déploiement ;
  4. les réponses HTTP réellement servies en production.

Pour chaque ressource, les contrôles ont porté sur le code HTTP, le type MIME, le contenu, la date de dernière modification et la cohérence avec les capacités réellement disponibles. Le contrôle de production a été exécuté depuis l'environnement local contre les URL publiques avec check-discovery.ps1 -Live, complété par une inspection de l'artefact déployé sur le serveur.

Standards et conventions expérimentales

Toutes les ressources citées dans cet audit n'ont pas le même statut. Cette page les distingue plutôt que de les présenter comme équivalentes.

Statut et rôle des ressources contrôlées
RessourceStatutRôle
robots.txtProtocole standardiséPolitique d'exploration
sitemap.xmlStandard largement utiliséDécouverte des URL
JSON-LD Schema.orgVocabulaire largement adoptéDescription des entités
llms.txtConvention émergenteSommaire potentiel pour certains outils
ai.txtConvention non universelleDéclaration informative, renvoie vers llms.txt et llms-full.txt
ait.txtConvention non universelleContenu actuellement identique à ai.txt ; distinction non encore établie
agents.jsonFormat dépendant d'une spécificationDescription éventuelle de capacités
Carte A2AUtile uniquement avec un service A2A réelDécouverte et interaction agentique

Le doublon ai.txt / ait.txt est volontairement signalé ici plutôt que masqué : sa clarification (fusion ou rôles distincts) reste à trancher, sur le même principe qui a déjà conduit au retrait de manifest.webmanifest, doublon de manifest.json.

Six constats et leur traçabilité technique

  1. Le sitemap public ne couvrait que le français

    Constat
    Le sitemap ne contenait que cinq URL françaises (/, /consultant-ia/, /mentions-legales, /confidentialite, /accessibilite), sans les pages anglaise et italienne pourtant publiées et répondant en HTTP 200.
    Correction
    Les URL sont désormais générées depuis le registre de routes (contracts/url-policy/routes.csv), source de vérité commune au site et au sitemap.
    État après correction
    Sept URL canoniques (fr, en, it, pages légales), régénérées automatiquement à chaque changement du registre de routes.
    Commit
    350f817
  2. Des fichiers hérités annonçaient des capacités absentes

    Constat
    agents.json, ai.txt et llms-sitemap.xml répondaient 200 en production avec un contenu hérité d'une version antérieure du site, décrivant des interfaces (API, A2A) qui n'existaient pas réellement (observation documentée le 25 juillet 2026).
    Correction
    Remplacés par des déclarations honnêtes : catalogue d'agents vide, carte A2A à zéro compétence, contrat OpenAPI sans route.
    État après correction
    agents.json déclare explicitement une liste d'agents vide ; openapi.json déclare "paths": {} ; les deux le disent au lieu de le sous-entendre.
    Commit
    350f817, eabf1c0
  3. llms.txt se contredisait lui-même

    Constat
    Le fichier affirmait « Aucune API REST ou A2A publique n'est actuellement exposée sur alchimiste-ia.com », juste après la publication d'une carte A2A à titre de transparence — la carte existait, même vide, donc l'affirmation était devenue fausse.
    Correction
    Le texte a été réécrit pour décrire ce qui est réellement publié plutôt que de le nier.
    État après correction
    « Une carte A2A (...) et un contrat OpenAPI (...) sont publiés par transparence : ils déclarent explicitement zéro compétence et zéro route, confirmant qu'aucune interface active n'est exposée. »
    Commit
    ff8c404
  4. Le profil d'identité n'était plus synchronisé

    Constat
    Le contrat YAML d'identité avait été enrichi (ajout d'« Architecture AI-First ») sans que les fichiers publics dérivés (humans.txt, fiche Schema.org de la personne) soient régénérés — un écart de trois jours entre la source et sa projection publique.
    Correction
    Régénérés depuis le contrat YAML, seule source de vérité, via l'outil de synchronisation existant.
    État après correction
    humans.txt et la fiche Schema.org contiennent désormais exactement les mêmes compétences que le contrat YAML, sans double saisie.
    Commit
    24f5501
  5. Le pipeline de déploiement ignorait les nouveaux fichiers publics

    Constat
    La liste des chemins requis au déploiement ne mentionnait pas les nouveaux fichiers publics (llms-full.txt, llms-sitemap.xml, agents.json, agent-card.json, openapi.json, ai.txt, ait.txt) : un déploiement aurait pu les oublier silencieusement.
    Correction
    La liste des chemins requis a été mise à jour pour inclure explicitement chacun de ces fichiers.
    État après correction
    Chaque fichier public nouvellement créé figure désormais dans la liste de vérification du déploiement.
    Commit
    9465fd6
  6. Une date affichée ne correspondait pas à un vrai commit

    Constat
    Le pied de page de llms.txt affichait « 20 juillet 2026 », alors que le dernier commit ayant réellement modifié ce fichier datait du 21 juillet — un écart d'un jour entre la date affichée et la réalité.
    Correction
    Le générateur dérive désormais chaque date depuis l'historique git réel du fichier concerné, et n'affiche aucune date s'il n'existe encore aucun commit.
    État après correction
    La date affichée correspond exactement à la date du dernier commit ayant modifié le fichier, vérifiable par quiconque a accès à l'historique.
    Commit
    85bedee, 364e0c9

Ce que chaque incohérence changeait pour un lecteur externe

Correspondance entre problème technique et conséquence pour un lecteur externe
ProblèmeConséquence pour un lecteur externe
Sitemap incompletPages anglaise et italienne absentes du canal de découverte fourni par le sitemap
Déclarations héritées devenues inexactesIntégration impossible sur la base de capacités qui n'existent pas
llms.txt contradictoireUn agent suivant le texte pouvait ignorer une ressource pourtant publiée
Profil désynchroniséAmbiguïté sur les compétences réellement déclarées de l'entité
Déploiement incompletRisque qu'un correctif reste correct dans le code mais absent en production
Dates improviséesImpossible de vérifier la fraîcheur réelle d'une déclaration

Limites de cette vérification

  • La présence d'un fichier public ne garantit pas son utilisation par un moteur ou un agent.
  • La conformité d'un manifeste ne garantit pas la citation du site.
  • Ces observations décrivent l'état du domaine à la date indiquée ; elles devront être rejouées après chaque déploiement.
  • Cette page renvoie à des hash de commit consultables dans l'historique du dépôt ; elle ne propose pas encore de registre de preuves public avec liens directs, ce qui suppose une décision séparée sur l'accessibilité du dépôt.
  • Autoriser explicitement un crawler (OAI-SearchBot, GPTBot...) dans robots.txt permet son exploration lorsque le système choisit de consulter la page ; cela ne garantit ni l'indexation, ni l'affichage, ni la citation.

Aucun score tiers n'est invoqué dans cet audit. Les constats reposent sur les contrats sources, l'historique Git, les artefacts générés et des tests HTTP reproductibles contre la production. Les limites d'accès au dépôt sont déclarées explicitement ci-dessus.