L'outil n'inspectait que « # » : sondé avec des motifs interdits, il restait
muet sur un « .go » et sortait 0. Du Go étant entré dans le dépôt, ses
commentaires n'étaient relus par personne d'autre que leur auteur, alors que
la convention vaut pour tout commentaire.
Trois pièges, et le premier est celui qui compte : « // » ouvre un
commentaire SAUF dans une chaîne, et « https:// » en porte deux. La chaîne
brute entre accents graves n'échappe rien, et « /* … */ » couvre plusieurs
lignes. Vérifié : 8 cas neufs, dont l'URL qui ne doit rien ouvrir.
--- EN ---
The tool only inspected « # »: probed with forbidden patterns, it stayed
silent on a « .go » and exited 0. Now that Go has entered the repository, its
comments were read by nobody but their author, while the convention covers
every comment.
Three traps, and the first is the one that matters: « // » opens a comment
EXCEPT inside a string, and « https:// » carries two of them. The raw string
between backticks escapes nothing, and « /* … */ » spans several lines.
Checked: 8 new cases, including the URL that must open nothing.
Assisted-by: Claude Opus 5
L'outil voyait les adresses, les courriels et les chemins de compte, mais pas
les NOMS — la classe que la règle interdit au même titre, et celle qu'un
assistant qui parcourt le réseau multiplie. Le rapport annonçait « 0
identifiant » sur un fichier qui en portait un.
Un signal à relire, jamais une trouvaille : un nom d'hôte NU ne se distingue
mécaniquement ni d'un mot ordinaire ni du nom d'un logiciel, donc seule la
forme qualifiée se reconnaît, contre une liste FERMÉE de suffixes. En sortent
l'en-tête de copyright, les domaines de la RFC 2606, et toute adresse portée
par une URL. Vérifié : 54 tests, et 21 signaux sur le dépôt, tous des miroirs.
--- EN ---
The tool saw addresses, e-mails and account paths, but not NAMES — the class
the rule forbids just as much, and the one an assistant sweeping the network
multiplies. The report announced "0 identifying" on a file that carried one.
A signal to re-read, never a finding: a BARE host name is mechanically
indistinguishable from an ordinary word or a piece of software, so only the
qualified form is recognised, against a CLOSED list of suffixes. Out of it go
the copyright header, the RFC 2606 domains, and any address carried by a URL.
Checked: 54 tests, and 21 signals across the repository, all mirrors.
Assisted-by: Claude Opus 5
Rien ne relevait les commentaires hors convention. L'outil lit commentaires et
docstrings, jamais le code autour, et rend deux familles inégales :
l'identifiant — adresse, courriel, chemin de compte, nom de la liste privée —
est une trouvaille ; le récit — témoignage, date, personne — un signal à relire.
Le hook pre-commit le lance sur l'index, sort toujours en 0 — un contrôle
bloquant à cette échelle se fait désinstaller — et parle quand l'outil échoue.
La règle du générateur et sa doc portent le nettoyage au fur et à mesure, et
l'exemple d'un interdit s'invente : base, adresse, compte et hôte en prennent un.
L'écran du contexte est posé, sans entrée de menu. Vérifié : 252 tests des six
fichiers d'essai touchés passent.
--- EN ---
Nothing reported the comments that break the convention. The tool reads
comments and docstrings, never the code around them, and returns two unequal
families: identifying data — address, e-mail, account path, private-list name
— is a finding; narrative — witness marker, date, person — a signal to re-read.
The pre-commit hook runs it on the index, always exits 0 — a blocking check at
that scale gets uninstalled — and speaks when the tool fails. The generator
rule and its doc carry the clean-up as you go, and a forbidden thing's example
is invented: a real database, address, account and host each take one.
The context screen is in place, with no menu entry. Checked: 252 tests of the
six touched fixture files pass.
Assisted-by: Claude Opus 5