TSEPCONTROL BÊTA GRATUITE
Menu

Où voulez-vous aller ?

PRÉPARATION DES PREUVES

La bonne preuve,
pour le bon contrôle.

Le plan, la capture et la revue sont des pièces distinctes. Le moteur conserve leur origine et leur chronologie.

Avant de collecter

  1. Déclarez les URL, l’objectif, le client utilisé et les limites de la collecte.
  2. Conservez les exports originaux, leurs dates et leur contexte. Un résumé ne remplace pas les octets sources.
  3. Ajoutez les revues réellement fournies, lorsque le contrôle les exige. Une revue absente doit rester absente.
  4. Préparez le fichier de captures avec l’adaptateur correspondant. Importez-le, vérifiez le périmètre puis lancez l’évaluation.

TS01 · 2 règles

La page finale répond avec un code HTTP exploitable.

Pages publiques désignées comme canoniques.

À réunir

Intention, trace GET complète et corps conservé ; justifications par règle A01–A02.

Un test depuis une IP ne prouve pas la réponse reçue par Googlebot.

Méthode et critères du contrôle

Méthode
Envoyer une requête GET, suivre les redirections et relever le code final.

Critères attendus
Chaque GET atteint une réponse finale 200 pour la ressource attendue ; horodatage et chaîne conservés.

Non-applicabilité
Aucune page publique canonique dans le périmètre déclaré.

Règles détaillées

TS01-A01 · GET final en 200

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque page publique désignée canonique, dans le contexte de requête déclaré.

Preuves
Intention par URL ; commande et version de l’outil ; trace GET datée, URL et codes de tous les sauts, en-têtes finaux et indicateurs de troncature.

Méthode
Exécuter un GET sans cache conditionnel ; enregistrer chaque saut et la réponse finale. Déclarer agent, en-têtes, cookies/authentification, réseau, heure et bornes de temps, taille et redirections.

Critères attendus
Une réponse finale complète est observée en 200. Un 204, 206, 4xx ou 5xx final observé contredit cet attendu ; HEAD seul ou 304 sans représentation ne suffit pas.

Quand le résultat reste indéterminé
Délai, DNS/TLS, chaîne interrompue, borne atteinte, capture incomplète, requête HEAD seule ou 304 sans corps conservé : inconclusive, sans défaut SEO déduit.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
La requête et ses bornes sont déclarées avant l’essai ; le 200 est une exigence TSEP pour cette population.

Limites
Ni disponibilité permanente ni réponse réelle de Googlebot. Une chaîne observée ne valide pas TS02.

TS01-A02 · Ressource finale attendue

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque réponse finale dont le contenu peut être comparé à l’intention.

Preuves
Trace HTTP, corps complet et intention préalable datée avec URL, empreinte de référence et éventuels marqueurs/politique de stabilité ; extraction, valeurs calculées et outil/version. Empreinte après décodage de transfert et de contenu, avant toute transformation. Marqueurs littéraux sensibles à la casse dans chaque segment de texte source HTML décodé : entités résolues, commentaires, script/style, balises et attributs exclus, segments jamais concaténés à travers le balisage. Pour text/plain, corps décodé intégral. Ni normalisation des espaces ni expression régulière. Le profil parsé distinct normalise CRLF/CR source en LF avant expansion des références, sans modifier les critères ; conserve les deux projections, contextes, positions, erreurs rapportées, résultats et outils. Les contextes identiques sont référencés sans suppression de segments ; arbres reconstructibles à partir du corps et des outils exacts.

Méthode
Comparer d’abord l’URL finale à expected_final_url, puis le SHA-256 du corps complet à expected_body_sha256. Fixer références, éventuelle stabilité et marqueurs avant la mesure. La branche de variation sans stabilité utilise le lecteur historique, sauf identity_reader: html-tree-markers-v1 déclaré au préalable : deux hypothèses statiques globales, segments parsés attribués aux octets et critères littéraux. L’empreinte porte toujours sur le corps complet inchangé. Édition draft.6 : les espaces ASCII structurels sous html ou traversant uniquement les fermetures body/html sont exclus avec leurs positions et octets conservés ; voir migration-0.3.0-draft.6. Le profil distinct html-tree-markers-v2 exclut les segments sous noscript de toute comparaison de marqueurs, y compris aux recontrôles. Le profil v1 garde sa sémantique historique. Une intention doit nommer explicitement le profil retenu avant la nouvelle capture. Le profil distinct html-tree-markers-v3 porte sur le texte HTML principal : exclusions attribuées noscript/iframe/sous-arbres étrangers ; un interdit dans ces exclusions empêche pass ; seuls les doublons d’attributs sont admis parmi les erreurs parse5, sans interprétation de directives. Espaces ASCII traversant des fermetures ignorées admis seulement avec reconstruction exacte. Voir migration-0.3.0-draft.7 pour les limites et la migration explicite.

Critères attendus
URL finale différente : fail. À URL identique, empreinte identique : pass. Sinon, representation: stable impose fail. Sinon, sous le lecteur historique, des marqueurs valides donnent fail si un requis manque ou si un interdit apparaît. Pass exige au moins un marqueur requis, tous les requis présents et tous les interdits absents. Interdits seuls absents : inconclusive. Sans marqueurs ni stabilité déclarée : inconclusive. Le statut HTTP ne remplace pas cette comparaison. Sous html-tree-markers-v1, chaque lecture complète compare tous les marqueurs ; deux pass donnent pass, deux fail donnent fail, tout autre couple donne inconclusive. Les priorités URL, empreinte et stabilité restent inchangées.

Quand le résultat reste indéterminé
Capture absente/tronquée, décodage inconnu, référence URL absente/invalide, intention postérieure : inconclusive. À URL identique, empreinte de référence absente/invalide : inconclusive. Si les empreintes diffèrent sans stabilité, marqueurs absents, vides, malformés ou contradictoires, extraction indéterminée, ou interdits seuls tous absents : inconclusive. Une URL différente reste fail même sans empreinte de référence. Pour le profil parsé : divergence des hypothèses, erreur rapportée par parse5, texte étranger non blanc hors exclusions, frames/contextes non qualifiés, intervalles non attribuables, runtime indisponible ou borne dépassée restent inconclusive, sans repli.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
Le responsable fixe une représentation de référence avant la collecte ; sa pertinence métier reste sa responsabilité. La comparaison est automatique, la définition de l’intention ne l’est pas. Le profil éventuel et ses critères sont déclarés dans une nouvelle intention avant capture ; aucune sélection ou conversion silencieuse des anciennes intentions.

Limites
Une variation d’empreinte seule ne prouve pas un contenu erroné. L’extraction du texte source ne mesure ni visibilité CSS/DOM, ni similarité sémantique ; titre et texte masqué par CSS peuvent compter. Des marqueurs pertinents et une référence correcte restent la responsabilité du propriétaire. Une mauvaise intention peut valider un mauvais contenu. Ni classification soft 404 du moteur, ni indexation, ni routes non déclarées. Le nouveau profil conserve title/textarea/options/textes masqués, exclut scripts/styles HTML/SVG et templates inactifs ; le contrat précise les refus. Aucun comportement navigateur, validité HTML complète ou nouvelle évaluation Edikka déduit.

Importer les preuves de ce contrôle

TS02 · 2 règles

Les redirections sont intentionnelles, directes et sans boucle.

Variantes et anciennes URL dont le comportement attendu est déclaré.

À réunir

Destination finale unique, chaîne documentée, absence de boucle.

Une redirection valide ne prouve pas la pertinence sémantique de sa destination. La référence exécutable borne les trajectoires serveur HTTP ; les autres mécanismes restent non établis, sans exemption du contrôle.

Méthode et critères du contrôle

Méthode
Tester les variantes HTTP/HTTPS, hôte, slash et anciennes URL avec le nombre de redirections.

Critères attendus
Chaque variante testée suit la destination et le nombre de sauts autorisés, sans boucle ; intention validée par le responsable.

Non-applicabilité
Aucune redirection ni variante attendue, inventaire à l’appui.

Règles détaillées

TS02-A01 · Plan de redirection approuvé au préalable

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Variantes et anciennes URL dont le comportement attendu est déclaré.

Preuves
Plan, contexte, identité déclarée et rôle du responsable, date, décision, motif, assistance et provenance de la revue ; empreinte exacte des critères examinés.

Méthode
Déclarer source, destination finale, statuts de redirection et terminaux admis, nombres minimal et maximal de redirections et contexte. Vérifier la revue fournie du responsable, motivée, datée entre déclaration et capture et liée par empreinte au plan/contexte.

Critères attendus
Le plan applicable est explicitement approuvé par le responsable avant la capture. Un rejet explicite lié au même plan est fail ; une revue absente ou non attribuable reste inconclusive.

Quand le résultat reste indéterminé
Plan absent, invalide ou postérieur ; validation manquante, non liée ou hors période ; mécanisme non couvert. L’outil ne fournit aucune approbation humaine.

Non-applicabilité
Aucune exemption atomique. La non-applicabilité du contrôle exige un inventaire positif distinct ; elle ne découle pas d’une capture absente.

Hypothèses
Le responsable fournit ses critères avant la capture ; un auteur de laboratoire peut fournir une revue synthétique explicitement identifiée. Une empreinte lie les pièces, sans authentifier une personne.

Limites
Une redirection valide ne prouve pas la pertinence sémantique de sa destination. La référence exécutable borne les trajectoires serveur HTTP ; les autres mécanismes restent non établis, sans exemption du contrôle.

TS02-A02 · Trajectoire HTTP conforme au plan

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Variantes et anciennes URL dont le comportement attendu est déclaré.

Preuves
Requêtes et réponses HTTP originales pour chaque saut, URL, complétude, client et contexte ; plan antérieur. Une contradiction prouvée survit aux lacunes ultérieures et à l’absence d’approbation A01.

Méthode
Lire chaque échange GET attribuable dans l’ordre, résoudre Location, conserver codes et URL, compter les redirections et vérifier destination/statut terminaux. Comparer au plan fixé avant la capture, sans reconstruire les réponses manquantes. Le profil préalable http-trajectory-headers-v1 peut conclure sur les en-têtes complets après un arrêt attribué à la borne d’octets du collecteur 2 ; le corps reste incomplet et non évalué.

Critères attendus
La chaîne complète respecte destination, statuts et bornes déclarés, sans boucle. Un type interdit, une borne maximale dépassée, une redirection sans Location ou un retour vers une URL déjà parcourue sont fail dès le préfixe complet qui les prouve. Une destination/statut terminal ou un nombre minimal contradictoires sont fail après réponse terminale attribuable.

Quand le résultat reste indéterminé
Chaîne inachevée sans contradiction, limite de collecte atteinte, Location ambiguë, fragment ou syntaxe hors portée, requête conditionnelle/authentifiée, capture incomplète ou mal attribuée. Atteindre une borne de collecte ne prouve pas une boucle ; dépasser une borne d’intention est distinct. Exception bornée : préfixe à la limite exactement attestée avec un octet excédentaire, sans ambiguïté d’en-têtes ou contradiction de framing, sous le nouveau profil explicite uniquement.

Non-applicabilité
Aucune exemption atomique. La non-applicabilité du contrôle exige un inventaire positif distinct ; elle ne découle pas d’une capture absente.

Hypothèses
Le responsable fournit ses critères avant la capture ; un auteur de laboratoire peut fournir une revue synthétique explicitement identifiée. Une empreinte lie les pièces, sans authentifier une personne.

Limites
Une redirection valide ne prouve pas la pertinence sémantique de sa destination. La référence exécutable borne les trajectoires serveur HTTP ; les autres mécanismes restent non établis, sans exemption du contrôle.

Importer les preuves de ce contrôle

TS03 · 1 règles

Les erreurs serveur et soft 404 ne remplacent pas une réponse explicite.

Routes synthétiques explicitement classées existantes, supprimées et inexistantes dans un plan daté ; la portée réelle n’est pas authentifiée.

À réunir

Plan d’intention antérieur, empreinte de liaison, attentes de corps, URL/GET et réponses HTTP brutes complètes pour chaque état requis ; conserver les contre-cas même si d’autres pièces manquent.

La sonde n’utilise que des captures synthétiques .invalid et des marqueurs littéraux UTF-8. Elle ne confirme ni existence réelle, suppression, disponibilité durable, qualité sémantique, ni classification soft 404 par Google. Une réponse ponctuelle 5xx échoue au statut déclaré sans prouver une panne persistante. Aucun site ni moteur n’est interrogé.

Méthode et critères du contrôle

Méthode
Avant les captures, lier à configuration le plan d’intention des trois états de route et leurs critères de contenu. Comparer une matrice HTTP GET fournie, sans résolution DNS ni collecte réseau.

Critères attendus
Pass qualifie seulement la matrice complète fournie : 200 et marqueurs attendus pour une route existante ; 404/410 et critères de corps déclarés pour les routes supprimées/inexistantes. Un 2xx pour ces dernières, un autre statut complet, ou une contradiction de marqueur est fail. La classification soft 404 reste hors mesure.

Non-applicabilité
Périmètre ne contenant aucun routage HTTP, justification fournie.

Règles détaillées

TS03-A01 · Réponses HTTP synthétiques comparées à un plan préalable

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Un plan de route contient au moins un état existant, supprimé et inexistant dans le périmètre synthétique.

Preuves
Le plan et son empreinte, les attentes content, puis pour chaque route la requête GET, la réponse HTTP brute, le statut, la date et le corps complet. Conserver les observations contradictoires et les lacunes séparément.

Méthode
Vérifier le plan antérieur et son empreinte ; comparer chaque GET/response attribuable, complète et liée à une route .invalid aux statuts permis et marqueurs littéraux UTF-8 fixés dans les attentes content.

Critères attendus
Pass exige exactement une réponse complète par route et tous les états requis : 200 pour existante, 404/410 pour supprimée ou inexistante, marqueurs requis présents et interdits absents. Une contradiction complète reste fail malgré doublon, autre capture incomplète ou lacune. Les 206/304, données absentes, ambiguës ou mal attribuées restent inconclusives.

Quand le résultat reste indéterminé
Plan absent/futur/mal lié, état de route manquant, doublon, HTTP incomplet, URL/client non attribuable, statut 206/304, contenu non UTF-8, marqueurs contradictoires dans le plan ou matrice incomplète ; une contradiction attribuable reste fail.

Non-applicabilité
Aucune exemption atomique. NA du contrôle entier exige un inventaire positif, complet, motivé et daté prouvant qu’aucun routage HTTP n’entre dans le périmètre.

Hypothèses
Le plan, les classifications et critères sont fournis et non authentifiés. La revue attachée est un exercice synthétique, pas une approbation indépendante.

Limites
Une capture .invalid ne teste aucun serveur. Les marqueurs sont recherchés littéralement dans le corps décodé, sans DOM, rendu, jugement sémantique ou classification de moteur. C ne porte que sur la matrice déclarée, pas sur un site entier, une disponibilité dans le temps, une indexation ou un ranking.

Importer les preuves de ce contrôle

TS04 · 2 règles

La politique robots effective correspond à l’intention déclarée.

Hôtes et agents pour lesquels une politique d’exploration est évaluée.

À réunir

Plan préalable, origine, product token et User-Agent, profil, robots brut daté, lignes retenues, réponses des ressources nécessaires et revues fournies.

robots.txt est un protocole d’exploration, pas un contrôle d’accès.

Méthode et critères du contrôle

Méthode
Déclarer avant collecte une origine, le robot, le profil d’interprétation et une matrice de ressources avec politique attendue ; confronter règles et accès selon A01–A02.

Critères attendus
Règles effectives et accès aux ressources correspondent à la politique déclarée ; une absence volontaire documentée peut être compatible, sans exiger systématiquement 200.

Non-applicabilité
Aucun hôte explorable dans le périmètre.

Règles détaillées

TS04-A01 · Politique par origine, robot et ressource

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque origine et matrice de chemins dont la politique d’exploration est évaluée.

Preuves
Matrice complète, intention antérieure, contexte, requête et réponse robots intégrales, profil et résultat motivé par ressource.

Méthode
Figer le profil et les autorisations/interdictions attendues avant les observations. Interpréter statut, groupes, règles et redirections du robots dans le contexte de l’origine initiale ; conserver les lignes qui déterminent chaque issue.

Critères attendus
Chaque politique observée correspond à l’intention déclarée. Une permission inattendue comme une interdiction inattendue est une contradiction. Une absence volontaire peut convenir selon le profil ; aucun statut 200 universel.

Quand le résultat reste indéterminé
Profil absent, capture ou chronologie manquante, syntaxe hors couverture, erreur/cache non résolu : inconclusive. Une contradiction attribuable sur une autre ressource reste fail. Un directive_crawler nul, inconnu ou incohérent rend la politique indéterminée sans repli vers le groupe du client. Une contradiction HTTP indépendante reste limitée au client observé.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
Profil choisi avant mesure, identique pour un contexte de campagne ; pas de sélection a posteriori du profil favorable. Distinguer modèle RFC, politique Google documentée et cache réellement inconnu. Le champ facultatif directive_crawler=googlebot, figé avant capture, sélectionne la politique Googlebot sur la seule représentation reçue par crawler, le User-Agent HTTP exact. robots_policy explicite et product_token concordant avec googlebot sans distinction de casse sont requis, comme pour TS07. Sans ce champ, le comportement historique est conservé. Le profil facultatif préalable google-robotstxt-fields-v2 étend la liste fermée des champs hors portée accès, selon le registre google/robotstxt épinglé ; anciens profils inchangés, sans sélection automatique.

Limites
semiAuto : matrice et pertinence du profil restent déclarées. La référence est bornée à une origine, des profils documentés et des captures fournies ; aucune visite, ingestion ou indexation du moteur n’est démontrée. En mode explicite, toute conclusion robots concerne le produit déclaré sur les octets reçus par le client, sans prouver la représentation reçue par Googlebot. Un statut HTTP contraire au plan (dont 401/403/429/5xx quand 200 est attendu) reste fail pour ce client, jamais une preuve de refus à Googlebot. Les champs du registre et sitemap sont relevés, sans évaluer leurs préférences d’usage, TS42 ou l’indexation ; ils ne délimitent pas les groupes. Autres champs et tolérances restent hors couverture. Numéros et valeurs intégrales sont conservés ; les aperçus de motifs signalent leur troncature.

TS04-A02 · Accès aux ressources nécessaires

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ressources explicitement nécessaires dans le périmètre déclaré, y compris les ressources de rendu retenues.

Preuves
Plan de ressources, robots, traces HTTP complètes, revue motivée par ressource avec identité déclarée, date, provenance, assistance et empreinte de liaison.

Méthode
Comparer politique robots et trajectoires HTTP aux destinations/statuts prévus, puis examiner les réponses pour obstacles. Lier chaque revue fournie aux octets, dates, intention et contexte. Conserver séparément les lacunes.

Critères attendus
Toutes les ressources nécessaires et leurs sauts observés sont autorisés sous le profil, atteignent la réponse prévue et ne présentent aucun obstacle selon la revue fournie. Blocage robots, réponse contradictoire ou obstacle étayé donne fail même avec une autre preuve manquante.

Quand le résultat reste indéterminé
Ressource ou revue manquante, revue non liée, réponse incomplète, doute ou portée hors couverture : inconclusive sans effacer une contradiction établie. Un directive_crawler nul, inconnu ou incohérent rend la politique indéterminée sans repli vers le groupe du client. Une contradiction HTTP indépendante reste limitée au client observé.

Non-applicabilité
Aucune ressource nécessaire dans ce périmètre, établi par une revue d’inventaire motivée et datée avant le plan ; une liste vide sans justification ne suffit pas.

Hypothèses
Un client de test ne s’authentifie pas comme Googlebot ; un 200 seul ne prouve pas l’absence de challenge. La revue n’est pas produite par le logiciel et son identité n’est pas authentifiée. Le champ facultatif directive_crawler=googlebot, figé avant capture, sélectionne la politique Googlebot sur la seule représentation reçue par crawler, le User-Agent HTTP exact. robots_policy explicite et product_token concordant avec googlebot sans distinction de casse sont requis, comme pour TS07. Sans ce champ, le comportement historique est conservé. Le profil facultatif préalable google-robotstxt-fields-v2 étend la liste fermée des champs hors portée accès, selon le registre google/robotstxt épinglé ; anciens profils inchangés, sans sélection automatique.

Limites
La suffisance de l’inventaire et le jugement humain restent hors automatisation complète. La référence couvre une origine et les trajectoires attribuables ; elle n’exécute pas le rendu et n’établit pas l’accès réel du moteur. En mode explicite, toute conclusion robots concerne le produit déclaré sur les octets reçus par le client, sans prouver la représentation reçue par Googlebot. Un statut HTTP contraire au plan (dont 401/403/429/5xx quand 200 est attendu) reste fail pour ce client, jamais une preuve de refus à Googlebot. Les champs du registre et sitemap sont relevés, sans évaluer leurs préférences d’usage, TS42 ou l’indexation ; ils ne délimitent pas les groupes. Autres champs et tolérances restent hors couverture. Numéros et valeurs intégrales sont conservés ; les aperçus de motifs signalent leur troncature.

Importer les preuves de ce contrôle

TS05 · 1 règles

Une directive Disallow n’est jamais présentée comme une garantie de désindexation.

Politiques d’exploration ou d’exclusion du périmètre.

À réunir

Records configuration et intent liés à la cible, carte antérieure datée, portée, mécanismes et affirmations avec leurs bases ; revue positive et datée pour une non-applicabilité.

Le lecteur compare un plan synthétique fourni ; il ne récupère aucun site, ne teste aucune authentification, ne vérifie pas l’exécution d’un retrait, ni l’état de l’index. Une URL bloquée peut rester connue et apparaître sans extrait. La qualification complète de TS05 et sa réception dans l’application sont distinctes.

Méthode et critères du contrôle

Méthode
Comparer une carte de décision datée avant l’observation — exploration, objectif et méthode d’indexation, visibilité de noindex, protection et portée des affirmations — au record de configuration fourni.

Critères attendus
Un pass indique uniquement la cohérence interne du plan fourni. Exploration, indexation et protection sont séparées ; Disallow seul ne garantit ni désindexation ni confidentialité. Aucun état réel de l’index ou du serveur n’est établi.

Non-applicabilité
Aucune politique concernée, périmètre et décision documentés.

Règles détaillées

TS05-A01 · Carte fournie : exploration, indexation et protection sont distinctes.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Une politique d’exploration, un objectif d’indexation ou une déclaration de confidentialité existe dans le périmètre.

Preuves
Configuration, carte d’intention préalable, dates, périmètre, méthodes/effets et affirmations avec bases ; les deux records couvrent la cible.

Méthode
Lire intent.ts05_policy, datée avant observed_at, et le record configuration. Comparer les méthodes/effets d’exploration, l’objectif/méthode de l’indexation et la visibilité de noindex, puis la protection et les bases d’affirmations de désindexation/confidentialité. Le profil policy_version=2 compare aussi authentification, autorisation et suppression HTTP 404/410. Une exclusion empêchée par Disallow est contradictoire, même sans garantie affirmée. Le résultat porte uniquement sur la cohérence du plan déclaré ; il ne prouve ni désindexation ni confidentialité.

Critères attendus
Pass signifie seulement que la carte fournie est cohérente et distingue les trois axes. Une garantie de désindexation fondée seulement sur Disallow échoue ; une directive noindex inaccessible n’établit pas une exclusion. Aucun verdict positif ne prouve l’état de l’index, l’accès réel du robot ou la confidentialité serveur.

Quand le résultat reste indéterminé
Plan absent, mal daté, incomplet ou futur ; méthode non prise en charge ; index inconnu ; noindex bloqué ou visibilité inconnue ; retrait non terminé ; bases de protection indéterminées.

Non-applicabilité
Ce test atomique n’accepte pas d’exemption partielle. NA du contrôle entier exige une revue d’inventaire complète, motivée et datée avant observed_at, prouvant l’absence de politique concernée sur chaque cible.

Hypothèses
Les records sont fournis et non authentifiés. L’interpréteur teste leur forme et cohérence déclarée, non leur vérité ni leur mise en œuvre.

Limites
Mécanisme semi-automatisé sur un modèle synthétique. N’interprète pas robots.txt, meta, X-Robots-Tag ou HTTP en direct ; ne mesure pas la visite, l’indexation, le retrait ou les contrôles d’accès. Pass qualifie uniquement la cohérence de la carte fournie.

Importer les preuves de ce contrôle

TS06 · 1 règles

Les zones sensibles refusent réellement l’accès au serveur.

Routes privées ou sensibles explicitement inventoriées dans un périmètre déclaré ; cette règle candidate ne qualifie que les traces HTTP synthétiques fournies.

À réunir

Records configuration, intent et HTTP fournis, empreinte exacte du plan, dates, identifiants route/rôle, chaque échange GET brut et ordre, liste complète des cellules non autorisées et chaque étiquette/phase de triplet. Conserver aussi les réponses contradictoires attribuables avant de signaler toute lacune de matrice.

Interpréteur de fixture borné aux URL-étiquettes .invalid, sans DNS, socket, crawl ni domaine réel. Un rôle HTTP est une étiquette synthétique, pas une authentification. Une étiquette de cache commune ne prouve aucun cache partagé ; Age/X-Cache seuls ne prouvent pas l’attribution. La règle n’exécute pas cookies, Authorization, JavaScript, TLS, variantes d’URL ou méthode HEAD. 206, 304 sans corps complet, codage non pris en charge, cellule manquante/ambiguë et état de cache incomplet donnent inconclusive. Le résultat ne qualifie pas toutes les pages d’un site.

Méthode et critères du contrôle

Méthode
Avant les observations, fournir intent.ts06_access et son empreinte liée à configuration.ts06_access. Déclarer routes, marqueurs synthétiques, rôles fictifs, tests exacts par route/rôle et triplets froid anonyme → amorçage autorisé synthétique → rejeu anonyme, avec même étiquette de cache. Examiner les GET fournis sans résolution DNS ni requête réseau. Les redirections d’authentification doivent rester sur la même origine (schéma, hôte, port effectif) et suivre une liste de chemins explicitement déclarée. Une réponse 404 ne compte comme refus que si le plan la déclare pour cette route.

Critères attendus
Pass signifie seulement que toutes les cellules route/rôle non autorisées déclarées sont complètes, refusées sans marqueur sensible et que chaque triplet fourni suit l’ordre déclaré sans fuite au rejeu ; le contrôle ne mesure ni une identité réelle ni un cache réel. Toute réponse attribuable à un rôle non autorisé contenant un canari échoue, y compris un corps encodé détecté ou un en-tête de réponse. Une représentation 2xx livrée à un rôle non autorisé échoue aussi.

Non-applicabilité
Le contrôle entier peut être NA seulement avec une revue d’inventaire synthétique complète, datée et motivée qui déclare aucune route sensible dans le périmètre ; aucun test ni triplet contradictoire ne peut alors être présent.

Règles détaillées

TS06-A01 · Accès refusé dans la matrice HTTP synthétique fournie

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Au moins une route sensible est explicitement déclarée dans le périmètre synthétique.

Preuves
Records configuration/intent/http liés à la cible, empreinte du plan, routes/rôles/tests, échanges GET bruts avec horodatages, canaris et triplets de cache étiquetés.

Méthode
Comparer le plan préalable lié à la configuration à une matrice complète de GET synthétiques par route et rôle. Détecter les marqueurs dans les en-têtes et corps, préserver les contradictions avant validation des doublons/lacunes, vérifier les redirections de même origine et les séquences froid/autorisé/rejeu.

Critères attendus
Pass couvre uniquement la matrice synthétique complète fournie : aucune réponse non autorisée ne contient de canari, les refus sont établis selon le plan, et chaque triplet froid → amorçage autorisé → rejeu anonyme est complet et ordonné. Une fuite attribuable ou une représentation 2xx non autorisée donne fail.

Quand le résultat reste indéterminé
Plan absent/futur/incohérent, cellule manquante ou dupliquée, en-tête d’identification absent/ambigu, redirection externe, 206, 304 sans représentation conservée, codage non pris en charge ou triplet/attribution incomplets.

Non-applicabilité
Aucune exemption atomique. Le NA du contrôle entier exige une revue d’inventaire complète, datée et motivée ; elle doit être liée à intent.

Hypothèses
Les fixtures sont fournies, synthétiques et non authentifiées. L’étiquette de rôle et l’identifiant de cache ne prouvent ni identité ni cache partagé.

Limites
Pas de DNS, socket, collecte live, identité réelle, authentification, cookie, cache réel, TLS, JavaScript, alias de chemin, HEAD ni évaluation de site entier. La détection de canaris couvre uniquement les codages implémentés ; le reste est inconclusif.

Importer les preuves de ce contrôle

TS07 · 3 règles

Les directives meta robots et X-Robots-Tag sont cohérentes avec l’objectif de la page.

Documents et ressources dont l’objectif d’indexation est déclaré.

À réunir

Directive unique ou combinaison compatible, sans noindex accidentel.

Le moteur doit pouvoir explorer la ressource pour lire la directive.

Méthode et critères du contrôle

Méthode
Examiner les en-têtes finaux, le HTML source, l’accès et les états rendus nécessaires selon A01–A03.

Critères attendus
Les directives effectives du robot cible, dans les en-têtes finaux et le HTML, correspondent à cet objectif ; directives inconnues et états rendus nécessaires sont examinés.

Non-applicabilité
Aucune ressource soumise à une politique d’indexation dans le périmètre.

Règles détaillées

TS07-A01 · Directives effectives et objectif

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque document avec objectif d’indexation déclaré, pour un robot et un contexte explicitement nommés.

Preuves
En-têtes répétés bruts, HTML source, tableau token/robot/effet et référence technique datée. Pour un non-HTML, le fichier de type html décrit la non-applicabilité de cette surface avec le Content-Type, sans inventer de HTML. Ce profil conserve aussi les deux inventaires meta complets, contextes/namespaces, tags et positions dans les octets d’origine, templates, décodage, erreurs signalées, versions et empreintes dans les observations calculées liées au rapport et comparées au rejeu. Le nouveau profil conserve aussi les valeurs HTTP/meta ordonnées, portées, inconnues, décisions et intervalles par dimension dans les observations liées et rejouées.

Méthode
Inventorier tous les X-Robots-Tag finaux et meta robots/robot cible dans le HTML source, sans les confondre avec les sauts. Appliquer la sémantique documentée du robot, y compris doublons, portée, casse, paramètres et directives ignorées. Le profil facultatif source_reader=html-tree-directives-v1, déclaré avant capture, construit deux hypothèses statiques complètes sans exécuter de script ; les meta HTML robots/googlebot de head/body sans ancêtre étranger sont combinés séparément avec les en-têtes finaux. Les contenus des templates ordinaires sont conservés mais exclus des directives actives. Le choix préalable facultatif presentation_reader=google-preview-intent-v1 compare les intervalles minimum/maximum de permission texte, image et vidéo selon le contrat preview-intent ; extraction et états restent distincts. Le profil google-indexing-2026-10-v2 interprète les directives Googlebot de la page autonome. Une exclusion certaine demeure probante avec des jetons inconnus. Les restrictions datées sont comparées à la capture ; les consignes ignorées et inconnues sont conservées. Un noindex HTTP certain reste interprétable même si le corps ne peut être lu. Accès et rendu restent séparés. Le profil v2 exige des virgules entre les règles, ou des champs/balises distincts. Une liste séparée seulement par des espaces est une syntaxe non documentée : NT en l’absence de preuve indépendante décisive ; une contradiction certaine dans un autre champ reste NC. La virgule d’une date RFC dans unavailable_after est conservée. Le profil v1 reste explicitement historique, sans migration implicite. Les dates v2 doivent être entièrement reconnues par la grammaire bornée de la migration draft.9, identique entre interpréteurs ; format plausible non pris en charge, suffixe ou changement de portée sans séparateur : NT sans preuve indépendante décisive. Même index follow reste NT : cette limite est explicite. Toute année RFC à deux chiffres reste hors du profil v2 : NT sans preuve indépendante décisive, même si le calendrier ou le jour de semaine paraît résoudre le siècle. Seules les années à quatre chiffres sont évaluables. Les décalages négatifs nuls gardent un instant UTC connu. Une restriction expire strictement après sa date ; une égalité ne constitue pas une expiration.

Critères attendus
L’effet combiné correspond à l’objectif déclaré d’indexation et aux restrictions de présentation/liens déclarées. Pour Google : une restriction applicable prime une permission, none inclut noindex/nofollow ; nofollow ou une limite d’aperçu seuls ne signifient pas noindex. L’absence de directive n’est pas un échec si l’objectif autorise l’indexation. Pour ce profil, deux pass donnent pass, deux fail donnent fail, toute autre paire reste inconclusive ; ne jamais fusionner les directives des hypothèses alternatives ni les confondre avec des états rendus observés. Pour ce nouveau profil, toutes les valeurs possibles dans l’intervalle voulu donnent pass ; toutes hors intervalle du même côté donnent fail ; sinon inconclusive. Une contradiction indépendante prévaut dans une lecture ; les règles de consensus source et de priorité rendue restent inchangées.

Quand le résultat reste indéterminé
Objectif absent, syntaxe/portée inconnue, capture partielle ou contexte manquant : inconclusive. Une directive documentée comme ignorée est consignée, pas transformée automatiquement en erreur. directive_crawler présent mais non pris en charge, nul ou incohérent : inconclusive ; aucun repli favorable. Pour ce profil : lecture incomplète, erreur signalée, encodage non couvert, shadow déclaratif open/closed, template for, metadata robots de contexte étranger, contenu absent/rôle mixte ou forme approchante définie au contrat, directive inconnue et dépassement de borne restent indéterminés. Un HTML illisible ne devient pas un accord fondé sur les seuls en-têtes. Le profil de présentation garde les défauts d’image non qualifiés, l’interaction vidéo de max-snippet:0, les syntaxes non couvertes et les dépassements comme inconnues selon les intervalles conservateurs du contrat. Noindex ne donne pas un pass de présentation.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
Intention et robot figés avant revue ; ne pas extrapoler les règles Google à un autre moteur. En cas d’indexifembedded ou unavailable_after, inclure contexte d’intégration et date nécessaires. L’intention conserve crawler comme User-Agent HTTP exact. Le champ facultatif directive_crawler, figé avant capture et limité ici à googlebot, choisit la sémantique des directives sur cette seule représentation cliente ; il ne décrit pas une réponse reçue par Googlebot. Sans ce champ, le comportement historique exige crawler=googlebot. Sans source_reader, garder le lecteur historique ; nul/inconnu ou Node 24 absent ne se replie pas. Le profil exige HTML HTTP UTF-8 explicite, consomme un BOM initial, conserve les réparations non signalées du parseur épinglé. Les règles et bornes du contrat bilingue source-directives précisent les hypothèses, sans assertion de validité HTML. Les bornes portent sur un plafond de permission, pas sur l’affichage réel. Le choix et les bornes sont préalables ; absence du lecteur conserve le comportement historique et aucun scalaire n’est migré automatiquement.

Limites
Évalue les déclarations observées, pas leur ingestion ni l’indexation réelle. A01 seul ne couvre pas l’accès ou le rendu. Automatisation semiAuto : l’interpréteur borné ne couvre pas toutes les syntaxes, tous les robots ou tous les contextes ; les entrées non prises en charge restent inconclusive et exigent une revue. Ce choix méthodologique ne simule pas Google. Aucun rendu, accès, revue ou résultat TS10 n’est déduit. Le profil de présentation ne vérifie ni affichage Google, ni disponibilité d’image, ni data-nosnippet, ni usages sous licence, données structurées ou IA ; aucune revue n’est produite.

TS07-A02 · Accès à la directive

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Toute ressource pour laquelle l’effet des directives est évalué.

Preuves
Capture et interprétation robots pour URL/robot, trace HTTP et hypothèses d’accès documentées dans l’intention.

Méthode
Confronter politique robots effective et conditions d’accès au robot cible ; distinguer réponse au client de test, blocage explicite et accès du robot non observé. Avec directive_crawler explicite, exiger un robots_policy explicite dont product_token concorde avec googlebot sans distinction de casse ; sélectionner ce groupe et jamais le groupe de l’agent du navigateur par repli.

Critères attendus
Aucun obstacle observé n’empêche de lire la directive dans le contexte déclaré. Une interdiction robots contredit une stratégie reposant sur la lecture de noindex. Un refus HTTP 401/403 attribuable reste fail même si la capture robots manque.

