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 :
- les contrats sources présents dans le dépôt ;
- les fichiers produits par le générateur ;
- les artefacts sélectionnés pour le déploiement ;
- 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.
| Ressource | Statut | Rôle |
|---|---|---|
robots.txt | Protocole standardisé | Politique d'exploration |
sitemap.xml | Standard largement utilisé | Découverte des URL |
JSON-LD Schema.org | Vocabulaire largement adopté | Description des entités |
llms.txt | Convention émergente | Sommaire potentiel pour certains outils |
ai.txt | Convention non universelle | Déclaration informative, renvoie vers llms.txt et llms-full.txt |
ait.txt | Convention non universelle | Contenu actuellement identique à ai.txt ; distinction non encore établie |
agents.json | Format dépendant d'une spécification | Description éventuelle de capacités |
Carte A2A | Utile uniquement avec un service A2A réel | Dé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
-
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
-
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
-
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
-
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
-
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
-
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
| Problème | Conséquence pour un lecteur externe |
|---|---|
| Sitemap incomplet | Pages anglaise et italienne absentes du canal de découverte fourni par le sitemap |
| Déclarations héritées devenues inexactes | Intégration impossible sur la base de capacités qui n'existent pas |
| llms.txt contradictoire | Un 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 incomplet | Risque qu'un correctif reste correct dans le code mais absent en production |
| Dates improvisées | Impossible 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.