Porte de-AI
Une porte d'honnêteté de contenu déterministe et en lecture seule. Deux modes d'analyse HARD :
- Analyse du HTML servi (
--html) : indices de caractères (tiret em/en, points de suspension, Unicode invisible) + 12 phrases indicatrices IA haute précision, après suppression des CSS/commentaires. - Analyse des enregistrements sources (
--records) : corruption par substitution typographique (guillemets courbes/apostrophes, espace insécable, caractère points de suspension) dans la colonne vertébrale JS/JSON/TS - la vérification qui rattrape les guillemets courbes introduits par IA qu'une porte HTML ne détecte pas.
Les heuristiques structurelles (écart-type de longueur de phrase, tricolon, échafaudage de transition, regroupement de listes de surveillance) sont signalées comme AVERTISSEMENT et ne modifient jamais le code de sortie.
Invocation
# depuis le répertoire de la compétence (ou pointer node/python vers son chemin absolu)
# contenu servi
node cli.mjs --html ../mon-site/public/articles ../mon-site/public/guides
# enregistrements créés
node cli.mjs --records ../mon-site/data/
# Surface Git-Bash / Python (indices HARD uniquement)
python gate.py --html ../mon-site/public/ --records ../mon-site/data/
Sortie 1 en cas de violation HARD (utilisez --warn-only pour le mode de base non bloquant). Exécutez --html et --records comme des invocations séparées (ou avec des indicateurs séparés) ; le mélange de cibles d'enregistrement et de html dans un seul appel n'est pas pris en charge.
Un catalogue, deux environnements d'exécution
Tous les indices vivent dans catalog.json. engine.js (JS) et gate.py (Python) le lisent tous les deux, de sorte que les définitions des indices sont à source unique et ne bifurquent jamais. Ajoutez un nouvel indice une fois, dans le catalogue. Remarque : la gestion des limites de mots par les expressions régulières JS et Python diffère sur le texte où une lettre non-ASCII est directement adjacente à un mot indicateur (sans séparateur) - un cas quasi nul dans la prose réelle ; les deux moteurs sont par ailleurs d'accord.
Portée
Analyse de la prose destinée au lecteur : README/docs, pages publiées, instructions de compétence, notes de version, texte À propos, copie d'interface. Ignorer le code du détecteur et les éléments de test (ils contiennent les glyphes qu'ils détectent), les messages de commit (analyser les documents livrés, pas l'historique) et les citations textuelles de tiers. Règles complètes de la portée dans README.md.
Sécurité
Analyse de fichier en lecture seule. Pas de hook SessionStart/exécution automatique, pas d'informations d'identification ni de cookies, pas de réseau ni de sortie, zéro dépendance. Voir README.md.