Quand le résultat reste indéterminé
Politique inaccessible ou ambiguë, challenge non résolu, capture manquante : inconclusive, jamais NA pour manque d’accès. Le nouveau chemin sans profil concordant reste indéterminé. Le refus HTTP 401/403 attribuable conserve sa priorité.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
La politique est interprétée par le lecteur partagé TS04. Un nouveau profil est déclaré dans l’intention avant capture. Sans champ robots_policy, les anciennes entrées restent sous le profil fixe legacy-exact-v1, sans extension implicite de sa couverture. Le client ne s’authentifie pas comme Googlebot. L’intention conserve crawler comme User-Agent HTTP exact. Le champ facultatif directive_crawler, figé avant capture et limité ici à googlebot, choisit la sémantique des directives sur cette seule représentation cliente ; il ne décrit pas une réponse reçue par Googlebot. Sans ce champ, les profils robots historiques conservent leur comportement. Le profil facultatif préalable google-robotstxt-fields-v2 étend la liste fermée des champs hors portée accès, selon le registre google/robotstxt épinglé ; anciens profils inchangés, sans sélection automatique.

Limites
Aucune preuve de visite réelle du moteur ; TS04 et les autres contrôles d’accès ne sont pas globalement validés. Automatisation semiAuto : l’interpréteur borné ne couvre pas toutes les syntaxes, tous les robots ou tous les contextes ; les entrées non prises en charge restent inconclusive et exigent une revue. Les champs du registre et sitemap sont relevés, sans évaluer leurs préférences d’usage, TS42 ou l’indexation ; ils ne délimitent pas les groupes. Autres champs et tolérances restent hors couverture. Numéros et valeurs intégrales sont conservés ; les aperçus de motifs signalent leur troncature.

TS07-A03 · États rendus nécessaires

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Pages dont scripts ou états peuvent affecter les directives, ou dont la stabilité n’est pas établie.

Preuves
En-têtes et HTML source conservés, plan préalable, DOM bruts datés avec empreinte de liaison à la trace HTTP, URL finale, contexte, navigateur/version, état des scripts, interactions, attente et erreurs. Comparaison motivée et limites ; aucune capture du moteur simulée. Le nouveau profil conserve aussi les valeurs HTTP/meta ordonnées, portées, inconnues, décisions et intervalles par dimension dans les observations liées et rejouées.

Méthode
Fixer avant la capture les états requis, interactions et conditions d’attente. Comparer les en-têtes finaux et le HTML source avec chaque DOM, en déclarant navigateur/version, scripts activés, heure, erreurs et contexte. Relier chaque capture à la réponse source et à la cible. Ne pas supposer que le moteur rend un HTML initial noindex. Le lecteur DOM est choisi avant capture : structured-inventory-v2 ou le lecteur sérialisé historique fixe en l’absence de champ. Aucun repli après un refus. L’inventaire structuré complet conserve namespaces, positions, doublons, sérialisation et pièces de rattachement à la navigation ; aucune suppression de nœud selon son origine supposée. Le nouveau source_reader facultatif affecte seulement le préalable source A01, jamais le lecteur de chaque DOM ; la priorité d’une contradiction rendue attribuable reste inchangée. Le choix préalable facultatif presentation_reader=google-preview-intent-v1 compare les intervalles minimum/maximum de permission texte, image et vidéo selon le contrat preview-intent ; extraction et états restent distincts.

Critères attendus
Tous les états requis sont documentés et compatibles avec l’objectif, dans le contexte déclaré. Une contradiction dans un état complet et attribuable est fail, même si d’autres états manquent. Un retrait de noindex initial par JavaScript ne donne pas pass : A03 reste inconclusive si aucun état requis ne fournit une autre contradiction ; A01 conserve son propre verdict source. Pour ce nouveau profil, toutes les valeurs possibles dans l’intervalle voulu donnent pass ; toutes hors intervalle du même côté donnent fail ; sinon inconclusive. Une contradiction indépendante prévaut dans une lecture ; les règles de consensus source et de priorité rendue restent inchangées.

Quand le résultat reste indéterminé
Plan ou capture requis absent, état tronqué, erreur de script, liaison source/cible/contexte incohérente, chronologie invalide, directive non interprétable ou retrait tardif du noindex initial : inconclusive sans réussite déduite. Une contradiction établie dans un autre état attribuable reste fail. Pour le lecteur structuré : arbre/transport incomplet, chargement en cours, API connue comme altérée, histoire d’intégrité absente, capture source/DOM séparée sans rattachement à une même navigation ou agent différent : inconclusive. Une empreinte seule ne prouve pas la navigation. directive_crawler présent mais non pris en charge, nul ou incohérent : inconclusive ; aucun repli favorable. Le profil de présentation garde les défauts d’image non qualifiés, l’interaction vidéo de max-snippet:0, les syntaxes non couvertes et les dépassements comme inconnues selon les intervalles conservateurs du contrat. Noindex ne donne pas un pass de présentation.

Non-applicabilité
Non-HTML ou stabilité des directives démontrée par revue documentée ; la preuve intent référence cette justification et ses pièces. Aucune simple affirmation « pas de JS ».

Hypothèses
Les états nécessaires sont listés avant le test ; rendu local et rendu du moteur restent distincts. Le lecteur structuré interprète les meta HTML enfants directs du head réel ; position ou shadow ambigu reste indéterminé. Il conserve la combinaison avec les en-têtes de la navigation déclarée. L’intention conserve crawler comme User-Agent HTTP exact. Le champ facultatif directive_crawler, figé avant capture et limité ici à googlebot, choisit la sémantique des directives sur cette seule représentation cliente ; il ne décrit pas une réponse reçue par Googlebot. Sans ce champ, le comportement historique exige crawler=googlebot. Les bornes portent sur un plafond de permission, pas sur l’affichage réel. Le choix et les bornes sont préalables ; absence du lecteur conserve le comportement historique et aucun scalaire n’est migré automatiquement.

Limites
semiAuto : le plan et la suffisance des observations nécessitent une revue. L’interpréteur compare des captures fournies ; il n’exécute pas JavaScript et ne démontre ni exhaustivité des états, ni TS25, ni rendu ou indexation du moteur. Rattachement et API fournis non authentifiés ; relevé synthétique explicitement signalé, jamais une visite réelle. Frames, fragments template et shadow fermés hors périmètre. Bornes et migration dans docs/structured-rendering.md. Le profil de présentation ne vérifie ni affichage Google, ni disponibilité d’image, ni data-nosnippet, ni usages sous licence, données structurées ou IA ; aucune revue n’est produite.

Importer les preuves de ce contrôle

TS08 · 3 règles

Le statut d’indexation réel est vérifié dans Search Console.

URL dont l’état dans Google doit être établi.

À réunir

URL connue, exploration autorisée, indexation et canonique Google documentées.

API non live, attribution et dates fournies non authentifiées ; champs manquants/réservés, fraîcheur insuffisante et revues absentes restent inconclusifs selon le profil borné. Aucune extrapolation au site.

Méthode et critères du contrôle

Méthode
Déclarer sélection, objectifs, sources et connaissances antérieures avant acquisition ; conserver les JSON API, leurs limites et les revues fournies selon google-inspection-evidence-v1.

Critères attendus
Les trois règles réussissent pour tout l’ensemble sélectionné. C qualifie le dossier du statut rapporté par Google, jamais une promesse d’indexation ni l’état actuel du site.

Non-applicabilité
Le moteur Google est explicitement hors périmètre ; absence d’accès seule ne suffit pas.

Règles détaillées

TS08-A01 · Périmètre et objectifs préalables qualifiés.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble explicite d’URL dont l’état rapporté par Google doit être documenté.

Preuves
Plan daté et sourcé, JSON requête/réponse natifs et empreintes, métadonnées réelles, revues fournies liées aux pièces ; contrat inspection-evidence-v1.

Méthode
Déclarer les membres, leur objectif/source, motif de sélection, connaissances antérieures et politique de fraîcheur ; conserver la revue préalable liée au plan.

Critères attendus
Sélection et objectifs qualifiés supported, plan et revue avant acquisition, aucun membre omis. Une contradiction fournie ou une acquisition antérieure au plan donne fail ; absence seule reste indéterminée.

Quand le résultat reste indéterminé
Pièce, revue ou liaison manquante, invalide ou ambiguë ; limites, inconnues et erreurs API conservées.

Non-applicabilité
Aucune exemption atomique ; absence d’accès ne vaut pas NA.

Hypothèses
Dates, auteur, provenance, accès et attribution sont déclarés, jamais authentifiés par leurs seules empreintes.

Limites
Dossier de la sélection seulement ; API non live et dernier crawl distinct de la date des champs. Ni état actuel, ni causalité, ni TS12, ni résultats SEO déduits.

TS08-A02 · Inspections natives attribuées et lisibles.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble explicite d’URL dont l’état rapporté par Google doit être documenté.

Preuves
Plan daté et sourcé, JSON requête/réponse natifs et empreintes, métadonnées réelles, revues fournies liées aux pièces ; contrat inspection-evidence-v1.

Méthode
Lire les octets natifs avec le diagnostic 1, comparer l’attribution URL/propriété, conserver les champs et contrôler les dates selon la politique préalable.

Critères attendus
Chaque membre possède une réponse exploitable avec champs requis connus et dates dans la politique. Les absences API expressément admises restent visibles ; erreur API et valeurs inconnues ne deviennent pas C.

Quand le résultat reste indéterminé
Pièce, revue ou liaison manquante, invalide ou ambiguë ; limites, inconnues et erreurs API conservées.

Non-applicabilité
Aucune exemption atomique ; absence d’accès ne vaut pas NA.

Hypothèses
Dates, auteur, provenance, accès et attribution sont déclarés, jamais authentifiés par leurs seules empreintes.

Limites
Dossier de la sélection seulement ; API non live et dernier crawl distinct de la date des champs. Ni état actuel, ni causalité, ni TS12, ni résultats SEO déduits.

TS08-A03 · Interprétation et décision liées aux preuves.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble explicite d’URL dont l’état rapporté par Google doit être documenté.

Preuves
Plan daté et sourcé, JSON requête/réponse natifs et empreintes, métadonnées réelles, revues fournies liées aux pièces ; contrat inspection-evidence-v1.

Méthode
Lire la revue fournie : verdict API repris exactement, interprétation, relation à l’objectif préalable, portée temporelle, explication typée et décision opérationnelle.

Critères attendus
Toutes les facettes sont qualifiées ; un écart documenté peut passer. Contradiction explicite de verdict/portée ou qualification contradiction donne fail et survit aux inconnues indépendantes. Revue absente ou cause non étayée reste inconclusive.

Quand le résultat reste indéterminé
Pièce, revue ou liaison manquante, invalide ou ambiguë ; limites, inconnues et erreurs API conservées.

Non-applicabilité
Aucune exemption atomique ; absence d’accès ne vaut pas NA.

Hypothèses
Dates, auteur, provenance, accès et attribution sont déclarés, jamais authentifiés par leurs seules empreintes.

Limites
Dossier de la sélection seulement ; API non live et dernier crawl distinct de la date des champs. Ni état actuel, ni causalité, ni TS12, ni résultats SEO déduits.

Importer les preuves de ce contrôle

TS09 · 1 règles

Les exclusions volontaires ont un propriétaire et une justification.

Familles volontairement exclues.

À réunir

Registre des exclusions : type de page, mécanisme, motif, propriétaire, révision.

La pertinence métier de l’exclusion ne peut pas être automatisée.

Méthode et critères du contrôle

Méthode
Relier chaque famille exclue à une règle, un responsable et une date de revue.

Critères attendus
Chaque exclusion du périmètre possède mécanisme, motif, propriétaire et date de revue.

Non-applicabilité
Aucune exclusion volontaire, inventaire de politique fourni.

Règles détaillées

TS09-A01 · Registre des exclusions et responsabilités

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS09 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : configuration, intent.

Méthode
Lire le registre natif JSON exclusion-register-v1 ; rapprocher chaque famille sélectionnée du mécanisme préalable, puis vérifier propriétaire, motif et date de revue. Exiger une revue liée au dossier. Le profil url-exclusion-observed-v2 exige un registre, une réponse HTTP représentative et robots.txt par famille, puis une revue explicitement liée aux preuves affichées. Une contradiction native reste NC en l’absence de revue ; une correspondance sans revue reste NT. Une famille entière, l’index Google et la confidentialité ne sont pas établis par cet échantillon.

Critères attendus
Les mécanismes concordent et chaque famille a ses informations de gouvernance ; la revue fournie confirme le périmètre. Une divergence de mécanisme échoue.

Quand le résultat reste indéterminé
Un champ absent ou ambigu, un registre manquant ou une revue non liée donne indéterminé. La date de revue est une date de calendrier déclarée, pas une preuve de réalisation.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

Importer les preuves de ce contrôle

TS10 · 4 règles

Chaque page canonique publie une URL absolue, stable et cohérente.

Familles déclarant une stratégie de canonicalisation.

À réunir

Signaux convergents vers la même URL canonique sans chaîne.

rel=canonical est un signal fort, pas une directive garantie.

Méthode et critères du contrôle

Méthode
Comparer URL finale, rel=canonical, sitemap et liens internes.

Critères attendus
Les quatre règles A01–A04 établissent une préférence cohérente selon la stratégie déclarée ; exceptions et absences sont justifiées, pas déduites d’un défaut de collecte.

Non-applicabilité
Aucun document concerné, inventaire et stratégie à l’appui.

Règles détaillées

TS10-A01 · Déclaration canonique

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque membre d’une famille et sa stratégie de canonicalisation déclarée.

Preuves
Inventaire de famille dans intent ; en-têtes et source (ou record html non applicable pour non-HTML) ; extraction avec emplacement et méthode, DOM requis joint si nécessaire. Relier chaque capture à la famille, au contexte et à la date. Déclarer les méthodes et les états DOM requis avant examen ; lier les DOM à la trace HTTP par empreinte. Une exemption de rendu exige une revue liée à la source et ses pièces, pas une simple affirmation « pas de JS ». Conserver aussi les observations du profil : document, corps, canonical/base, templates, tokens du préfixe, contexte, erreurs, décodage, sources/runtime et décisions séparées. Le rejeu les compare. Diagnostic HTTP ordonné, champs et paramètres bruts, contextes exclus/inconnus, URL finale/demandée, date et empreinte de la chaîne conservés.

Méthode
Lister membres, URL préférée et méthode attendue ; comparer URL finales, Link HTTP, rel=canonical HTML et états rendus nécessaires. Conserver les déclarations multiples, même identiques. Le lecteur DOM est choisi avant capture : structured-inventory-v2 ou le lecteur sérialisé historique fixe en l’absence de champ. Aucun repli après un refus. L’inventaire structuré complet conserve namespaces, positions, doublons, sérialisation et pièces de rattachement à la navigation ; aucune suppression de nœud selon son origine supposée. Le profil source facultatif intent.canonical.source_reader=html-tree-canonical-v1 est choisi avant capture ; il compare deux hypothèses statiques complètes, avec positions source/arbre attribuées aux octets. Le contrat source-canonical.md fixe ses frontières. Le choix préalable facultatif intent.canonical.http_reader=http-link-context-v1 applique le contrat docs/http-canonical-context.md aux Link de la réponse finale GET 200 ; absence de champ conserve le lecteur historique.

Critères attendus
Les signaux présents et ceux exigés par la stratégie désignent la même URL HTTP(S) absolue, sans fragment. HTML dans head ou en-tête Link sont acceptés ; pas d’obligation universelle d’une balise HTML. Une canonical relative est fail pour cette règle TSEP, sans affirmer son invalidité pour Google. Les déclarations répétées identiques sont conservées et peuvent converger ; un conflit attribuable demeure fail malgré une autre capture manquante. Deux lectures source pass donnent pass, deux fail donnent fail ; sinon inconclusive. Une canonical ordinaire dans body reste une contradiction, même de valeur égale. Les valeurs relatives ne sont jamais résolues via base. Les contradictions HTTP Link, redirections ou DOM attribuables restent indépendantes des inconnues source. La nouvelle lecture distingue contexte et destination littérale, conserve le premier rel et les déclarations répétées ; aucune inconnue ne permet pass, une contradiction HTTP attribuable indépendante demeure fail.

Quand le résultat reste indéterminé
Famille/intention incomplète, Link ambigu, document tronqué ou état rendu requis absent : inconclusive. Pour le lecteur structuré : arbre/transport incomplet, chargement en cours, API connue comme altérée, histoire d’intégrité absente, capture source/DOM séparée sans rattachement à une même navigation ou agent différent : inconclusive. Une empreinte seule ne prouve pas la navigation. Réinsertion après fermeture explicite du head, descendant indirect, contexte étranger, modificateur/attribut inconnu, shadow déclaré, lecture ou diagnostic borné incomplet empêchent une réussite selon le contrat ; une contradiction distincte qualifiée reste conservée. Sélection HTTP inconnue, contexte non qualifié/équivalence incertaine, extension ou syntaxe hors couverture : inconclusive sans repli favorable ; les bornes et leur portée sont fixées dans le contrat HTTP.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
La stratégie distingue canonical préférée et doublons ; aucune suppression implicite de paramètres, casse ou slash lors des comparaisons. Dans le DOM structuré, une différence entre href absolu brut et propriété résolue empêche la conclusion de cette surface, sans substituer l’une des valeurs ni affirmer un défaut SEO. La canonical relative ou hors head dans le DOM ordinaire reste une contradiction TSEP ; le shadow ouvert reste indéterminé. Champ absent : lecteur historique. Nul/inconnu ou Node 24 absent : pas de repli. Ce profil ne valide pas HTML et ne remplace ni rendu ni jugement humain.

Limites
Relatif, placement et convergence sont des critères TSEP ; la sélection canonique du moteur n’est pas observée ici. Rattachement et API fournis non authentifiés ; relevé synthétique explicitement signalé, jamais une visite réelle. Frames, fragments template et shadow fermés hors périmètre. Bornes et migration dans docs/structured-rendering.md. Portée source uniquement ; A04 et les lecteurs DOM ne sont pas étendus. Les deux hypothèses ne sont pas deux états rendus observés. Aucun choix canonique Google n’est déduit. Aucune exécution du moteur ni normalisation de la destination ; un relatif valide RFC peut échouer au critère TSEP absolu. Migration draft.19 et ancien lecteur préservé.

TS10-A02 · Destination canonique directe

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Toute destination préférée dans les familles déclarées.

Preuves
Trace et corps de la destination reliés à la famille ; graphe des déclarations et comparaison de contenu motivée. La revue humaine de compatibilité identifie son auteur, sa date, chaque membre comparé à la préférence, le jugement motivé et les captures exactes examinées, par empreinte. Une référence manquante, périmée ou une comparaison non établie empêche pass. Conserver aussi les observations du profil : document, corps, canonical/base, templates, tokens du préfixe, contexte, erreurs, décodage, sources/runtime et décisions séparées. Le rejeu les compare. Diagnostic HTTP ordonné, champs et paramètres bruts, contextes exclus/inconnus, URL finale/demandée, date et empreinte de la chaîne conservés.

Méthode
Tester la destination, conserver GET et contenu ; vérifier que son éventuelle canonical ne repart pas ailleurs. Comparer le contenu à la famille déclarée. Le lecteur DOM est choisi avant capture : structured-inventory-v2 ou le lecteur sérialisé historique fixe en l’absence de champ. Aucun repli après un refus. L’inventaire structuré complet conserve namespaces, positions, doublons, sérialisation et pièces de rattachement à la navigation ; aucune suppression de nœud selon son origine supposée. Le profil source facultatif intent.canonical.source_reader=html-tree-canonical-v1 est choisi avant capture ; il compare deux hypothèses statiques complètes, avec positions source/arbre attribuées aux octets. Le contrat source-canonical.md fixe ses frontières. Le choix préalable facultatif intent.canonical.http_reader=http-link-context-v1 applique le contrat docs/http-canonical-context.md aux Link de la réponse finale GET 200 ; absence de champ conserve le lecteur historique.

Critères attendus
La destination attendue est accessible directement en 200, sans chaîne ni cycle canonique, avec contenu compatible. Un doublon peut rester en 200 et pointer vers la préférée ; l’URL finale de chaque doublon n’a pas à lui être identique. Deux lectures source pass donnent pass, deux fail donnent fail ; sinon inconclusive. Une canonical ordinaire dans body reste une contradiction, même de valeur égale. Les valeurs relatives ne sont jamais résolues via base. Les contradictions HTTP Link, redirections ou DOM attribuables restent indépendantes des inconnues source. La nouvelle lecture distingue contexte et destination littérale, conserve le premier rel et les déclarations répétées ; aucune inconnue ne permet pass, une contradiction HTTP attribuable indépendante demeure fail.

Quand le résultat reste indéterminé
Destination non collectée, délai ou contenu non comparable : inconclusive. Un 404/5xx, cycle ou saut observé est une contradiction. Pour le lecteur structuré : arbre/transport incomplet, chargement en cours, API connue comme altérée, histoire d’intégrité absente, capture source/DOM séparée sans rattachement à une même navigation ou agent différent : inconclusive. Une empreinte seule ne prouve pas la navigation. Réinsertion après fermeture explicite du head, descendant indirect, contexte étranger, modificateur/attribut inconnu, shadow déclaré, lecture ou diagnostic borné incomplet empêchent une réussite selon le contrat ; une contradiction distincte qualifiée reste conservée. Sélection HTTP inconnue, contexte non qualifié/équivalence incertaine, extension ou syntaxe hors couverture : inconclusive sans repli favorable ; les bornes et leur portée sont fixées dans le contrat HTTP.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
La proximité du contenu est évaluée dans le contexte métier, sans seuil universel de similarité. Dans le DOM structuré, une différence entre href absolu brut et propriété résolue empêche la conclusion de cette surface, sans substituer l’une des valeurs ni affirmer un défaut SEO. La canonical relative ou hors head dans le DOM ordinaire reste une contradiction TSEP ; le shadow ouvert reste indéterminé. Champ absent : lecteur historique. Nul/inconnu ou Node 24 absent : pas de repli. Ce profil ne valide pas HTML et ne remplace ni rendu ni jugement humain.

Limites
Un GET réussi ne prouve pas que Google retiendra cette URL ; aucune stabilité dans le temps déduite d’un instant. Un comparateur peut vérifier les liens et la couverture de la revue fournie ; il ne transforme pas ce jugement en comparaison automatique du contenu. Rattachement et API fournis non authentifiés ; relevé synthétique explicitement signalé, jamais une visite réelle. Frames, fragments template et shadow fermés hors périmètre. Bornes et migration dans docs/structured-rendering.md. Portée source uniquement ; A04 et les lecteurs DOM ne sont pas étendus. Les deux hypothèses ne sont pas deux états rendus observés. Aucun choix canonique Google n’est déduit. Aucune exécution du moteur ni normalisation de la destination ; un relatif valide RFC peut échouer au critère TSEP absolu. Migration draft.19 et ancien lecteur préservé.

TS10-A03 · Convergence du sitemap

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles associées à un sitemap selon la stratégie déclarée.

Preuves
Sitemaps bruts et couverture des index, correspondance famille/entrées et justification des omissions. Conserver les octets XML et valeurs intégrales des annotations ; aperçu borné dans le motif, troncatures explicites.

Méthode
Comparer les entrées de tous les sitemaps/index nécessaires à la famille et à l’URL préférée ; conserver les exclusions justifiées par la stratégie. Rapprocher les captures de chaque index et de tous ses enfants attendus. Un échec observé reste fail si une autre branche manque ; une omission ne devient fail qu’après examen complet de la population annoncée. Le lecteur facultatif sitemap-locations-v1 doit être déclaré avant capture ; champ absent : lecteur historique fixe, valeur inconnue : aucun repli. Seuls les loc directs du namespace Sitemaps 0.9 sous url comptent comme URL de pages ; sous sitemap, ils désignent les enfants. Décoder XML et retirer les seuls espaces XML périphériques, puis comparer littéralement sans normalisation d’URL. Relever séparément les annotations XHTML alternate, image et champs ordinaires reconnus, sans les comparer comme URL de pages.

Critères attendus
Les entrées observées et exigées concordent avec la préférence déclarée ; un doublon publié comme canonique concurrent sans justification est fail.

Quand le résultat reste indéterminé
Index incomplet, sitemap attendu indisponible ou stratégie inconnue : inconclusive. Lecteur inconnu, namespace absent ou erroné, extension/attribut non couvert, doublon de feuille, structure ambiguë, texte mixte, DTD/entités, XML mal formé ou borne dépassée : document entier indéterminé.

Non-applicabilité
Aucun sitemap utilisé pour cette famille, établi par stratégie et inventaire documentés. Conserver un record sitemap expliquant cette absence ; pas de NA de tout TS10.

Hypothèses
Le périmètre des sitemaps est déclaré ; leur absence ne se déduit pas du 404 d’un seul chemin supposé. Le nouveau lecteur exige les namespaces et structures explicitement couverts ; préfixes libres, valeurs des annotations non validées. La préférence reste une intention fournie, pas un choix observé du moteur.

Limites
Sitemap = préférence publiée, pas sélection du moteur ni inventaire exhaustif du site. Aucun verdict hreflang, image ou validité des valeurs. Le lecteur borné n’est pas un validateur XML Schema complet. Profil, registre de structures, bornes et migration : docs/sitemap-locations.md et docs/migration-draft.14.md.

TS10-A04 · Convergence des liens internes

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque famille et population de pages sources déclarée.

Preuves
Export de crawl avec URL source, href, destination, pages réellement parcourues, échecs et exclusions ; rapprochement avec la population déclarée. Conserver le HTML source et les DOM nécessaires à l’extraction, liés à leurs traces, contextes et dates ; une exemption de rendu est revue et étayée. Les exceptions identifient source, destination et motif. Le nouveau profil conserve inventaire, namespaces, templates, balises/octets, URL calculées, bases et limites, versions, décisions et comptes par hypothèse dans les observations rejouables.

Méthode
Extraire les liens de la population annoncée ; comparer leurs destinations et les exceptions documentées à la préférence canonique. Le lecteur DOM est choisi avant capture : structured-inventory-v2 ou le lecteur sérialisé historique fixe en l’absence de champ. Aucun repli après un refus. L’inventaire structuré complet conserve namespaces, positions, doublons, sérialisation et pièces de rattachement à la navigation ; aucune suppression de nœud selon son origine supposée. Le profil source facultatif préalable intent.canonical.links.source_reader=html-tree-links-v1 qualifie les href HTML a/area attribués, leur base et leur résolution WHATWG dans deux hypothèses statiques. Le contrat source-link-policy.md fixe cette méthode ; les lecteurs rendus antérieurs restent inchangés. Draft.18 ajoute html-tree-links-v2 : seule une première base dont le href échoue à l’analyse WHATWG ajoute une incertitude de base ; v1 reste inchangé. Le calcul avec l’URL finale est alors conditionnel, sans destination déduite pour un href dépendant. Le complément source-link-policy-v2.md définit cette différence.

Critères attendus
Tous les liens évalués suivent la stratégie ; aucune destination concurrente inexpliquée. Zéro lien peut satisfaire la règle uniquement si la population annoncée est intégralement examinée. Un lien concurrent attribuable reste fail même si une autre page source ou un état requis manque. Deux lectures source pass donnent pass, deux fail donnent fail, sinon inconclusive. Une base incertaine ne permet pas un fail sur un href dépendant ; une contradiction absolue qualifiée indépendante demeure exploitable. Les comptes zéro et la portée de convergence restent visibles jusque contrôle et gate, sans exigence de présence de lien.

Quand le résultat reste indéterminé
Pages sources manquantes, liens non examinés ou crawl absent : inconclusive, jamais réussite par zéro résultat. Pour le lecteur structuré : arbre/transport incomplet, chargement en cours, API connue comme altérée, histoire d’intégrité absente, capture source/DOM séparée sans rattachement à une même navigation ou agent différent : inconclusive. Une empreinte seule ne prouve pas la navigation. Sélection source nulle/inconnue, runtime Node24 absent, parcours ou diagnostic incomplet : inconclusive sans repli. SVG/ancêtres étrangers, shadow déclaré et attributs dupliqués du lien restent inconnus ; CSP/base non modélisée empêche la résolution concluante des href dépendants.

Non-applicabilité
Aucune exemption atomique quand le contrôle s’applique.

Hypothèses
Le crawl vérifie une population déclarée ; il n’en prouve pas à lui seul l’exhaustivité. Le lecteur structuré v2 conserve les href bruts ; résolution bornée seulement sans base déclarée et avec baseURI égale à l’URL finale. Un lien shadow ou une syntaxe non couverte reste indéterminé. Famille déjà identique à sa sérialisation WHATWG ou source indéterminée, sans normalisation implicite. URL hors famille conservées, pas de doublons devinés. href sans namespace, annotations nofollow/download non filtrantes ; destination statique seulement. href de base vide ou composé d’espaces, schémas data/javascript et CSP restent distincts de cet échec de parsing ; ne pas sélectionner une seconde base.

Limites
Aucun résultat étendu aux liens externes, pages hors population ou dates futures. Rattachement et API fournis non authentifiés ; relevé synthétique explicitement signalé, jamais une visite réelle. Frames, fragments template et shadow fermés hors périmètre. Bornes et migration dans docs/structured-rendering.md. Le profil source ne mesure ni activation, ni présence/suffisance du maillage, ni formulaires/événements ou comportement Google. Bornes, portée des autres éléments conservés et migration : source-link-policy.md et migration-draft.17.md. Correction v2 et conservation des anciens résultats : migration-draft.18.md. Aucun bug général de navigateur ni état Google n’est établi par le diagnostic.

Importer les preuves de ce contrôle

TS11 · 2 règles

Les variantes réellement dupliquées convergent sans masquer des pages distinctes.

Familles de variantes ou doublons identifiés.

À réunir

Correspondance documentée entre doublon et canonique pertinent.

Une similarité calculée ne remplace pas la décision éditoriale.

Méthode et critères du contrôle

Méthode
Échantillonner paramètres, pagination, filtres et versions imprimables ; comparer contenu et canonique.

Critères attendus
Chaque rapprochement est justifié par comparaison du contenu ; aucune page distincte testée n’est absorbée involontairement.

Non-applicabilité
Aucune variante ni duplication connue après inventaire documenté.

Règles détaillées

TS11-A01 · Comparaison éditoriale des variantes

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS11 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : http, html, content, intent.

Méthode
Pour chaque paire déclarée duplicate ou distinct, lire les deux réponses HTML UTF-8 complètes et conserver leurs empreintes. Exiger la revue comparative liée, y compris la suffisance du périmètre source.

Critères attendus
Les deux contenus sont disponibles et la revue éditoriale étaye la relation déclarée. Une revue contradictoire échoue ; égalité ou similarité textuelle ne crée pas cette revue.

Quand le résultat reste indéterminé
Contenu absent, format HTML non pris en charge, comparaison dépendante du rendu ou jugement manquant : indéterminé.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

TS11-A02 · Convergence sans absorption de pages distinctes

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS11 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : http, html, content, intent.

Méthode
Lire séparément canonical HTTP et HTML des deux membres. Un doublon désigne la préférence ; une page distincte se désigne elle-même. Exiger la revue de la décision et du périmètre source.

Critères attendus
Toutes les déclarations qualifiées concordent avec la relation éditoriale préalable ; une déclaration contraire échoue, même si une autre surface manque.

Quand le résultat reste indéterminé
Aucune canonical explicite, source non interprétable ou rendu nécessaire non fourni : indéterminé, sans choix du moteur inféré.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

Importer les preuves de ce contrôle

TS12 · 3 règles

La canonique choisie par Google est comparée à celle déclarée.

URL dont la canonique Google doit être comparée à la déclaration.

À réunir

Accord ou divergence qualifiée et traitée.

Rendu requis manquant ou canonical Google absente : indéterminé. Comparaison littérale sans équivalence d’URL, état live, causalité, TS10 ou indexation déduits.

Méthode et critères du contrôle

Méthode
Déclarer préférence sourcée, lecteurs et états rendus ; attribuer JSON API et captures, comparer les chaînes et conserver revues/décisions selon google-canonical-comparison-v1.

Critères attendus
Plan préalable et toutes les surfaces prévues qualifiés ; valeurs conservées avec dates séparées et décisions liées. C documentaire, jamais égalité canonique ; divergences documentées admises.

Non-applicabilité
Google explicitement hors périmètre ; manque d’accès classé NT.

Règles détaillées

TS12-A01 · Plan de comparaison préalable qualifié.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble sélectionné dont les canonical rapportées et capturées doivent être comparées.

Preuves
Plan/revue préalables, JSON API natifs, traces HTTP, états DOM structurés fournis et revues liées aux pièces exactes ; contrat canonical-comparison-v1.

Méthode
Déclarer sélection/objectifs, connaissances antérieures, préférence sourcée, lecteurs et états rendus ; qualifier le plan lié avant chaque acquisition.

Critères attendus
Jugements selection/objectives/preferences/surfaces/temporal_policy supported, ordre préalable et ensemble complet. Contradiction fournie ou acquisition avant plan : fail ; lacune : inconclusive.

Quand le résultat reste indéterminé
Pièce, état requis, valeur, politique, revue ou liaison absente/inconnue/invalide ; limites et erreurs conservées.

Non-applicabilité
Aucune exemption atomique ; manque d’accès ou de rendu ne vaut pas NA.

Hypothèses
Données, dates, provenance et jugements fournis ; empreintes sans authentification de personne, navigation ou histoire.

Limites
Rendu requis manquant ou canonical Google absente : indéterminé. Comparaison littérale sans équivalence d’URL, état live, causalité, TS10 ou indexation déduits.

TS12-A02 · Lectures et comparaisons attribuées complètes.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble sélectionné dont les canonical rapportées et capturées doivent être comparées.

Preuves
Plan/revue préalables, JSON API natifs, traces HTTP, états DOM structurés fournis et revues liées aux pièces exactes ; contrat canonical-comparison-v1.

Méthode
Lire les pièces natives et les deux hypothèses HTML statiques ; conserver les candidats HTTP/HTML/DOM, les dates et les comparaisons littérales distinctes.

Critères attendus
API qualifiée, Google canonical présente, HTTP/HTML et tous les états DOM prévus lisibles ; seuils préalables respectés, aucun doublon fusionné. Différence de valeurs admise ; source seule/absence Google = inconclusive.

Quand le résultat reste indéterminé
Pièce, état requis, valeur, politique, revue ou liaison absente/inconnue/invalide ; limites et erreurs conservées.

Non-applicabilité
Aucune exemption atomique ; manque d’accès ou de rendu ne vaut pas NA.

Hypothèses
Données, dates, provenance et jugements fournis ; empreintes sans authentification de personne, navigation ou histoire.

Limites
Rendu requis manquant ou canonical Google absente : indéterminé. Comparaison littérale sans équivalence d’URL, état live, causalité, TS10 ou indexation déduits.

TS12-A03 · Qualification et décision liées aux comparaisons.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Ensemble sélectionné dont les canonical rapportées et capturées doivent être comparées.

Preuves
Plan/revue préalables, JSON API natifs, traces HTTP, états DOM structurés fournis et revues liées aux pièces exactes ; contrat canonical-comparison-v1.

Méthode
Examiner les revendications de valeurs de chaque surface dans une revue fournie liée aux pièces, avec interprétation, temporalité, changements, objectif, explication et décision.

Critères attendus
Revendications fidèles aux listes connues, qualification supported, relation et décision motivées. Une revendication contredite conserve fail malgré une autre inconnue ; revue absente ou cause non établie hors profil : inconclusive.

Quand le résultat reste indéterminé
Pièce, état requis, valeur, politique, revue ou liaison absente/inconnue/invalide ; limites et erreurs conservées.

Non-applicabilité
Aucune exemption atomique ; manque d’accès ou de rendu ne vaut pas NA.

Hypothèses
Données, dates, provenance et jugements fournis ; empreintes sans authentification de personne, navigation ou histoire.

Limites
Rendu requis manquant ou canonical Google absente : indéterminé. Comparaison littérale sans équivalence d’URL, état live, causalité, TS10 ou indexation déduits.

Importer les preuves de ce contrôle

TS13 · 2 règles

Le sitemap contient uniquement des URL absolues et canoniques utiles.

Sitemaps utilisés pour les URL du périmètre.

À réunir

Inventaire sans redirection, 4xx, noindex ni doublon de canonique.

Population déclarée de fichiers et pages fournis ; sources HTML bornées et revues non authentifiées. Aucun audit réel, exhaustivité du site, TS15 global, canonical choisie par Google, indexation ou classement déduit.

Méthode et critères du contrôle

Méthode
Appliquer TS13-A01/A02 aux originaux déclarés et aux pages fournies selon le contrat sitemap-quality-v1.

Critères attendus
Chaque entrée du périmètre est résolue, canonique selon la stratégie et destinée à l’indexation ; exclusions et limites de l’échantillon sont explicites.

Non-applicabilité
Aucun sitemap utilisé, inventaire et décision fournis.

Règles détaillées

TS13-A01 · Population native et URL absolues qualifiées.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Entrées de pages dans les fichiers sitemap déclarés au préalable, profil borné supplied-sitemap-quality-v1.

Preuves
Plan, originaux XML/gzip datés et SHA-256, index/position/loc de chaque entrée. Les répétitions littérales restent visibles sans défaut automatique.

Méthode
Rapprocher les racines et enfants déclarés avec les originaux complets ; lire chaque loc de page, conserver occurrences et vérifier son caractère absolu HTTP(S).

Critères attendus
Pass exige la couverture de tous les fichiers déclarés et tous les loc qualifiés. Un loc relatif, avec fragment, identifiants ou port invalide donne fail ; couverture manquante : inconclusive.

Quand le résultat reste indéterminé
Plan, document, enfant, liaison, capture ou revue absent, ambigu ou hors profil ; borne dépassée. Conserver tout fail indépendant et les autres inconnues.

Non-applicabilité
Aucune exemption atomique ; manque de preuve ne vaut pas NA.

Hypothèses
Plan antérieur, URL littérales, fenêtre fournie de24h maximum et intégrité des originaux. Dates, contexte et jugements déclarés, sans authentification.

Limites
Population déclarée de fichiers et pages fournis ; sources HTML bornées et revues non authentifiées. Aucun audit réel, exhaustivité du site, TS15 global, canonical choisie par Google, indexation ou classement déduit.

TS13-A02 · Pages référencées cohérentes avec la stratégie fournie.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Entrées de pages dans les fichiers sitemap déclarés au préalable, profil borné supplied-sitemap-quality-v1.

Preuves
Originaux des fichiers et requêtes/réponses HTTP, contexte/date par page, plan et revue avec SHA-256 de l’ensemble examiné. Aucune revue manquante produite par l’outil.

Méthode
Pour chaque URL native distincte, vérifier GET direct200, directives Googlebot HTTP/HTML et canonical littérale ; rapprocher stratégie préalable et revue liée à la page et aux fichiers.

Critères attendus
Pass exige source qualifiée, canonical explicite identique, intention utile/indexable/self-canonical et revue supported, rendering source-only. Redirection, statut complet hors200, noindex, canonical divergente ou jugement contradicted donne fail. Rendu requis, absence de canonical/revue ou format hors profil : inconclusive.

Quand le résultat reste indéterminé
Plan, document, enfant, liaison, capture ou revue absent, ambigu ou hors profil ; borne dépassée. Conserver tout fail indépendant et les autres inconnues.

Non-applicabilité
Aucune exemption atomique ; manque de preuve ne vaut pas NA.

Hypothèses
Plan antérieur, URL littérales, fenêtre fournie de24h maximum et intégrité des originaux. Dates, contexte et jugements déclarés, sans authentification.

Limites
Population déclarée de fichiers et pages fournis ; sources HTML bornées et revues non authentifiées. Aucun audit réel, exhaustivité du site, TS15 global, canonical choisie par Google, indexation ou classement déduit.

Importer les preuves de ce contrôle

TS14 · 1 règles

lastmod reflète une modification significative de la page.

Sitemaps comportant lastmod.

À réunir

Horodatage ISO 8601 lié à une modification réelle, pas à la génération du fichier.

Une date égale et une revue fournie ne prouvent pas une modification réelle ni sa signification. Précision au jour UTC ou à l’instant zoné ; aucun historique CMS complet, fraîcheur idéale ou traitement moteur déduit.

Méthode et critères du contrôle

Méthode
Lire le lastmod natif de chaque entrée de page ; comparer sa date UTC ou son instant zoné à un événement JSON original attribué, puis vérifier la revue de signification liée.

Critères attendus
Chaque date testée correspond à une modification significative traçable ; la génération du fichier ne suffit pas.

Non-applicabilité
Aucun lastmod déclaré ; son absence n’est pas un défaut en soi.

Règles détaillées

TS14-A01 · lastmod relié à une modification significative documentée.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Entrées de pages portant lastmod dans la population préalable ; profil supplied-sitemap-lastmod-v1. lastmod des index hors périmètre.

Preuves
XML original daté/empreinté, URL du fichier et position de l’entrée, événement JSON UTF8 original avec SHA-256, change_id, URL, changed_at, kind et description ; revue attribuée et liée.

Méthode
Lire le lastmod natif de chaque entrée de page ; comparer sa date UTC ou son instant zoné à un événement JSON original attribué, puis vérifier la revue de signification liée.

Critères attendus
Pass exige dates concordantes non futures, événement content attribué et revue supported. Date invalide/future, écart traçable, génération du fichier seule ou revue contradicted : fail. Historique/revue insuffisant : inconclusive. Absence native complète de lastmod : exemption atomique, jamais défaut.

Quand le résultat reste indéterminé
Plan, document, enfant, liaison, capture ou revue absent, ambigu ou hors profil ; borne dépassée. Conserver tout fail indépendant et les autres inconnues. Fuseau absent ou précision de lastmod hors profil : inconclusive, jamais défaut inventé.

Non-applicabilité
not-applicable atomique uniquement si absence lue dans une entrée native complète. Toutes les entrées exemptées ne produisent pas un C ni un NA de contrôle automatique.

Hypothèses
Plan antérieur, URL littérales, fenêtre fournie de24h maximum et intégrité des originaux. Dates, contexte et jugements déclarés, sans authentification.

Limites
Une date égale et une revue fournie ne prouvent pas une modification réelle ni sa signification. Précision au jour UTC ou à l’instant zoné ; aucun historique CMS complet, fraîcheur idéale ou traitement moteur déduit.

Importer les preuves de ce contrôle

TS15 · 3 règles

Les limites et découpages de sitemap sont respectés.

Population déclarée de fichiers sitemap natifs fournis ; racines non découvertes automatiquement.

À réunir

Originaux base64/SHA-256, URL et dates déclarées, plan du jeu ; limites du profil native-sitemap-files-v1.

Fichiers fournis seulement, pas serveur observé ni exhaustivité du site. Ni validation XSD complète, ni valeurs lastmod/changefreq/priority, portée hôte/chemin/longueur URL, canonical ou indexation.

Méthode et critères du contrôle

Méthode
Lire les octets originaux, la structure XML de base, la taille décompressée, les éléments directs et les enfants d’index du jeu déclaré.

Critères attendus
Dans le profil borné : UTF-8 et structure minimale qualifiés, au plus52 428 800 octets et50 000 éléments directs par fichier, couverture du jeu déclaré.

Non-applicabilité
Aucun sitemap utilisé dans le périmètre.

Règles détaillées

TS15-A01 · Encodage et structure minimale des fichiers fournis.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population déclarée de fichiers sitemap natifs fournis ; racines non découvertes automatiquement.

Preuves
Originaux base64/SHA-256, URL et dates déclarées, plan du jeu ; limites du profil native-sitemap-files-v1.

Méthode
Vérifier UTF-8 strict, racine0.9, loc unique non vide et feuilles uniques ordonnées ; DTD/extension non qualifiée restent inconnus.

Critères attendus
Tous les fichiers complets passent la structure bornée ; contradiction structurelle établie fail.

Quand le résultat reste indéterminé
Fichier absent/ambigu, flux incomplet, profil inconnu, borne interne, index imbriqué ou extension non qualifiée ; violation indépendante conservée.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
URL, date, origine et complétude fournies, non authentifiées. Aucune observation du serveur.

Limites
Fichiers fournis seulement, pas serveur observé ni exhaustivité du site. Ni validation XSD complète, ni valeurs lastmod/changefreq/priority, portée hôte/chemin/longueur URL, canonical ou indexation.

TS15-A02 · Limites réelles de taille et de population.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population déclarée de fichiers sitemap natifs fournis ; racines non découvertes automatiquement.

Preuves
Originaux base64/SHA-256, URL et dates déclarées, plan du jeu ; limites du profil native-sitemap-files-v1.

Méthode
Compter les octets réellement décompressés et les éléments url/sitemap directs, doublons et loc absents compris.

Critères attendus
Chaque fichier reste à52 428 800 octets et50 000 éléments au plus ; dépassement lu fail, lecture partielle sans dépassement inconclusive.

Quand le résultat reste indéterminé
Fichier absent/ambigu, flux incomplet, profil inconnu, borne interne, index imbriqué ou extension non qualifiée ; violation indépendante conservée.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
URL, date, origine et complétude fournies, non authentifiées. Aucune observation du serveur.

Limites
Fichiers fournis seulement, pas serveur observé ni exhaustivité du site. Ni validation XSD complète, ni valeurs lastmod/changefreq/priority, portée hôte/chemin/longueur URL, canonical ou indexation.

TS15-A03 · Couverture de la population déclarée et enfants liés.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population déclarée de fichiers sitemap natifs fournis ; racines non découvertes automatiquement.

Preuves
Originaux base64/SHA-256, URL et dates déclarées, plan du jeu ; limites du profil native-sitemap-files-v1.

Méthode
Relier chaque document à une URL déclarée exacte et chaque enfant d’index à une feuille complète ; racines et périmètre restent déclarés.

Critères attendus
Tous les documents déclarés et branches sont qualifiés ; absence/ambiguïté/hors profil inconclusive, jamais preuve négative de sitemap utilisé sur le site.

Quand le résultat reste indéterminé
Fichier absent/ambigu, flux incomplet, profil inconnu, borne interne, index imbriqué ou extension non qualifiée ; violation indépendante conservée.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
URL, date, origine et complétude fournies, non authentifiées. Aucune observation du serveur.

Limites
Fichiers fournis seulement, pas serveur observé ni exhaustivité du site. Ni validation XSD complète, ni valeurs lastmod/changefreq/priority, portée hôte/chemin/longueur URL, canonical ou indexation.

Importer les preuves de ce contrôle

TS16 · 1 règles

Chaque page importante reçoit au moins un lien interne crawlable.

Population importante et sources internes choisies avant les captures, avec inventaire original daté et plan lié ; profil incoming-document-links-v1.

À réunir

Inventaire original, plan, originaux HTTP/DOM, URL demandées/finales, dates, statut de destination, href brut, référence d’ancre et diagnostics par destination. Les DOM sont requis pour les surfaces qui en dépendent ; un témoin source indépendant suffit sans DOM, sans en inventer un.

Population et importance déclarées, non authentifiées. Aucune exhaustivité du site, acquisition ou interaction observée, valeur éditoriale, visite Google, indexation ou classement. Une absence bornée ne prouve pas une page orpheline du site. Le contenu attendu de la source et les soft404 ne sont pas évalués.

Méthode et critères du contrôle

Méthode
Pour chaque destination, chercher un témoin a/href depuis un autre document interne qualifié : source HTML sous deux hypothèses statiques ou DOM déclaré sans interaction. Qualifier séparément chaque source, destination et surface.

Critères attendus
Chaque destination déclarée possède un témoin entrant qualifié et son original HTTP. Une absence n’est établie que sur toutes les surfaces éligibles qualifiées de l’inventaire préalable ; elle reste limitée à cette population.

Non-applicabilité
Aucune page importante concernée seulement avec justification et inventaire ; aucune NA automatique dans le lecteur borné.

Règles détaillées

TS16-A01 · Témoin entrant dans la population interne préalable.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population importante et sources internes choisies avant les captures, avec inventaire original daté et plan lié ; profil incoming-document-links-v1.

Preuves
Inventaire original, plan, originaux HTTP/DOM, URL demandées/finales, dates, statut de destination, href brut, référence d’ancre et diagnostics par destination. Les DOM sont requis pour les surfaces qui en dépendent ; un témoin source indépendant suffit sans DOM, sans en inventer un.

Méthode
Pour chaque destination, chercher un témoin a/href depuis un autre document interne qualifié : source HTML sous deux hypothèses statiques ou DOM déclaré sans interaction. Qualifier séparément chaque source, destination et surface.

Critères attendus
Pass si toutes les destinations possèdent un témoin indépendant qualifié et un original de destination. Fail si une destination n’a aucun témoin dans toute la population éligible qualifiée. Sinon inconclusive ; un fail indépendant survit aux autres inconnues.

Quand le résultat reste indéterminé
Plan/inventaire ou original insuffisant, population ambiguë, surface non qualifiée, dates incohérentes ou runtime absent. Une paire dont la destination retourne par redirection à la source reste indéterminée ; un autre témoin peut suffire.

Non-applicabilité
Aucune NA automatique dans ce profil.

Hypothèses
Inventaire observé avant le plan qui lie son empreinte, captures dans la fenêtre préalable ; origines exactes et états sans interaction déclarés. L’intégrité ne prouve pas l’authenticité ni la simultanéité.

Limites
Population et importance déclarées, non authentifiées. Aucune exhaustivité du site, acquisition ou interaction observée, valeur éditoriale, visite Google, indexation ou classement. Une absence bornée ne prouve pas une page orpheline du site. Le contenu attendu de la source et les soft404 ne sont pas évalués.

Importer les preuves de ce contrôle

TS17 · 2 règles

Les liens essentiels utilisent un élément a avec href résoluble.

Destinations essentielles déclarées dans la stratégie préalable source-and-rendered, sur les captures fournies.

À réunir

Octets HTTP originaux, arbre DOM v2 lié, plan et diagnostics source/rendu séparés ; états déclarés par le fournisseur.

C dans la stratégie déclarée seulement. Aucune visibilité, interaction, importance éditoriale, authenticité, visite Google, indexation ou classement établi. Pas d’exigence Google universelle de présence source.

Méthode et critères du contrôle

Méthode
Comparer les liens HTML a/href de la source et de chaque état DOM déclaré ; deux stades distincts, URL de document exactes.

Critères attendus
Chaque destination déclarée possède un lien a/href résoluble dans les deux stades requis, dans le profil borné essential-document-links-v1.

Non-applicabilité
Aucune navigation concernée, périmètre justifié.

Règles détaillées

TS17-A01 · Liens essentiels présents dans la source fournie.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Destinations essentielles déclarées dans la stratégie préalable source-and-rendered, sur les captures fournies.

Preuves
Octets HTTP originaux, arbre DOM v2 lié, plan et diagnostics source/rendu séparés ; états déclarés par le fournisseur.

Méthode
Lire la source native sous les deux hypothèses statiques de scripts ; exiger leur accord.

Critères attendus
Toutes les destinations au stade qualifié : pass ; absence établie sur inventaire complet : fail ; sinon inconclusive.

Quand le résultat reste indéterminé
Plan/stade absent, incomplet, hors profil, base active, lecture ambiguë ou runtime absent. Une contradiction indépendante reste conservée.

Non-applicabilité
Aucune NA automatique dans ce profil.

Hypothèses
Plan préalable, population, scénarios et complétude déclarés ; liaison HTTP/DOM vérifiée mais acquisition non authentifiée.

Limites
C dans la stratégie déclarée seulement. Aucune visibilité, interaction, importance éditoriale, authenticité, visite Google, indexation ou classement établi. Pas d’exigence Google universelle de présence source.

TS17-A02 · Liens essentiels présents dans les états rendus déclarés.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Destinations essentielles déclarées dans la stratégie préalable source-and-rendered, sur les captures fournies.

Preuves
Octets HTTP originaux, arbre DOM v2 lié, plan et diagnostics source/rendu séparés ; états déclarés par le fournisseur.

Méthode
Vérifier chaque arbre complet lié au HTTP et signaler les snapshots répétés ; scénarios non authentifiés.

Critères attendus
Toutes les destinations au stade qualifié : pass ; absence établie sur inventaire complet : fail ; sinon inconclusive.

Quand le résultat reste indéterminé
Plan/stade absent, incomplet, hors profil, base active, lecture ambiguë ou runtime absent. Une contradiction indépendante reste conservée.

Non-applicabilité
Aucune NA automatique dans ce profil.

Hypothèses
Plan préalable, population, scénarios et complétude déclarés ; liaison HTTP/DOM vérifiée mais acquisition non authentifiée.

Limites
C dans la stratégie déclarée seulement. Aucune visibilité, interaction, importance éditoriale, authenticité, visite Google, indexation ou classement établi. Pas d’exigence Google universelle de présence source.

Importer les preuves de ce contrôle

TS18 · 3 règles

La profondeur et les pages orphelines sont mesurées sur un périmètre explicite.

Population, racines, familles et frontières déclarées avant les captures ; profil borné supplied-graph-reconciliation-v1.

À réunir

Inventaires originaux datés et empreintés, production et dépendances déclarées, plan, HTTP/source/DOM originaux, paires et bornes, dates par inventaire et revues fournies liées aux dossiers exacts.

Graphe déclaré uniquement : aucune exhaustivité, page orpheline globale, profondeur SEO universelle, authenticité des captures ou des revues, interaction observée, indexation ou classement. HTTP200 ne vérifie pas le contenu attendu ni les soft404. Le motif fourni n’est pas jugé par le lecteur.

Méthode et critères du contrôle

Méthode
Rapprocher les originaux de référence, crawl, CMS et sitemap ; calculer liens et distances du graphe natif borné ; vérifier les revues fournies et liées aux mesures par famille et différence.

Critères attendus
Trois couches complètes dans le périmètre fourni : rapprochement qualifié, mesures natives qualifiées et revues documentaires liées. Une contradiction revue et étayée reste NC malgré une autre inconnue.

Non-applicabilité
Aucun graphe de navigation concerné, justification fournie ; inventaire manquant signifie NT.

Règles détaillées

TS18-A01 · Périmètre préalable et inventaires originaux rapprochés.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population, racines, familles et frontières déclarées avant les captures ; profil borné supplied-graph-reconciliation-v1.

Preuves
Inventaires originaux datés et empreintés, production et dépendances déclarées, plan, HTTP/source/DOM originaux, paires et bornes, dates par inventaire et revues fournies liées aux dossiers exacts.

Méthode
Lire les formats et lignées explicitement déclarés ; référence ordonnée liée au plan, crawl suivant les liens depuis les seules racines, CMS natif et sitemap avec dépendance éventuelle explicite.

Critères attendus
Pass si toutes les pièces, dates, familles et déclarations sont qualifiées ; sinon inconclusive. L’accord entre listes ne prouve pas leur exhaustivité. Amorçage mixte ou mode liste : inconclusive dans ce profil.

Quand le résultat reste indéterminé
Plan, original, surface ou revue absent, ambigu, hors profil, mal lié ou hors fenêtre ; runtime requis absent. Les inconnues restent explicites et un défaut indépendant ne disparaît pas.

Non-applicabilité
Aucune NA automatique ; absence de preuve signifie indéterminé.

Hypothèses
Origines et documents exacts, plan antérieur, captures dans une fenêtre maximale de24h ; déclarations de production et états sans interaction non authentifiés.

Limites
Graphe déclaré uniquement : aucune exhaustivité, page orpheline globale, profondeur SEO universelle, authenticité des captures ou des revues, interaction observée, indexation ou classement. HTTP200 ne vérifie pas le contenu attendu ni les soft404. Le motif fourni n’est pas jugé par le lecteur.

TS18-A02 · Profondeurs et degrés entrants dans le graphe borné.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population, racines, familles et frontières déclarées avant les captures ; profil borné supplied-graph-reconciliation-v1.

Preuves
Inventaires originaux datés et empreintés, production et dépendances déclarées, plan, HTTP/source/DOM originaux, paires et bornes, dates par inventaire et revues fournies liées aux dossiers exacts.

Méthode
Lire chaque paire depuis la source sous deux hypothèses ou un DOM qualifié sans interaction ; calculer distances minimale/majorante et nombres minimal/maximal de sources distinctes, sans auto-liens.

Critères attendus
Pass si les racines et toutes les paires sont qualifiées ; sinon inconclusive, même si une profondeur particulière est exacte. Candidat sans lien entrant seulement si son maximum vaut0. Aucun seuil universel de profondeur.

Quand le résultat reste indéterminé
Plan, original, surface ou revue absent, ambigu, hors profil, mal lié ou hors fenêtre ; runtime requis absent. Les inconnues restent explicites et un défaut indépendant ne disparaît pas.

Non-applicabilité
Aucune NA automatique ; absence de preuve signifie indéterminé.

Hypothèses
Origines et documents exacts, plan antérieur, captures dans une fenêtre maximale de24h ; déclarations de production et états sans interaction non authentifiés.

Limites
Graphe déclaré uniquement : aucune exhaustivité, page orpheline globale, profondeur SEO universelle, authenticité des captures ou des revues, interaction observée, indexation ou classement. HTTP200 ne vérifie pas le contenu attendu ni les soft404. Le motif fourni n’est pas jugé par le lecteur.

TS18-A03 · Qualification documentaire fournie des familles et différences.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population, racines, familles et frontières déclarées avant les captures ; profil borné supplied-graph-reconciliation-v1.

Preuves
Inventaires originaux datés et empreintés, production et dépendances déclarées, plan, HTTP/source/DOM originaux, paires et bornes, dates par inventaire et revues fournies liées aux dossiers exacts.

Méthode
Déduire les sujets des seules mesures natives ; vérifier une revue pour chaque famille, différence connue, candidat sans entrant et document inaccessible, liée au plan, originaux, dates et mesures.

Critères attendus
Pass si tous les sujets qualifiés ont une explication fournie correctement liée ; fail si un défaut fourni est lié à un sujet étayé ; sinon inconclusive. Une revue ne qualifie pas une mesure inconnue et ne devient jamais une approbation humaine créée par le logiciel.

Quand le résultat reste indéterminé
Plan, original, surface ou revue absent, ambigu, hors profil, mal lié ou hors fenêtre ; runtime requis absent. Les inconnues restent explicites et un défaut indépendant ne disparaît pas.

Non-applicabilité
Aucune NA automatique ; absence de preuve signifie indéterminé.

Hypothèses
Origines et documents exacts, plan antérieur, captures dans une fenêtre maximale de24h ; déclarations de production et états sans interaction non authentifiés.

Limites
Graphe déclaré uniquement : aucune exhaustivité, page orpheline globale, profondeur SEO universelle, authenticité des captures ou des revues, interaction observée, indexation ou classement. HTTP200 ne vérifie pas le contenu attendu ni les soft404. Le motif fourni n’est pas jugé par le lecteur.

Importer les preuves de ce contrôle

TS19 · 2 règles

Les paramètres, filtres et calendriers ne créent pas un espace infini.

Paramètres, filtres, calendriers et autres espaces combinatoires.

À réunir

Règle d’indexation et de navigation pour chaque motif de paramètre.

Le volume réellement exploré exige les logs ou Search Console.

Méthode et critères du contrôle

Méthode
Regrouper les URL par motif, compter les combinaisons et rechercher les pièges de crawl.

Critères attendus
Chaque motif testé a une politique de navigation/indexation ; limites et pièges observés sont expliqués sans inférer le volume exploré réel.

Non-applicabilité
Inventaire attestant l’absence de tels motifs.

Règles détaillées

TS19-A01 · Politique bornée par motif combinatoire

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS19 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : configuration, intent.

Méthode
Comparer les axes max_combinations, navigation et indexing du fichier natif url-pattern-config-v1 à chaque motif préalable ; exiger la revue du choix de bornes.

Critères attendus
Chaque axe fourni correspond au plan fini sélectionné. Une valeur contradictoire, notamment une limite nulle contraire au plan positif, échoue.

Quand le résultat reste indéterminé
Axe ou configuration manquant, borne non entière ou hors 1–128, revue absente : indéterminé.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

TS19-A02 · Population observée et décision sur les pièges

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS19 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : crawl, intent.

Méthode
Lire url-crawl-v1, compter les URL distinctes et les comparer à la liste finie et à sa borne ; conserver la décision motivée sur les pièges/cycles et sa revue.

Critères attendus
Les URL observées appartiennent à la population prévue, leur nombre respecte la borne et les pièges sont expliqués. Une URL extérieure ou un dépassement échoue.

Quand le résultat reste indéterminé
Crawl fourni incomplet, identités ambiguës, liste ou décision absente : indéterminé. Un échantillon fini ne prouve jamais la finitude de tout le site.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

Importer les preuves de ce contrôle

TS20 · 2 règles

La structure d’URL est lisible, stable et encodée correctement.

Motifs d’URL publiés.

À réunir

Motifs d’URL documentés et absence de variantes involontaires.

Une URL lisible n’est pas un facteur suffisant de performance SEO.

Méthode et critères du contrôle

Méthode
Relever espaces, fragments, caractères encodés, casse et identifiants volatils.

Critères attendus
Encodage, casse, stabilité et variations correspondent aux règles déclarées ; aucune variante involontaire observée n’est laissée sans décision.

Non-applicabilité
Aucune URL publique dans le périmètre.

Règles détaillées

TS20-A01 · Forme des URL selon la politique fournie

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS20 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : crawl, configuration, intent.

Méthode
Lire la capture après et url-shape-config-v1. Vérifier espaces/contrôles, antislash, échappements percent, fragments et casse de chemin selon les choix préalables ; revue humaine de lisibilité.

Critères attendus
La configuration correspond au plan et chaque URL respecte ses axes lexicaux. Une divergence qualifiée échoue. Aucun changement implicite de casse ou de décodage.

Quand le résultat reste indéterminé
URL/autorité non prise en charge, politique inconnue, capture ou revue manquante : indéterminé.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

TS20-A02 · Stabilité temporelle et décisions de variation

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS20 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : crawl, configuration, intent.

Méthode
Comparer deux captures ordonnées url-crawl-v1 ayant les mêmes identités ; toute URL changée doit avoir une décision unique avant/après avec motif, dans le plan lié à la revue.

Critères attendus
Les URL sont égales aux deux dates, ou leur variation est explicitement décidée et revue. Un changement observé sans décision échoue.

Quand le résultat reste indéterminé
Une seule date, dates inversées/égales, identité manquante ou revue absente : indéterminé. La stabilité future reste inconnue.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

Importer les preuves de ce contrôle

TS21 · 2 règles

Les URL découvertes mais non indexées sont investiguées par famille.

Familles signalées découvertes ou explorées mais non indexées.

À réunir

Hypothèse par famille, échantillon d’URL et résultat après correction.

Le libellé de Search Console décrit un état, pas toujours sa cause.

Méthode et critères du contrôle

Méthode
Segmenter le rapport Pages par gabarit et comparer aux sitemaps et logs.

Critères attendus
Chaque famille retenue possède un diagnostic documenté, une hypothèse testable et une décision ; causalité non démontrée signalée.

Non-applicabilité
Rapport daté ne contenant aucune famille concernée, ou Google explicitement exclu.

Règles détaillées

TS21-A01 · Attribution des familles non indexées

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS21 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : search-console, logs, sitemap, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Lire les requêtes/réponses Google URL Inspection fournies pour chaque URL retenue, comparer propriété, URL et libellé de famille ; rapprocher le urlset natif et l’export TSV de logs dans leur fenêtre. Exiger la revue de segmentation et d’attribution.

Critères attendus
Les pièces natives sont disponibles et attribuées à la famille choisie ; l’appartenance sitemap concorde avec le plan. Un désaccord de requête, de famille ou de sitemap échoue. Les logs décrivent seulement leur fenêtre et leur client fourni.

Quand le résultat reste indéterminé
Pièce manquante, résultat API absent/erroné, libellé non pris en charge, logs non interprétables ou revue absente : indéterminé.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

TS21-A02 · Hypothèse testable et décision sans causalité inventée

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS21 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : content, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Lire family-diagnosis-v1 : diagnostic, hypothèse, prédiction, réfutation, mesure, décision, propriétaire et échéance pour la même liste d’URL. Vérifier la distinction entre suivi prévu et résultat observé puis la revue liée.

Critères attendus
Les axes de diagnostic sont renseignés et revus ; causality=unproven et follow_up=planned-not-observed. Une causalité proclamée à partir du libellé ou de la corrélation échoue dans ce profil.

Quand le résultat reste indéterminé
Hypothèse sans critère de réfutation, famille mal attribuée, suivi prétendu observé hors méthode séparée, jugement manquant : indéterminé.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

Importer les preuves de ce contrôle

TS22 · 2 règles

Chaque variante hreflang pointe vers une URL indexable et canonique.

Groupes de variantes localisées utilisant hreflang.

À réunir

Langue/région valide, URL 200, canonique cohérente.

hreflang aide au ciblage ; il ne remplace pas un contenu réellement localisé.

Méthode et critères du contrôle

Méthode
Parser les annotations HTML, HTTP ou sitemap et résoudre chaque URL.

Critères attendus
Chaque cible du groupe est accessible, destinée à l’indexation et cohérente avec sa canonique ; codes langue/région contrôlés.

Non-applicabilité
Aucun groupe hreflang dans le périmètre, inventaire fourni.

Règles détaillées

TS22-A01 · Annotations natives et codes enregistrés

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS22 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : hreflang, http, html, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Lire séparément HTML, en-têtes Link et urlset XHTML déclarés ; conserver les accords des deux hypothèses HTML statiques. Vérifier chaque code observé dans le sous-ensemble figé du registre IANA et l’attribution à la destination prévue.

Critères attendus
Les codes observés appartiennent au profil langue/script/région documenté et les destinations concordent. Un code explicitement invalide ou une destination contraire échoue ; x-default qualifie seulement le jeton réservé.

Quand le résultat reste indéterminé
Code obsolète, région exceptionnelle hors sous-ensemble, méthode ou page manquante, contexte HTML ambigu, annotation relative ou revue manquante : indéterminé.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

TS22-A02 · Destinations hreflang et signaux d’indexabilité

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS22 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : hreflang, http, html, robots, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Pour chaque destination sélectionnée : comparer intention d’indexation, HTTP direct 200, directives HTTP/HTML, canonical explicite vers elle-même et robots.txt du même origin avec le profil Google préalable. Exiger la revue du périmètre source.

Critères attendus
Les signaux qualifiés autorisent la destination prévue et concordent avec elle. Une réponse contraire, un noindex, une canonical divergente ou un refus robots étayé échoue malgré d’autres inconnues.

Quand le résultat reste indéterminé
Robots absent/non qualifié, canonical absente, trace partielle, rendu nécessaire ou revue absente : indéterminé. Permission d’indexation n’est pas indexation.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

Importer les preuves de ce contrôle

TS23 · 1 règles

Les annotations hreflang sont réciproques et incluent la page elle-même.

Groupe et canaux principaux déclarés avant les captures ; profil borné hreflang-reciprocity-v1.

À réunir

Plan et associations attendues, canaux choisis, requêtes/réponses HTTP originales et empreintes, dates, positions des éléments et fermetures du head, hypothèses, jeux principaux/secondaires, exclusions et inconnues.

Groupe fourni et mode principal déclarés : aucune authenticité de capture, exhaustivité du site, validité linguistique TS22, indexabilité/canonical, pertinence x-default TS24, traduction, rendu JavaScript ou traitement Google. Les sitemaps/DOM pertinents fournis restent hors profil.

Méthode et critères du contrôle

Méthode
Lire les annotations natives HTML ou HTTP Link depuis les originaux, conserver deux hypothèses HTML et les canaux secondaires, comparer chaque code–URL au groupe préalable sans union de canaux.

Critères attendus
Chaque page du groupe conserve dans son canal principal tout le jeu attendu, auto-référence comprise ; aucune contradiction qualifiée entre cibles. Plusieurs codes peuvent partager une URL et les groupes entre domaines sont admis.

Non-applicabilité
Aucun groupe hreflang dans le périmètre.

Règles détaillées

TS23-A01 · Réciprocité et auto-référence natives dans le groupe préalable.

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Groupe et canaux principaux déclarés avant les captures ; profil borné hreflang-reciprocity-v1.

Preuves
Plan et associations attendues, canaux choisis, requêtes/réponses HTTP originales et empreintes, dates, positions des éléments et fermetures du head, hypothèses, jeux principaux/secondaires, exclusions et inconnues.

Méthode
Lire les annotations natives HTML ou HTTP Link depuis les originaux, conserver deux hypothèses HTML et les canaux secondaires, comparer chaque code–URL au groupe préalable sans union de canaux.

Critères attendus
Pass si toutes les pages sont qualifiées et incluent tout le jeu attendu dans leur canal principal. Fail si un manque qualifié, placement invalide du primaire HTML ou conflit de cible est établi. Sinon inconclusive ; une contradiction indépendante survit aux inconnues.

Quand le résultat reste indéterminé
Plan/original absent ou ambigu, dates ou canal non qualifiés, source récupérée hors frontière admise, langue/URL hors admission fermée, annotation extérieure non prévue, runtime requis absent.

Non-applicabilité
Aucune NA automatique ; un plan vide n’établit pas la non-applicabilité.

Hypothèses
Plan antérieur, fenêtre maximale24h, HTTP200 demandé=final sans redirection, URL absolues HTTP(S) exactes. Deux hypothèses HTML statiques, aucune exécution de scripts.

Limites
Groupe fourni et mode principal déclarés : aucune authenticité de capture, exhaustivité du site, validité linguistique TS22, indexabilité/canonical, pertinence x-default TS24, traduction, rendu JavaScript ou traitement Google. Les sitemaps/DOM pertinents fournis restent hors profil.

Importer les preuves de ce contrôle

TS24 · 1 règles

x-default représente une destination neutre ou la variante par défaut assumée.

Groupe et politique x-default fournis avant les captures ; profil borné xdefault-role-v1.

À réunir

Politique et contexte préalables, originaux HTTP et empreintes, observations principales/secondaires, revues originales liées, dates et inconnues.

Périmètre fourni, aucun public représentatif ou rôle sémantique authentifié ; HTTP200 ne détecte pas une page d’erreur/soft404. Pas de traduction, visite Google, indexation, exhaustivité ou conformité globale.

Méthode et critères du contrôle

Méthode
Relire les observations natives HTML/HTTP Link, vérifier cible, contexte motivé, disponibilité capturée et revue de rôle fournie liée ; conserver inconnues et contestations.

Critères attendus
Présence et contexte qualifiés, cible conforme à la politique, original200 et revue fournie cohérente. Un défaut indépendant documenté est NC ; aucune approbation ni validité sémantique inférée.

Non-applicabilité
Aucune NA native ni override manuel ; dossiers manuels historiques séparés, absence optionnelle indéterminée.

Règles détaillées

TS24-A01 · Rôle x-default documenté dans le contexte préalable.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Groupe et politique x-default fournis avant les captures ; profil borné xdefault-role-v1.

Preuves
Politique et contexte préalables, originaux HTTP et empreintes, observations principales/secondaires, revues originales liées, dates et inconnues.

Méthode
Relire les observations natives HTML/HTTP Link, vérifier cible, contexte motivé, disponibilité capturée et revue de rôle fournie liée ; conserver inconnues et contestations.

Critères attendus
Pass exige toutes les surfaces qualifiées, une cible prévue non ambiguë, son original200 et une revue consistent liée. Fail pour absence primaire requise qualifiée, toute cible qualifiée contraire à la destination unique du plan, même parmi plusieurs déclarations,404/410 attribuable, distinction URL contredite ou revue defect unique liée. Sinon inconclusive.

Quand le résultat reste indéterminé
Plan, contexte, original ou revue absent/non qualifié ; déclarations non qualifiées ou hypothèses divergentes sans contradiction indépendante, revues contestées, statut hors200/404/410, canal pertinent non examiné ou runtime requis absent.

Non-applicabilité
Aucune NA native ni override manuel ; dossiers manuels historiques séparés, absence optionnelle indéterminée.

Hypothèses
Plan antérieur et contexte unique motivé ; un GET sans redirection par original, fenêtre<=24h, deux hypothèses HTML statiques. Revue fournie, auteur non authentifié.

Limites
Périmètre fourni, aucun public représentatif ou rôle sémantique authentifié ; HTTP200 ne détecte pas une page d’erreur/soft404. Pas de traduction, visite Google, indexation, exhaustivité ou conformité globale.

Importer les preuves de ce contrôle

TS25 · 2 règles

Le contenu critique existe dans le HTML source ou devient observable après rendu.

Éléments critiques et politiques de stade déclarés avant les captures, profil critical-stage-presence-v1.

À réunir

Plan antérieur, originaux HTTP/DOM, empreintes, conditions, valeurs par élément/stade, revues réellement fournies et dates.

Périmètre déclaré uniquement, hypothèses statiques sans exécution ; revues et attribution non authentifiées. Ni rendu Google, visibilité CSS déduite, vérité, validité structurée, indexation ou conformité globale.

Méthode et critères du contrôle

Méthode
Vérifier les cinq décisions de rôle puis les éléments dans les hypothèses source et états rendus prévus ; conserver originaux, exclusions et revues fournies liées.

Critères attendus
Deux règles pass dans le périmètre fourni : couverture motivée et présence selon les politiques préalables. Tout défaut indépendant qualifié donne NC ; sinon les inconnues donnent NT.

Non-applicabilité
Aucune NA native ; rôle hors périmètre motivé conservé, jamais équivalent à un contrôle NA.

Règles détaillées

TS25-A01 · Périmètre critique préalable et décisions des cinq rôles.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments critiques et politiques de stade déclarés avant les captures, profil critical-stage-presence-v1.

Preuves
Plan antérieur, originaux HTTP/DOM, empreintes, conditions, valeurs par élément/stade, revues réellement fournies et dates.

Méthode
Vérifier les cinq décisions de rôle puis les éléments dans les hypothèses source et états rendus prévus ; conserver originaux, exclusions et revues fournies liées.

Critères attendus
Pass exige population motivée, cinq décisions exactes et revue supported liée antérieure. Revue contradiction liée : fail. Revue absente, non liée ou inconnue : inconclusive.

Quand le résultat reste indéterminé
Plan/capture/revue absent ou invalide, rôle non pris en charge, lectures contradictoires, contexte rendu non qualifié, états supplémentaires/doublons, limites dépassées. Un défaut indépendant reste fail. Draft.44 / reader3 : les champs reviewer, assistance et reason des revues TS25 fournies sont limités à8192octets UTF8 bruts chacun, avant strip ou normalisation ; chaque objet revue, champs supplémentaires inclus, à32768octets de JSON compact UTF8. Toute revue fournie est vérifiée à l’admission, même inutilisée. Un dépassement donne un refus technique avant publication, jamais C ou NT public ; les originaux sont conservés sans réécriture. Le diagnostic natif de chaque règle est borné à4MiB de JSON compact UTF8 trié, y compris A01 et les sorties d’erreur. Au dépassement, un diagnostic compact explicitement incomplet conserve un fail indépendant établi, sinon inconclusive ; aucun pass. Le transport refuse ce marqueur et borne aussi à4MiB par cible la somme des artefacts TS25 réellement sérialisés (JSON UTF8 indent2, saut de ligne final), pour les règles demandées. Les maxima individuels ne garantissent pas que toutes leurs combinaisons respectent les bornes cumulées. Aucun changement des autres contrôles ni du validateur partagé.

Non-applicabilité
Aucune NA native ; rôle hors périmètre motivé conservé, jamais équivalent à un contrôle NA.

Hypothèses
1–32 éléments,0–16 états préalables, fenêtre<=24h, HTTP<=30s ; cinq rôles explicites. Deux hypothèses HTML doivent concorder ; états requis combinés avec priorité au défaut qualifié. Revue fournie, aucune authentification.

Limites
Périmètre déclaré uniquement, hypothèses statiques sans exécution ; revues et attribution non authentifiées. Ni rendu Google, visibilité CSS déduite, vérité, validité structurée, indexation ou conformité globale.

TS25-A02 · Présence critique selon la politique source/rendu de chaque élément.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments critiques et politiques de stade déclarés avant les captures, profil critical-stage-presence-v1.

Preuves
Plan antérieur, originaux HTTP/DOM, empreintes, conditions, valeurs par élément/stade, revues réellement fournies et dates.

Méthode
Vérifier les cinq décisions de rôle puis les éléments dans les hypothèses source et états rendus prévus ; conserver originaux, exclusions et revues fournies liées.

Critères attendus
Pass exige tous les éléments présents selon leur politique et couverture des états qualifiée. Absence indépendante qualifiée : fail malgré une autre inconnue. Sinon inconclusive.

Quand le résultat reste indéterminé
Plan/capture/revue absent ou invalide, rôle non pris en charge, lectures contradictoires, contexte rendu non qualifié, états supplémentaires/doublons, limites dépassées. Un défaut indépendant reste fail. Un conteneur render non objet reste inconnu ; il ne supprime pas une absence source indépendante requise. Draft.44 / reader3 : les champs reviewer, assistance et reason des revues TS25 fournies sont limités à8192octets UTF8 bruts chacun, avant strip ou normalisation ; chaque objet revue, champs supplémentaires inclus, à32768octets de JSON compact UTF8. Toute revue fournie est vérifiée à l’admission, même inutilisée. Un dépassement donne un refus technique avant publication, jamais C ou NT public ; les originaux sont conservés sans réécriture. Le diagnostic natif de chaque règle est borné à4MiB de JSON compact UTF8 trié, y compris A01 et les sorties d’erreur. Au dépassement, un diagnostic compact explicitement incomplet conserve un fail indépendant établi, sinon inconclusive ; aucun pass. Le transport refuse ce marqueur et borne aussi à4MiB par cible la somme des artefacts TS25 réellement sérialisés (JSON UTF8 indent2, saut de ligne final), pour les règles demandées. Les maxima individuels ne garantissent pas que toutes leurs combinaisons respectent les bornes cumulées. Aucun changement des autres contrôles ni du validateur partagé.

Non-applicabilité
Aucune NA native ; rôle hors périmètre motivé conservé, jamais équivalent à un contrôle NA.

Hypothèses
1–32 éléments,0–16 états préalables, fenêtre<=24h, HTTP<=30s ; cinq rôles explicites. Deux hypothèses HTML doivent concorder ; états requis combinés avec priorité au défaut qualifié. Revue fournie, aucune authentification.

Limites
Périmètre déclaré uniquement, hypothèses statiques sans exécution ; revues et attribution non authentifiées. Ni rendu Google, visibilité CSS déduite, vérité, validité structurée, indexation ou conformité globale.

Importer les preuves de ce contrôle

TS26 · 2 règles

Les ressources nécessaires au rendu ne sont pas bloquées ni en erreur.

Ressources nécessaires au rendu des gabarits testés.

À réunir

Ressources critiques accessibles et absence d’erreur qui retire le contenu.

Une console sans erreur ne prouve pas l’indexation.

Méthode et critères du contrôle

Méthode
Inspecter réseau, robots, CSP et erreurs console sur les gabarits prioritaires.

Critères attendus
Aucune ressource critique testée n’est empêchée par erreur réseau, politique robots ou CSP ; console et réseau sont conservés.

Non-applicabilité
Aucune ressource de rendu dépendante, inventaire fourni.

Règles détaillées

TS26-A01 · Accès des ressources et politiques natives

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, robots, html, intent.

Méthode
Sur chaque ressource critique sélectionnée, comparer HTTP direct200, robots du même origin et intersection des CSP HTTP du document HTTPS. Relever la source complète pour exclure une CSP meta non qualifiée.

Critères attendus
Une erreur HTTP, un refus robots ou un refus CSP qualifié échoue indépendamment des autres lacunes.

Quand le résultat reste indéterminé
Inventaire absent, robots non fourni, directive CSP non prise en charge, nonce, meta CSP, source ambiguë ou revue absente : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS26-A02 · Trafic et console attribués au rendu

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : render, http, intent.

Méthode
Lire un export HAR borné fourni, relier la réponse du document aux octets HTTP, puis vérifier chaque ressource critique. Conserver la console datée liée au HAR et la revue de criticité.

Critères attendus
Les ressources sélectionnées ont une réponse2xx sans erreur réseau fournie. Une erreur console sans classification qualifiée reste NT ; un échec réseau natif reste NC.

Quand le résultat reste indéterminé
HAR incomplet, corps absent, contexte/session non attribué, console absente ou erreur non qualifiée : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS27 · 2 règles

Les états et routes SPA produisent des URL partageables et des réponses serveur cohérentes.

Routes applicatives ou états SPA destinés à l’indexation.

À réunir

Chaque vue indexable possède URL, 200, contenu et signaux propres.

Le choix SSR, CSR ou SSG n’est pas en soi une garantie SEO.

Méthode et critères du contrôle

Méthode
Ouvrir directement les routes, tester actualisation, historique, canonical et statut HTTP.

Critères attendus
Ouverture directe, actualisation et historique conservent URL, contenu, statut et signaux attendus pour chaque route retenue.

Non-applicabilité
Aucune route applicative ou SPA concernée.

Règles détaillées

TS27-A01 · Routes et historique attribués

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

Méthode
Vérifier quatre états fournis dans l’ordre direct, actualisation, retour, avance : session, séquence, date, URL, liaison à la réponse serveur et statut.

Critères attendus
Chaque état conserve l’URL de route et sa source200 prévue. Une URL ou un statut contraire qualifié échoue.

Quand le résultat reste indéterminé
État, action, liaison, session ou ordre absent/ambigu ; surface frame/shadow non collectée : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS27-A02 · Contenu et canonical par état SPA

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

Méthode
Dans les mêmes états qualifiés, comparer les identifiants littéraux, textes essentiels et destinations de liens au plan, puis une canonical explicite dans head. Exiger la revue de fonctionnement.

Critères attendus
Les états conservent contenus et signaux propres. Absence sur surface complète, contenu divergent ou canonical contraire échoue.

Quand le résultat reste indéterminé
État partiel, contexte masqué, ID ambigu, hypothèses HTML divergentes ou revue absente : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS28 · 2 règles

Le document expose une structure HTML compréhensible sans dépendre de son apparence.

Documents HTML du périmètre.

À réunir

Structure logique, un sujet principal identifiable, composants accessibles.

La validité syntaxique seule ne prouve ni qualité ni pertinence.

Méthode et critères du contrôle

Méthode
Inspecter titre, langue, main, niveaux de titres, liens et libellés sur un échantillon.

Critères attendus
Titre, langue, structure, navigation et libellés correspondent au contenu et à son usage ; revue humaine consignée, sans certification d’accessibilité.

Non-applicabilité
Aucun document HTML concerné.

Règles détaillées

TS28-A01 · Structure native et structure DOM fournie

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

Méthode
Comparer dans la source et la sérialisation fournie : titre, langue, main déclaré, liste ordonnée des titres, liens et libellés. Le nombre de H1 est celui du plan.

Critères attendus
Les structures correspondent au plan préalable ; divergences structurelles qualifiées échouent.

Quand le résultat reste indéterminé
Source/DOM absent, langue non déclarée, arbre ambigu ou contexte visuel non qualifié : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS28-A02 · Revue du sens et de la navigation

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

Méthode
Reprendre les faits structurels attribués et exiger une revue distincte liée : adéquation du titre et de la langue, hiérarchie, sujet principal, navigation et libellés dans l’usage déclaré.

Critères attendus
Les faits sont qualifiés et le jugement motivé soutient le sens et l’usage ; contradiction étayée échoue.

Quand le résultat reste indéterminé
Le parseur seul, une revue sans liaison ou des originaux insuffisants ne suffisent pas : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS29 · 2 règles

Les contenus essentiels restent disponibles lorsque scripts ou styles échouent.

Parcours dont le contenu et la navigation essentiels sont définis.

À réunir

Information et navigation principales toujours accessibles ou solution de repli documentée.

La dégradation acceptable dépend de la fonction du composant.

Méthode et critères du contrôle

Méthode
Tester HTML source, désactivation JavaScript et mode réseau dégradé.

Critères attendus
Les scénarios scripts bloqués et styles dégradés conservent les fonctions déclarées ou un repli effectivement testé.

Non-applicabilité
Aucun parcours web concerné, justification fournie.

Règles détaillées

TS29-A01 · Scénario scripts bloqués et repli testé

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

Méthode
Lire la source et un état fourni explicitement scripts-blocked ; comparer chaque contenu/lien essentiel, ou le repli prédéclaré dans ce même état. Exiger la revue des actions et du fonctionnement.

Critères attendus
Tous les attendus principaux ou tous ceux du repli testé sont étayés. Un échec principal et du repli qualifiés échoue ; aucune fonction n’est déduite du texte seul.

Quand le résultat reste indéterminé
Condition normale, capture partielle, repli seulement décrit, contexte masqué ou revue manquante : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS29-A02 · Scénario styles dégradés et repli testé

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

Méthode
Appliquer le même examen dans un état explicitement styles-degraded, avec observations d’actions et revue liée. Ne pas assimiler la désactivation des scripts à ce scénario.

Critères attendus
Les fonctions essentielles ou le repli testé restent étayés dans ce scénario distinct.

Quand le résultat reste indéterminé
Absence de scénario styles dégradés, preuve de repli ou jugement attribué : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS30 · 2 règles

Les métadonnées essentielles sont uniques, visibles et cohérentes avec la page.

Pages dont les métadonnées éditoriales sont évaluées.

À réunir

Sujet et promesse cohérents sans duplication mécanique.

Google peut réécrire le title ou l’extrait dans ses résultats.

Méthode et critères du contrôle

Méthode
Comparer title, description, H1, Open Graph et contenu principal par gabarit.

Critères attendus
Les métadonnées présentes décrivent le contenu sans contradiction ; unicité et duplication évaluées dans le corpus déclaré, avec revue humaine.

Non-applicabilité
Aucun document comportant de métadonnées éditoriales pertinentes.

Règles détaillées

TS30-A01 · Métadonnées et doublons du corpus déclaré

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md. Amendement: docs/render-transport-prerequisites-v2.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.

Méthode
Lire title, description, H1, og:title, og:description natifs par page. Comparer aux valeurs prévues puis les doublons entre pages sélectionnées ; exiger une décision préalable pour chaque doublon intentionnel. Qualifier séparément les drapeaux du H1 et de ses textes descendants ; préserver les contradictions natives des autres champs.

Critères attendus
Valeurs et multiplicité concordent ; chaque doublon observé possède une décision motivée unique. Le corpus ne dépasse pas les pages fournies.

Quand le résultat reste indéterminé
Source absente, politique de champ omise, parse ambigu ou revue manquante : NT. null autorise seulement un champ facultatif explicitement absent. H1 ou texte descendant masqué/non qualifié : NT, sans fabriquer une absence.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS30-A02 · Cohérence éditoriale et contenu principal

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md. Amendement: docs/render-transport-prerequisites-v2.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.

Méthode
Rapprocher les métadonnées natives et le contenu principal identifié ; exiger une revue distincte de la promesse, du sens et de la visibilité pertinente. Qualifier séparément les drapeaux du H1 et de ses textes descendants ; préserver les contradictions natives des autres champs.

Critères attendus
Les faits concordent avec le plan et la revue éditoriale liée les soutient ; une contradiction native ou humaine qualifiée échoue.

Quand le résultat reste indéterminé
Source/rendu nécessaire non qualifié, contenu masqué, sens sans revue ou jugement non lié : NT. H1 ou texte descendant masqué/non qualifié : NT, sans fabriquer une absence.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS31 · 3 règles

Le JSON-LD décrit des entités visibles et appropriées au contenu.

Documents publiant des données structurées.

À réunir

Graphe valide, cohérent, sans entité ni note inventée.

Un balisage valide ne garantit pas un résultat enrichi ni un meilleur classement.

Méthode et critères du contrôle

Méthode
Comparer chaque propriété importante au contenu visible et aux recommandations du type.

Critères attendus
Syntaxe et propriétés examinées sont cohérentes avec les faits visibles et le type choisi ; aucune donnée inventée observée.

Non-applicabilité
Aucune donnée structurée publiée dans le périmètre.

Règles détaillées

TS31-A01 · Périmètre et hypothèses préalables revus.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée avec JSON-LD ; profil source et états DOM prévus.

Preuves
HTTP natif, arbres attribués, contextes et références fournis, graphes recalculés et revues liées ; contrat jsonld-visible-content-v1.

Méthode
Qualifier le plan, ses références datées et la revue préalable liée du périmètre, de la base source et des recommandations.

Critères attendus
Trois jugements supported ; contradiction liée fail, revue manquante ou inconnue inconclusive.

Quand le résultat reste indéterminé
Manque, limite, contexte/runtime absent, lecture ambiguë, graphe vide, notice ou revue inconnue ; contradictions indépendantes conservées.

Non-applicabilité
Aucune exemption atomique ; absence dans un profil limité ne vaut pas NA.

Hypothèses
Périmètre, bases, dates, contenu visible et jugements fournis ; empreintes sans authentification.

Limites
JSON-LD et revue documentaire de la page sélectionnée ; ni vocabulaire Schema.org, vérité/visibilité authentifiée, résultat enrichi, indexation ou classement.

TS31-A02 · Lecture attribuée du JSON-LD source et rendu.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée avec JSON-LD ; profil source et états DOM prévus.

Preuves
HTTP natif, arbres attribués, contextes et références fournis, graphes recalculés et revues liées ; contrat jsonld-visible-content-v1.

Méthode
Recalculer les scripts exacts sous les deux hypothèses source et tous les états DOM prévus, avec contextes fournis.

Critères attendus
Lectures complètes et au moins un graphe non vide sans notice ; JSON invalide attribué fail, autres limites inconclusive.

Quand le résultat reste indéterminé
Manque, limite, contexte/runtime absent, lecture ambiguë, graphe vide, notice ou revue inconnue ; contradictions indépendantes conservées.

Non-applicabilité
Aucune exemption atomique ; absence dans un profil limité ne vaut pas NA.

Hypothèses
Périmètre, bases, dates, contenu visible et jugements fournis ; empreintes sans authentification.

Limites
JSON-LD et revue documentaire de la page sélectionnée ; ni vocabulaire Schema.org, vérité/visibilité authentifiée, résultat enrichi, indexation ou classement.

TS31-A03 · Cohérence du contenu et des types revue par entité.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée avec JSON-LD ; profil source et états DOM prévus.

Preuves
HTTP natif, arbres attribués, contextes et références fournis, graphes recalculés et revues liées ; contrat jsonld-visible-content-v1.

Méthode
Lier le contenu fourni et chaque nœud aplati aux revues complètes couvrant visibilité, type, toutes les propriétés et absence de fabrication.

Critères attendus
Population exacte et qualifications supported ; contradiction fournie liée fail, manque ou inconnue inconclusive.

Quand le résultat reste indéterminé
Manque, limite, contexte/runtime absent, lecture ambiguë, graphe vide, notice ou revue inconnue ; contradictions indépendantes conservées.

Non-applicabilité
Aucune exemption atomique ; absence dans un profil limité ne vaut pas NA.

Hypothèses
Périmètre, bases, dates, contenu visible et jugements fournis ; empreintes sans authentification.

Limites
JSON-LD et revue documentaire de la page sélectionnée ; ni vocabulaire Schema.org, vérité/visibilité authentifiée, résultat enrichi, indexation ou classement.

Importer les preuves de ce contrôle

TS32 · 3 règles

Les identifiants @id relient les mêmes entités sans créer de doublons.

Graphes utilisant des identifiants d’entité.

À réunir

Graphe archivé, liste des entités et identifiants présents, références et doublons qualifiés.

Schema.org décrit un vocabulaire ; l’interprétation dépend du consommateur.

Méthode et critères du contrôle

Méthode
Construire le graphe, repérer les nœuds sans nom, les identifiants variables et les doublons.

Critères attendus
Les mêmes entités conservent leurs identifiants dans le corpus ; références résolubles dans le graphe et doublons qualifiés, sans imposer tous les types cités dans la grille historique.

Non-applicabilité
Aucun graphe avec identifiants concerné.

Règles détaillées

TS32-A01 · Registre et corpus préalables qualifiés.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Corpus déclaré de 2–16 exports JSON-LD utilisant des identifiants.

Preuves
Registre préalable, exports natifs, contextes locaux, graphes recalculés et revues liées ; contrat jsonld-identity-corpus-v1.

Méthode
Vérifier les entités distinctes, le plan et la revue préalable liée des populations/correspondances/références.

Critères attendus
Registre sans collision et trois qualifications supported ; collision distincte fail même si revue absente.

Quand le résultat reste indéterminé
Pièce, revue, runtime ou contexte manquant ; graphe vide/nommé, notice, référence ou identifiant non qualifiés. Contradictions indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil borné.

Hypothèses
Origine, complétude, bases, dates et correspondances déclarées puis revues ; non authentifiées.

Limites
Cohérence du corpus fourni, sans stabilité temporelle, identité réelle, collecte de pages, fusion inter-documents ni garantie Google.

TS32-A02 · Identifiants requis et références du corpus.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Corpus déclaré de 2–16 exports JSON-LD utilisant des identifiants.

Preuves
Registre préalable, exports natifs, contextes locaux, graphes recalculés et revues liées ; contrat jsonld-identity-corpus-v1.

Méthode
Recalculer indépendamment les exports natifs et comparer les IRI définies au registre ; inventorier les références et leur portée.

Critères attendus
IRI requises définies et périmètre/références qualifiés ; absence requise dans graphe complet non vide fail, manque ou ambiguïté inconclusive.

Quand le résultat reste indéterminé
Pièce, revue, runtime ou contexte manquant ; graphe vide/nommé, notice, référence ou identifiant non qualifiés. Contradictions indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil borné.

Hypothèses
Origine, complétude, bases, dates et correspondances déclarées puis revues ; non authentifiées.

Limites
Cohérence du corpus fourni, sans stabilité temporelle, identité réelle, collecte de pages, fusion inter-documents ni garantie Google.

TS32-A03 · Correspondances et doublons revus sur pièces.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Corpus déclaré de 2–16 exports JSON-LD utilisant des identifiants.

Preuves
Registre préalable, exports natifs, contextes locaux, graphes recalculés et revues liées ; contrat jsonld-identity-corpus-v1.

Méthode
Lier chaque export et nœud recalculé aux revues des correspondances, répétitions/doublons et sens des références.

Critères attendus
Couverture exacte et qualifications supported ; contradiction liée fail, revue incomplète ou inconnue inconclusive.

Quand le résultat reste indéterminé
Pièce, revue, runtime ou contexte manquant ; graphe vide/nommé, notice, référence ou identifiant non qualifiés. Contradictions indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil borné.

Hypothèses
Origine, complétude, bases, dates et correspondances déclarées puis revues ; non authentifiées.

Limites
Cohérence du corpus fourni, sans stabilité temporelle, identité réelle, collecte de pages, fusion inter-documents ni garantie Google.

Importer les preuves de ce contrôle

TS33 · 3 règles

Les erreurs, avertissements et usages non pris en charge sont distingués.

Page sélectionnée avec captures JSON-LD HTTP/DOM liées et résultat natif Google indexé séparé.

À réunir

Rapport sans erreur bloquante et avertissements qualifiés.

Noms et rôles de vocabulaire seulement ; pas de validité sémantique complète, correspondance entre instantanés, éligibilité actuelle ni affichage déduit. Origines et dates fournies, non authentifiées.

Méthode et critères du contrôle

Méthode
Qualifier le plan ; recalculer syntaxe et noms Schema.org des captures ; classer séparément les messages natifs de la version indexée et leurs décisions.

Critères attendus
Les trois règles passent sur le périmètre déclaré : plan qualifié, syntaxe et noms attribués, messages indexés sans erreur bloquante avec revue exacte. La correspondance entre instantanés reste non établie.

Non-applicabilité
Pas de NA dans ce profil ; absence de balisage ou de preuve reste NT.

Règles détaillées

TS33-A01 · Périmètre, fonctions et couches préalables qualifiés.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée, captures HTTP/DOM JSON-LD liées et instantané indexé APIv1 séparé.

Preuves
Plan, captures natives, vocabulaire30.1 épinglé, sorties API originales et revues liées ; contrat jsonld-validation-layers-v1.

Méthode
Vérifier le plan préalable, les documents datés des fonctions et la revue liée scope/support/separation.

Critères attendus
Trois qualifications supported ; contradiction motivée fail, absence ou inconnue inconclusive.

Quand le résultat reste indéterminé
Preuve/revue/runtime absent, couche non attribuée, format/criticité inconnu ou fonction non détectée ; erreurs indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
Origine, dates et complétude fournies/revues, non authentifiées ; version serveur Google non exposée.

Limites
Noms Schema.org seulement ; instantanés distincts, aucun test live, éligibilité actuelle, affichage ou indexation déduits.

TS33-A02 · Syntaxe et noms de vocabulaire sur les captures liées.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée, captures HTTP/DOM JSON-LD liées et instantané indexé APIv1 séparé.

Preuves
Plan, captures natives, vocabulaire30.1 épinglé, sorties API originales et revues liées ; contrat jsonld-validation-layers-v1.

Méthode
Recalculer source/DOM avec les lecteurs TS31 ; comparer classes/propriétés à Schema.org30.1 complet, espaces HTTP/HTTPS équivalents.

Critères attendus
Graphes typés attribués sans erreur de syntaxe ni terme absent/rôle contradictoire ; inconnues restent distinctes.

Quand le résultat reste indéterminé
Preuve/revue/runtime absent, couche non attribuée, format/criticité inconnu ou fonction non détectée ; erreurs indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
Origine, dates et complétude fournies/revues, non authentifiées ; version serveur Google non exposée.

Limites
Noms Schema.org seulement ; instantanés distincts, aucun test live, éligibilité actuelle, affichage ou indexation déduits.

TS33-A03 · Messages natifs Google et décisions conservés sans rétrogradation.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Page sélectionnée, captures HTTP/DOM JSON-LD liées et instantané indexé APIv1 séparé.

Preuves
Plan, captures natives, vocabulaire30.1 épinglé, sorties API originales et revues liées ; contrat jsonld-validation-layers-v1.

Méthode
Lire tous les messages APIv1, sévérités et fonctions ; lier une revue exacte à la réponse indexée, séparée des captures actuelles.

Critères attendus
Aucun ERROR/FAIL ; couverture et qualifications exactes. Erreur, omission ou rétrogradation fail même documentée ; panne technique inconclusive.

Quand le résultat reste indéterminé
Preuve/revue/runtime absent, couche non attribuée, format/criticité inconnu ou fonction non détectée ; erreurs indépendantes conservées.

Non-applicabilité
Pas de NA dans ce profil.

Hypothèses
Origine, dates et complétude fournies/revues, non authentifiées ; version serveur Google non exposée.

Limites
Noms Schema.org seulement ; instantanés distincts, aucun test live, éligibilité actuelle, affichage ou indexation déduits.

Importer les preuves de ce contrôle

TS34 · 3 règles

Les Core Web Vitals terrain sont documentés et classés au 75e percentile.

Cohortes disposant de données terrain pertinentes.

À réunir

LCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1 au 75e percentile pour l’état Bon.

L’absence de données CrUX ne signifie pas que la page est rapide.

Méthode et critères du contrôle

Méthode
Utiliser une source terrain identifiée : CrUX, Search Console ou RUM. Consigner période, appareil, granularité et population ; ne pas fusionner URL et origine.

Critères attendus
Source, période, granularité, appareil et p75 de LCP/INP/CLS sont consignés et classés selon les seuils cités ; les mauvaises valeurs restent visibles et motivent une décision.

Non-applicabilité
Parcours explicitement hors périmètre CWV ; absence de données seule signifie NT.

Règles détaillées

TS34-A01 · Cohorte terrain attribuable

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Périmètre de performance déclaré pour ce contrôle et profil de lecture qualifié.

Preuves
Originaux JSON conservés avec source, date, empreinte ; plan et revue fournie quand exigée, diagnostics et limites selon docs/performance-evidence.md.

Méthode
Identifier source, requête et clé retournée, URL/origine, appareil, période et population selon performance-evidence-v1. Aucun repli de portée implicite.

Critères attendus
La cohorte correspond au plan et conserve ses dates et sa provenance. Une substitution explicite laboratoire/terrain échoue ; une cohorte différente ou ancienne reste indéterminée.

Quand le résultat reste indéterminé
Source, plan, dates ou mesures insuffisants ; format/profil non qualifié, incohérence de portée, borne dépassée ou revue manquante selon le contrat. Aucune absence ne devient C ou NA.

Non-applicabilité
Aucune exemption atomique automatique ; la non-applicabilité du contrôle exige sa preuve propre.

Hypothèses
Les données et revues fournies ne sont pas authentifiées. Le plan précède l’évaluation et les exécutions laboratoire ; une cohorte historique n’est pas un préenregistrement.

Limites
C qualifie la documentation, pas de bonnes performances. Aucun affichage, classement, cause démontrée, revue humaine automatique ou conformité globale. Rejeu sans nouvelle mesure.

TS34-A02 · Mesures p75 et classes conservées

Mode prévu par le protocole : automatique. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Périmètre de performance déclaré pour ce contrôle et profil de lecture qualifié.

Preuves
Originaux JSON conservés avec source, date, empreinte ; plan et revue fournie quand exigée, diagnostics et limites selon docs/performance-evidence.md.

Méthode
Lire LCP, INP et CLS p75 dans les unités natives ; comparer exactement aux seuils cités, sans renommer FID ou TBT. Conserver les valeurs mauvaises et les inconnues.

Critères attendus
Les trois mesures sont classées correctement. Une classification liée contraire à un p75 est fail ; une performance mauvaise correctement documentée donne pass.

Quand le résultat reste indéterminé
Source, plan, dates ou mesures insuffisants ; format/profil non qualifié, incohérence de portée, borne dépassée ou revue manquante selon le contrat. Aucune absence ne devient C ou NA.

Non-applicabilité
Aucune exemption atomique automatique ; la non-applicabilité du contrôle exige sa preuve propre.

Hypothèses
Les données et revues fournies ne sont pas authentifiées. Le plan précède l’évaluation et les exécutions laboratoire ; une cohorte historique n’est pas un préenregistrement.

Limites
C qualifie la documentation, pas de bonnes performances. Aucun affichage, classement, cause démontrée, revue humaine automatique ou conformité globale. Rejeu sans nouvelle mesure.

TS34-A03 · Décision motivée liée aux mesures

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Périmètre de performance déclaré pour ce contrôle et profil de lecture qualifié.

Preuves
Originaux JSON conservés avec source, date, empreinte ; plan et revue fournie quand exigée, diagnostics et limites selon docs/performance-evidence.md.

Méthode
Conserver la revue fournie, auteur, provenance, date, empreinte et décision pour chacune des trois métriques ; vérifier la liaison sans fabriquer un jugement.

Critères attendus
Chaque métrique garde sa classe, un motif et une action. Une classe contradictoire échoue. Revue absente/incomplète/non liée : indéterminé.

Quand le résultat reste indéterminé
Source, plan, dates ou mesures insuffisants ; format/profil non qualifié, incohérence de portée, borne dépassée ou revue manquante selon le contrat. Aucune absence ne devient C ou NA.

Non-applicabilité
Aucune exemption atomique automatique ; la non-applicabilité du contrôle exige sa preuve propre.

Hypothèses
Les données et revues fournies ne sont pas authentifiées. Le plan précède l’évaluation et les exécutions laboratoire ; une cohorte historique n’est pas un préenregistrement.

Limites
C qualifie la documentation, pas de bonnes performances. Aucun affichage, classement, cause démontrée, revue humaine automatique ou conformité globale. Rejeu sans nouvelle mesure.

Importer les preuves de ce contrôle

TS35 · 2 règles

Les tests de laboratoire servent au diagnostic, pas à simuler le terrain.

Diagnostics de performance en laboratoire.

À réunir

Rapport Lighthouse/WebPageTest reproductible et relié à une hypothèse de correction.

Un score Lighthouse de 100 n’est ni une garantie de CWV terrain ni de classement.

Méthode et critères du contrôle

Méthode
Conserver URL, appareil, profil réseau, version de l’outil et mesures détaillées.

Critères attendus
URL, outil/version, appareil, réseau et mesures sont conservés ; les conclusions restent limitées au laboratoire et reliées à une hypothèse.

Non-applicabilité
Aucun diagnostic laboratoire prévu dans ce périmètre.

Règles détaillées

TS35-A01 · Contexte et mesures de laboratoire reproductibles

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Périmètre de performance déclaré pour ce contrôle et profil de lecture qualifié.

Preuves
Originaux JSON conservés avec source, date, empreinte ; plan et revue fournie quand exigée, diagnostics et limites selon docs/performance-evidence.md.

Méthode
Conserver une série prévue de 2 à 10 rapports Lighthouse distincts, dates, URL, outil/version, client, appareil, bridage, mesures natives et dispersion.

Critères attendus
La série respecte le contexte et le nombre prévus. URL contraire au plan : fail ; autre contexte, mesure manquante ou erreur runtime : indéterminé.

Quand le résultat reste indéterminé
Source, plan, dates ou mesures insuffisants ; format/profil non qualifié, incohérence de portée, borne dépassée ou revue manquante selon le contrat. Aucune absence ne devient C ou NA.

Non-applicabilité
Aucune exemption atomique automatique ; la non-applicabilité du contrôle exige sa preuve propre.

Hypothèses
Les données et revues fournies ne sont pas authentifiées. Le plan précède l’évaluation et les exécutions laboratoire ; une cohorte historique n’est pas un préenregistrement.

Limites
C qualifie la documentation, pas de bonnes performances. Aucun affichage, classement, cause démontrée, revue humaine automatique ou conformité globale. Rejeu sans nouvelle mesure.

TS35-A02 · Hypothèse de diagnostic et prochaine vérification

Mode prévu par le protocole : manuel. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Périmètre de performance déclaré pour ce contrôle et profil de lecture qualifié.

Preuves
Originaux JSON conservés avec source, date, empreinte ; plan et revue fournie quand exigée, diagnostics et limites selon docs/performance-evidence.md.

Méthode
Relier une revue fournie aux rapports ordonnés, aux métriques, à une hypothèse et à une prochaine mesure. Séparer laboratoire, INP et terrain.

Critères attendus
La revue liée expose hypothèse, métriques et action sans assimilation au terrain. Une assimilation explicite laboratoire/CWV ou TBT/INP échoue ; revue absente : indéterminé.

Quand le résultat reste indéterminé
Source, plan, dates ou mesures insuffisants ; format/profil non qualifié, incohérence de portée, borne dépassée ou revue manquante selon le contrat. Aucune absence ne devient C ou NA.

Non-applicabilité
Aucune exemption atomique automatique ; la non-applicabilité du contrôle exige sa preuve propre.

Hypothèses
Les données et revues fournies ne sont pas authentifiées. Le plan précède l’évaluation et les exécutions laboratoire ; une cohorte historique n’est pas un préenregistrement.

Limites
C qualifie la documentation, pas de bonnes performances. Aucun affichage, classement, cause démontrée, revue humaine automatique ou conformité globale. Rejeu sans nouvelle mesure.

Importer les preuves de ce contrôle

TS36 · 3 règles

Le suivi relie Search Console, logs et déploiements à des dates de décision.

Changements dont le suivi crawl/indexation est évalué.

À réunir

Journal des déploiements, anomalies crawl/indexation et décisions signées.

Une corrélation temporelle ne suffit pas à attribuer une variation de trafic.

Méthode et critères du contrôle

Méthode
Créer une baseline avant changement puis vérifier J+1, J+7 et J+30 selon le risque.

Critères attendus
Baseline, déploiement et observations de suivi prévues par le risque sont datés ; anomalies et décisions reliées, sans causalité automatique.

Non-applicabilité
Aucun changement soumis au suivi dans la période déclarée.

Règles détaillées

TS36-A01 · Plan préalable et chronologie du changement.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Changement sélectionné dont le suivi daté est évalué.

Preuves
Plan et revues liés, reçu de déploiement, API natives et journaux normalisés fournis ; contrat release-monitoring-v1.

Méthode
Qualifier le plan lié avant baseline, les identités du reçu et l’ordre baseline/déploiement.

Critères attendus
Plan supported, identité conforme et baseline enregistrée avant déploiement ; contradiction explicite fail, manque inconclusive.

Quand le résultat reste indéterminé
Échéance future, pièce manquante, erreur, valeur inconnue, journal incomplet ou liaison invalide ; conserver les contradictions indépendantes.

Non-applicabilité
Aucune exemption atomique ; aucun manque ou délai ne vaut NA.

Hypothèses
Périmètre, dates, couche et jugements fournis ; aucune authentification par empreinte seule.

Limites
C documentaire sur baseline/J+1/J+7/J+30 sélectionnés ; aucune causalité, visite Google authentifiée, indexation ou couverture globale.

TS36-A02 · Observations attribuées aux échéances du suivi.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Changement sélectionné dont le suivi daté est évalué.

Preuves
Plan et revues liés, reçu de déploiement, API natives et journaux normalisés fournis ; contrat release-monitoring-v1.

Méthode
Lire baseline/d1/d7/d30, qualifier API TS08-A02 et inventaires de journaux par fenêtre exacte.

Critères attendus
Quatre échéances atteintes, pièces attribuées complètes, limites respectées ; futur/absence/erreur reste inconclusive.

Quand le résultat reste indéterminé
Échéance future, pièce manquante, erreur, valeur inconnue, journal incomplet ou liaison invalide ; conserver les contradictions indépendantes.

Non-applicabilité
Aucune exemption atomique ; aucun manque ou délai ne vaut NA.

Hypothèses
Périmètre, dates, couche et jugements fournis ; aucune authentification par empreinte seule.

Limites
C documentaire sur baseline/J+1/J+7/J+30 sélectionnés ; aucune causalité, visite Google authentifiée, indexation ou couverture globale.

TS36-A03 · Interprétation, décisions et clôture liées aux pièces.

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Changement sélectionné dont le suivi daté est évalué.

Preuves
Plan et revues liés, reçu de déploiement, API natives et journaux normalisés fournis ; contrat release-monitoring-v1.

Méthode
Comparer revendications et valeurs connues, conserver les changements sans causalité et qualifier les revues/décisions fournies.

Critères attendus
Revendications fidèles, revues supported et cycle complet ; fausse revendication connue ou clôture avant échéance future fail ; autre manque inconclusive.

Quand le résultat reste indéterminé
Échéance future, pièce manquante, erreur, valeur inconnue, journal incomplet ou liaison invalide ; conserver les contradictions indépendantes.

Non-applicabilité
Aucune exemption atomique ; aucun manque ou délai ne vaut NA.

Hypothèses
Périmètre, dates, couche et jugements fournis ; aucune authentification par empreinte seule.

Limites
C documentaire sur baseline/J+1/J+7/J+30 sélectionnés ; aucune causalité, visite Google authentifiée, indexation ou couverture globale.

Importer les preuves de ce contrôle

TS37 · 3 règles

HTTPS, HSTS et les ressources intégrées ne créent ni erreur de certificat ni contenu mixte.

Hôtes et ressources d’un service web public.

À réunir

Certificats et chaînes HTTP archivés, ressources mixtes examinées, décision HSTS explicite et portée documentée.

HSTS renforce le transport après réception de la politique ; il ne corrige ni un certificat invalide ni une mauvaise architecture d’URL.

Méthode et critères du contrôle

Méthode
Tester le certificat sur les hôtes publics, suivre les variantes HTTP/HTTPS, relever Strict-Transport-Security et rechercher les sous-ressources en HTTP.

Critères attendus
Certificats et redirections sont valides pour les hôtes testés ; contenu mixte examiné ; décision HSTS et sa portée documentées, sans imposer le preload.

Non-applicabilité
Aucun service HTTP public concerné.

Règles détaillées

TS37-A01 · Certificats, hôte, date et confiance fournie

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : tls, intent.

Méthode
Relire les PEM publics fournis avec OpenSSL3 hors réseau : chaîne, usage serveur, hôte DNS, heure fournie et racines explicitement fournies. Désactiver magasins implicites ; conserver version et diagnostic.

Critères attendus
La vérification du profil réussit sous les racines fournies. Une erreur X509 prise en charge, dont expiration ou mauvais hôte, échoue.

Quand le résultat reste indéterminé
OpenSSL3 absent, PEM inutilisable, capture mal attribuée, racines absentes ou code d’erreur non qualifié : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS37-A02 · Redirections HTTPS et décision HSTS

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, configuration, intent.

Méthode
Suivre la chaîne HTTP fournie vers HTTPS sans rétrogradation, vérifier la réponse directe200, comparer configuration HSTS et en-tête au plan : activation, max-age, sous-domaines, portée, propriétaire, motif.

Critères attendus
Chaînes et décision HSTS concordent ; HSTS peut être désactivé explicitement. Aucun preload imposé.

Quand le résultat reste indéterminé
Chaîne/configuration manquante, en-tête ambigu, portée ou décision absente : NT.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

TS37-A03 · Sous-ressources et trafic mixte du périmètre

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md. Amendement: docs/render-transport-prerequisites-v2.md.

Preuves
Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

Méthode
Relier HAR et console au document HTTPS ; examiner les requêtes observées et les URL intégrées de la source. Le profil strict exige HTTPS pour ces ressources, même si un navigateur peut les mettre à niveau. Avec base href non qualifiée, une URL relative reste NT ; examiner indépendamment les URL absolues malgré CSS/srcset ou un autre schéma inconnu.

Critères attendus
Aucune URL HTTP observée sur ces surfaces ; revue de la couverture dynamique consignée. Un HTTP natif observé échoue malgré une autre lacune.

Quand le résultat reste indéterminé
HAR tronqué, corps absent, CSS/srcset non qualifiés, contexte incomplet ou revue absente : NT. Résolution relative avec base href non qualifiée : NT ; une contradiction HTTP indépendante reste NC.

Non-applicabilité
Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

Hypothèses
Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

Limites
Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

Importer les preuves de ce contrôle

TS38 · 2 règles

Les variantes d’hôte, de casse et de slash convergent vers une règle unique.

Variantes hôte, casse et slash de ressources déclarées équivalentes.

À réunir

Une URL finale stable par ressource, sans chaîne, avec des signaux internes concordants.

La casse peut être significative selon le serveur et l’application ; la règle doit être testée, pas supposée.

Méthode et critères du contrôle

Méthode
Rejouer www/sans www, HTTP/HTTPS, casse pertinente et slash final sur un échantillon de routes ; comparer redirection, canonical, sitemap et liens internes.

Critères attendus
Chaque variante testée suit la règle déclarée ; redirections, canonicals, sitemap et liens concordent, sans fusion de ressources distinctes.

Non-applicabilité
Aucune variante concernée après inventaire explicite.

Règles détaillées

TS38-A01 · Trajectoires et canonical des variantes équivalentes

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS38 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : http, html, content, intent.

Méthode
Exiger l’équivalence revue puis lire chaque trajectoire native : un seul saut depuis chaque variante, réponse directe 200 pour la préférence, canonical HTTP/HTML vers elle.

Critères attendus
Chaque variante converge en un saut et chaque canonical qualifiée concorde. La fusion déclarée de ressources distinctes ou une divergence native échoue.

Quand le résultat reste indéterminé
Trace manquante, canonical absente, équivalence non décidée ou rendu nécessaire : indéterminé.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

TS38-A02 · Signaux internes des variantes

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Éléments explicitement sélectionnés du contrôle TS38 ; profil url-policy-v1 décrit dans docs/url-policy-evidence.md.

Preuves
Plan préalable, octets originaux et SHA-256, dates/contexte, observations atomiques, revue humaine motivée liée à tout le dossier. Types : sitemap, html, crawl, content, intent.

Méthode
Lire le urlset natif complet sélectionné et toutes les sources de liens prévues. Exiger la présence de la préférence dans ce sitemap, aucune variante non préférée dans sitemap/liens et la revue d’équivalence/périmètre.

Critères attendus
Sitemap et liens du périmètre concordent avec la préférence ; une divergence ou fusion de pages distinctes échoue. Zéro lien reste une observation du corpus complet fourni.

Quand le résultat reste indéterminé
Index XML, fichier tronqué, source de liens manquante, population ou revue ambiguë : indéterminé ; aucune absence globale inférée.

Non-applicabilité
Aucune exemption atomique dans ce profil. Population vide ou preuve absente : NT, jamais NA automatique.

Hypothèses
Population et provenance fournies ; la revue assume la suffisance du périmètre et le jugement métier. Aucun contenu, verdict importé ou hash ne prouve l’authenticité.

Limites
Lecture hors ligne bornée, sans collecte, navigateur exécuté, jugement humain produit ni audit réel. Périmètre source revu uniquement ; aucune complétude du site, indexation, classement ou causalité déduite.

Importer les preuves de ce contrôle

TS39 · 3 règles

Le CDN, Vary et la géolocalisation ne servent pas des signaux SEO contradictoires.

Diffusion variant selon région, cache, appareil ou négociation.

À réunir

Configuration, matrice préalable, HTTP natifs, rendus ou exemptions positives, revues liées et journaux du cache lorsqu’il est testé. Politique d’accès Googlebot qualifiée séparément des requêtes du client de test ; aucune visite réelle déduite.

Premier profil borné avec un membre canonical par cellule et réutilisation sans transformation. Revues, sources, régions, horloges et journaux fournis sans authentification ; pas de simulation générale du cache. Deux points ne couvrent pas tous les POP/routes, et C n’établit pas l’accès réel de Googlebot.

Méthode et critères du contrôle

Méthode
Déclarer et faire revoir matrice, configuration et politique avant collecte ; comparer signaux natifs, contenu et accès par cellule ; qualifier contextes et réutilisations du cache avec pièces liées selon delivery-evidence-v1.

Critères attendus
Les trois règles réussissent sur les cellules déclarées : politique revue, signaux cohérents et mécanismes attribués ; variations légitimes, défauts indépendants et cellules non qualifiées restent distincts.

Non-applicabilité
Absence de mécanisme de variation attestée par configuration.

Règles détaillées

TS39-A01 · Matrice préalable et configuration revues

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Diffusion variant selon région, cache, appareil ou négociation.

Preuves
Configuration, matrice préalable, HTTP natifs, rendus ou exemptions positives, revues liées et journaux du cache lorsqu’il est testé. Politique d’accès Googlebot qualifiée séparément des requêtes du client de test ; aucune visite réelle déduite.

Méthode
Vérifier fenêtre, cellules, mécanismes, configuration conservée et revue liée avant collecte, incluant représentativité et politique d’accès Googlebot.

Critères attendus
Configuration et matrice qualifiées par une revue favorable ; rejet documenté = fail.

Quand le résultat reste indéterminé
Configuration/revue absente, tardive, non liée ; minimum de matrice ou mécanisme non qualifié.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Intention, contexte et qualifications des sources/revues fournis ; leur vérité reste à vérifier.

Limites
Premier profil borné avec un membre canonical par cellule et réutilisation sans transformation. Revues, sources, régions, horloges et journaux fournis sans authentification ; pas de simulation générale du cache. Deux points ne couvrent pas tous les POP/routes, et C n’établit pas l’accès réel de Googlebot.

TS39-A02 · Cohérence des signaux dans chaque contexte

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Diffusion variant selon région, cache, appareil ou négociation.

Preuves
Configuration, matrice préalable, HTTP natifs, rendus ou exemptions positives, revues liées et journaux du cache lorsqu’il est testé. Politique d’accès Googlebot qualifiée séparément des requêtes du client de test ; aucune visite réelle déduite.

Méthode
Comparer statut/URL finale, recalculer TS07-A01/A02/A03 et TS10-A01, puis confronter langue/contenu/accessibilité aux revues liées ; conserver chaque inconnue.

Critères attendus
Toutes les cellules suivent la politique ; exemption de rendu positive conservée. Toute contradiction attribuable donne fail malgré les autres inconnues.

Quand le résultat reste indéterminé
Cellule, source, rendu, revue ou profil manquant ; corps incomplet, contexte non lié ou sémantique inconnue.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Intention, contexte et qualifications des sources/revues fournis ; leur vérité reste à vérifier.

Limites
Premier profil borné avec un membre canonical par cellule et réutilisation sans transformation. Revues, sources, régions, horloges et journaux fournis sans authentification ; pas de simulation générale du cache. Deux points ne couvrent pas tous les POP/routes, et C n’établit pas l’accès réel de Googlebot.

TS39-A03 · Attribution des contextes et du cache

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Diffusion variant selon région, cache, appareil ou négociation.

Preuves
Configuration, matrice préalable, HTTP natifs, rendus ou exemptions positives, revues liées et journaux du cache lorsqu’il est testé. Politique d’accès Googlebot qualifiée séparément des requêtes du client de test ; aucune visite réelle déduite.

Méthode
Qualifier contextes/mécanismes sur sources liées ; pour le cache, rapprocher entrée stockée, requête servie, couche, horloge, Vary et revue de fraîcheur.

Critères attendus
Attribution et politique cohérentes sur toutes les cellules/checks ; réutilisation attribuée incompatible avec Vary ou politique = fail. Un test n’est pas une visite opérateur.

Quand le résultat reste indéterminé
Région, source, journal, lien ou fraîcheur non qualifié ; Age/HIT, User-Agent, séquence ou ETag seuls insuffisants.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Intention, contexte et qualifications des sources/revues fournis ; leur vérité reste à vérifier.

Limites
Premier profil borné avec un membre canonical par cellule et réutilisation sans transformation. Revues, sources, régions, horloges et journaux fournis sans authentification ; pas de simulation générale du cache. Deux points ne couvrent pas tous les POP/routes, et C n’établit pas l’accès réel de Googlebot.

Importer les preuves de ce contrôle

TS40 · 2 règles

Les méthodes hreflang utilisées sont complètes et cohérentes.

Groupes utilisant au moins une méthode hreflang.

À réunir

Groupes équivalents et réciproques ; si le sitemap est choisi, namespace xhtml et entrées par URL valides.

Cumuler HTML, en-têtes et sitemap n’apporte pas de bénéfice de recherche et augmente le risque de divergence.

Méthode et critères du contrôle

Méthode
Identifier toutes les méthodes publiées, vérifier les groupes et comparer leurs annotations lorsqu’elles coexistent.

Critères attendus
Chaque méthode utilisée couvre le groupe ; si plusieurs sont publiées, leurs annotations sont cohérentes ; aucune obligation d’une méthode unique.

Non-applicabilité
Aucune annotation hreflang dans le périmètre.

Règles détaillées

TS40-A01 · Complétude indépendante des méthodes publiées

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS40 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : hreflang, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Inventorier les méthodes avant capture ; lire chaque méthode/page séparément et vérifier tout le groupe attendu, auto-référence comprise. Une méthode secondaire ne complète pas une primaire partielle.

Critères attendus
Chaque méthode complète contient les associations prévues. Une omission démontrée dans une surface complète ou une destination contraire échoue ; un jeu unique de méthodes est autorisé.

Quand le résultat reste indéterminé
Capture/méthode absente, XML tronqué/index, méthode publiée omise du plan, association hors groupe ou revue absente : indéterminé.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

TS40-A02 · Cohérence des méthodes et des pages du groupe

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Familles ou groupes explicitement sélectionnés pour TS40 ; profil indexing-locale-v1, docs/indexing-locale-evidence.md.

Preuves
Plan préalable, originaux exacts, empreintes, dates/contexte, observations et revue motivée liée à tout le dossier. Types minimaux : hreflang, intent. Preuves natives conditionnelles selon les méthodes déclarées.

Méthode
Comparer les associations qualifiées entre méthodes/pages sans fusionner leurs jeux. Conserver un conflit de destination indépendant même si une troisième méthode manque ; comparer l’égalité des jeux quand les deux sont complets.

Critères attendus
Les méthodes complètes et les pages concordent. Une seule méthode complète est admise. Un conflit natif ou une différence de jeux complets échoue.

Quand le résultat reste indéterminé
Comparaison sans surface qualifiée, capture partielle, méthode manquante ou revue absente : indéterminé, sauf contradiction indépendante établie.

Non-applicabilité
Pas d’exemption atomique. Une population vide, Google non évalué ou un groupe non observé reste NT dans ce profil.

Hypothèses
Périmètre, provenance, segmentation et revues fournis, non authentifiés. Deux hypothèses HTML statiques ne sont pas deux navigations. Les codes figés ne prédisent pas le traitement du moteur.

Limites
Lecture hors ligne de pièces fournies ; ni origine Google, identité humaine ou visite de robot authentifiée, ni état actuel de l’index, causalité, qualité de traduction, ciblage ou conformité globale établis.

Importer les preuves de ce contrôle

TS41 · 3 règles

Les invariants SEO critiques sont rejoués automatiquement avant et après déploiement.

Déploiements soumis aux invariants SEO définis par le projet.

À réunir

Plan et revues liées, commande/environnement identifiés, reçus avec entrées/sorties natives, codes processus, journal JSONL et artefacts avant/après application.

Premier profil natif TSEP strict sans dérogation ; commandes jamais exécutées. Revues, complétude, horloges et runner fournis, non authentifiés. C qualifie le dispositif déclaré, sans santé SEO globale, effet causal ni CI distante déduite.

Méthode et critères du contrôle

Méthode
Fixer population, matrice et politique avant les tentatives ; relire les entrées/sorties natives, événements liés et exercice négatif selon release-invariants-v1.

Critères attendus
Plan représentatif revu, exécutions couvertes et réaction correcte aux échecs/inconnues ; les trois règles réussissent. Un défaut SEO correctement bloqué reste visible et ne condamne pas le dispositif.

Non-applicabilité
Aucun déploiement ou pipeline concerné dans le périmètre et la période.

Règles détaillées

TS41-A01 · Plan préalable et représentativité

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Déploiements soumis aux invariants SEO définis par le projet.

Preuves
Plan et revues liées, commande/environnement identifiés, reçus avec entrées/sorties natives, codes processus, journal JSONL et artefacts avant/après application.

Méthode
Vérifier fenêtre, tentatives, matrice, politique stricte et revue de représentativité liée avant la fenêtre.

Critères attendus
Plan complet et revue favorable ; rejet explicite lié = fail.

Quand le résultat reste indéterminé
Plan ou revue absent, non lié, tardif, incomplet ; profil, seuil ou portée non qualifiés.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Population, contexte comparable, identité des artefacts et revues fournis ; leur véracité reste à qualifier.

Limites
Premier profil natif TSEP strict sans dérogation ; commandes jamais exécutées. Revues, complétude, horloges et runner fournis, non authentifiés. C qualifie le dispositif déclaré, sans santé SEO globale, effet causal ni CI distante déduite.

TS41-A02 · Couverture et fidélité des exécutions

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Déploiements soumis aux invariants SEO définis par le projet.

Preuves
Plan et revues liées, commande/environnement identifiés, reçus avec entrées/sorties natives, codes processus, journal JSONL et artefacts avant/après application.

Méthode
Recalculer les entrées conservées ; vérifier matrice, artefacts, commande, déclencheurs et chronologie, sans exécuter argv.

Critères attendus
Population exacte et sorties fidèles, y compris inconnues conservées ; contradiction conclusive de rattachement ou sortie = fail.

Quand le résultat reste indéterminé
Reçu, cellule, revue, événement ou runtime manquant ; journal ambigu, exécution supplémentaire ou recalcul indéterminé différent.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Population, contexte comparable, identité des artefacts et revues fournis ; leur véracité reste à qualifier.

Limites
Premier profil natif TSEP strict sans dérogation ; commandes jamais exécutées. Revues, complétude, horloges et runner fournis, non authentifiés. C qualifie le dispositif déclaré, sans santé SEO globale, effet causal ni CI distante déduite.

TS41-A03 · Exercice négatif et réaction du dispositif

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Déploiements soumis aux invariants SEO définis par le projet.

Preuves
Plan et revues liées, commande/environnement identifiés, reçus avec entrées/sorties natives, codes processus, journal JSONL et artefacts avant/après application.

Méthode
Vérifier échec négatif préalable, codes distincts pass/fail/inconclusive et événement explicite de blocage/application ou acceptation/suspension.

Critères attendus
Exercice négatif effectif et réactions conformes à la phase ; échec/inconnu masqué, mauvaise action ou dérogation observée = fail.

Quand le résultat reste indéterminé
Exercice, code processus, lien ou action absent/non qualifié ; absence dans un journal insuffisante pour prouver un blocage.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Population, contexte comparable, identité des artefacts et revues fournis ; leur véracité reste à qualifier.

Limites
Premier profil natif TSEP strict sans dérogation ; commandes jamais exécutées. Revues, complétude, horloges et runner fournis, non authentifiés. C qualifie le dispositif déclaré, sans santé SEO globale, effet causal ni CI distante déduite.

Importer les preuves de ce contrôle

TS42 · 3 règles

Chaque agent automatisé est gouverné selon son usage documenté.

Agents automatisés visés par la politique du site.

À réunir

Inventaire mécanisme/finalité, sources opérateurs datées et liées aux revues, décision du responsable et arbitrages, politique robots capturée.

Périmètre fourni et profil robots borné ; aucun registre automatique. Sources, revues et décisions non authentifiées ; aucune visite, identité réelle, conformité opérateur, indexation ou citation déduite.

Méthode et critères du contrôle

Méthode
Documenter les correspondances et leur revue, retenir la décision du responsable, puis comparer sa traduction selon agent-governance-v1 ; conserver les finalités couplées et les inconnues.

Critères attendus
Les trois règles réussissent pour chaque cible et mécanisme déclaré ; la politique qualifiée correspond au choix accepté, avec revue et responsabilité fournies.

Non-applicabilité
Aucune politique d’agents dans le périmètre déclaré, raison fournie.

Règles détaillées

TS42-A01 · Usages et mécanismes documentés

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque cible URL et mécanisme de la politique préalablement déclarée.

Preuves
Entrées, dates, empreintes et résultats détaillés selon docs/agent-usage-policy.md.

Méthode
Lier opérateur, acteur, jeton, mécanisme et finalités aux sources UTF-8 datées ; vérifier empreintes et revue fournie liée.

Critères attendus
Chaque correspondance a une revue supported, complète, datée et liée aux sources, avec applicabilité robots explicite. Une contradiction liée échoue.

Quand le résultat reste indéterminé
Source absente, trop ancienne ou ambiguë ; empreinte, liaison, complétude ou revue manquante.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire fourni ; interprétation des sources et autorité des personnes déclarées, sans authentification automatique.

Limites
Périmètre fourni et profil robots borné ; aucun registre automatique. Sources, revues et décisions non authentifiées ; aucune visite, identité réelle, conformité opérateur, indexation ou citation déduite.

TS42-A02 · Décisions du responsable et arbitrages

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque cible URL et mécanisme de la politique préalablement déclarée.

Preuves
Entrées, dates, empreintes et résultats détaillés selon docs/agent-usage-policy.md.

Méthode
Vérifier chaque décision motivée, la décision séparée du responsable ou délégué déclaré et sa liaison au plan ; conserver tout arbitrage des finalités couplées.

Critères attendus
Chaque couple mécanisme/finalité porte un choix et un motif ; le responsable accepte le plan et ses arbitrages exacts. Son refus lié échoue.

Quand le résultat reste indéterminé
Auteur absent ou non déclaré, décision non liée, dates incohérentes, choix ou arbitrage incomplet.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire fourni ; interprétation des sources et autorité des personnes déclarées, sans authentification automatique.

Limites
Périmètre fourni et profil robots borné ; aucun registre automatique. Sources, revues et décisions non authentifiées ; aucune visite, identité réelle, conformité opérateur, indexation ou citation déduite.

TS42-A03 · Politique capturée et choix effectif

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque cible URL et mécanisme de la politique préalablement déclarée.

Preuves
Entrées, dates, empreintes et résultats détaillés selon docs/agent-usage-policy.md.

Méthode
Regrouper les jetons identiques sans casse, qualifier les correspondances et comparer Allow/Disallow à la décision effective ; conserver lecture, arbitrages, contradictions et inconnues.

Critères attendus
Dans chaque groupe qualifié, la réponse robots 200 attribuée au client suit le choix accepté. Toute contradiction indépendante échoue.

Quand le résultat reste indéterminé
Finalités opposées sans arbitrage, mécanisme non qualifié, champ ignoré ou preuve HTTP/source/décision absente ; autres profils robots non qualifiés.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire fourni ; interprétation des sources et autorité des personnes déclarées, sans authentification automatique.

Limites
Périmètre fourni et profil robots borné ; aucun registre automatique. Sources, revues et décisions non authentifiées ; aucune visite, identité réelle, conformité opérateur, indexation ou citation déduite.

Importer les preuves de ce contrôle

TS43 · 3 règles

L’accès des crawlers autorisés est testé avec leur chaîne complète et rapproché des journaux.

Tests de politique d’accès pour des agents déclarés.

À réunir

Plan préalable, chaîne User-Agent revue, HTTP brut, journal JSONL natif, revues liées, commande/reçu fourni et qualification d’identité.

Premier profil : client de test initié par l’évaluateur ; aucune visite, identité réelle, sécurité ou accessibilité de l’opérateur déduite. Sources, journaux, revues et reçu non authentifiés.

Méthode et critères du contrôle

Méthode
Déclarer séparément l’accès de l’opérateur et le traitement du client de test ; comparer sa chaîne complète, rapprocher les journaux et qualifier honnêtement son origine selon agent-access-v1.

Critères attendus
Les trois règles réussissent sur le périmètre de tests déclaré, avec réponse prévue, rapprochement qualifié et identité opérateur explicitement non vérifiée ; un refus prévu peut être conforme.

Non-applicabilité
Aucun agent à tester dans la politique déclarée.

Règles détaillées

TS43-A01 · Client complet et traitement attendu

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque URL et client HTTP du périmètre de tests préalablement déclaré.

Preuves
Pièces, dates, liaisons et observations selon docs/agent-access-evidence.md.

Méthode
Relire les sources et leur revue liée ; vérifier la chaîne HTTP datée puis la réponse et le corps prévus pour le client de test.

Critères attendus
Documentation revue et réponse conformes au plan du test ; contradiction indépendante conservée même si une autre preuve manque.

Quand le résultat reste indéterminé
Client/source/revue absent, trace incomplète, traitement attendu ou référence de corps manquant.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Sources, contexte, qualité du journal et revues fournis ; portée du test limitée à son client.

Limites
Premier profil : client de test initié par l’évaluateur ; aucune visite, identité réelle, sécurité ou accessibilité de l’opérateur déduite. Sources, journaux, revues et reçu non authentifiés.

TS43-A02 · Chaîne rapprochée des journaux

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque URL et client HTTP du périmètre de tests préalablement déclaré.

Preuves
Pièces, dates, liaisons et observations selon docs/agent-access-evidence.md.

Méthode
Vérifier export, revue de couche/identifiant/cache/horloge, puis identifier chaque ligne unique dans sa fenêtre avant comparaison littérale.

Critères attendus
Chaque saut a une ligne attribuée dont méthode, URL, chaîne client et statut concordent ; tout écart qualifié échoue malgré un autre saut absent.

Quand le résultat reste indéterminé
Logs absents, ID client ou rejoué, doublon, mauvaise couche, format inconnu, fenêtre/revue insuffisante.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Sources, contexte, qualité du journal et revues fournis ; portée du test limitée à son client.

Limites
Premier profil : client de test initié par l’évaluateur ; aucune visite, identité réelle, sécurité ou accessibilité de l’opérateur déduite. Sources, journaux, revues et reçu non authentifiés.

TS43-A03 · Origine du test et identité non inventée

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Chaque URL et client HTTP du périmètre de tests préalablement déclaré.

Preuves
Pièces, dates, liaisons et observations selon docs/agent-access-evidence.md.

Méthode
Vérifier reçu d’exécution et qualification fournie liés ; distinguer test initié par l’évaluateur et visite de l’opérateur.

Critères attendus
Origine assessor-test, identité opérateur not-verified et aucune revendication de visite réelle ; toute revendication liée contraire échoue.

Quand le résultat reste indéterminé
Reçu/commande/qualification manquant, dates incohérentes, liaison absente ou statut d’identité ambigu.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Sources, contexte, qualité du journal et revues fournis ; portée du test limitée à son client.

Limites
Premier profil : client de test initié par l’évaluateur ; aucune visite, identité réelle, sécurité ou accessibilité de l’opérateur déduite. Sources, journaux, revues et reçu non authentifiés.

Importer les preuves de ce contrôle

TS44 · 3 règles

Le contenu critique et ses preuves restent accessibles sans dépendre d’une exécution JavaScript non documentée.

Contenus destinés à des consommateurs automatisés déclarés.

À réunir

Plan et revue préalables, chaînes HTTP complètes, HTML/JSON brut, arbre rendu attribué et revues de contexte liées.

Premier profil HTML/JSON borné, Node facultatif et rendu fourni ; pas de visibilité CSS, vérité, identité du relecteur, ingestion ou citation authentifiées. DOM rédigé explicitement synthétique.

Méthode et critères du contrôle

Méthode
Déclarer les faits critiques et leurs chemins avant collecte ; vérifier accès sans JS, valeurs et revues exactes des représentations selon critical-content-nojs-v1.

Critères attendus
Les trois règles réussissent pour le client de référence sans JavaScript, avec livraison qualifiée, valeurs cohérentes et revues liées ; aucune consommation réelle déduite.

Non-applicabilité
Aucun contenu destiné à ces consommateurs dans le périmètre.

Règles détaillées

TS44-A01 · Périmètre critique préalable

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Contenus destinés à des consommateurs automatisés déclarés.

Preuves
Plan et revue préalables, chaînes HTTP complètes, HTML/JSON brut, arbre rendu attribué et revues de contexte liées.

Méthode
Vérifier inventaire, client sans JS, états et ressources prévus, puis revue liée antérieure aux captures.

Critères attendus
Périmètre complet soutenu par la revue ; rejet lié = fail.

Quand le résultat reste indéterminé
Plan/revue absent, tardif, non lié, incomplet ou capacité de référence différente.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire, références attendues, contexte et revues fournis ; portée fixée avant capture, pièces non authentifiées.

Limites
Premier profil HTML/JSON borné, Node facultatif et rendu fourni ; pas de visibilité CSS, vérité, identité du relecteur, ingestion ou citation authentifiées. DOM rédigé explicitement synthétique.

TS44-A02 · Chemin de livraison sans JavaScript

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Contenus destinés à des consommateurs automatisés déclarés.

Preuves
Plan et revue préalables, chaînes HTTP complètes, HTML/JSON brut, arbre rendu attribué et revues de contexte liées.

Méthode
Vérifier le chemin préalable, le lien explicite si ressource, HTTP anonyme et présence de tous les éléments critiques.

Critères attendus
Destination/réponse attendues et éléments présents ; tout refus, chemin contraire ou absence qualifiée échoue.

Quand le résultat reste indéterminé
Capture, format, runtime, lien/contexte ou lecture incomplète et non qualifiée.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire, références attendues, contexte et revues fournis ; portée fixée avant capture, pièces non authentifiées.

Limites
Premier profil HTML/JSON borné, Node facultatif et rendu fourni ; pas de visibilité CSS, vérité, identité du relecteur, ingestion ou citation authentifiées. DOM rédigé explicitement synthétique.

TS44-A03 · Cohérence des valeurs et du contexte

Mode prévu par le protocole : assisté, avec preuves et déclarations fournies. La disponibilité dans l’app est indiquée sur la fiche du contrôle.

Périmètre
Contenus destinés à des consommateurs automatisés déclarés.

Preuves
Plan et revue préalables, chaînes HTTP complètes, HTML/JSON brut, arbre rendu attribué et revues de contexte liées.

Méthode
Comparer les valeurs qualifiées de chaque représentation et état rendu au plan ; relire le contexte critique entier avec des revues propres à chaque pièce.

Critères attendus
Valeurs et revues cohérentes ; contradiction qualifiée conservée malgré une autre pièce manquante.

Quand le résultat reste indéterminé
Revue, rendu, valeur ou attribution absent/inconnu ; état fourni hors du plan ou contexte non pris en charge.

Non-applicabilité
Aucune exemption atomique automatique.

Hypothèses
Inventaire, références attendues, contexte et revues fournis ; portée fixée avant capture, pièces non authentifiées.

Limites
Premier profil HTML/JSON borné, Node facultatif et rendu fourni ; pas de visibilité CSS, vérité, identité du relecteur, ingestion ou citation authentifiées. DOM rédigé explicitement synthétique.

Importer les preuves de ce contrôle

Format d’échange et adaptateurs

Les imports utilisent le format captures TSEP v1 ou v2 : input_version, rules, targets. Chaque contrôle demandé doit inclure toutes ses règles. Les corps sources, empreintes, contextes et revues restent liés selon le contrat de leur lecteur.

La bêta accepte 8 Mio et 10 cibles par évaluation. Les fichiers incomplets ou incohérents restent signalés ; l’application ne complète pas leurs preuves.

Format captures / Captures format
Adapter39: TS18 original graph/inventory intake, no repaired hashes or generated reviews. Nested and prior supplied originals coexist. [Contract](graph-reconciliation-evidence.md).

Current / Actuel : draft.23, interpreter 23, adapter 24, HTML 7, replay 3.
TS43: [test client and log evidence / client de test et journaux](agent-access-evidence.md), supplied reviews and unverified operator identity.

Historical / Historique : draft.22, interpreter 22, adapter 23, HTML 6, replay 3.
TS42: [usage policy / usages agents](agent-usage-policy.md), explicit synthetic provenance and retained source/decision evidence.

Historical / Historique : draft.21, interpreter 21, adapter 22, replay 3.
[Performance imports / Imports de performance](performance-evidence.md) add TS34/TS35.
The versioned descriptions below are historical; see [current coverage](control-implementation-status.md).
Les descriptions versionnées ci-dessous sont historiques ; voir la couverture actuelle.

# Offline captures → evidence bundle / Captures locales → paquet de preuves

## Français

Version courante : interpréteur 5 / adaptateur 6, [styles SVG bornés](source-text-v5.md) ;
[collecteur 6](diagnostic-campaign.md), draft.7 inchangé.

`adapters/captures.py` version 6 transforme un fichier de captures fourni en un
rapport TSEP draft.7, ses preuves, sa décision et son export EARL. Il appelle
l’interpréteur de référence existant et calcule les résultats depuis les entrées
brutes. Il ne lit pas les verdicts attendus du corpus. Ce composant interne ne
constitue pas une implémentation indépendante. Son format de paquet reste en
version 1 ; l’évaluation suit la [migration normative draft.7](migration-draft.7.md).
Depuis la version 3, l’interpréteur étend la [couverture binaire et gzip/deflate](guided-capture.md),
sans changer le contrat. Les deux versions d’outil figurent dans `import.json`. La version 4 vérifie aussi
l’origine des modules locaux chargés et leurs empreintes avant/après interprétation.
Voir la [migration des outils](guided-capture.md) ; aucune authentification de
l’exécution Python n’est revendiquée.
Un [rapport HTML autonome](html-report.md) peut présenter le paquet et comparer
deux évaluations conservées.

La migration vers **interpréteur 4 / adaptateur 5 / collecteur 3** est décrite dans
[Texte source v4](source-text-v4.md). Elle conserve draft.7, l’entrée binaire 2 et
les captures originales ; réévaluer crée un nouveau paquet, pas un remplacement.
Les empreintes des dépendances HTML de Python sont enregistrées. Un rejeu compare
les résultats et signale séparément une différence d’environnement Python.

### Premier paquet

Depuis la racine du dépôt, avec Python 3.9+ et un dossier de destination **nouveau** :

```sh
python3 adapters/captures.py examples/captures/ts01-markers.json \
  --output-dir /tmp/tsep-capture-ts01 --assessor 'Synthetic demo author' \
  --label 'One synthetic URL' --selection-method 'Supplied synthetic fixture only' \
  --access synthetic --mode automatic --lang fr
python3 tsep.py validate /tmp/tsep-capture-ts01/report.json
python3 tsep.py gate /tmp/tsep-capture-ts01/report.json --summary --lang fr
```

Résultat : TS01 C, `GO_WITH_RESERVATIONS`, **1 contrôle sur 44 et une cible
synthétique**. L’intention et les marqueurs précèdent la capture fictive. Ce C
est limité à cette cible et aux deux règles de TS01.

Un second exemple démontre volontairement une couverture insuffisante :

```sh
python3 adapters/captures.py examples/captures/ts07-source-only.json \
  --output-dir /tmp/tsep-capture-ts07 --assessor 'Synthetic demo author' \
  --label 'Source captures only' --selection-method 'Supplied synthetic fixture only' \
  --access synthetic --mode semiAuto --lang fr
python3 tsep.py gate /tmp/tsep-capture-ts07/report.json --summary --lang fr
```

TS07-A01/A02 passent, mais A03 est omise : **TS07 NT, NO_GO**, et `gate` retourne 1.
L’adaptateur retourne 0 lorsque la conversion est valide, y compris pour NO_GO ;
utiliser `tsep.py gate` pour le code de décision. Une conversion invalide retourne
64, une syntaxe CLI invalide 2. `--json` affiche le résumé structuré au lieu du
résumé lisible ; `--lang en` sélectionne l’anglais.

`examples/captures/ts10-family.json` couvre les quatre règles TS10 ; employer
`--mode manual`. Sa revue humaine et ses captures sont **synthétiques**, déjà
fournies. La sortie est C sur TS10 seulement. Les trois entrées sont des dérivés
contrôlés du corpus, régénérés par `examples/replay.py` et vérifiés sans modifier
les sources par `scripts/verify.py`.

### Entrée et périmètre

L’objet JSON contient exactement `input_version: "1"` ou `"2"`, `rules` et `targets`, selon
le [format d’entrée](conformance.md), le [plan source/DOM](rendered-states.md) et
les [familles canoniques](canonical-families.md). Choisir explicitement les règles
parmi TS01-A01/A02, TS07-A01/A02/A03 et TS10-A01 à A04. Fournir les échanges HTTP
complets par saut, HTML et robots.txt bruts, intention préalable, contexte et les
revues/captures supplémentaires requises. Les CRLF et champs répétés restent
dans les chaînes d’origine. Un objet de cas avec `expected` est refusé.

L’outil accepte un fichier UTF-8 d’au plus 8 Mio et 1 à 100 cibles HTTP(S)
distinctes ; aucune lecture d’une URL ou d’un chemin contenu dans le JSON. Les
clés dupliquées, valeurs JSON non finies, URLs invalides et règles inconnues sont
refusées. Les entrées structurellement mal formées peuvent être refusées ; une
preuve incomplète ou hors du sous-ensemble interprété reste inconclusive.

Le rapport est `custom` et sélectionne par défaut les parents des règles
demandées. `--controls TS01,TS07` peut ajouter des contrôles, qui restent NT et
not-started si aucune règle n’est demandée. Aucun parent demandé ne peut être
omis. `--exclude` est répétable. `--assessor`, `--label`, `--selection-method` et
`--access public|restricted|synthetic` sont obligatoires ; l’outil ne devine ni
l’échantillonnage ni la confidentialité et ne masque pas les données fournies.

`--mode` vaut manual par défaut. Un C automatic exige toutes les règles du contrôle
automatic, leur couverture complète et l’outil nommé/versionné. TS01 le permet ;
TS07 exige au moins semiAuto et TS10 manual. Les revues fournies ne sont ni
fabriquées ni authentifiées par l’adaptateur. Un mode incompatible avec un C
calculé est refusé avant livraison, sans changement silencieux du verdict.

### Fichiers produits et dates

| Fichier | Contenu |
| --- | --- |
| `input.json` | Octets d’origine exacts, conservés comme preuve |
| `import.json` | Version de l’outil/protocole, empreintes du code et de l’entrée, date d’import, accès et règles demandées/omises par contrôle |
| `assessment.json` | Résultats calculés par règle/cible, avant rattachement des preuves |
| `evidence/target-N-KIND.json` | Champs fournis, séparés par cible et type, avec base de datation explicite |
| `report.json` | Rapport format 2 validé, preuves relatives et SHA-256 |
| `gate.json` | Décision, causes bloquantes NC/NT et couverture déclarée |
| `earl.jsonld` | Assertions du contrôle et de chaque résultat atomique |
| `SHA256SUMS` | Empreinte de chaque fichier livré, sauf le manifeste lui-même |

Les types dérivés correspondent aux champs effectivement fournis : intention et
revues, HTTP, source HTML, robots, rendu, sitemaps et crawl. Pour une ressource
non HTML, la preuve `html` conserve les réponses et leur type média explicite,
conformément au contrat ; elle n’invente pas de document HTML. Aucun DOM absent,
aucune revue ou preuve d’absence n’est créé. Les preuves communes sont rattachées
à toutes les cibles ; les extraits d’une cible ne servent pas de preuve à une autre.

Chaque extrait conserve les dates originales. Sa date d’artefact est la plus
récente des dates fournies, avec la date de cible pour les champs non datés ;
`date_basis` précise cette convention d’agrégation. Si une date manque ou est
invalide, l’artefact est daté **à l’import seulement**, explicitement, sans réparer
la capture. Le calcul garde ses inconnues. Toute date fournie valide située dans
le futur est refusée. La date d’import des fichiers d’origine et de calcul ne
prouve pas une date de collecte ; aucune date déclarée n’est authentifiée.

Le paquet est validé dans un dossier temporaire avant création de la destination.
Un dossier, fichier ou lien existant n’est jamais remplacé. Le parent doit déjà
exister. Une erreur de copie retire le nouveau dossier partiellement écrit.
Déplacer le paquet complet conserve ses chemins de preuve relatifs. La date
d’import fait varier les octets de deux imports ; seuls les résultats calculés
sur une entrée et une version identiques sont reproductibles.

### Limites et validation

Une règle en échec conserve NC même si d’autres manquent. C nécessite toutes les
règles et toutes les cibles requises, au moins un pass, aucune inconnue ni aucun
fail ; des exemptions seules ne justifient pas NA au niveau du contrôle. Les
règles non demandées restent omises et visibles dans `import.json`, sans fausse
assertion d’exécution. La politique de décision reste inchangée en draft.7.

Les limites de l’interpréteur restent celles de la [conformance](conformance.md) :
pas de collecte, exécution JavaScript, observation moteur ou conformité globale.
Les attendus normatifs du corpus ne sont jamais substitués aux résultats
calculés. La recette convertit toutes les entrées brutes du corpus et vérifie intégrité,
portabilité, limites de modes, inconnues, échecs, non-écrasement et erreurs de copie.
Ce contrôle du parcours ne constitue pas une seconde interprétation normative.

## English

Historical: interpreter 5 / adapter 6, [bounded SVG styles](source-text-v5.md);
[collector 6](diagnostic-campaign.md), draft.7 unchanged.

Interpreter 4 / adapter 5 / collector 3 migration is documented in
[Source text v4](source-text-v4.md). Draft.7, binary input 2 and original captures
are preserved; re-evaluation creates a new bundle. Selected Python HTML dependency
hashes are recorded. Replay compares results and separately discloses a Python
runtime difference.



`adapters/captures.py` version 6 converts supplied offline captures into a TSEP
draft.7 report, evidence, decision and EARL export. It uses the existing bounded
reference interpreter and computes outcomes from raw input, without reading
conformance expectations. This internal component is neither an independent
implementation. Its bundle format remains version 1; assessment follows the
[draft.7 normative migration](migration-draft.7.md).
Since version 3 the interpreter extends [binary and gzip/deflate coverage](guided-capture.md),
without changing the contract. Both tool versions appear in `import.json`. Version 4 also checks loaded local
module origins and fingerprints before/after interpretation. See the
[tool migration](guided-capture.md); this does not authenticate Python execution.
A [standalone HTML report](html-report.md) can present the bundle and compare
two retained assessments.

### First bundle

Run the commands above from the repository root with Python 3.9+, choosing a
**new** output directory and `--lang en` for the English summary. The TS01 sample
produces C and `GO_WITH_RESERVATIONS` on **1 control out of 44, one synthetic
target**. Prior intent and markers are supplied. The TS07 source-only sample has
passing A01/A02 but omits A03: **NT, NO_GO**. `tsep.py gate` deliberately exits 1.

Successful conversion exits 0 even for NO_GO; run `tsep.py gate` for the decision
exit code. Invalid conversion exits 64; malformed CLI syntax exits 2. `--json`
selects the structured summary. `examples/captures/ts10-family.json` covers all
four TS10 rules using `--mode manual`, with supplied **synthetic** human review
and captures, yielding C for TS10 only. The three raw examples are controlled
corpus derivatives, regenerated by `examples/replay.py` and checked without
source changes by `scripts/verify.py`.

### Input and scope

The JSON object contains exactly `input_version: "1"` or `"2"`, `rules` and `targets` in
the [input format](conformance.md), [source/DOM plan](rendered-states.md) and
[canonical family format](canonical-families.md). Explicitly select rules from
TS01-A01/A02, TS07-A01/A02/A03 and TS10-A01 through A04. Supply complete HTTP
exchanges per hop, raw HTML/robots.txt, prior intent, context and required
additional captures/reviews. Original strings retain CRLF and repeated headers.
Case wrappers with `expected` are rejected.

The UTF-8 input file is limited to 8 MiB and 1–100 distinct HTTP(S) targets; no URL
or file path inside the input is fetched. Duplicate JSON keys, nonfinite values,
invalid URLs and unknown rules are rejected. Structurally malformed inputs may
be rejected; incomplete or unsupported evidence remains inconclusive.

The `custom` report selects requested rules' parents by default. Optional
`--controls TS01,TS07` can add controls, left NT/not-started if no rule is requested,
and cannot omit requested parents. Repeat `--exclude` as needed. `--assessor`,
`--label`, `--selection-method` and `--access public|restricted|synthetic` are
required: sampling and confidentiality are not inferred, and data is not redacted.

`--mode` defaults to manual. Automatic C requires every control rule automatic,
complete coverage and tool name/version. TS01 permits it; TS07 requires at least
semiAuto and TS10 manual. Supplied reviews are not created or authenticated by
the adapter. A mode incompatible with computed C is rejected before delivery,
without silently changing the verdict.

### Output and dates

`input.json` retains the exact original bytes. `import.json` records tool/protocol
versions, code/input hashes, import time, access and requested/omitted rules per
control. `assessment.json` contains computed rule/target results before evidence
linking. `evidence/target-N-KIND.json` retains supplied fields per target/type with
an explicit date basis. `report.json` is validated format 2 with relative paths
and SHA-256; `gate.json` records decision, NC/NT blockers and coverage;
`earl.jsonld` contains control and atomic assertions. `SHA256SUMS` covers every
delivered file except itself.

Derived types match supplied intent/reviews, HTTP, HTML source, robots, rendering,
sitemaps and crawl fields. For non-HTML, the contract's `html` evidence retains
responses with their explicit media types without inventing HTML. Missing DOM,
reviews or absence evidence are never created. Shared evidence covers all targets;
target extracts never become another target's evidence.

Original dates remain in each extract. Its artifact date is the latest supplied
date, using the target observation date for undated fields; `date_basis` states
this aggregation convention. Missing/invalid dates give an explicitly
**import-time-only** artifact date, without repairing capture data or changing
unknown outcomes. Any valid supplied future date is rejected. Original-input and
computed-result artifact dates indicate import, not collection. No declared date
is authenticated.

Validation runs in staging before creating the destination. Existing files,
directories or links are never replaced; the parent must exist. A copy failure
removes the newly created partial directory. Moving the entire bundle preserves
relative evidence paths. Import time changes bytes across imports; computed
outcomes are reproducible for identical input and code versions.

### Limits and verification

A failure preserves NC despite missing rules. C requires every required rule and
target, at least one pass, no fail or unknown. All-exempt atoms alone cannot
establish whole-control NA. Omitted rules remain visible in `import.json` without
invented execution assertions. Decision policy remains unchanged in draft.7.

The [reference limits](conformance.md) still apply: no collection, JavaScript
execution, engine observation or global conformity. Normative corpus expectations
never replace computed outcomes. Tests convert every raw corpus input and verify
integrity, portability, mode constraints, unknowns, failures, non-overwrite and
copy failures. These workflow checks are not a second normative interpretation.
Dossiers de preuves / Evidence dossiers
# Supplied evidence dossier v1 / Dossier de preuves fourni v1

Normative for the new rules that explicitly select this profile, from
0.3.0-draft.2. Existing readers and rules are unchanged.
Normatif uniquement pour les nouvelles règles sélectionnant ce profil, dès
0.3.0-draft.2. Les lecteurs et règles existants restent inchangés.

## Français

Une cible porte `url`, `observed_at`, `context` (id, tool, tool_version, bounds),
`intent.declared_at`, le client HTTP exact `intent.crawler` et les plans sous
`intent.evidence_checks[TSxx]`. Un plan possède reader, scope_reason et 1–32 items
avec id unique (128 octets maximum). Les pièces se trouvent sous
`evidence_checks[TSxx]` : synthetic booléen explicite, records, documents et reviews
(trois listes requises, 128 éléments maximum chacune). La taille du dossier est
bornée à 8 Mio. Aucune découverte implicite, interprétation de verdict importé,
collecte ni exécution de commande présente dans une pièce.

Un record contient id, kind, observed_at, context_id, native. Ce dernier a exactement
raw_base64, sha256, encoding, complete : base64 canonique des octets originaux,
SHA-256 exact, encoding identity, complete true pour une interprétation positive.
Le lecteur d'intégrité historique des fichiers sitemap est réutilisé sans changer
son comportement. Un original présent corrompu est un refus technique, distinct
de NT. Un record absent, incomplet, compressé ou dépassant 1 Mio est indéterminé.
Le JSON est UTF-8, avec format explicite ; clés dupliquées et nombres non finis
sont refusés par la lecture, sans réparation ni conclusion d'absence.

Un document contient url, observed_at, context_id et http : 1–12 échanges natifs
au format historique. Le lecteur HTTP existant contrôle requête, client, réponse,
complétude, URL et redirections. Le corps utilisé est limité à 1 Mio. La lecture
HTML source réutilise le sous-ensemble strict historique `canonical.html` ; elle
n'émule pas un navigateur et ne récupère pas les contextes non pris en charge.
Les originaux restent conservés même lorsqu'ils ne sont pas interprétables.

Toutes les pièces portent le même context_id que la cible et sont datées entre
la déclaration du plan et l'évaluation. Les dates sont fournies, non authentifiées.
Une review identifie subject=`TSxx-Ayy:item_id`, reviewer, reason, judgment
(supported ou contradicted), reviewed_at, provenance et binding_sha256. Elle est
bornée à 32 Kio ; reviewer/reason sont non blancs et limités à 8 192 octets UTF-8.
Sa date suit **toutes** les pièces records/documents liées et précède l'évaluation.
Provenance vaut synthetic-exercise pour un dossier synthétique, sinon human ou
human-assisted. Aucune revue produite par le lecteur.

L'empreinte de revue est SHA-256 du JSON UTF-8 canonique (clés triées,
ensure_ascii=false, séparateurs virgule/deux-points sans espaces, nombres finis)
de `{target:url, observed_at, intent, context, control:TSxx, evidence:dossier_sans_reviews}`.
Les empreintes lient les pièces sans authentifier acquisition, dates, contenu ou
identité humaine. Une revue contradictoire ne produit fail que si ses préalables
natifs sont qualifiés ; elle ne résout pas une preuve manquante. Une contradiction
native indépendante survit aux autres inconnues.

Pour une règle : tout fail qualifié entraîne fail ; sinon toute inconnue ou
population vide entraîne inconclusive ; sinon pass. Aucune NA atomique. Le rapport
exige toutes les règles/cibles avant C, préserve NC malgré les lacunes et produit
NT pour les preuves insuffisantes. Il garde les types réellement fournis, sans
inventer une preuve absente. Les documents sources peuvent servir de contenu ou
de corpus de liens explicitement étiqueté ; cela ne prétend pas à un crawl réel.
Le transport refuse de réétiqueter un dossier ou une revue synthétique comme réel.

## English

A target supplies url, observed_at, context (id, tool, tool_version, bounds),
intent.declared_at, exact HTTP intent.crawler and plans under
intent.evidence_checks[TSxx]. Each plan has reader, scope_reason and1–32 items with
unique IDs of at most128 bytes. Evidence lives under evidence_checks[TSxx]: explicit
boolean synthetic plus required records, documents and reviews lists, each bounded
to128 entries. Dossiers are limited to8MiB. No implicit discovery, acceptance of
imported verdicts, collection or execution of commands found in evidence.

Records contain id, kind, observed_at, context_id and native. The latter has exactly
raw_base64, sha256, encoding, complete: canonical original-byte base64, exact SHA-256,
identity encoding and complete=true for positive interpretation. The unchanged
historical sitemap original-byte integrity reader is reused. A corrupt present
original is a technical refusal, distinct from NT. Missing, incomplete, compressed
or over1MiB evidence is inconclusive. JSON must be UTF-8 with an explicit format;
duplicate keys and nonfinite values cannot be repaired into an absence conclusion.

Documents contain url, observed_at, context_id and1–12 historical native HTTP
exchanges. The existing HTTP reader checks request/client/response/completeness/URL
and redirects. Used body is bounded to1MiB. Source HTML reuses strict historical
canonical.html; it does not emulate a browser or recover unsupported contexts.
Originals remain retained even when uninterpretable.

Every record/document shares the target context_id and is dated between prior
plan declaration and assessment. Supplied dates are not authenticated. Reviews
contain subject=TSxx-Ayy:item_id, reviewer, reason, judgment (supported/contradicted),
reviewed_at, provenance and binding_sha256. Reviews are bounded to32KiB, reviewer
and reason to8192 nonblank UTF-8 bytes each. Review date follows **all** bound
records/documents and precedes assessment. Provenance is synthetic-exercise for
synthetic dossiers, otherwise human/human-assisted. No reviewer judgment is generated.

The review fingerprint is SHA-256 of canonical UTF-8 JSON (sorted keys,
ensure_ascii=false, compact comma/colon separators, finite numbers) for
{target:url, observed_at, intent, context, control:TSxx, evidence:dossier_without_reviews}.
Hashes bind evidence without authenticating acquisition, dates, content or humans.
A contradictory review yields fail only with qualified native prerequisites;
it cannot resolve missing evidence. Independent native failures survive other gaps.

Any qualified fail dominates; otherwise any unknown or empty population is
inconclusive; otherwise pass. No atomic NA. Reports require all rule/target pairs
for C, retain NC despite gaps and use NT for insufficient evidence. Export keeps
actually supplied evidence kinds and never creates missing proof. Source documents
may form explicitly labeled content or internal-link corpora without claiming a
real crawl. Transport refuses relabeling synthetic dossiers/reviews as real.
Search Console
# TS08 intake 2 — integrity / intégrité

## Français

L'importeur CLI `adapters/inspection_intake.py` passe à la version **2**. Le
protocole draft.33, le lecteur TS08 et ses trois règles ne changent pas. Il s'agit
d'une vérification du dossier d'import, pas d'une nouvelle définition de C/NC/NT.

La version 1 vérifiait les entrées présentes dans `intake.files`, mais ne rendait
pas obligatoire celle d'`input.json`. Elle comparait également la liaison de la
revue à `intake.input_sha256` sans comparer séparément cette dernière aux octets
réels de l'entrée. Deux contradictions synthétiques ont reproduit cette lacune :
une entrée modifiée dont l'empreinte avait été retirée de l'inventaire, et une
fausse empreinte globale identique dans le manifeste et la revue. Un rapport
pouvait alors être produit malgré ces contradictions internes. Les empreintes
auto-déclarées n'ont jamais authentifié l'auteur ou Google.

La version 2 exige l'inventaire complet des fichiers produits par `prepare` :
plan, entrée, demande de revue vide et originaux numérotés. Aucun fichier
supplémentaire, lien symbolique, chemin non canonique ou empreinte autre qu'un
SHA-256 hexadécimal minuscule de 64 caractères n'est admis. Les noms ont un
vocabulaire ASCII exact ; alias de casse ou de normalisation Unicode refusés.
Les bornes sont 16 inspections, 67 fichiers déclarés, 100 entrées parcourues,
8 Mio par fichier et 128 Mio au total. Les bornes normatives du lecteur TS08
restent applicables séparément.

Chaque fichier est lu dans un tampon borné, contrôlé puis analysé depuis ce
même tampon. `input_sha256` désigne les **octets bruts** d'`input.json`, pas une
nouvelle sérialisation JSON. Inventaire, liaison globale, demande de revue vide
et revue fournie doivent désigner ces mêmes octets. Le plan et les corps natifs
doivent aussi correspondre à leurs projections dans l'entrée ; seule la date
`observed_at` de préparation diffère normalement du plan. Une incohérence est
un refus de construction avant toute sortie, avec code CLI 1 ; ce n'est ni NC
ni NT. Une entrée cohérente avec preuves insuffisantes peut toujours produire NT.

### Migration explicite

Conserver le dossier version 1 et son moteur exact. Ne pas réécrire sa version,
son manifeste, ses originaux, ses revues ou son ancien rapport. `build` version 2
refuse un import version 1. Pour une nouvelle évaluation, appeler explicitement
`prepare` version 2 avec le plan original et les observations conservées, vers
un dossier neuf. Conserver la nouvelle demande de revue vide et fournir les
revues réellement disponibles dans une copie séparée. Une revue antérieure ne
peut être réutilisée que si sa portée et sa liaison aux pièces restent exactes ;
ne pas inventer, antidater ou renouveler une décision pour obtenir un résultat.
Une liaison différente demande une nouvelle revue effectivement fournie.

La nouvelle date d'évaluation peut changer la qualification de fraîcheur ; elle
ne rafraîchit ni une acquisition ni le crawl rapporté. Le rejeu d'un ancien rapport
reste effectué avec son moteur exact et sa date d'observation conservée. Aucun
réimport ou changement de dépendance n'est automatique. Les intégrations choisissent
séparément leur archive ; ce correctif ne remplace pas leurs copies existantes.

La vérification porte sur la cohérence des pièces fournies, pas leur authenticité.
Un auteur capable de réécrire toutes les pièces et empreintes de façon cohérente
n'est pas authentifié ou détecté par un manifeste auto-déclaré. Aucun accès réel
Google, acquisition Edikka ou avis humain n'est établi par ces essais fictifs.
Les résultats observés des tests sources/archive figurent dans le bilan de
livraison, pas dans cette description des attentes.

## English

CLI `adapters/inspection_intake.py` becomes **version 2**. Protocol draft.33,
the TS08 reader and its three rules are unchanged. This verifies intake-package
integrity; it does not redefine C/NC/NT.

Version 1 checked entries that appeared in `intake.files` without requiring
`input.json`. It compared the supplied review binding to `intake.input_sha256`
without separately comparing that pointer with the actual input bytes. Two
synthetic contradictions reproduced this gap: changed input omitted from the
inventory, and an equally false global pointer in the manifest and review. A
report could be produced despite these internal contradictions. Self-declared
hashes have never authenticated the author or Google.

Version 2 requires the exact generated inventory: plan, input, blank review
request and numbered originals. Extra files, symlinks, noncanonical paths and
digests other than 64 lowercase hexadecimal SHA-256 characters are refused.
Paths use an exact ASCII vocabulary; case and Unicode-normalization aliases are
unsupported. Bounds are 16 inspections, 67 listed files, 100 traversed entries,
8 MiB per file and 128 MiB total. The separate normative TS08 bounds still apply.

Each payload is read once into a bounded buffer, hashed and parsed from that
same buffer. `input_sha256` denotes the **raw bytes** of `input.json`, not a new
JSON serialization. Inventory, global pointer, blank request and supplied review
must bind those same bytes. Original plan/native bodies must match their input
projections; only preparation `observed_at` normally differs from the plan.
Inconsistency refuses construction before any output with CLI exit 1, not an NC
or NT result. Consistent input with insufficient evidence can still produce NT.

Preserve version-1 intakes, their exact tools, native files, reviews and reports.
Version-2 build refuses version 1; never edit an old version marker to migrate it.
Explicitly prepare a new intake from the retained original plan and observations,
then supply genuinely available reviews in a separate copy of the new blank
request. Reuse a prior review only when its scope and evidence binding still match;
a different binding requires an actually supplied new review. Never invent,
backdate or renew a decision to obtain a desired outcome.

New assessment time may affect freshness qualification; it does not refresh the
acquisition or crawl. Replay historical reports with their exact tools and retained
observation time. No automatic reimport or dependency migration occurs; integrations
select their archives separately. This fix does not replace existing copies.

This checks consistency, not authenticity against an author coherently replacing
every file and hash. Synthetic tests establish no actual Google/Edikka acquisition
or human review. Observed source/archive verification belongs in the retained
delivery evidence, not in these expected-behavior instructions.
Comparaison canonique / Canonical comparison
Version 2 — [integrity and explicit migration / intégrité et migration explicite](intake-integrity-v2.md). Preserve version-1 tools and dossiers; conserver les outils et dossiers version1.

# TS12 supplied intake / Import fourni

## Français

Le [contrat](canonical-comparison.md) définit le profil et ses limites. Ce parcours
hors ligne ne contacte ni Google ni le site, n’exécute aucun navigateur et ne
fabrique pas de revue. Node 24 explicite est nécessaire à la lecture HTML.

1. Avant acquisition, conserver un plan cible sans documents, inspection_records,
   inspection_reviews ou comparison_reviews. Déclarer inspection + canonical_comparison,
   contexte/client, préférences sourcées, scénarios et limites, puis fournir la
   revue préalable liée à {url,intent}. Une connaissance antérieure reste déclarée.
2. Acquérir réellement les requêtes/réponses API selon [TS08](search-console-acquisition.md).
   Chaque dossier contient request.json, response.json et manifest.json daté, avec
   empreintes et provenance réelles. Aucun secret n’est requis dans le dossier.
   Fournir séparément la liste documents en JSON : traces HTTP et états DOM structurés
   de même navigation. Les outils n’inventent aucune pièce manquante.
3. Importer les fichiers exacts, puis lire input.json et review-request.json.
   Ce dernier laisse auteur, dates, revendications, explication et décision vides.
   Fournir une revue distincte, liée aux octets et au plan. Garder toute tentative.
4. Construire un nouveau paquet, lire synthèse/atomes/observations/preuves puis
   exporter et rejouer avec les outils exacts. Une revue vide donne NT. Les erreurs
   API, limites et différences restent consultables ; C qualifie le dossier.

```sh
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/comparison_intake.py prepare plan.json \
  --inspection native-url-1 --documents supplied-documents.json --output prepared-new
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/comparison_intake.py build prepared-new \
  --reviews supplied-reviews.json --output bundle-new --assessor 'Actual assessor'
TSEP_SOURCE_NODE=/path/to/node24 python3 tsep.py html bundle-new/report.json --lang fr --output report-fr.html
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/replay.py bundle-new --output replay-new
```

Les commandes HTML/rejeu exposent aussi --help. Le plan, les fichiers natifs et leur
empreinte sont conservés ; aucune destination existante n’est remplacée. L’import
est daté au moment réel du calcul, distinct des acquisitions. Changer les outils
exige une réévaluation distincte. Une ancienne preuve ne devient pas prospective.
Données de compte : restricted ; revues/exemples rédigés : synthetic.

Exemples livrés : examples/captures/ts12-agreement.json, ts12-divergence.json,
ts12-contradiction.json, ts12-source-only.json. Tous sont des exercices rédigés,
DOM compris ; aucune navigation navigateur ou approbation humaine réelle.

## English

The [contract](canonical-comparison.md) defines the bounded profile. This offline
workflow contacts neither Google nor the site, executes no browser and creates no
review. Explicit Node24 is needed for HTML reading. Before acquisition, retain a
target plan without documents/inspection_records/inspection_reviews/comparison_reviews,
with inspection and canonical_comparison intent, context/client, sourced preferences,
scenarios/thresholds and supplied prior review bound to {url,intent}. Disclose prior
knowledge. Acquire genuine native API request/response/manifests through the TS08
procedure and separately supply the exact JSON document list, with HTTP and structured
same-navigation DOM. No missing evidence is invented; no credentials belong in it.

Use the commands above to prepare a new intake, inspect input and blank review request,
then supply a separate genuine review and build a new bundle. Empty reviews remain NT.
Read summary/atoms/observations/evidence and replay with exact tools. Preserve attempts,
original files and hashes; existing destinations are never overwritten. Import time
is actual computation time, separate from acquisition. Changed tools require separate
reassessment; old evidence never becomes prospective. Real account data is restricted;
authored examples/reviews are synthetic. The four supplied examples include authored
DOM and establish no real browser navigation or human approval. C is documentation,
not canonical correctness, Google agreement, TS10 conformity or indexing.
Sitemaps
# TS15 — supplied sitemap files / fichiers sitemap fournis

Profile `native-sitemap-files-v1`, reader1, draft.35. Interpreter34 / adapter35 /
HTML19 / replay3. Three rules; execution and application delivery recorded separately.
44 native reader expectations,31 set expectations and4 review counterexamples were
frozen before their corresponding implementation/change. These are authored synthetic
cases, never independent validation or actual server observations.

## Français

Le résultat porte uniquement sur une **population déclarée de fichiers fournis**.
Une racine n’est pas découverte ni attribuée à robots.txt/Search Console/CMS par
le lecteur. Le nombre de fichiers, les racines et `root_discovery=not-established`
restent visibles, même pour C. Un index non fourni peut désigner d’autres fichiers ;
aucune exhaustivité des sitemaps du site n’est établie. Les URL, dates, provenance
et complétude sont déclarées, non authentifiées. Un NC désigne le fichier fourni
déclaré pour une URL, jamais une réponse du serveur observée.

L’entrée de l’adaptateur reste `input_version=2`, rules et targets. Chaque cible
contient url (première racine), observed_at, sitemap_synthetic booléen, context
(network,bounds,tool,tool_version) et intent.declared_at. intent.sitemap_files contient
reader, selection_reason non vide, window_start/end (<=24h), roots et documents.
Le plan précède la fenêtre ; celle-ci précède observed_at.1–16 URL de documents
distinctes, roots non vide/distinct/sous-ensemble ; URL absolues HTTP(S), sans
identifiants, fragment ni espaces. Comparaison exacte, sans normalisation ni requête.

`sitemap_files` contient au plus16 objets : url déclarée exacte, description,
observed_at dans la fenêtre, provenance=`synthetic-exercise` ou `supplied-native-file`,
et native={raw_base64,sha256,encoding,complete}. encoding vaut identity ou gzip,
complete est booléen, base64 est strict et canonique. SHA-256 lie l’original exact.
Le nom de fichier ne détermine pas l’encodage. Aucun original n’est recompressé.
La provenance synthétique doit correspondre à l’accès synthetic du dossier ; une
pièce fictive ne devient jamais publique par un changement d’étiquette.

L’import refuse techniquement tout original altéré, base64 invalide, encodage
inconnu ou fichier brut >5 242 880 octets. L’enveloppe JSON entière conserve sa borne
8 388 608 octets : plusieurs fichiers peuvent l’atteindre avant leur limite
individuelle. Un XML brut de50Mio est donc refusé ; un gzip fourni assez petit peut
être évalué à sa taille décompressée réelle. Refus de transport ≠ NC/NT du contrôle,
aucun rapport réussi n’est créé à la destination. Données absentes dans un dossier
intègre : inconclusive, jamais C/NA.

A01 lit UTF-8 strict sur les octets décompressés, BOM UTF-8 inclus dans la taille ;
un défaut d’encodage donne fail pour le fichier complet seulement si une lecture
secondaire bornée à65 536 octets attribue sa racine à Sitemaps0.9. Cette lecture
s’arrête au premier élément, refuse DTD/entités avant expansion et n’accepte ni
ne répare un sitemap UTF-16. RSS UTF-16, binaire ou texte sans racine attribuée :
inconclusive. Une racine urlset/sitemapindex lue normalement avec namespace erroné
reste une contradiction explicite. Une racine trop tardive reste inconnue.
Racines urlset/sitemapindex dans le namespace exact
`http://www.sitemaps.org/schemas/sitemap/0.9` ; préfixes libres. Namespace absent ou
erroné d’une de ces formes : fail. Autre format (RSS/Atom) : inconclusive.
Un élément url/sitemap direct exige un loc non vide unique, en tête, puis feuilles
ordinaires uniques et ordonnées : lastmod/changefreq/priority pour url, lastmod pour
sitemap. XML globalement mal formé complet, loc absent/doublé, texte mixte ou élément
de base inattendu : fail. DTD et déclarations d’entités sont arrêtés avant expansion,
sans chargement réseau ; extensions/attributs inconnus et xml:base : inconclusive.
La seule annotation de racine qualifiée est xsi:schemaLocation, conservée sans
charger ni appliquer le schéma. Commentaires et instructions sont inertes.

A02 compte les octets bruts réellement décompressés (BOM, caractères multioctets,
échappements et fins de ligne inclus), et tous les éléments url/sitemap directement
sous leur racine qualifiée. Les doublons et entrées sans loc comptent ; les extensions
ne sont pas des entrées. Maximum inclusif52 428 800 octets et50 000 éléments par
fichier ou index.52 428 801 octets ou50 001 éléments effectivement lus donnent fail,
si le préfixe attribue une racine Sitemaps0.9, même si la lecture s’arrête là.
Sans cette attribution, la mesure arrêtée reste descriptive et A02 inconclusive ;
RSS, DTD et racine au-delà du préfixe ne deviennent pas NC par cette mesure.
Le diagnostic dit exact ou borne inférieure ; le
champ ISIZE, un compteur fourni ou le nom .gz ne suffisent jamais. Une lecture
arrêtée ne qualifie pas A01. Un comptage complet peut passer malgré une feuille
malformée ; A01 reste alors fail. Les trois axes ne doivent pas être confondus.

Un seul membre gzip complet est qualifié. Flux tronqué, CRC erroné, membres concaténés
ou données finales : inconclusive, sauf dépassement déjà établi indépendamment.
CRC/fin de flux n’authentifient pas la source. Capture déclarée incomplète : inconclusive.
Bornes internes : profondeur16,300 000 éléments,4096 caractères par feuille ; dépasser
une borne interne donne inconclusive, jamais une violation de sitemap inventée.

A03 requiert exactement les documents déclarés, un original non ambigu par URL et
une couverture par les racines. Chaque enfant loc d’index doit correspondre à une
URL déclarée et à un fichier feuille complet qualifié. Pas de parcours réseau,
normalisation, suivi de redirection ou attribution depuis le nom. Enfant absent,
orphelin, format illisible, cycle ou index imbriqué : inconclusive. L’absence de
preuve de couverture n’est pas une contradiction démontrée : cette règle ne produit
pas fail. Une contradiction A01/A02 indépendante reste fail malgré cette lacune.

C exige les trois pass pour toute la population déclarée ; NC exige une contradiction,
sinon NT. Aucun NA automatique. Ce profil ne valide pas tout XML Schema, les valeurs
des feuilles facultatives, le sens/la fraîcheur de lastmod, l’hôte/le chemin/la longueur
des URL, leur canonical, leur indexation, les soumissions ni le périmètre éditorial.
Il ne faut pas présenter C comme « sitemap valide pour Google » ou conformité globale.
Les originaux restent dans input.json et les pièces dérivées ; le rejeu exige le même
moteur exact, sans réseau. Les autres règles qui emploient Node gardent leur exigence
propre ; TS15 utilise uniquement Python standard.

## English

The outcome covers only a **declared population of supplied files**. Roots are not
discovered or attributed to robots.txt/Search Console/CMS. Declared document count,
roots and root_discovery=not-established remain visible even for C. An omitted index
may reference other files; no site-wide sitemap completeness is established. URLs,
dates, provenance and completeness are supplied and unauthenticated. NC concerns a
supplied file declared for a URL, never an observed server response.

The exact input fields, bounds and constants are specified above. A target is anchored
to its first root and has an explicit synthetic boolean, dated prior plan, <=24h window,
context,1–16 distinct document URLs and nonempty distinct roots within that list.
There are at most16 supplied records with declared URL, description, provenance,
windowed timestamp and native raw_base64/SHA-256/identity-or-gzip/boolean completeness.
URLs are literal absolute HTTP(S), without credentials, fragment or whitespace.
No network request, URL normalization or implicit file recompression takes place.
Synthetic provenance must match dossier access.

Technical intake rejects changed bytes, invalid/noncanonical base64, unknown encoding,
or original files larger than5,242,880 bytes. The entire JSON retains its8,388,608-byte
bound, which multiple files may reach first. A50MiB plain XML file is refused; a small
enough supplied gzip can exercise the true decompressed threshold. Transport refusal
is not a C/NC/NT control outcome and creates no successful report. Missing evidence
in an intact dossier stays inconclusive, never C/NA.

A01 checks strict UTF-8 bytes, optional UTF-8 BOM, compatible encoding declaration,
exact Sitemaps0.9 namespace and minimal base structure. Prefixes are arbitrary.
A complete known root with wrong/missing namespace fails; RSS/Atom/other roots are
outside the profile. Each direct url/sitemap requires one nonempty loc first, then
unique ordered optional leaves: lastmod/changefreq/priority for url, lastmod for
sitemap. Attributed malformed XML, missing/duplicate loc, mixed base text or unexpected
base elements fail. DTD/entities stop before expansion without network loading.
Unqualified extensions/attributes/xml:base stay inconclusive. Root xsi:schemaLocation
is retained, never fetched or applied. Comments and processing instructions are inert.

Encoding failures establish fail only when a separate bounded first-root reader
attributes Sitemaps0.9 within65,536 bytes. It stops at the first element, rejects
DTD/entities before expansion and never accepts or repairs UTF-16. UTF-16 RSS,
binary or unassigned text remains inconclusive; a late root remains unknown.

A02 measures actual decompressed bytes, including BOM, multibyte characters, escapes
and line endings, and counts all direct url/sitemap elements under their qualified
root, including duplicates and entries missing loc. Foreign extensions do not count.
Inclusive bounds are52,428,800 bytes and50,000 direct entries per file/index. Actually
reading the first excess byte/entry establishes fail only with an attributed
Sitemaps0.9 root. Without that attribution, the stopped byte measurement remains
descriptive and A02 inconclusive, including RSS, DTD and a root beyond the prefix.
Diagnostics distinguish an exact
measure from a lower bound. No decision from ISIZE, filename or supplied counters.
A stopped prefix cannot qualify A01. Complete counts may pass despite a malformed leaf,
whose A01 remains fail. A complete single gzip member is qualified; truncation, bad CRC,
multiple members or trailing data stay unknown except an independently established
excess. Stream integrity never authenticates origin. Declared incomplete files stay
unknown. Internal limits16depth/300,000elements/4,096characters per leaf cause unknown,
never a fabricated sitemap violation.

A03 binds exactly one unambiguous supplied record to every declared URL and traverses
only root index→leaf relationships among that declared set. Every index loc must bind
to a complete qualified supplied leaf. No fetch, redirect following, filename attribution
or normalization. Missing/orphan/unreadable children, cycles or nested indexes stay
inconclusive. Missing coverage is not a proven contradiction, so A03 has no fail
outcome. Independent A01/A02 failures survive missing branches.

C needs all three passes across the declared population; evidenced contradiction gives
NC, otherwise NT. No automatic NA. No complete XSD validation, optional leaf value
semantics, lastmod truth/freshness, URL host/path/length, canonical, indexing, submission
or editorial-scope conclusion. Never describe C as Google eligibility or whole-site
conformity. Original bytes remain in the native input and derived evidence. Standalone
replay requires the exact engine and no network. TS15 uses Python standard library;
other controls keep their own explicit Node runtime requirements.

## Sources / Sources

[Official captured sources and fingerprints](../research/sitemap-files-2026-10-14/provenance.json):
Sitemaps.org protocol and0.9 schemas, Google's large sitemap documentation. Their
syntax/size requirements inform this bounded editorial profile; they do not endorse
TSEP or establish independent validation. No Google account collection was performed.

### Closed outcome domain / Issues fermées — TS15-A03

FR : la règle TS15-A03 déclare dans spec/protocol.json
`allowed_outcomes: ["pass", "inconclusive"]`. Aucun fail ni not-applicable n'est
admis pour cette règle, y compris dans un rapport fourni. Le banc exige au moins
un cas pour chacune de ces deux issues. Toutes les autres règles gardent leurs
issues historiques et l'exigence pass/fail/inconclusive du banc. Supprimer une
classe du corpus ne réduit jamais cette exigence. Le profil ne contient aucune
affirmation déclarative de lien parent/enfant : un fichier déclaré orphelin donne
inconclusive. Une future assertion de parent contradictoire exigerait une autre
version ; elle ne doit pas être déduite de la déclaration de population.

EN: TS15-A03 declares `allowed_outcomes: ["pass", "inconclusive"]` in the canonical
protocol. Neither fail nor not-applicable is accepted for that rule, including
in supplied reports. The corpus must contain each of its two declared outcomes.
Every other rule retains its historical domain and required pass/fail/inconclusive
coverage. Removing a class from the corpus never weakens this requirement.
The profile has no declared parent/child assertion: an orphan declared file stays
inconclusive. A future contradicted parent assertion would require another version;
it must not be inferred from the population declaration.
Liens essentiels / Essential links
# TS17 — DOM self-integrity at intake / intégrité propre du DOM à l’import

Capture adapter37; protocol draft.36 / interpreter35 / HTML20 / replay3 unchanged.
This is a distinct transport correction, not a new normative control or rule.
Twenty-two contradictory inputs were authored before the change. Observed test
results and the exact candidate/archive are recorded separately.

## Français

L’adaptateur36 pouvait produire un rapport NT pour un snapshot ou un contenu de
support dont l’auto-empreinte fournie était fausse. Ce comportement ne satisfaisait
pas l’engagement de refus des originaux corrompus. Les dossiers déjà créés et la
livraison36 restent conservés avec cette limite et avec leurs outils exacts.

L’adaptateur37 vérifie chaque état DOM fourni aux demandes TS17 avant
l’interprétation : s’il existe à la fois un snapshot non nul et son empreinte
non nulle, celle-ci doit égaler le SHA-256 de la sérialisation de liaison existante
(JSON trié, séparateurs compacts, UTF-8, ensure_ascii=false). Si un contenu de
support textuel et son empreinte non nulle existent, le SHA-256 porte sur les
octets UTF-8 exacts du contenu. Aucune empreinte n’est corrigée ou inventée.
Une valeur fournie incohérente, vide ou d’un mauvais type est refusée avec le motif
`TS17 DOM integrity`, sans rapport ni répertoire de livraison réussi.

La garde examine aussi les états non prévus et les demandes sans plan ou limitées
à une seule règle TS17. Une association HTTP/DOM inconnue ne masque pas une
corruption. L’intégrité des captures HTTP reste contrôlée avant leur évaluation.
Un plan, snapshot, contenu ou hash absent/nul reste une preuve insuffisante pour
le lecteur ; il n’est pas transformé en C/NA. Une association
`acquisition.http_sha256` différente ou manquante, ou un script de capture d’une
autre version, reste une qualification indéterminée. Une auto-empreinte cohérente
n’authentifie ni le fournisseur ni l’acquisition. Les règles natives et les autres
contrôles conservent leurs comportements historiques.

Migration : garder les dossiers/exports36 avec leur moteur36 exact. Pour37,
préparer un nouveau dossier depuis les originaux réellement disponibles ; ne pas
recalculer un hash pour dissimuler une incohérence et ne pas remplacer une archive
livrée. Une association sémantique différente reste visible. L’application reçoit
un nouvel import explicite de l’archive qualifiée ; aucun correctif vendor.

## English

Adapter36 could produce an NT report for a supplied snapshot or supporting text
whose self-digest was false. That did not meet the promised refusal of corrupted
originals. Existing36 dossiers and delivery remain retained with this limitation
and their exact historical tools.

Adapter37 checks every supplied DOM state for a TS17 request before interpretation.
When both a non-null snapshot and non-null declared digest exist, the digest must
equal SHA-256 of the existing binding serialization (sorted compact JSON, UTF-8,
ensure_ascii=false). A supplied text support content and non-null declared digest
must match its exact UTF-8 bytes. Never repair or invent a digest. Inconsistent,
empty or wrong-type supplied digests refuse with `TS17 DOM integrity`, without a
successful report or delivery directory.

The guard also checks unplanned states, missing plans and partial TS17 rule
requests. Unknown HTTP/DOM association cannot mask self-corruption; HTTP capture
integrity is also checked before interpretation. Missing/null plan, snapshot,
content or digest remains insufficient evidence for the reader, never C/NA.
Different/missing acquisition.http_sha256 or another capture-script version remains
an inconclusive qualification. Internally consistent hashes authenticate neither
provider nor acquisition. Native rules and other controls retain their old behavior.

Migration: preserve36 dossiers/exports and exact engines. For37 prepare a new
dossier from actually available originals; do not recompute hashes to hide an
inconsistency or replace delivered archives. Semantic association differences remain
visible. The app needs an explicitly received newly qualified source archive, not
a vendor patch. Test results are separate from this contract description.
Liens entrants / Incoming links
# TS16 — supplied incoming links / liens entrants fournis

Profile `incoming-document-links-v1`, proposed draft.37 / interpreter36 /
adapter38 / HTML21 / replay3. One atomic rule, TS16-A01. Source is prepared
separately; observed qualification and application delivery require separate receipts.

## Français

Population préalable de pages importantes et de sources internes fournie, datée et bornée. Le caractère important et la complétude du choix sont déclarés, non authentifiés.

Pour chaque destination importante, au moins un témoin a/href résoluble provenant d’un autre document interne qualifié, dans la source HTML ou un DOM déclaré sans interaction. Les originaux de la source et de la destination sont conservés.

Un témoin indépendant qualifié suffit pour cette destination ; une autre source inconnue ne l’annule pas. Chaque destination doit néanmoins disposer de son original HTTP qualifié.

Fail seulement si toutes les surfaces éligibles de toutes les sources de l’inventaire préalable sont qualifiées et ne fournissent aucun témoin pour une destination. Le résultat nomme cette population, sans qualifier la page d’orpheline du site. Une absence ainsi établie reste fail si l’original de destination manque : afficher conjointement cette absence, l’original/statut non archivés et l’identité de la destination non vérifiée. Cela peut révéler une erreur de plan, sans prouver un défaut du site.

Sans plan/inventaire qualifié, original de destination, témoin ou preuve bornée d’absence, résultat indéterminé. Aucune NA automatique. Un fail indépendant déjà établi survit aux autres destinations inconnues.

Sans interaction est une déclaration du fournisseur, pas une navigation observée. Un état après interaction ou non classé reste diagnostic ; il ne crée pas de témoin dans ce profil. Le profil ne décrit pas le comportement universel des robots.

Aucune exhaustivité du site, authenticité, interaction observée, visibilité, importance éditoriale, qualité d’ancre, suivi effectif de lien, visite Google, indexation ou classement. Un statut404 conservé ne devient pas à lui seul un défaut TS16.

Une destination demandée distincte dont la chaîne archivée retourne au document source ne fournit pas de témoin qualifié pour cette paire. Cette paire reste indéterminée ; une autre source indépendante peut suffire. Dates, URL demandées/finales et chaîne sont conservées.

## English

Prior supplied, dated and bounded important-page and internal-source populations. Importance and selection completeness are declared, not authenticated.

Each important destination has at least one resolvable a/href witness from a distinct qualified internal document, in source HTML or provider-declared no-interaction DOM. Original source and destination evidence is retained.

One independently qualified witness suffices for that destination; another unknown source does not negate it. Every destination still requires its qualified original HTTP evidence.

Fail only when all eligible surfaces of every prior inventory source are qualified and none provides a witness for a destination. Name that bounded population, without declaring a site-wide orphan. Such established absence remains fail if the destination original is missing: display bounded absence together with unarchived destination/status and unverified destination identity. This may reveal a plan error without proving a site defect.

Without a qualified plan/inventory, destination original, witness or bounded absence proof, remain inconclusive. No automatic NA. An independently established failure survives other unknown destinations.

No-interaction is a provider declaration, not observed navigation. After-interaction or unclassified states remain diagnostic and cannot provide a witness in this profile. This profile does not describe universal crawler behavior.

No site completeness, authenticity, observed interaction, visibility, editorial importance, anchor quality, actual link following, Google visit, indexing or ranking. Retained404 status is not by itself a TS16 defect.

A distinct requested destination whose archived chain returns to this source document supplies no qualified witness for that pair. The pair remains inconclusive; another independent source may suffice. Dates, requested/final URLs and chains are retained.

## Input contract / Contrat d’entrée

**envelope** — Existing input_version2, explicit rules and targets; target.url identifies the scope entry document, not necessarily every destination.

**provenance** — Boolean incoming_links_synthetic plus existing named context; retain this flag even if the plan is absent. App synthetic evidence is explicit; human reviews are never generated.

**prior_plan** — intent.crawler, declared_at and intent.incoming_links {reader, origin, selection_reason, inventory_sha256, window_start, window_end, max_duration_ms, sources, destinations}.

**inventory** — Original UTF-8 line-delimited source URL inventory; bytes/base64/hash and supplied observed_at retained. Exact one URL per line; optional final newline only, no comments, blank rows or silent normalization. Its ordered URLs must match prior sources. Missing/ambiguous evidence remains unknown; corrupt transport bytes are refused.

**sources** — 1–16 distinct {url,final_url,states} entries. states declares1–16 {id,browser,browser_version,scenario,interaction} per source; at least one no-interaction state per source; at most64 declared states over all sources. after-interaction states remain diagnostic.

**destinations** — 1–32 distinct {url,reason} important destinations; reasons supplied before capture. Source and destination populations may intersect; self-document links never witness an incoming link.

**documents** — incoming_links.documents contains at most48 unique {url,http,render} records for the union of source and destination URLs. Records shared by both roles keep one original. Missing records are not synthesized. Extra/duplicate records remain explicit and cannot supply an unplanned witness.

**http** — Existing native original request/response transport2,1–16 complete trace exchanges per document, named client, exact URLs and chronology. Source final200 required for HTML/DOM reading. Destination complete terminal HTTP result is retained as evidence;404 may coexist with a qualifying witness. Unfinished redirect/304/partial evidence cannot substitute an original representation.

**dom** — Existing structured_dom2 with exact HTTP/client association and acquisition provenance; no serialized HTML replacement. Actual state id/browser/version/interaction declarations must match prior state. No-interaction qualification remains documentary.

**bounds** — Entire input<=8MiB; inventory<=131072bytes; source/DOM existing bounded readers apply. Inventory observed_at<=plan declared_at<=window_start<=window_end<=observed_at; each qualified capture inside window, window<=24h. Per-exchange duration0..max_duration_ms with integer bound1..30000.

**url** — Exact WHATWG pre-serialized credential/fragment-free HTTP(S). Same serialized origin only; no registrable-domain inference. Source requested/final and destination requested/final remain within origin. Resolve a/href and remove fragment only; query/canonical/redirect alternatives are not equivalent. A destination capture that ends at this source final URL makes the literal non-self URL pair inconclusive, not a witness; another independent source may satisfy the destination. Keep requested/final URLs, chain and dates, without global equivalence.

## Français — structure, transport et limites précises

Entrée2 : rules et targets ; chaque cible contient url, observed_at,
incoming_links_synthetic booléen, context(network,bounds,tool,tool_version),
intent.crawler et intent.declared_at. intent.incoming_links contient reader,
origin, selection_reason, inventory_sha256, window_start, window_end,
max_duration_ms, sources et destinations. L’inventaire original UTF-8 contient une
URL de source par ligne dans l’ordre du plan ; seul un LF final est facultatif.
Aucun commentaire, BOM, doublon, ligne vide ou normalisation silencieuse.
Conserver label, base64 canonique, sha256 et observed_at. L’inventaire précède ou
égale le plan ; le plan précède ou égale la fenêtre des captures, au plus24h,
terminée avant observed_at de la cible. Durée d’échange bornée0..max_duration_ms,
entier1..30000.

Sources :1–16 objets {url,final_url,states}, avec1–16 états par source et64 au total.
Chaque état préalable est {id,browser,browser_version,scenario,interaction},
interaction valant none ou after-interaction ; au moins un none par source.
Destinations :1–32 objets {url,reason} distincts. Les deux populations peuvent
partager un document ; le conserver une fois. incoming_links.documents contient
au plus48 objets {url,http,render}. Un document dupliqué ne devient pas un témoin ;
une source supplémentaire non prévue ne modifie pas le plan. Les états après
interaction restent diagnostiques. Aucune interaction réelle n’est authentifiée.

Les URL demandées et finales doivent déjà égaler leur sérialisation WHATWG,
HTTP(S), sans identifiants ni fragments, avec la même origine exacte que le plan.
La source finale doit être le200 complet attendu. Conserver1–16 échanges natifs,
leurs octets, dates et agent. Une redirection inachevée, une304 ou une206 ne
constitue pas l’original terminal exigé. Le statut terminal d’une destination
peut être404 sans créer, à lui seul, un défaut TS16. Aucun diagnostic de soft404
n’est déduit d’un200 ni de son contenu.

Un a/href HTML du document principal doit résoudre exactement la destination
après retrait du fragment seulement. Aucune équivalence canonical, redirection,
barre finale, casse ou requête n’est ajoutée. Source : les deux hypothèses statiques
doivent être qualifiées et s’accorder pour cette destination ; leur désaccord sur
une autre destination n’efface pas ce témoin. DOM : snapshot original v2,
auto-empreinte, support, identité d’état et association HTTP/client qualifiés.
Une base active, un contexte étranger/shadow non qualifié, une récupération de
parsing ou une preuve incomplète reste inconclusive pour la surface. Une autre
surface indépendante qualifiée peut néanmoins fournir le témoin.

L’import vérifie les auto-empreintes fournies de l’inventaire, de chaque snapshot
et de ses supports textuels, y compris documents/états non prévus ou plan absent.
Un conteneur HTTP non nul est une liste d’objets ; conteneur invalide, base64
invalide/excessif/non canonique ou auto-empreinte incohérente est refusé
techniquement avant tout rapport réussi. Aucune empreinte n’est réparée. Champ
absent/nul et association sémantique différente restent des preuves insuffisantes
pour le lecteur, jamais une preuve de conformité. Les octets d’entrée et pièces
imbriquées sont conservés sans inventer une capture HTTP de la cible de périmètre.

Entrée JSON<=8Mio, inventaire<=131072octets, lecteurs source/DOM bornés existants,
Node24 explicitement sélectionné. Aucune collecte réseau. Un diagnostic calculé
au-delà de4Mio rend le profil inconclusive plutôt que de tronquer une conclusion.
Les limites du site, l’authenticité, l’importance et la qualité éditoriale, la
visibilité, le suivi effectif des liens et l’indexation restent hors preuve.

## English — additional intake and reading boundaries

Two qualified static scripting hypotheses must agree for the particular destination;
unrelated destination disagreement does not erase its independent witness.
Qualified v2 DOM states retain their original snapshot, self-digest, support,
state identity and HTTP/client association. Active base, unsupported foreign/shadow
context, parse recovery and incomplete evidence leave that surface inconclusive.
Another independent qualified surface may still witness presence. HTTP200 never
establishes semantic page validity or excludes a soft404.

Check supplied inventory, every snapshot and textual support self-digests before
interpretation, including unplanned documents/states and missing plans. Non-null
HTTP is a list of objects. Malformed/excessive/noncanonical byte containers or
inconsistent self-digests refuse transport, with no successful report. Never repair
a hash. Missing/null fields or different semantic associations remain evidence
qualification concerns, not conformity. Preserve original input/nested pieces;
never invent top-level HTTP for the scope target. Explicit Node24, existing bounded
source/DOM readers and8MiB input apply. Diagnostics above4MiB make the profile
inconclusive instead of truncating a conclusion. No external acquisition occurs.

## Review and migration / Revue et migration

Existing dated public references are retained in
`research/essential-links-2026-10-14/provenance.json`. They explain technical HTML
links/URLs, not approval of this profile. Claude’s method comments were proposals,
not human approvals or executed tests. Synthetic cases stay marked. TS01–TS44,
upstream provenance and previously delivered tools remain preserved.
See migration-draft.37.md for explicit new-dossier migration. This candidate is
not a certification, recognized standard, whole-site or global conformity claim.

FR : références publiques datées déjà conservées pour TS17 ; aucune nouvelle
observation d’un tiers ou approbation ne découle de ce profil. Commentaires de
Claude = propositions, pas tests exécutés ni approbation humaine. Cas synthétiques
marqués ; TS01–TS44, provenance et livraisons antérieures conservés. Migration
explicite dans un nouveau dossier ; aucune certification ou conformité globale.

## Source identity boundary / Limite d’identité de la source

FR : l’identité du contenu attendu de la source n’est pas évaluée par TS16. Une
page d’erreur répondant HTTP200 peut fournir un témoin de navigation qualifié ;
le lecteur ne détecte pas les soft404. Le rapport conserve explicitement cette
limite. Une éventuelle vérification d’identité appartient à un autre contrôle et
ne doit pas être inventée à partir du seul statut HTTP ou du texte de la page.

EN: TS16 does not assess expected source-content identity. An HTTP200 error
template can supply a qualified navigation witness; the reader does not detect
soft404s. The report explicitly retains this limitation. Any source identity
assessment belongs to another control and is not inferred from HTTP status or
page text alone.

## Conditional DOM evidence / Preuve DOM conditionnelle

FR : les entrées communes obligatoires sont HTTP, HTML source, inventaire et
intention. Le plan nomme les états requis ; le DOM original reste conditionnel
à la surface utilisée. Un témoin HTML source indépendant peut établir pass sans
DOM fourni. Son absence reste conservée, aucun artefact render n’est inventé.
En revanche, conclure à une absence bornée exige toutes les surfaces éligibles
prévues ; un DOM manquant sans témoin indépendant laisse inconclusive.

EN: Common required inputs are HTTP, source HTML, inventory and intent. The plan
names required states; original DOM evidence is conditional on the surface used.
An independent source HTML witness can establish pass without supplied DOM. Its
absence is retained; no render artifact is invented. Bounded absence still
requires every planned eligible surface; missing DOM without an independent
witness remains inconclusive.
Graphe / Graph
# TS18 — supplied graph reconciliation / rapprochement de graphe fourni

Candidate profile `supplied-graph-reconciliation-v1`; native document plan
`supplied-graph-documents-v1`. Draft.38, interpreter37, adapter39, HTML22, replay3.
The three atomic rules are separate from individual URL/pair observations.
Qualification results are recorded separately from this contract.

## Français

Le plan antérieur `intent.graph` fixe une origine HTTP(S) exacte,1–16 documents,
1–4 racines choisies dans ces documents,1–8 familles couvrant chaque document une
seule fois, une justification de sélection et une fenêtre de24h au maximum.
Chaque document indique une URL demandée égale à son URL finale et1–16 états
nommés, dont au moins un déclaré sans interaction ;64 états au total. Aucune
équivalence de redirection, canonical, barre finale, casse ou paramètres n’est
inférée. Le JSON est limité à8MiB, les diagnostics à4MiB ; aucun verdict tronqué.

`graph_inventories` conserve les originaux `reference`, `crawl`, `cms`, `sitemap` :
base64 canonique, SHA256, complétude et date fournies. Chaque original est borné à
1MiB. La référence contient exactement les URL ordonnées du plan en UTF-8,
une par ligne, avec LF final facultatif ; sa date précède le plan liant son hash.
Les trois autres dates restent dans la fenêtre préalable et sont visibles auprès
du rapprochement. Jusqu’à128 URL distinctes par inventaire. Les URL hors population
restent des diagnostics non évalués ; elles ne deviennent pas des orphelins.

Crawl et CMS utilisent CSV avec dialecte déclaré : encodage `utf-8` ou
`utf-8-sig`, séparateur virgule ou point-virgule, guillemet double,
`doublequote:true`, en-tête ligne1 et nom exact de colonne URL. Pas de détection
heuristique ;32 colonnes,65536 caractères par champ, URL4096 caractères au plus.
Le sitemap réutilise le lecteur TS15 sur un URLset fourni, décodage déclaré,
structure et bornes qualifiées ; aucun index récursif ni collecte.

Chaque production fournit `mode`, `tool`, `tool_version`, `derived_from`.
Le crawl fermé ajoute seulement `seed_roots` et `frontier_sha256` (SHA256 JSON
canonique `{nodes,roots}`), mode `follow-links`, dépendances vides, racines exactes.
Il déclare un départ depuis ces seules racines ; mode liste, amorçage mixte ou
champ d’amorçage supplémentaire sont hors profil et restent NT. Le CMS déclare
`native-export` sans dépendance ; le sitemap déclare `native-export` ou
`cms-generated` dépendant de `cms`. Ces déclarations ne sont pas authentifiées.
L’appartenance à un crawl ne crée jamais une arête ni une profondeur.

`graph_documents` conserve jusqu’à32 dossiers HTTP/DOM originaux. Les lecteurs
TS16/TS17 qualifient les témoins source et DOM : source sous deux hypothèses
statiques concordantes, DOM lié au HTTP et déclaré sans interaction. Un témoin
positif indépendant établit une paire présente ; l’absence exige toutes les
surfaces éligibles qualifiées ; sinon la paire reste inconnue. Les états après
interaction sont diagnostiques. HTTP200 ne prouve ni contenu attendu ni absence
de soft404 ; cette limite reste visible.

Le calcul utilise uniquement les documents déclarés et des sources distinctes,
sans auto-liens. Distance basse : arêtes connues et possibles ; distance haute :
chemin connu. États : `exact`, `interval`, `no_proven_route`, `unreachable` dans
ce seul graphe borné. Les degrés entrants sont aussi des intervalles. Un candidat
sans entrant exige degré maximal0 et n’est jamais une racine ni un orphelin global.
Les cycles déconnectés restent distincts des pages sans aucun lien entrant.

A01 qualifie le rapprochement documentaire, A02 les mesures natives. Leurs domaines fermés sont pass/inconclusive : aucune valeur fail fabriquée pour ces mesures. A03 vérifie
les revues fournies `graph_reviews`, sans produire de jugement : chaque famille,
différence connue d’inventaires, candidat sans entrant et document inaccessible
reçoit un sujet calculé. Les revues lient le plan, les dossiers d’inventaire entiers
(dates comprises), les originaux du graphe et les mesures par SHA256 canonique.
Elles indiquent sujet, hash, auteur fourni, date, motif, provenance synthétique et
`explained`, `defect` ou `unresolved`. La date suit la fin de fenêtre et précède
l’observation. Une revue manquante, ambiguë, mal liée ou supportée par une mesure
inconnue reste indéterminée. Une différence connue et revue comme défaut peut
rester NC malgré un graphe incomplet ailleurs. Le sens du motif et l’identité du
relecteur ne sont pas authentifiés. Les revues de test sont explicitement rédigées
pour les scénarios synthétiques ; aucune revue Edikka ou personnelle n’est créée.

## English

The prior `intent.graph` fixes an exact HTTP(S) origin,1–16 documents,1–4 roots,
1–8 families covering each document exactly once, selection rationale and a
capture window of at most24hours. Requested and final document URLs must match
exactly. Each source declares1–16 named states including a no-interaction state;
64 states total. No redirect/canonical/query/case/slash equivalence. Input JSON is
bounded to8MiB and diagnostics to4MiB, with no truncated conclusion.

Retain canonical base64, SHA256, completeness and supplied dates for original
reference/crawl/CMS/sitemap inventories, each at most1MiB and128 distinct URLs.
The UTF-8 ordered reference lines (optional final LF) predate the plan binding
its hash. Other dates must lie within the window and remain visible alongside
reconciliation. Outside URLs are unevaluated diagnostics, never orphan claims.
CSV encoding/delimiter/quoting/header/URL column are explicit, without guessing:
UTF-8 or UTF-8-BOM, comma/semicolon, double quotes, doublequote enabled, header1;
32 columns,65536 characters per field,4096 per URL. Sitemap uses the exact TS15
URLset reader with declared encoding, no recursive index or acquisition.

Production is supplied and unauthenticated. Crawl declares closed `follow-links`
production from the exact roots only, no dependencies, with bound nodes/roots
frontier. Additional seeding fields, mixed or list seeding are inconclusive.
CMS is a native export; a CMS-generated sitemap explicitly retains its dependency.
Crawl membership never creates native graph edges or establishes reachability.

Up to32 original document records feed the existing TS16/TS17 source/DOM readers.
An independent qualified witness establishes an edge; absence needs every eligible
qualified surface; otherwise unknown. After-interaction states are diagnostic.
HTTP200 does not establish expected source content or exclude soft404s.

Distances use known edges for the upper bound and possible edges for the lower
bound. Exact/interval/no-proven-route/bounded-unreachable states remain distinct.
Incoming degrees count distinct non-self sources as intervals. A no-incoming
candidate needs upper degree0 and is neither a root nor a site-wide orphan.
Disconnected cycles are separate. There is no universal SEO depth threshold.

A01 qualifies original reconciliation; A02 qualifies native measurements; their closed outcome domains are pass/inconclusive, with no fabricated fail for these measurements; A03
checks supplied documentary reviews, never inventing them. Native subjects cover
each family, known inventory difference, bounded no-incoming candidate and
unreachable document. Reviews bind the prior plan, entire inventory records
including dates, graph originals and measurements with canonical SHA256. Supplied
reviewer/date/rationale/synthetic flag/disposition must match. Review time follows
window end and precedes observation. Missing/ambiguous/misbound/unresolved reviews
or unqualified supporting measurements remain inconclusive. An independently
evidenced supplied defect survives unrelated unknowns. Reviewer authenticity and
rationale semantics are not assessed. Synthetic authored test reviews are never
real personal/Edikka approval.

## Integrity, outcomes and delivery / intégrité, résultats et livraison

Provided inconsistent self-hashes are technical intake refusals, including
unplanned evidence or missing plans. Missing evidence remains native inconclusive.
No digest repair, C/NA from absence, global conformity, certification, indexing or
ranking inference. Originals remain intact in exports and exact offline replay.
No network acquisition. Consumers require explicit qualified import and separate
app acceptance; this contract itself proves neither. Historical failures remain.
Hreflang
# TS23 — hreflang réciproque fourni / supplied reciprocal hreflang

Candidate `hreflang-reciprocity-v1`, draft.39, interpreter38, adapter40, HTML23,
replay3. This contract is separate from observed qualification results.

## Français

Le plan `intent.hreflang` précède les captures, donne une justification,
1–16 URL de pages distinctes et1–32 associations code–URL attendues, ainsi que
le canal principal `html` ou `http-link` pour chaque page. Toutes les URL de pages
sont présentes dans les associations ; plusieurs codes peuvent désigner la même
URL. La casse des codes est comparée en ASCII. Les codes sont des jetons bornés,
pas une validation du registre linguistique. `x-default` ne reçoit aucun jugement
de rôle. Les groupes entre domaines sont admis.

Les URL sont des HTTP(S) absolues, sans identifiant ni fragment, admises par le
runtime WHATWG explicite sans changement de sérialisation. Aucune équivalence
canonical, redirection, paramètres, casse du chemin ou barre finale n’est créée.
Une cible relative reste indéterminée dans ce profil fermé ; aucune résolution
implicite ne l’ajoute au groupe. Jusqu’à32 associations extérieures explicitement
exclues restent visibles hors évaluation ; un extra non prévu est indéterminé.

Chaque canal principal doit fournir le jeu attendu complet, auto-référence
comprise. Le canal secondaire ne le remplace ni ne le complète ; aucun assemblage
de listes partielles. Un conflit qualifié reste NC. Si seul le canal secondaire
contient le jeu complet, le diagnostic l’indique : l’écart concerne le mode
principal prévu, pas une absence universelle de hreflang. Une contradiction
indépendante reste NC malgré des inconnues ailleurs.

Les documents `hreflang_documents` gardent les requêtes/réponses HTTP originales
v2 en base64 canonique avec SHA256, leur complétude et dates. Un échange GET200
sans redirection par page, demandé=final, client égal au plan, au plus30000ms,
dans une fenêtre préalable de24h au maximum, close avant `observed_at`.
Un Content-Type unique est requis. Framing/gzip natifs sont décodés sans perte.
Les en-têtes Link peuvent qualifier un document non HTML, y compris PDF binaire ;
son corps n’est pas prétendu HTML. Les originaux et contextes ne sont pas authentifiés.

HTML exige UTF-8 explicitement déclaré. Les lecteurs inchangés d’éléments et du
préfixe head lisent les mêmes octets sous deux hypothèses statiques. Les link
admis sont directement dans le head avant sa fermeture explicite, en espace de
noms HTML, `rel` contenant seulement alternate (doublons identiques admis),
avec href/hreflang uniques. `alternate stylesheet` est une feuille de style,
pas une annotation linguistique. Commentaires, textes script et templates
ordinaires ne deviennent pas des annotations actives. Aucune exécution JavaScript.

La fermeture implicite directe du head par div, img, iframe ou texte non blanc
peut établir un placement dans body si les deux hypothèses concordent sans erreur
de parseur ; le token et sa position originale sont conservés. Une divergence
noscript reste inconnue. Réinsertion après fermeture explicite, ambiguïté
attributaire, contexte étranger et autres récupérations restent hors profil.
Le placement dans body est NC seulement pour un primaire HTML ; les liens non
admis du canal secondaire restent diagnostiques. Modificateurs media/type/as et
paramètres HTTP hors rel/hreflang (anchor compris) restent indéterminés.

Les canaux pertinents sitemap/DOM fournis dans `hreflang_unsupported_channels`
restent hors profil et empêchent C, sans effacer une contradiction indépendante.
Pas de collecte réseau. TS22 (codes/indexabilité/canonical) et TS24 (rôle x-default)
restent distincts. Aucun choix de variante Google, indexation, traduction ou
conformité globale n’est déduit.

## English

The earlier `intent.hreflang` plan supplies rationale,1–16 distinct page URLs,
1–32 expected code-to-URL mappings and a primary `html` or `http-link` channel for
each page. Every page appears in the mapping; several codes may share one URL.
Use ASCII code case folding, without language registry validation or x-default
role judgment. Cross-domain groups are allowed. Exact absolute credential-free,
fragment-free HTTP(S) WHATWG URLs only, without rewriting or inferred canonical,
redirect, path-case, slash or query equivalence. Relative targets are inconclusive,
never silently resolved. Up to32 explicit excluded outside mappings remain visible;
unplanned outside annotations are inconclusive.

Every primary channel supplies the complete expected set, including self references.
Secondary channels never replace or complete it. Qualified conflicts are failures;
a complete secondary set is explicitly shown when the primary is incomplete. This
is a prior-mode mismatch, not a claim of universal hreflang absence. Independent
qualified contradictions survive unrelated unknowns.

Original v2 HTTP request/response byte containers, SHA256, completeness and dates
are retained. One unconditional GET200 exchange per page, requested=final, no
redirect, exact prior client, at most30000ms within an earlier at-most24-hour window
ending before `observed_at`. One Content-Type is required. Native framing/gzip is
losslessly decoded. HTTP Link can qualify non-HTML documents including binary PDF
without treating their body as HTML. Acquisition/context authenticity is not proved.

HTML requires declared UTF-8; unchanged element and source-head observers bind the
same bytes under two static hypotheses. Admitted links are direct HTML head children
before explicit closure, with an alternate-only ASCII relation set and unambiguous
href/hreflang. Identical relation tokens are idempotent; alternate stylesheet is not
a language annotation. Comments, script text and ordinary templates are not active
annotations. No JavaScript execution is inferred.

Direct implicit head closure by div/img/iframe or non-whitespace text can establish
body placement when both hypotheses agree without parser errors; retain native
closure token and byte position. Noscript divergence remains unknown. Reinsertion
after explicit closure, ambiguous attributes, foreign context and other recovery are
outside admission. Body placement fails only an HTML primary; non-admitted secondary
body links are diagnostic. HTML media/type/as and HTTP parameters beyond rel/hreflang,
including anchor, remain inconclusive. Relevant supplied sitemap/DOM channels are
unsupported and prevent pass unless an independent failure is established.

## Bounds and integrity / bornes et intégrité

Up to48 retained document records,128 annotations per channel/page,8MiB input JSON,
4MiB diagnostics; no truncated conclusion. Every present original self-digest is
checked before the plan, including unplanned/unsupported supplied pieces. Broken
integrity is a technical refusal. Missing originals/digests remain inconclusive;
there is no automatic NA or fabricated review. Exact input originals remain in
export and offline replay. Explicit qualified consumer import and separate app
acceptance are required. Synthetic fixtures are never real-site evidence.

## Typed boundaries / frontières typées

FR : la position du champ détermine sa garde. Un enregistrement de document
non objet donne NT avec « structure documentaire non interprétable ». Un champ
`http` absent ou nul, une requête/réponse absente ou nulle, ou une auto-empreinte
absente restent NT. Une liste HTTP contenant un échange non objet, un conteneur
requête/réponse présent non objet, un base64 présent malformé ou une auto-empreinte
fausse sont des refus techniques sans rapport. Aucun verdict n’est fabriqué après
un refus. Les contrôles historiques conservent leurs contrats propres ; cette
version ne leur applique pas rétroactivement cette nouvelle garde.

EN: field position determines the guard. A non-object document record is NT with
“uninterpretable documentary record structure”. Missing/null HTTP, request or
response and missing self-digests remain NT. A non-object exchange within the HTTP
list, a present non-object request/response payload, malformed present base64 or
contradicted self-digest is a technical refusal without a report. Historical
controls retain their own contracts; this version does not silently migrate them.

FR/EN : un Link qualifié est comparé à la table du plan préalable, indépendamment
d’une lecture HTML inconnue / a qualified Link is compared with the prior mapping
table independently of an unknown HTML reading. Le rapport dit « contradiction
avec le plan », non un conflit entre lectures / the report describes a contradiction
with the plan, not an inferred conflict between readings. URL relative : non évaluée,
hors profil / relative URL: not evaluated, outside profile. Un secondaire complet
reste visible avec le motif d’écart au canal prévu / a complete secondary is explicitly
shown alongside the prior-channel mismatch.
Contenu essentiel / Essential content
# TS25 — critical stage presence / présence critique par stade

Draft.44 defines TS25-A01/A02, reader `critical-stage-presence-v1`, interpreter43,
adapter43, HTML25, replay3. This document specifies a candidate; it does not
establish observed qualification, browser execution, actual client application
or certification. Sources and application receipts are separate.

## Français

Draft.44 / reader3 : les champs reviewer, assistance et reason des revues TS25 fournies sont limités à8192octets UTF8 bruts chacun, avant strip ou normalisation ; chaque objet revue, champs supplémentaires inclus, à32768octets de JSON compact UTF8. Toute revue fournie est vérifiée à l’admission, même inutilisée. Un dépassement donne un refus technique avant publication, jamais C ou NT public ; les originaux sont conservés sans réécriture. Le diagnostic natif de chaque règle est borné à4MiB de JSON compact UTF8 trié, y compris A01 et les sorties d’erreur. Au dépassement, un diagnostic compact explicitement incomplet conserve un fail indépendant établi, sinon inconclusive ; aucun pass. Le transport refuse ce marqueur et borne aussi à4MiB par cible la somme des artefacts TS25 réellement sérialisés (JSON UTF8 indent2, saut de ligne final), pour les règles demandées. Les maxima individuels ne garantissent pas que toutes leurs combinaisons respectent les bornes cumulées. Aucun changement des autres contrôles ni du validateur partagé.


Draft.43 / reader2 : le champ render est un objet documentaire contenant states. render:[] n’est pas équivalent à render:{states:[]}. Un conteneur non objet ou une population mal formée donne une couverture inconnue, sans coercition ni arrêt des lectures source indépendantes. Une absence source requise et qualifiée reste fail ; une source présente ne transforme pas cette couverture inconnue en pass. Une liste states vide est valide quand aucun état n’est requis. Les revues restent liées aux ID d’états, jamais à leurs indices. Cette frontière propre à TS25 ne migre pas celle de TS23. Les self-digests contradictoires conservent leur refus technique.


TS25 compare des **éléments critiques préalablement déclarés** aux originaux
HTTP et aux états DOM fournis. Un résultat C porte seulement sur cette population,
ces éléments, leurs politiques et conditions. Il ne prouve ni l’exhaustivité du
site ni ce que Google a rendu ou indexé. La revue de pertinence du périmètre et
la revue de visibilité/contexte sont réellement fournies par leur responsable ;
le lecteur vérifie leurs liens et leurs dates, sans authentifier leur auteur.
Les exercices rédigés restent marqués synthétiques.

### Entrées et décisions préalables

L’entrée captures de version2 conserve `url`, `observed_at`, `context`, `intent`,
`http`, `render`, `presence_synthetic`, `presence_plan_review` et
`presence_context_reviews`. Le plan `intent.critical_presence` contient :

- `reader`, `window_start`, `window_end`, `max_duration_ms`, `origins`, `final_url` ;
- `population`, `scope_reason`, `items`, `roles`, `states`.

`intent.declared_at` précède la fenêtre ; `intent.crawler` est le User-Agent
HTTP exact, sans usurpation d’une visite Google. La fenêtre couvre au plus24h,
chaque échange au plus30000ms. Contexte réseau, bornes, outil et version sont
explicites. Les URL initiale/finale et chaque saut appartiennent à 1–16 origines
HTTP(S) déclarées. L’interprétation exige une trace complète donnant la réponse
finale200 attendue. Les statuts autres que200 et les réponses non attribuables
restent inconnus pour la présence ; cela ne remplace pas TS01/TS02.

1–32 éléments portent chacun `id`, `role`, `reason`, `selector_id`, `expected`,
`policy`, `states`. Le rôle JSON-LD ajoute `json_pointer`. Les identifiants sont
uniques, les sélecteurs sont des ID HTML littéraux ; aucune sélection CSS libre.
Chaque état préalable porte exactement `id`, `reason`, `browser`,
`browser_version`, `conditions`. Les trois derniers doivent correspondre aux
champs fournis de l’état. Au plus16 états, liste vide permise pour source seule.
Un élément source-only sélectionne zéro état ; les autres politiques en
sélectionnent1–16. Des états prévus pour diagnostic peuvent être fournis sans
être requis par un élément source-only.

A01 exige exactement une décision pour chacun des cinq rôles ci-dessous :
`included` avec les `item_ids` exacts, ou `outside-declared-scope` avec une liste
vide et un motif. Une déclaration générique « complet » ne les remplace pas.
Une exclusion n’est pas une NA. La revue préalable lie le digest canonique de
`{url,intent}`, porte `complete:true`, et un jugement `supported` ou
`contradiction`. Elle est datée entre la déclaration et le début de fenêtre.
`reviewer`, `assistance`, `reason`, `provenance` sont conservés. `supported`
donne pass ; `contradiction` donne fail ; absence, invalidité ou unknown donne
inconclusive. Cette règle ne transforme pas le jugement en fait authentifié.

### Lecture des cinq rôles

| Rôle | Critère borné |
| --- | --- |
| `body-text` | Texte de l’élément HTML dans le body ordinaire, comparé exactement après réduction des seuls espaces ASCII ; NBSP conservé. |
| `document-title` | Élément title enfant direct du head, même comparaison textuelle. Un titre SVG ne compte pas. |
| `link` | Élément HTML a dans le body, href non vide résolu par le lecteur WHATWG Node24 épinglé, égal à l’URL HTTP(S) absolue attendue. Area hors profil. |
| `canonical` | Link enfant direct du head portant le jeton rel canonical et la référence attendue. Ne prouve pas la préférence de Google ni l’unicité globale des canonicals. |
| `jsonld` | Script du head/body de type ASCII insensible à la casse application/ld+json sans paramètre ; chaîne brute au pointeur JSON préalable, comparée sans normalisation ni expansion. |

L’ID absent prouve uniquement l’absence **à cet ID**, pas celle du contenu dans
toute la page. Un ID dupliqué, namespace étranger, contexte inerte/masqué non
qualifié, shadow ou base explicite actif est inconclusive. Les hypothèses source
statiques avec/sans scripting doivent concorder : présent/absent contradictoires
restent inconnus. Aucune exécution JavaScript n’a lieu.

Le JSON est le texte brut du script : pas de décodage d’entités HTML. Bloc vide,
syntaxe JSON mal formée ou identité attendue absente/contraire : absence qualifiée
sur ce bloc complet. Clés dupliquées, non-fini, structure scalaire non prise en
charge, MIME avec paramètres, script externe, dépassement64KiB : inconclusive.
Objet/tableau, profondeur<=64 et<=50000 nœuds ; pointeur RFC6901 sans forme fragment,
index de tableau canonique, feuille chaîne. Aucune validation Schema.org/Google,
concordance sémantique ou identité JSON-LD développée n’est déduite ; TS31–33
restent distincts. Un @id relatif ne devient pas absolu implicitement.

Les DOM fournis utilisent structured-inventory-v2, même navigation déclarée,
empreintes, HTTP et User-Agent associés, document complet, scripts activés,
sans erreurs, date après réception HTTP et avant la fin de fenêtre. Les limites
du collecteur, frames non collectés et shadow fermé inconnu restent explicites.
Une empreinte égale entre plusieurs états est un diagnostic, pas une preuve
qu’ils sont indépendants ni une erreur automatique.

Un texte/lien rendu structurellement présent nécessite aussi une revue de
contexte/visibilité liée à `{url,intent,http,state,item_id}`. Elle est postérieure
à l’état et antérieure à l’évaluation, complète, avec les champs de provenance
ci-dessus. `supported` confirme le jugement fourni ; `contradiction` fournit un
défaut. Plusieurs revues du même couple élément/état, même identiques, restent
inconclusives ; aucune préférence pour la dernière. Une absence native déjà
qualifiée reste un défaut sans cette revue. Title/canonical/JSON-LD reposent sur
leurs critères structurels explicites, sans jugement de visibilité CSS.

### Composition et inconnues

A02 applique la politique de chaque élément : source-only utilise la source ;
render-only exige tous ses états ; source-or-render passe si une branche est
présente, échoue seulement si les deux sont absentes ; source-and-render exige
les deux branches et échoue si l’une est absente. Dans la branche rendue requise,
une absence qualifiée domine une autre inconnue ; sinon tout doit être présent.
L’état requis manquant rend sa lecture inconnue, pas absente. Une branche source
positive peut donc satisfaire OR même si un état rendu manque.

Les états fournis non prévus ou dupliqués rendent la couverture inconnue. Ils
ne suppriment jamais un défaut indépendant qualifié. Cette limite conservatrice
peut faire passer une couverture de C à NT lorsqu’on ajoute des pièces hors plan ;
elle n’invente pas NC. Un élément inconnu n’efface pas un autre élément absent.
A01/A02 restent séparés : C exige les deux pass, NC conserve tout fail qualifié,
NT exprime les preuves restantes insuffisantes. Aucune NA native.

### Transport, original, migration et limites

L’adaptateur conserve l’entrée exacte et les revues originales. Chaque
self-digest DOM/support fourni est contrôlé, y compris hors plan. Une corruption
ou provenance explicitement incompatible provoque un refus technique sans
publication de rapport ; cela n’est pas un NT. L’entrée totale est bornée8MiB,
les diagnostics4MiB, les valeurs attendues1024 caractères. Aucun dépassement ne
permet une conclusion d’absence tronquée. Export et rejeu conservent les versions
exactes sans accès à l’application ou au réseau.

Voir [migration](migration-draft.44.md). Aucun verdict TS44/TS31/TS32/TS33 n’est
emprunté. Les autres rôles, interactions et conditions ne sont pas implicitement
couverts. Le profil ne prouve ni vérité, autorité thématique, absence de
cannibalisation, indexation, classement ou conformité globale.

## English

Draft.44 / reader3: supplied TS25 review fields reviewer, assistance and reason are each limited to8192 raw UTF8 bytes before strip or normalization; each entire review object, including additional fields, to32768 compact UTF8 JSON bytes. Admission checks every supplied review, including unused ones. An overrun is technical refusal before publication, never public C or NT; exact originals are not rewritten. Each native rule diagnostic is bounded to4MiB of sorted compact UTF8 JSON, including A01 and error returns. Overflow produces an explicitly incomplete compact diagnostic retaining an independently established fail, otherwise inconclusive; never pass. Transport refuses that marker and also caps the sum of actual serialized TS25 observation artifacts per target at4MiB (UTF8 JSON indent2, trailing newline), for requested rules. Individual maxima do not guarantee that every combination satisfies aggregate bounds. Other controls and the shared validator are unchanged.


Draft.43 / reader2: render is a documentary object containing states. render:[] is not render:{states:[]}. A non-object container or malformed population makes coverage unknown, without coercion or stopping independent source readings. An independently required qualified source absence remains fail; positive source cannot turn unknown coverage into pass. An empty states list is valid when no state is required. Reviews remain bound to state IDs, never indexes. This TS25-specific boundary does not migrate TS23. Contradicted self-digests remain technical refusal.


TS25 compares **prior declared critical items** with supplied original HTTP and
DOM states. C applies only to that population, inventory, policies and conditions.
It proves neither site completeness nor what Google rendered/indexed. Scope and
visibility/context judgments must actually be supplied by their responsible
reviewer; bindings and chronology are checked, authors are not authenticated.
Authored exercises remain synthetic.

Capture input2 retains url, observed_at, context, intent, http, render,
presence_synthetic, presence_plan_review and presence_context_reviews. The prior
intent.critical_presence contains reader, window_start/end, max_duration_ms,
origins, final_url, population, scope_reason, items, roles and states. Intent must
precede a <=24h window; each HTTP exchange<=30000ms; exact client and network/tool
context supplied. Initial/final/hop URLs must belong to1–16 declared exact origins.
A complete expected final200 is required; other status/unknown attribution is
inconclusive for presence, without replacing TS01/02.

1–32 unique items contain id, role, reason, selector_id, expected, policy, states;
JSON-LD adds json_pointer. Selectors are literal IDs, not arbitrary CSS. At most16
prior states each contain exactly id, reason, browser, browser_version, conditions;
last three match the supplied state. Source-only items select no states; other
policies select1–16. Optional planned diagnostic states may accompany source-only.

A01 requires exactly five explicit role dispositions: included with exact item_ids,
or outside-declared-scope with zero items and a reason. A generic completeness
assertion is insufficient. An exclusion is not NA. The complete prior supplied
review binds canonical digest of {url,intent}, dated between declaration and window
start, with reviewer, assistance, reason, provenance, judgment. Supported passes;
contradiction fails; missing, invalid or unknown review is inconclusive. A passing
check does not authenticate that judgment.

The five roles are: ordinary-body HTML text with ASCII whitespace collapse only
(NBSP retained); direct-head document title; ordinary-body native a/href equal to
the declared absolute HTTP URL through pinned Node24 WHATWG resolution (area
unsupported); direct-head link rel canonical with expected target; and inline
head/body JSON-LD script with exact case-insensitive MIME application/ld+json and
no parameters, compared as a raw string at a prior JSON pointer. Canonical here
does not establish global uniqueness or Google preference. Missing ID proves
absence at that ID only. Duplicate ID, foreign/inert/unqualified hidden context,
shadow or active explicit base is unknown. Two alternative static source hypotheses
must agree; disagreement is unknown, not a rendered-state conjunction. No JS runs.

JSON is raw script text without HTML entity decoding or JSON-LD expansion.
Empty/malformed syntax or missing/conflicting expected identity in a complete
selected block fails that item. Duplicate keys, nonfinite values, unsupported
scalars, parameterized MIME, external script or >64KiB block are unknown.
Object/array required, depth<=64 and<=50000 nodes; RFC6901 pointer, no fragment
syntax, canonical array indexes and string leaves. Relative @id stays relative.
No Schema.org/Google eligibility or semantic validity, no borrowed TS31–33 verdict.

Supplied structured-inventory-v2 DOM must be complete, script-enabled, without
errors, after HTTP and within the window, bound to supplied same-navigation HTTP
and User-Agent. Collector bounds, uncollected frames and unknown closed shadow
remain explicit. Equal snapshot hashes across states are diagnostic, neither proof
of independent observations nor automatic failure.

Structurally present rendered body-text/link requires a complete supplied context/
visibility judgment bound to {url,intent,http,state,item_id}, after snapshot and
before assessment. Supported confirms the supplied judgment; contradiction fails.
Missing, unbound or multiple reviews for one item/state (even identical) are
unknown; no latest-wins rule. Qualified native absence remains failure without a
review. Title/canonical/JSON-LD use the stated structural criteria, without CSS
visibility claims.

A02: source-only uses source; render-only requires all selected states; OR passes
if either branch is present and fails only if both are absent; AND needs both
present and fails if either is absent. In required rendered states, qualified
absence dominates unknown; otherwise all must be present. Missing state means
unknown, not absent. Positive source can satisfy OR despite missing render.
Unplanned or duplicate supplied states make coverage unknown without erasing an
independent failure. Adding out-of-plan evidence may reduce coverage C to NT,
never fabricate NC. One unknown item never erases another qualified absence.
Whole-control C requires A01/A02 pass; any fail yields NC, otherwise NT. No native NA.

Adapter checks every supplied DOM/support self-digest, including out-of-plan
states. Corruption or explicit provenance mismatch is technical refusal with no
report, distinct from NT. Exact originals/reviews retained. Input<=8MiB, combined
diagnostics<=4MiB, expected string<=1024 characters; exceeded bounds cannot justify
truncated absence. Export/replay binds exact versions without application/network.
[Migration](migration-draft.44.md) is explicit, no historical artifact rewritten.
No actual execution, authenticated review, semantic truth, topical authority,
cannibalization, indexing, ranking or global conformity inferred.

## Public reference / Référence publique

[Google JavaScript SEO basics](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)
distinguishes crawling/rendering concerns. It is contextual documentation, not a
validation of this profile. Public dated capture2026-10-15T01:35:11Z,
SHA-256 `3bf8735af5e3ea4a0b99c06eeb2373afa5b65cac0bc8c77c1ff9626074937970`,
221711 bytes; acquisition receipt retained in the local qualification dossier.
Rendu et transport / Rendering and transport
# Rendu, HTML et transport / Render, HTML and transport — v1

0.3.0-draft.4. Treize nouvelles règles / Thirteen new rules. All fixtures and capture examples are SYNTHETIC / SYNTHÉTIQUES. No actual site audit.

## TS26-A01 — Accès des ressources et politiques natives / Resource access and native policies

Entrées / Inputs: `http, robots, html, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Sur chaque ressource critique sélectionnée, comparer HTTP direct200, robots du même origin et intersection des CSP HTTP du document HTTPS. Relever la source complète pour exclure une CSP meta non qualifiée.

EN: For each selected critical resource compare direct HTTP200, same-origin robots and intersection of HTTP CSP policies from the HTTPS document. Retain complete source to exclude unqualified meta CSP.

**Attendus / Expectations**

FR : Une erreur HTTP, un refus robots ou un refus CSP qualifié échoue indépendamment des autres lacunes.

EN: A qualified HTTP error, robots denial or CSP denial fails independently of other gaps.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, robots, html, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, robots, html, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Inventaire absent, robots non fourni, directive CSP non prise en charge, nonce, meta CSP, source ambiguë ou revue absente : NT.

EN: Absent inventory, missing robots, unsupported CSP directive, nonce, meta CSP, ambiguous source or absent review: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS26-A02 — Trafic et console attribués au rendu / Traffic and console attributed to rendering

Entrées / Inputs: `render, http, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Lire un export HAR borné fourni, relier la réponse du document aux octets HTTP, puis vérifier chaque ressource critique. Conserver la console datée liée au HAR et la revue de criticité.

EN: Read a supplied bounded HAR export, bind its document response to native HTTP bytes, then check every critical resource. Retain dated HAR-bound console and criticality review.

**Attendus / Expectations**

FR : Les ressources sélectionnées ont une réponse2xx sans erreur réseau fournie. Une erreur console sans classification qualifiée reste NT ; un échec réseau natif reste NC.

EN: Selected resources have2xx responses without supplied network error. Unclassified console errors remain NT; native network failure remains NC.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : render, http, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: render, http, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : HAR incomplet, corps absent, contexte/session non attribué, console absente ou erreur non qualifiée : NT.

EN: Incomplete HAR, omitted body, unattributed context/session, missing console or unqualified error: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS27-A01 — Routes et historique attribués / Attributed routes and history

Entrées / Inputs: `http, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Vérifier quatre états fournis dans l’ordre direct, actualisation, retour, avance : session, séquence, date, URL, liaison à la réponse serveur et statut.

EN: Check four supplied states in direct, refresh, back, forward order: session, sequence, time, URL, server-response binding and status.

**Attendus / Expectations**

FR : Chaque état conserve l’URL de route et sa source200 prévue. Une URL ou un statut contraire qualifié échoue.

EN: Every state retains its route URL and intended200 source. A qualified conflicting URL or status fails.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : État, action, liaison, session ou ordre absent/ambigu ; surface frame/shadow non collectée : NT.

EN: Missing/ambiguous state, action, binding, session or order; uncollected frame/shadow surface: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS27-A02 — Contenu et canonical par état SPA / Content and canonical in each SPA state

Entrées / Inputs: `http, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Dans les mêmes états qualifiés, comparer les identifiants littéraux, textes essentiels et destinations de liens au plan, puis une canonical explicite dans head. Exiger la revue de fonctionnement.

EN: Within the same qualified states compare literal IDs, essential text and link destinations with the plan, then one explicit head canonical. Require operation review.

**Attendus / Expectations**

FR : Les états conservent contenus et signaux propres. Absence sur surface complète, contenu divergent ou canonical contraire échoue.

EN: States retain their intended content and signals. Absence on a complete surface, differing content or conflicting canonical fails.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : État partiel, contexte masqué, ID ambigu, hypothèses HTML divergentes ou revue absente : NT.

EN: Partial state, hidden context, ambiguous ID, differing HTML hypotheses or absent review: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS28-A01 — Structure native et structure DOM fournie / Native source and supplied DOM structure

Entrées / Inputs: `html, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Comparer dans la source et la sérialisation fournie : titre, langue, main déclaré, liste ordonnée des titres, liens et libellés. Le nombre de H1 est celui du plan.

EN: Compare source and supplied serialization: title, language, declared main landmark, ordered headings, links and labels. H1 count follows the plan.

**Attendus / Expectations**

FR : Les structures correspondent au plan préalable ; divergences structurelles qualifiées échouent.

EN: Structures agree with the prior plan; qualified structural conflicts fail.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Source/DOM absent, langue non déclarée, arbre ambigu ou contexte visuel non qualifié : NT.

EN: Absent source/DOM, undeclared language, ambiguous tree or unqualified visual context: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS28-A02 — Revue du sens et de la navigation / Meaning and navigation review

Entrées / Inputs: `html, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Reprendre les faits structurels attribués et exiger une revue distincte liée : adéquation du titre et de la langue, hiérarchie, sujet principal, navigation et libellés dans l’usage déclaré.

EN: Reuse attributed structural facts and require a distinct bound review of title/language adequacy, hierarchy, main subject, navigation and labels in declared use.

**Attendus / Expectations**

FR : Les faits sont qualifiés et le jugement motivé soutient le sens et l’usage ; contradiction étayée échoue.

EN: Facts are qualified and a reasoned judgment supports meaning and use; evidenced contradiction fails.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Le parseur seul, une revue sans liaison ou des originaux insuffisants ne suffisent pas : NT.

EN: Parser output alone, an unbound review or insufficient originals are not enough: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS29-A01 — Scénario scripts bloqués et repli testé / Blocked-script scenario and tested fallback

Entrées / Inputs: `html, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Lire la source et un état fourni explicitement scripts-blocked ; comparer chaque contenu/lien essentiel, ou le repli prédéclaré dans ce même état. Exiger la revue des actions et du fonctionnement.

EN: Read source and a supplied state explicitly marked scripts-blocked; compare every essential content/link or the prior fallback within that same state. Require action and operation review.

**Attendus / Expectations**

FR : Tous les attendus principaux ou tous ceux du repli testé sont étayés. Un échec principal et du repli qualifiés échoue ; aucune fonction n’est déduite du texte seul.

EN: All main expectations or all tested fallback expectations are supported. Qualified failures of both main and fallback fail; text alone does not establish function.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Condition normale, capture partielle, repli seulement décrit, contexte masqué ou revue manquante : NT.

EN: Normal condition, partial capture, merely described fallback, hidden context or missing review: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS29-A02 — Scénario styles dégradés et repli testé / Degraded-style scenario and tested fallback

Entrées / Inputs: `html, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Appliquer le même examen dans un état explicitement styles-degraded, avec observations d’actions et revue liée. Ne pas assimiler la désactivation des scripts à ce scénario.

EN: Apply the same examination in an explicitly styles-degraded state with action observations and a bound review. Script disabling does not qualify this scenario.

**Attendus / Expectations**

FR : Les fonctions essentielles ou le repli testé restent étayés dans ce scénario distinct.

EN: Essential functions or tested fallback remain supported in this distinct scenario.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Absence de scénario styles dégradés, preuve de repli ou jugement attribué : NT.

EN: Missing degraded-style scenario, fallback evidence or attributed judgment: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS30-A01 — Métadonnées et doublons du corpus déclaré / Metadata and duplicates in the declared corpus

Entrées / Inputs: `html, content, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Lire title, description, H1, og:title, og:description natifs par page. Comparer aux valeurs prévues puis les doublons entre pages sélectionnées ; exiger une décision préalable pour chaque doublon intentionnel.

EN: Read native title, description, H1, og:title, og:description for each page. Compare prior values and duplicates among selected pages; require a prior decision for each intentional duplicate.

**Attendus / Expectations**

FR : Valeurs et multiplicité concordent ; chaque doublon observé possède une décision motivée unique. Le corpus ne dépasse pas les pages fournies.

EN: Values and multiplicity agree; each observed duplicate has one reasoned decision. The corpus is limited to supplied pages.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Source absente, politique de champ omise, parse ambigu ou revue manquante : NT. null autorise seulement un champ facultatif explicitement absent.

EN: Missing source, omitted field policy, ambiguous parse or missing review: NT. null permits only an explicitly absent optional field.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS30-A02 — Cohérence éditoriale et contenu principal / Editorial coherence and main content

Entrées / Inputs: `html, content, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Rapprocher les métadonnées natives et le contenu principal identifié ; exiger une revue distincte de la promesse, du sens et de la visibilité pertinente.

EN: Reconcile native metadata and identified main content; require a distinct review of promise, meaning and relevant visibility.

**Attendus / Expectations**

FR : Les faits concordent avec le plan et la revue éditoriale liée les soutient ; une contradiction native ou humaine qualifiée échoue.

EN: Facts agree with the plan and the bound editorial review supports them; qualified native or human contradiction fails.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Source/rendu nécessaire non qualifié, contenu masqué, sens sans revue ou jugement non lié : NT.

EN: Unqualified required source/rendering, hidden content, meaning without review or unbound judgment: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS37-A01 — Certificats, hôte, date et confiance fournie / Certificates, host, time and supplied trust

Entrées / Inputs: `tls, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Relire les PEM publics fournis avec OpenSSL3 hors réseau : chaîne, usage serveur, hôte DNS, heure fournie et racines explicitement fournies. Désactiver magasins implicites ; conserver version et diagnostic.

EN: Recheck supplied public PEMs with offline OpenSSL3: chain, server purpose, DNS host, supplied time and explicit supplied roots. Disable implicit stores; retain version and diagnostic.

**Attendus / Expectations**

FR : La vérification du profil réussit sous les racines fournies. Une erreur X509 prise en charge, dont expiration ou mauvais hôte, échoue.

EN: Profile verification succeeds under supplied roots. A supported X509 error, including expiry or wrong host, fails.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : tls, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: tls, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : OpenSSL3 absent, PEM inutilisable, capture mal attribuée, racines absentes ou code d’erreur non qualifié : NT.

EN: Missing OpenSSL3, unusable PEM, misattributed capture, absent roots or unqualified error code: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS37-A02 — Redirections HTTPS et décision HSTS / HTTPS redirects and HSTS decision

Entrées / Inputs: `http, configuration, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Suivre la chaîne HTTP fournie vers HTTPS sans rétrogradation, vérifier la réponse directe200, comparer configuration HSTS et en-tête au plan : activation, max-age, sous-domaines, portée, propriétaire, motif.

EN: Follow the supplied HTTP chain to HTTPS without downgrade, check direct200 response, compare HSTS configuration and header with planned enablement, max-age, subdomains, scope, owner and rationale.

**Attendus / Expectations**

FR : Chaînes et décision HSTS concordent ; HSTS peut être désactivé explicitement. Aucun preload imposé.

EN: Chains and HSTS decision agree; HSTS may be explicitly disabled. No preload requirement.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, configuration, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, configuration, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : Chaîne/configuration manquante, en-tête ambigu, portée ou décision absente : NT.

EN: Missing chain/configuration, ambiguous header, absent scope or decision: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## TS37-A03 — Sous-ressources et trafic mixte du périmètre / Embedded resources and mixed traffic in scope

Entrées / Inputs: `http, render, intent`.

**Périmètre / Scope**

FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.

EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.

**Procédure / Procedure**

FR : Relier HAR et console au document HTTPS ; examiner les requêtes observées et les URL intégrées de la source. Le profil strict exige HTTPS pour ces ressources, même si un navigateur peut les mettre à niveau.

EN: Bind HAR and console to the HTTPS document; inspect observed requests and source embedded URLs. The strict profile requires HTTPS for these resources even when a browser might upgrade them.

**Attendus / Expectations**

FR : Aucune URL HTTP observée sur ces surfaces ; revue de la couverture dynamique consignée. Un HTTP natif observé échoue malgré une autre lacune.

EN: No HTTP URL observed on these surfaces; dynamic-coverage review retained. An observed native HTTP URL fails despite another gap.

**Preuves / Evidence**

FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.

EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.

**Hypothèses / Assumptions**

FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.

EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.

**Indéterminés / Inconclusive**

FR : HAR tronqué, corps absent, CSS/srcset non qualifiés, contexte incomplet ou revue absente : NT.

EN: Truncated HAR, missing body, unqualified CSS/srcset, incomplete context or absent review: NT.

**Non-applicabilité / Non-applicability**

FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.

EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.

**Limites / Limitations**

FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.

EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.

## Contrat des entrées / Input contract

FR : reprendre le [dossier v1](evidence-dossier-v1.md), avec `reader=render-transport-v1`,1–32 items préalables identifiés, originaux natifs datés et revues liées au dossier entier. Aucun champ `status=C` ou verdict externe n'est lu. Le dossier reste limité à8MiB, chaque original et HTML à1MiB ; listes usuelles1–32, HAR128 requêtes, console128 événements. Les arbres parse5/Node24 conservent les deux hypothèses statiques,20 000 nœuds/profondeur128 et au plus2MiB de texte projeté cumulé. Une ambiguïté ou un dépassement donne NT, sans tronquer.

EN: reuse the [v1 dossier](evidence-dossier-v1.md), with `reader=render-transport-v1`,1–32 identified prior items, dated native originals and whole-dossier-bound reviews. No `status=C` or external verdict field is read. Dossiers remain bounded at8MiB, each original and HTML at1MiB; ordinary lists1–32, HAR128 requests, console128 events. parse5/Node24 trees retain both static hypotheses,20,000 nodes/depth128 and at most2MiB aggregate projected text. Ambiguity or overflow yields NT without truncation.

| Contrôle / Control | Champs du plan / Plan fields | Originaux / Originals |
|---|---|---|
| TS26 | `id,page,resources[{url,type,robots_url,robots_profile}],har,console,page_ref,complete_capture,capture_reason` | HTTP page/resources/robots ; HAR et console / HAR and console. `type` script/style/img/font/connect/media. |
| TS27 | `id,page,states[4],content[{id,text,href}],canonical` | Quatre états browser-state-v1 liés à leurs documents HTTP / Four browser-state-v1 records bound to HTTP documents. |
| TS28 | `id,page,state,structure{title,lang,main_id,headings[{id,tag,text}],links[{id,text,href}]}` | Source HTTP et état DOM fourni / HTTP source and supplied DOM state. |
| TS29 | `id,page,script_state,style_state,essential[{id,text,href}],fallback` | Source et deux états distincts ; fallback=null ou `{reason,content:[...]}` dans le même état testé / Source and two distinct states; fallback=null or `{reason,content:[...]}` within the same tested state. |
| TS30 | `id,pages[{url,metadata,content}],duplicate_decisions` | Sources HTTP sélectionnées / Selected HTTP sources. Five metadata keys: title,description,h1,og:title,og:description. Decisions: `{field,urls,value,reason,decision:'intentional'}`. |
| TS37 | `id,host,page,http_variant,certificates,configuration,hsts,har,console,page_ref,complete_capture,capture_reason` | HTTP, certificats/racines publics, configuration, HAR, console / HTTP, public certificates/roots, configuration, HAR, console. |

FR : `browser-state-v1` est un original JSON fourni sous kind `render`, avec `page_url,source_document,source_http_sha256,html,browser{name,version},session,sequence,action,condition,captured_at,complete,shadow_roots,frames,steps,failures`. `source_document` désigne l'ID unique d'un document natif ; son tableau `http` est lié par le SHA256 JSON canonique du dossier. `steps` décrit les actions effectivement observées et leurs résultats, pas seulement un plan de test ; le réviseur doit juger leur suffisance pour le fonctionnement. `complete=true`, frames=shadow_roots=0 et failures=[] sont requis dans ce profil. Ils restent des déclarations fournies, jamais authentifiées. Les actions de route sont direct/refresh/history-back/history-forward avec séquences0–3 et même session ; conditions normal/scripts-blocked/styles-degraded. Une sérialisation documentaire ne prouve pas une exécution navigateur ni la visibilité CSS. Les contextes hidden/inert/aria-hidden/style/details/dialog/noscript et les ID dupliqués restent indéterminés pour le contenu sélectionné.

EN: `browser-state-v1` is supplied original JSON under kind `render`, with `page_url,source_document,source_http_sha256,html,browser{name,version},session,sequence,action,condition,captured_at,complete,shadow_roots,frames,steps,failures`. `source_document` identifies a unique native document; its `http` array is bound by the dossier's canonical JSON SHA256. `steps` describes actually observed actions and their results, not merely a test plan; the reviewer must judge their adequacy for operation. This profile requires `complete=true`, frames=shadow_roots=0 and failures=[]. These remain supplied unauthenticated declarations. Route actions are direct/refresh/history-back/history-forward with sequence0–3 in one session; conditions are normal/scripts-blocked/styles-degraded. Documentary serialization does not prove browser execution or computed CSS visibility. hidden/inert/aria-hidden/style/details/dialog/noscript contexts and duplicate IDs remain inconclusive for selected content.

FR : le HAR est conservé dans ses octets originaux, sans enveloppe de verdict, sous kind `render`. Sous-ensemble lu : `log.version=1.2`, creator/browser{name,version}, une page avec id/startedDateTime et1–128 entries avec pageref/startedDateTime/request{method,url}/response{status,content{text,encoding}}. GET seulement ; corps principal littéral UTF8 ou base64, identique à la réponse HTTP native et même statut. Les entrées absentes ou répétées pour une ressource critique sont NT. Les champs supplémentaires restent archivés sans devenir des preuves interprétées. `browser-console-v1` contient page_url, har_sha256 (octets originaux), complete et events[{level,text,url,timestamp}]. Une console sans erreur ne prouve ni absence d'autres erreurs hors fenêtre ni rendu réussi ; la revue qualifie la couverture. Une erreur non classifiée donne NT ; ce lecteur ne fabrique aucune classification humaine.

EN: HAR original bytes are retained without a verdict wrapper under kind `render`. Read subset: `log.version=1.2`, creator/browser{name,version}, one page with id/startedDateTime and1–128 entries with pageref/startedDateTime/request{method,url}/response{status,content{text,encoding}}. GET only; literal UTF8 or base64 main body must equal native HTTP body with the same status. Missing/repeated critical-resource entries are NT. Additional fields remain archived without becoming interpreted evidence. `browser-console-v1` contains page_url, har_sha256 (original bytes), complete and events[{level,text,url,timestamp}]. An error-free console proves neither absence of other errors outside its window nor successful rendering; review qualifies coverage. Unclassified errors yield NT; this reader never manufactures a human classification.

FR : CSP est limité aux ressources de documents HTTPS : expressions none/self/*, schémas http:/https: (http: autorise aussi l'évolution vers https:) et origins HTTPS explicites sans chemin. Les directives de récupération sélectionnées suivent script-src-elem/style-src-elem, puis script-src/style-src, puis default-src ; plusieurs politiques s'intersectent. Une extension, un nonce/hash, strict-dynamic, une expression de chemin ou CSP meta nécessite une autre méthode et reste NT. Ce profil n'évalue pas l'exécution inline, l'injection ou la sûreté générale de CSP.

EN: CSP is limited to resources of HTTPS documents: none/self/* expressions, http:/https: schemes (http: also allows upgrading to https:) and explicit HTTPS origins without paths. Selected fetch directives follow script-src-elem/style-src-elem, then script-src/style-src, then default-src; multiple policies intersect. Extensions, nonce/hash, strict-dynamic, path expressions or meta CSP require another method and remain NT. This profile does not assess inline execution, injection or overall CSP security.

FR : `tls-certificates-v1` contient host,captured_at,leaf_pem,intermediates_pem (0–8),trust_store (ID original kind tls),trust_scope. Clés privées interdites. OpenSSL3 est lancé sans shell, sans option de récupération, avec magasin fourni seul, profondeur8, niveau d'authentification2, usage sslserver, hôte DNS et heure fournie. Les codes X509 explicitement reconnus sont2,7,9,10,18,19,20,21,23,24,25,26,27,28,30,32,34,62,66,67,68 ; autre sortie/erreur technique : NT. Ni révocation OCSP/CRL, politique d'entreprise, confiance publique, Certificate Transparency, configuration du serveur ou négociation TLS réelle ne sont établies. TSEP_OPENSSL peut désigner un exécutable local OpenSSL3.

EN: `tls-certificates-v1` contains host,captured_at,leaf_pem,intermediates_pem (0–8),trust_store (original kind tls ID),trust_scope. Private keys are forbidden. OpenSSL3 runs without a shell or fetching option, with supplied trust alone, depth8, authentication level2, sslserver purpose, DNS host and supplied time. Explicitly recognized X509 codes are2,7,9,10,18,19,20,21,23,24,25,26,27,28,30,32,34,62,66,67,68; other output/technical error: NT. OCSP/CRL revocation, enterprise policy, public trust, Certificate Transparency, server configuration and actual TLS negotiation are not established. TSEP_OPENSSL may select a local OpenSSL3 executable.

FR : `transport-policy-v1` contient host et hsts{enabled,max_age,include_subdomains,scope,reason,owner}, identique au plan. max_age est entier0–2³¹−1 ; un seul en-tête, directives max-age/includeSubDomains/preload reconnues, pas de preload requis ni inféré. Le profil contenu mixte strict examine URL observées HAR et src, poster, data, liens stylesheet/preload/modulepreload/icon de la source. CSS, srcset, frames/shadow, schémas spéciaux et surfaces dynamiques absentes sont NT. Les ressources HTTP sont NC pour ce profil explicite même si un navigateur les bloque ou les met à niveau : ce n'est pas une simulation universelle du navigateur.

EN: `transport-policy-v1` contains host and hsts{enabled,max_age,include_subdomains,scope,reason,owner}, identical to the plan. max_age is integer0–2³¹−1; one header, recognized max-age/includeSubDomains/preload directives, no required or inferred preload. The strict mixed-content profile examines observed HAR URLs and source src, poster, data, stylesheet/preload/modulepreload/icon links. CSS, srcset, frames/shadow, special schemes and absent dynamic surfaces are NT. HTTP resources are NC under this explicit profile even if a browser blocks or upgrades them: this is not universal browser simulation.

FR : une contradiction native indépendante demeure NC malgré une revue absente. Une contradiction humaine sur originaux insuffisants demeure NT. C exige tous les items et toutes les règles du contrôle, preuves et revue incluses ; un seul sondage ne qualifie jamais le site entier. Les fixtures, certificats et revues synthétiques ne peuvent être requalifiés en preuves publiques réelles. Voir [migration](migration-0.3.0-draft.4.md) et [références datées](source-captures/render-transport-2026-10-18.md).

EN: an independent native contradiction remains NC despite an absent review. Human contradiction with insufficient originals remains NT. C requires every item and every control rule, including evidence and review; one probe never qualifies an entire site. Synthetic fixtures, certificates and reviews cannot be relabelled as real public evidence. See [migration](migration-0.3.0-draft.4.md) and [dated references](source-captures/render-transport-2026-10-18.md).

30 lectures disponibles aujourd’hui

Renouvellement :

Votre limite quotidienne : 30 lectures

Comment ça fonctionne

Une lecture consulte votre page et quelques sources publiques. La limite s’applique à votre espace de visiteur ; des protections supplémentaires s’appliquent au réseau partagé et à l’ensemble du service.

Répondre aux questions, consulter vos dossiers et exporter vos résultats ne consomme aucune lecture. Ces étapes restent disponibles lorsque la limite est atteinte.