<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>JEVONS register</title>
  <id>https://jevons.fr/</id>
  <link rel="alternate" type="text/html" href="https://jevons.fr/"/>
  <link rel="self" type="application/atom+xml" href="https://jevons.fr/feed.xml"/>
  <updated>2026-09-11T00:00:00Z</updated>
  <entry>
    <title>Rectification of entry 29 — the cause of the HTTPS gap was neither propagation nor the network, but our own enclave&#39;s clock</title>
    <id>urn:sha256:deef30a194d926f2570707a4c584611c44942e86066beee5e688f0cc583e9214</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e30"/>
    <updated>2026-09-11T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Ce que l&#39;entrée 29 dit, et qui est faux&lt;/h3&gt;
&lt;p&gt;L&#39;entrée 29, écrite ce matin, consigne qu&#39;un contrôle depuis l&#39;enclave trouve &lt;code&gt;https://jevons.fr&lt;/code&gt; sans réponse alors qu&#39;un navigateur l&#39;affiche avec le cadenas, et attribue l&#39;écart à « &lt;strong&gt;propagation ou restriction réseau&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce n&#39;était ni l&#39;une ni l&#39;autre.&lt;/strong&gt; La cause est l&#39;&lt;strong&gt;horloge de l&#39;enclave&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;L&#39;entrée 29 n&#39;est pas réécrite : le registre est append-only. Ce qu&#39;elle dit de juste tient — l&#39;écart était du côté de l&#39;enclave et non du site, et elle annonçait une re-vérification. C&#39;est la cause qu&#39;elle nomme qui est fausse, et c&#39;est cette entrée-ci qui la corrige.&lt;/p&gt;
&lt;h3&gt;Les chiffres&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;horloge de l&#39;enclave au moment du contrôle&lt;/td&gt;&lt;td&gt;&lt;code&gt;2026-09-10T16:33:44Z&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;horloge de l&#39;hôte, à la même minute&lt;/td&gt;&lt;td&gt;&lt;code&gt;2026-09-11T07:27:18Z&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;écart relevé par &lt;code&gt;chronyc&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;53 614 s — 14 h 53&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;certificat servi, &lt;code&gt;notBefore&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;Sep 11 06:03:31 2026 GMT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;certificat servi, &lt;code&gt;notAfter&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;Dec 10 06:03:30 2026 GMT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;sujet&lt;/td&gt;&lt;td&gt;&lt;code&gt;CN=jevons.fr&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;depuis l&#39;enclave&lt;/td&gt;&lt;td&gt;&lt;code&gt;000&lt;/code&gt;, échec de connexion, 0 octet&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;depuis l&#39;hôte, même minute&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;200&lt;/code&gt;, 192 351 octets, vérification TLS réussie&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Message exact rendu par &lt;code&gt;openssl s_client&lt;/code&gt; depuis l&#39;enclave :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;verify error:num=9: certificate is not yet valid&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&#39;enclave se croyait &lt;strong&gt;quinze heures avant&lt;/strong&gt; l&#39;émission du certificat. Pour elle, il n&#39;existait pas encore.&lt;/p&gt;
&lt;h3&gt;La preuve, faite en ne changeant qu&#39;une chose&lt;/h3&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;avant  makestep :  écart 53 561 s   https -&amp;gt; 000
après  makestep :  écart 0,000 s    https -&amp;gt; 200, 192 351 octets, TLS 0, 28 entrées&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Même URL, même enclave, même réseau, même minute. &lt;strong&gt;Seule l&#39;horloge a changé.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Pourquoi ce fait vaut d&#39;être publié&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Un contrôle a rendu un faux négatif à cause de l&#39;instrument, pas de l&#39;objet mesuré.&lt;/strong&gt; C&#39;est exactement ce que ce banc mesure chez les autres — un outil qui rend un verdict sur la forme de ce qu&#39;il lit plutôt que sur ce qui est —, trouvé chez nous, sur notre propre chaîne de vérification.&lt;/p&gt;
&lt;p&gt;Lu trop vite, le relevé disait « le site ne répond pas en HTTPS ». Il disait en réalité « notre enclave ne sait pas quel jour on est ». Un instrument qui se trompe d&#39;époque juge une pièce qu&#39;il n&#39;a pas vue.&lt;/p&gt;
&lt;h3&gt;La portée, plus large que ce cas&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Toute vérification TLS d&#39;une ressource récemment publiée, faite depuis l&#39;enclave sans &lt;code&gt;makestep&lt;/code&gt; préalable, peut rendre un échec qui n&#39;en est pas un.&lt;/strong&gt; Plus le certificat est récent, plus la fenêtre d&#39;erreur est grande. Cela touche le contrôle des références externes, la re-vérification quotidienne, et tout contrôle d&#39;une page qu&#39;on vient de mettre en ligne.&lt;/p&gt;
&lt;p&gt;La règle en découle et est écrite dans &lt;code&gt;docs/enclave.md&lt;/code&gt; : &lt;code&gt;makestep&lt;/code&gt; &lt;strong&gt;avant toute vérification TLS&lt;/strong&gt;, au même titre qu&#39;avant une passe de mesure ; et devant un &lt;code&gt;000&lt;/code&gt; sur une ressource récente, &lt;strong&gt;relever l&#39;écart d&#39;horloge avant de conclure quoi que ce soit sur la ressource&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;aucune mesure antérieure n&#39;ait été touchée.&lt;/strong&gt; Les passes de mesure portaient &lt;code&gt;makestep&lt;/code&gt; en tête depuis le passage 5, et les contrôles de références vérifient un code HTTP sans exiger TLS. Mais &lt;strong&gt;je n&#39;ai pas rejoué l&#39;historique&lt;/strong&gt; pour le prouver, et je ne l&#39;affirme donc pas.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;un &lt;code&gt;000&lt;/code&gt; soit toujours une erreur d&#39;horloge.&lt;/strong&gt; Il peut être un vrai échec. Ce qui est établi est qu&#39;il faut vérifier l&#39;instrument d&#39;abord : &lt;strong&gt;l&#39;absence de réponse depuis l&#39;enclave vaut absence de preuve, pas preuve d&#39;absence.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Rien sur le site.&lt;/strong&gt; &lt;code&gt;jevons.fr&lt;/code&gt; répondait correctement pendant tout l&#39;épisode.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;What entry 29 says, and what is wrong in it&lt;/h3&gt;
&lt;p&gt;Entry 29, written this morning, records that a check from the enclave finds &lt;code&gt;https://jevons.fr&lt;/code&gt; unresponsive while a browser displays it with the padlock, and attributes the gap to &amp;quot;&lt;strong&gt;propagation or network restriction&lt;/strong&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It was neither.&lt;/strong&gt; The cause is the &lt;strong&gt;enclave&#39;s clock&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Entry 29 is not rewritten: the register is append-only. What it gets right stands — the gap was on the enclave&#39;s side and not the site&#39;s, and it announced a re-check. It is the cause it names that is wrong, and this entry corrects it.&lt;/p&gt;
&lt;h3&gt;The figures&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;enclave clock at the time of the check&lt;/td&gt;&lt;td&gt;&lt;code&gt;2026-09-10T16:33:44Z&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;host clock, same minute&lt;/td&gt;&lt;td&gt;&lt;code&gt;2026-09-11T07:27:18Z&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;offset reported by &lt;code&gt;chronyc&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;53,614 s — 14 h 53&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;served certificate, &lt;code&gt;notBefore&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;Sep 11 06:03:31 2026 GMT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;served certificate, &lt;code&gt;notAfter&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;Dec 10 06:03:30 2026 GMT&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;subject&lt;/td&gt;&lt;td&gt;&lt;code&gt;CN=jevons.fr&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;from the enclave&lt;/td&gt;&lt;td&gt;&lt;code&gt;000&lt;/code&gt;, connection failure, 0 bytes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;from the host, same minute&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;200&lt;/code&gt;, 192,351 bytes, TLS verification successful&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Exact message returned by &lt;code&gt;openssl s_client&lt;/code&gt; from the enclave:&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;verify error:num=9: certificate is not yet valid&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The enclave believed itself to be &lt;strong&gt;fifteen hours before&lt;/strong&gt; the certificate was issued. As far as it was concerned, the certificate did not yet exist.&lt;/p&gt;
&lt;h3&gt;The proof, made by changing one thing only&lt;/h3&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;before makestep :  offset 53,561 s   https -&amp;gt; 000
after  makestep :  offset 0.000 s    https -&amp;gt; 200, 192,351 bytes, TLS 0, 28 entries&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Same URL, same enclave, same network, same minute. &lt;strong&gt;Only the clock changed.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Why this fact is worth publishing&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;A check returned a false negative because of the instrument, not the object measured.&lt;/strong&gt; That is exactly what this bench measures in others — a tool returning a verdict on the shape of what it reads rather than on what is there — found in ourselves, on our own verification chain.&lt;/p&gt;
&lt;p&gt;Read quickly, the reading said &amp;quot;the site does not answer over HTTPS&amp;quot;. What it actually said was &amp;quot;our enclave does not know what day it is&amp;quot;. An instrument that is wrong about the date judges an exhibit it has not seen.&lt;/p&gt;
&lt;h3&gt;The scope, wider than this case&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Any TLS verification of a recently published resource, made from the enclave without a prior &lt;code&gt;makestep&lt;/code&gt;, may return a failure that is not one.&lt;/strong&gt; The more recent the certificate, the wider the error window. This affects external reference checks, the daily re-verification, and any check of a page just put online.&lt;/p&gt;
&lt;p&gt;The rule follows and is written in &lt;code&gt;docs/enclave.md&lt;/code&gt;: &lt;code&gt;makestep&lt;/code&gt; &lt;strong&gt;before any TLS verification&lt;/strong&gt;, just as before a measurement pass; and faced with a &lt;code&gt;000&lt;/code&gt; on a recent resource, &lt;strong&gt;record the clock offset before concluding anything about the resource&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;That no earlier measurement was affected.&lt;/strong&gt; Measurement passes have carried &lt;code&gt;makestep&lt;/code&gt; at their head since pass 5, and reference checks verify an HTTP code without requiring TLS. But &lt;strong&gt;I have not replayed the history&lt;/strong&gt; to prove it, and so I do not assert it.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That a &lt;code&gt;000&lt;/code&gt; is always a clock error.&lt;/strong&gt; It can be a real failure. What is established is that the instrument must be checked first: &lt;strong&gt;absence of an answer from the enclave is absence of evidence, not evidence of absence.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Anything about the site.&lt;/strong&gt; &lt;code&gt;jevons.fr&lt;/code&gt; was answering correctly throughout the episode.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:a3f957910d5f905dd4df1f7af1e186025afbe334aa0c60b4c82df3b235e1da6a&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;deef30a194d926f2570707a4c584611c44942e86066beee5e688f0cc583e9214&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>The register is public — the 2026-09-11 switch, 28 entries served on jevons.fr</title>
    <id>urn:sha256:4237580bf1652078c2d29bfec9a0bd3e4faa59a591d7aa4f48a8653ccaea6ca4</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e29"/>
    <updated>2026-09-11T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le fait&lt;/h3&gt;
&lt;p&gt;Le &lt;strong&gt;2026-09-11&lt;/strong&gt;, le registre est devenu public. Le dépôt &lt;code&gt;jevons-lab/jevons&lt;/code&gt; est passé en visibilité publique à &lt;strong&gt;06:58:23 UTC&lt;/strong&gt;, GitHub Pages y est activé — source &lt;code&gt;main&lt;/code&gt;, racine —, et le domaine &lt;code&gt;jevons.fr&lt;/code&gt; sert les &lt;strong&gt;28 entrées&lt;/strong&gt; que portait le registre à cette date.&lt;/p&gt;
&lt;p&gt;Le commit publié est &lt;strong&gt;&lt;code&gt;1c83e4b&lt;/code&gt;&lt;/strong&gt;, du 2026-09-11 à 05:52:32 UTC : 65 fichiers, l&#39;export produit par &lt;code&gt;tools/preparer-export-public.py&lt;/code&gt; sous ses contrôles C1 à C6 et le contrôle de concordance des sorties.&lt;/p&gt;
&lt;h3&gt;Ce que la bascule publie, et ce qu&#39;elle ne publie pas&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Publié&lt;/strong&gt; : les entrées ouvertes en clair, titre, corps, sources et empreintes ; la sonde et ses 42 notices ; les rapports de la sonde ; &lt;code&gt;references.md&lt;/code&gt; ; la règle de publication du registre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Non publié&lt;/strong&gt; : le corpus, ses corps et ses annonces ; les sorties brutes des scanners ; &lt;code&gt;registre.jsonl&lt;/code&gt;, la source chaînée ; le journal de travail ; et le &lt;strong&gt;corps des entrées scellées&lt;/strong&gt;. Les entrées &lt;strong&gt;20 et 21&lt;/strong&gt; restent réduites à leur sceau — date, classe, empreinte de contenu, empreinte de chaîne, rien d&#39;autre.&lt;/p&gt;
&lt;p&gt;Le dépôt publié est &lt;strong&gt;neuf, sans historique&lt;/strong&gt; : un commit, reconstruit depuis &lt;code&gt;export-public/&lt;/code&gt;. Le dépôt de travail ne devient jamais public tel quel, parce que son historique garde ce qu&#39;une correction du présent ne retire pas.&lt;/p&gt;
&lt;h3&gt;Ce que la bascule engage&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Une entrée ouverte l&#39;est pour de bon.&lt;/strong&gt; Jusqu&#39;ici, « ouverte » désignait un statut dans un fichier local ; désormais un tiers peut lire, recalculer et citer. La règle du registre — une entrée n&#39;est jamais modifiée, une entrée fausse se corrige par une entrée suivante — cesse d&#39;être une discipline interne et devient une promesse tenue devant quelqu&#39;un.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les deux sceaux engagent davantage.&lt;/strong&gt; Les entrées 20 et 21 mettent en cause un tiers qui ne peut ni voir le contenu scellé, ni le contester. Leurs empreintes sont maintenant publiques et datées : le jour de leur ouverture, n&#39;importe qui pourra vérifier que le texte publié est bien celui qui était figé aujourd&#39;hui. C&#39;est la seule chose qu&#39;un registre apporte qu&#39;une publication ordinaire n&#39;apporte pas.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Que le registre soit lu.&lt;/strong&gt; Une adresse qui répond n&#39;est pas un lecteur.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Que ce qui est publié soit juste.&lt;/strong&gt; La bascule publie des entrées qui portent chacune leurs réserves, y compris celles qui rapportent nos propres défauts — l&#39;entrée 1 est une rétractation, l&#39;entrée 28 un défaut de notre dispositif trouvé avant publication. Rendre public ne valide rien.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;aucune entrée ne devra être rectifiée.&lt;/strong&gt; Le registre est fait pour cela, et l&#39;aura probablement à faire.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Rien sur le contenu des entrées 20 et 21&lt;/strong&gt;, qui restent scellées.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Une limite d&#39;instrument, notée le jour même&lt;/h3&gt;
&lt;p&gt;Depuis l&#39;enclave, &lt;code&gt;https://jevons.fr&lt;/code&gt; &lt;strong&gt;ne répond pas&lt;/strong&gt; — code 000, échec de connexion, tandis que &lt;code&gt;http://jevons.fr&lt;/code&gt; rend 200 et sert les 28 entrées. Le fondateur constate au même moment, dans son navigateur, que l&#39;adresse s&#39;affiche en HTTPS avec le cadenas et sans avertissement.&lt;/p&gt;
&lt;p&gt;L&#39;écart est donc &lt;strong&gt;du côté de l&#39;enclave&lt;/strong&gt; — propagation ou restriction réseau — et non du site. Il est consigné ici parce qu&#39;il change ce qu&#39;un contrôle fait depuis l&#39;enclave peut conclure : &lt;strong&gt;l&#39;absence de réponse y vaut absence de preuve, pas preuve d&#39;absence.&lt;/strong&gt; À revérifier ; si l&#39;écart persiste alors qu&#39;un navigateur passe, c&#39;est une limite de l&#39;enclave à documenter, pas un défaut du site.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The fact&lt;/h3&gt;
&lt;p&gt;On &lt;strong&gt;2026-09-11&lt;/strong&gt; the register became public. The &lt;code&gt;jevons-lab/jevons&lt;/code&gt; repository switched to public visibility at &lt;strong&gt;06:58:23 UTC&lt;/strong&gt;, GitHub Pages is enabled on it — source &lt;code&gt;main&lt;/code&gt;, root — and the &lt;code&gt;jevons.fr&lt;/code&gt; domain serves the &lt;strong&gt;28 entries&lt;/strong&gt; the register held on that date.&lt;/p&gt;
&lt;p&gt;The published commit is &lt;strong&gt;&lt;code&gt;1c83e4b&lt;/code&gt;&lt;/strong&gt;, of 2026-09-11 at 05:52:32 UTC: 65 files, the export produced by &lt;code&gt;tools/preparer-export-public.py&lt;/code&gt; under controls C1 to C6 and the output concordance control.&lt;/p&gt;
&lt;h3&gt;What the switch publishes, and what it does not&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Published&lt;/strong&gt;: open entries in full — title, body, sources and hashes; the probe and its 42 notices; the probe&#39;s reports; &lt;code&gt;references.md&lt;/code&gt;; the register&#39;s publication rule.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Not published&lt;/strong&gt;: the corpus, its bodies and announcements; raw scanner outputs; &lt;code&gt;registre.jsonl&lt;/code&gt;, the chained source; the working journal; and the &lt;strong&gt;body of sealed entries&lt;/strong&gt;. Entries &lt;strong&gt;20 and 21&lt;/strong&gt; remain reduced to their seal — date, class, content hash, chain hash, nothing else.&lt;/p&gt;
&lt;p&gt;The published repository is &lt;strong&gt;new, without history&lt;/strong&gt;: one commit, rebuilt from &lt;code&gt;export-public/&lt;/code&gt;. The working repository never becomes public as it stands, because its history keeps what a correction of the present does not remove.&lt;/p&gt;
&lt;h3&gt;What the switch commits us to&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;An open entry is open for good.&lt;/strong&gt; Until now &amp;quot;open&amp;quot; described a status in a local file; from now on a third party can read, recompute and cite. The register&#39;s rule — an entry is never modified, a false entry is corrected by a later entry — stops being internal discipline and becomes a promise kept before someone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The two seals commit us further.&lt;/strong&gt; Entries 20 and 21 implicate a third party who can neither see the sealed content nor contest it. Their hashes are now public and dated: on the day they are opened, anyone will be able to verify that the published text is the one frozen today. That is the only thing a register offers that ordinary publication does not.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;That the register is read.&lt;/strong&gt; An address that answers is not a reader.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That what is published is right.&lt;/strong&gt; The switch publishes entries each carrying their own reservations, including those reporting our own defects — entry 1 is a retraction, entry 28 a defect of our own device found before publication. Making something public validates nothing.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That no entry will need rectifying.&lt;/strong&gt; The register exists for that, and will probably have to.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Anything about the content of entries 20 and 21&lt;/strong&gt;, which remain sealed.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;An instrument limit, noted the same day&lt;/h3&gt;
&lt;p&gt;From the enclave, &lt;code&gt;https://jevons.fr&lt;/code&gt; &lt;strong&gt;does not answer&lt;/strong&gt; — code 000, connection failure — while &lt;code&gt;http://jevons.fr&lt;/code&gt; returns 200 and serves the 28 entries. At the same moment the founder observes, in his browser, that the address displays over HTTPS with the padlock and no security warning.&lt;/p&gt;
&lt;p&gt;The gap is therefore &lt;strong&gt;on the enclave&#39;s side&lt;/strong&gt; — propagation or network restriction — not the site&#39;s. It is recorded here because it changes what a check made from the enclave can conclude: &lt;strong&gt;absence of an answer there is absence of evidence, not evidence of absence.&lt;/strong&gt; To be re-checked; if the gap persists while a browser succeeds, it is an enclave limit to document, not a site defect.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:52abfbe806dc7df47ebde7e5ef81981cf87d7c545b13e8067179769b2d365229&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;4237580bf1652078c2d29bfec9a0bd3e4faa59a591d7aa4f48a8653ccaea6ca4&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — A transparency decision applied in the registry and silently cancelled in two outputs, by two separate generators</title>
    <id>urn:sha256:252acbc334ae9f8376b0d6450912391e5d623307636e1a9a7581999ee377c972</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e28"/>
    <updated>2026-09-10T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;La décision&lt;/h3&gt;
&lt;p&gt;Le 2026-09-10, une règle est posée : &lt;strong&gt;les actes de classement sont publiés avec leur corps&lt;/strong&gt;, comme toute entrée ouverte. La vue publique n&#39;en donnait auparavant que la date et l&#39;empreinte de chaîne. Motif de la décision : un acte de classement est une décision qui change ce qu&#39;un lecteur peut voir, et la cacher ferait de la mécanique d&#39;ouverture et de scellement la seule zone d&#39;ombre du dispositif — celle qui touche à la transparence elle-même.&lt;/p&gt;
&lt;h3&gt;Ce qui s&#39;est passé ensuite, deux fois&lt;/h3&gt;
&lt;p&gt;La règle a été appliquée dans le registre. Elle a été &lt;strong&gt;annulée dans deux sorties&lt;/strong&gt;, chacune par un vestige de la règle antérieure resté en place :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;générateur&lt;/th&gt;&lt;th&gt;ce qui appliquait la règle&lt;/th&gt;&lt;th&gt;ce qui l&#39;annulait&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;site/build.py&lt;/code&gt;&lt;/td&gt;&lt;td&gt;le flux &lt;code&gt;feed.xml&lt;/code&gt; publiait le corps de l&#39;acte&lt;/td&gt;&lt;td&gt;la page &lt;code&gt;index.html&lt;/code&gt; le remplaçait par une phrase fixe héritée de l&#39;ancienne règle&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;tools/registre.py&lt;/code&gt;&lt;/td&gt;&lt;td&gt;la section publiait le titre de l&#39;acte&lt;/td&gt;&lt;td&gt;la table de tête y substituait la chaîne littérale « acte de classement »&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Deux sorties du &lt;strong&gt;même générateur&lt;/strong&gt; se contredisaient, dans les deux cas. Le premier défaut a été trouvé par la voie &lt;code&gt;site/&lt;/code&gt; (commit &lt;code&gt;2858072&lt;/code&gt;), le second par la voie du banc une heure plus tard (commit &lt;code&gt;9631a30&lt;/code&gt;).&lt;/p&gt;
&lt;h3&gt;Ce que cela dit du dispositif, et qui est le vrai fait&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Aucun contrôle ne pouvait les voir.&lt;/strong&gt; Rien ne comparait les deux sorties d&#39;un même générateur, ni les deux vues d&#39;un même registre. Les contrôles existants portent sur les empreintes — ils vérifient qu&#39;une entrée n&#39;a pas bougé — et sur les fuites — ils vérifient que le scellé ne sort pas. Aucun ne vérifie que &lt;strong&gt;ce qui sort dit la même chose partout&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les deux défauts sont nés d&#39;un même geste : changer une règle, et laisser survivre un chemin de code écrit pour l&#39;ancienne. Ils ont vécu dans deux générateurs tenus par &lt;strong&gt;deux voies de travail qui ne se parlent pas&lt;/strong&gt;, et c&#39;est seulement parce que chacune a relu l&#39;autre qu&#39;ils ont été trouvés le jour même.&lt;/p&gt;
&lt;p&gt;Ce n&#39;est pas un défaut de rendu. C&#39;est la démonstration qu&#39;une décision de transparence peut être &lt;strong&gt;appliquée quelque part et silencieusement annulée ailleurs&lt;/strong&gt;, dans le dispositif dont la transparence est le produit.&lt;/p&gt;
&lt;h3&gt;Les deux réserves qui bornent ce fait&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Aucun lecteur n&#39;a été trompé, puisque la page n&#39;a jamais été publiée.&lt;/strong&gt; Les deux défauts ont vécu dans un rendu local, entre la décision du matin et sa correction du même jour. On aurait publié faux ; on ne l&#39;a pas fait. Ce qui est rapporté ici est un défaut trouvé avant publication, pas une publication rectifiée.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui manque est un contrôle, pas une correction.&lt;/strong&gt; Les deux corrections sont faites et vérifiées : le corps des actes est publié dans les trois sorties, et sur les 27 entrées aucun écart ne subsiste entre le titre de la table de tête et celui de la section. Mais rien n&#39;empêche le même geste de reproduire le même défaut demain, sur une autre règle. Le contrôle qui l&#39;attraperait — comparer, pour chaque entrée, ce que disent &lt;code&gt;index.html&lt;/code&gt;, &lt;code&gt;feed.xml&lt;/code&gt; et &lt;code&gt;registre-public.md&lt;/code&gt;, et arrêter la régénération sur une divergence de &lt;strong&gt;contenu&lt;/strong&gt;, pas seulement d&#39;empreinte — &lt;strong&gt;n&#39;existe pas&lt;/strong&gt;. Il est inscrit comme &lt;strong&gt;prérequis à la bascule publique&lt;/strong&gt; dans &lt;code&gt;docs/jalons-a-venir.md&lt;/code&gt;, et non comme amélioration ultérieure : c&#39;est le seul contrôle qui aurait attrapé ces deux défauts.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;aucun autre vestige ne subsiste.&lt;/strong&gt; Deux ont été trouvés parce que deux personnes ont regardé. Rien ne dit qu&#39;un troisième n&#39;attend pas dans un chemin de sortie que personne n&#39;a relu ce jour-là.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Que le contrôle manquant suffirait.&lt;/strong&gt; Il attraperait ces deux défauts-ci. Il ne dit rien des divergences qu&#39;une comparaison de contenu ne verrait pas — une mise en forme qui change le sens, par exemple.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;un lecteur ait subi quoi que ce soit.&lt;/strong&gt; Voir la première réserve.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Que la faute revienne à l&#39;une des deux voies.&lt;/strong&gt; Chacune a écrit son vestige, chacune a trouvé celui de l&#39;autre. Le partage du dépôt en voies qui ne se parlent pas est ce qui a créé le défaut &lt;strong&gt;et&lt;/strong&gt; ce qui l&#39;a révélé ; cette entrée ne tranche pas si c&#39;est un bon partage.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The decision&lt;/h3&gt;
&lt;p&gt;On 2026-09-10 a rule was set: &lt;strong&gt;classification acts are published with their body&lt;/strong&gt;, like any open entry. The public view previously gave only their date and chain hash. The reason: a classification act is a decision that changes what a reader can see, and hiding it would make the sealing-and-opening machinery the only shadow in the device — the very part that concerns transparency itself.&lt;/p&gt;
&lt;h3&gt;What happened next, twice&lt;/h3&gt;
&lt;p&gt;The rule was applied in the registry. It was &lt;strong&gt;cancelled in two outputs&lt;/strong&gt;, each by a remnant of the former rule left in place:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;generator&lt;/th&gt;&lt;th&gt;what applied the rule&lt;/th&gt;&lt;th&gt;what cancelled it&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;site/build.py&lt;/code&gt;&lt;/td&gt;&lt;td&gt;the &lt;code&gt;feed.xml&lt;/code&gt; feed published the act&#39;s body&lt;/td&gt;&lt;td&gt;the &lt;code&gt;index.html&lt;/code&gt; page replaced it with a fixed sentence inherited from the old rule&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;tools/registre.py&lt;/code&gt;&lt;/td&gt;&lt;td&gt;the section published the act&#39;s title&lt;/td&gt;&lt;td&gt;the summary table substituted the literal string &amp;quot;acte de classement&amp;quot;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;In both cases, two outputs of the &lt;strong&gt;same generator&lt;/strong&gt; contradicted each other. The first defect was found by the &lt;code&gt;site/&lt;/code&gt; lane (commit &lt;code&gt;2858072&lt;/code&gt;), the second by the bench lane an hour later (commit &lt;code&gt;9631a30&lt;/code&gt;).&lt;/p&gt;
&lt;h3&gt;What this says about the device, and what the real fact is&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;No control could have seen them.&lt;/strong&gt; Nothing compared the two outputs of one generator, nor the two views of one registry. Existing controls cover hashes — they check that an entry has not moved — and leaks — they check that sealed content does not escape. None checks that &lt;strong&gt;what goes out says the same thing everywhere&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Both defects came from the same gesture: change a rule, and leave alive a code path written for the old one. They lived in two generators held by &lt;strong&gt;two working lanes that do not talk to each other&lt;/strong&gt;, and it is only because each reviewed the other&#39;s that they were found the same day.&lt;/p&gt;
&lt;p&gt;This is not a rendering bug. It shows that a transparency decision can be &lt;strong&gt;applied somewhere and silently cancelled elsewhere&lt;/strong&gt;, inside the very device whose product is transparency.&lt;/p&gt;
&lt;h3&gt;The two reservations that bound this fact&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;No reader was misled, because the page was never published.&lt;/strong&gt; Both defects lived in a local render, between the morning&#39;s decision and its correction the same day. We would have published something false; we did not. What is reported here is a defect found before publication, not a publication corrected after.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is missing is a control, not a correction.&lt;/strong&gt; Both corrections are made and verified: the acts&#39; bodies are published in all three outputs, and across the 27 entries no gap remains between the summary-table title and the section title. But nothing prevents the same gesture from reproducing the same defect tomorrow, on another rule. The control that would catch it — comparing, for each entry, what &lt;code&gt;index.html&lt;/code&gt;, &lt;code&gt;feed.xml&lt;/code&gt; and &lt;code&gt;registre-public.md&lt;/code&gt; say, and stopping regeneration on a divergence of &lt;strong&gt;content&lt;/strong&gt;, not merely of hash — &lt;strong&gt;does not exist&lt;/strong&gt;. It is recorded as a &lt;strong&gt;prerequisite to the public switch&lt;/strong&gt; in &lt;code&gt;docs/jalons-a-venir.md&lt;/code&gt;, not as a later improvement: it is the only control that would have caught these two defects.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;That no other remnant survives.&lt;/strong&gt; Two were found because two people looked. Nothing says a third is not waiting in an output path nobody reviewed that day.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That the missing control would suffice.&lt;/strong&gt; It would catch these two. It says nothing about divergences a content comparison would not see — formatting that changes meaning, for instance.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That any reader suffered anything.&lt;/strong&gt; See the first reservation.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That the fault lies with either lane.&lt;/strong&gt; Each wrote its own remnant, each found the other&#39;s. Splitting the repository into lanes that do not talk is what created the defect &lt;strong&gt;and&lt;/strong&gt; what revealed it; this entry does not settle whether that is a good split.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:dd2644e032523bad055902972b8c5069873ca4553287b45d96469e2e3c0cbf87&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;252acbc334ae9f8376b0d6450912391e5d623307636e1a9a7581999ee377c972&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Opening act for entry 3 — the report has been sent to the tool&#39;s publisher, and the seal has served its purpose</title>
    <id>urn:sha256:018c6b6c891a7aa1609b7283c427bd44ea268f1721320aaa200ddd07f1d72aa4</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e27"/>
    <updated>2026-09-10T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;L&#39;acte&lt;/h3&gt;
&lt;p&gt;L&#39;&lt;strong&gt;entrée 3&lt;/strong&gt; — classe 2, &lt;code&gt;juge_open_source&lt;/code&gt;, scellée le 2026-09-09, fait daté du 2026-09-08 — est &lt;strong&gt;ouverte ce jour&lt;/strong&gt;. Sa classe est inchangée. Son corps et son titre deviennent publics ; son empreinte de contenu et son empreinte de chaîne, publiées depuis le sceau, permettent à quiconque de vérifier que le texte publié aujourd&#39;hui est exactement celui qui était figé alors.&lt;/p&gt;
&lt;h3&gt;Ce qui déclenche l&#39;ouverture&lt;/h3&gt;
&lt;p&gt;La règle qu&#39;on s&#39;est donnée est simple : &lt;strong&gt;on ne publie pas le défaut d&#39;un tiers avant de l&#39;avoir prévenu.&lt;/strong&gt; Le sceau de l&#39;entrée 3 ne cachait pas un fait, il en datait l&#39;existence en attendant que l&#39;éditeur soit averti.&lt;/p&gt;
&lt;p&gt;L&#39;éditeur est averti. Le signalement a été publié le 2026-09-10 à 11:31:25 UTC :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;https://github.com/kuzivaai/SkillWatch/issues/40&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Titre : &lt;em&gt;URL extraction captures a trailing brace from shell parameter expansion&lt;/em&gt;. Ouvert par le compte &lt;code&gt;mohamedmebarek-ops&lt;/code&gt;. Le corps publié est identique, octet pour octet, au texte relu et commité dans &lt;code&gt;docs/disclosures/skillwatch-0.4.1-brace.md&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Ce qui a été vérifié avant l&#39;envoi, et qui vaut pour l&#39;entrée ouverte&lt;/h3&gt;
&lt;p&gt;Le 2026-09-10, avant publication, six points ont été contrôlés :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;reproduction&lt;/td&gt;&lt;td&gt;refaite avec &lt;code&gt;skillwatch 0.4.1&lt;/code&gt; installé à neuf depuis PyPI dans un virtualenv vierge. Le bloc publié et la sortie réelle sont identiques ligne pour ligne — une ligne d&#39;invite manquait au brouillon, elle a été ajoutée avant l&#39;envoi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;version&lt;/td&gt;&lt;td&gt;0.4.1 est toujours la version courante ; aucune 0.4.2. Et la branche &lt;code&gt;main&lt;/code&gt;, hors release, &lt;strong&gt;porte encore le défaut&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ligne citée&lt;/td&gt;&lt;td&gt;&lt;code&gt;sha256&lt;/code&gt; de la ligne citée et de la ligne installée : identiques&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;antériorité&lt;/td&gt;&lt;td&gt;les 39 issues et pull requests du dépôt, ouvertes et fermées, parcourues : &lt;strong&gt;aucune&lt;/strong&gt; ne signalait ce défaut&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;forme&lt;/td&gt;&lt;td&gt;aucun vocabulaire de vulnérabilité, un seul outil nommé, aucune URL en signature&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;notre propre défaut&lt;/td&gt;&lt;td&gt;la phrase « we had it in our own, on the same character, and fixed it the same day » est vraie : &lt;code&gt;tools/extraire-references.py&lt;/code&gt; exclut &lt;code&gt;}&lt;/code&gt; et &lt;code&gt;{&lt;/code&gt; depuis le commit &lt;code&gt;4d81ce1&lt;/code&gt; du 2026-09-08&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;Ce que cet acte n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Rien sur la réponse de l&#39;éditeur.&lt;/strong&gt; L&#39;issue est ouverte ; elle peut être acceptée, corrigée, contestée ou ignorée. Cette entrée date l&#39;envoi, pas son accueil.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Rien de plus que le corps de l&#39;entrée 3&lt;/strong&gt;, qui est désormais lisible et se suffit. Il porte ses propres réserves.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Aucun autre sceau n&#39;est levé.&lt;/strong&gt; Les entrées 20 et 21 restent scellées, et leur ouverture reste une décision distincte, non prise.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The act&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Entry 3&lt;/strong&gt; — class 2, &lt;code&gt;juge_open_source&lt;/code&gt;, sealed on 2026-09-09, fact dated 2026-09-08 — is &lt;strong&gt;opened today&lt;/strong&gt;. Its class is unchanged. Its body and title become public; its content hash and chain hash, published since sealing, let anyone verify that the text published today is exactly the one frozen then.&lt;/p&gt;
&lt;h3&gt;What triggers the opening&lt;/h3&gt;
&lt;p&gt;The rule we set ourselves is simple: &lt;strong&gt;we do not publish a third party&#39;s defect before notifying them.&lt;/strong&gt; Entry 3&#39;s seal was not hiding a fact, it was dating its existence while the publisher was notified.&lt;/p&gt;
&lt;p&gt;The publisher is notified. The report was published on 2026-09-10 at 11:31:25 UTC:&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;https://github.com/kuzivaai/SkillWatch/issues/40&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Title: &lt;em&gt;URL extraction captures a trailing brace from shell parameter expansion&lt;/em&gt;. Opened by account &lt;code&gt;mohamedmebarek-ops&lt;/code&gt;. The published body is identical, byte for byte, to the text reviewed and committed in &lt;code&gt;docs/disclosures/skillwatch-0.4.1-brace.md&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;What was verified before sending, and which stands with the opened entry&lt;/h3&gt;
&lt;p&gt;On 2026-09-10, before publication, six points were checked:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;reproduction&lt;/td&gt;&lt;td&gt;redone with &lt;code&gt;skillwatch 0.4.1&lt;/code&gt; freshly installed from PyPI in a clean virtualenv. The published block and the real output are identical line for line — one prompt line was missing from the draft and was added before sending&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;version&lt;/td&gt;&lt;td&gt;0.4.1 is still the current version; no 0.4.2. And the &lt;code&gt;main&lt;/code&gt; branch, outside any release, &lt;strong&gt;still carries the defect&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;quoted line&lt;/td&gt;&lt;td&gt;&lt;code&gt;sha256&lt;/code&gt; of the quoted line and of the installed line: identical&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;priority&lt;/td&gt;&lt;td&gt;all 39 issues and pull requests of the repository, open and closed, were reviewed: &lt;strong&gt;none&lt;/strong&gt; reported this defect&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;form&lt;/td&gt;&lt;td&gt;no vulnerability vocabulary, a single tool named, no URL in the signature&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;our own defect&lt;/td&gt;&lt;td&gt;the sentence &amp;quot;we had it in our own, on the same character, and fixed it the same day&amp;quot; is true: &lt;code&gt;tools/extraire-references.py&lt;/code&gt; excludes &lt;code&gt;}&lt;/code&gt; and &lt;code&gt;{&lt;/code&gt; since commit &lt;code&gt;4d81ce1&lt;/code&gt; of 2026-09-08&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;What this act does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Nothing about the publisher&#39;s response.&lt;/strong&gt; The issue is open; it may be accepted, fixed, disputed or ignored. This entry dates the sending, not its reception.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Nothing beyond entry 3&#39;s body&lt;/strong&gt;, which is now readable and stands on its own. It carries its own reservations.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;No other seal is lifted.&lt;/strong&gt; Entries 20 and 21 remain sealed, and their opening remains a separate decision, not taken.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:b1f3e0c4930d1ed74057b11408ec7055d431f49f95ce3f0ec08b9e46d93e287d&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;018c6b6c891a7aa1609b7283c427bd44ea268f1721320aaa200ddd07f1d72aa4&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Rectification of entry 20 — two facts changed after its seal, on the same day</title>
    <id>urn:sha256:f22c5520d6b498930e233325d8f575e7412ffac5df0953e83f6e6cc002d23f5d</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e26"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Pourquoi une entrée nouvelle&lt;/h3&gt;
&lt;p&gt;L&#39;entrée 20 est &lt;strong&gt;scellée&lt;/strong&gt;. Le registre est append-only : une entrée ne se réécrit pas, et une entrée dont le contexte a bougé se rectifie par une entrée suivante. Celle-ci ne touche ni son sceau, ni son empreinte de contenu, ni la chaîne.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L&#39;entrée 20 n&#39;est pas fausse.&lt;/strong&gt; Elle date une mesure, et c&#39;est exactement ce qu&#39;un sceau garantit : que ce texte-là existait, inchangé, à cette date-là. Deux choses ont changé &lt;strong&gt;après&lt;/strong&gt; elle, le jour même, et un lecteur qui l&#39;ouvrira plus tard doit les connaître.&lt;/p&gt;
&lt;h3&gt;Premier fait — le régime de quatre de ses cas&lt;/h3&gt;
&lt;p&gt;Le corps scellé de l&#39;entrée 20 donne, cas par cas, le régime de verdict que la fiche portait &lt;strong&gt;au moment du sceau&lt;/strong&gt; :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cas&lt;/th&gt;&lt;th&gt;régime au sceau&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;divergent&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Quelques heures plus tard, l&#39;&lt;strong&gt;entrée 23&lt;/strong&gt; a reclassé 48 fiches du régime &lt;code&gt;sans objet&lt;/code&gt; au régime &lt;code&gt;cas&lt;/code&gt;, sous la règle du 2026-09-04 — dont ces quatre-là. Leur &lt;code&gt;verdict_concordance&lt;/code&gt; est désormais &lt;strong&gt;&lt;code&gt;divergent&lt;/code&gt;&lt;/strong&gt;, comme celui de &lt;code&gt;jev-0045&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Autrement dit : &lt;strong&gt;les cinq cas de l&#39;entrée 20 sont aujourd&#39;hui tous au même régime&lt;/strong&gt;, alors que son corps scellé en donne deux. Le sceau dit vrai pour sa date ; il ne dit plus l&#39;état d&#39;aujourd&#39;hui.&lt;/p&gt;
&lt;h3&gt;Second fait — la présence de quatre de ses artefacts&lt;/h3&gt;
&lt;p&gt;Le contrôle du 2026-09-09 à 19:20:47 UTC, consigné à l&#39;&lt;strong&gt;entrée 25&lt;/strong&gt;, établit que quatre des cinq artefacts nommés par l&#39;entrée 20 — &lt;code&gt;jev-0045&lt;/code&gt;, &lt;code&gt;jev-0078&lt;/code&gt;, &lt;code&gt;jev-0079&lt;/code&gt;, &lt;code&gt;jev-0080&lt;/code&gt; — &lt;strong&gt;ne figurent plus au catalogue à cette date&lt;/strong&gt;. La raison n&#39;est pas établie et n&#39;est pas supposée ici.&lt;/p&gt;
&lt;p&gt;Un tiers qui voudrait aujourd&#39;hui refaire la lecture de ces quatre cas &lt;strong&gt;ne le peut pas depuis la source&lt;/strong&gt;. Il le peut depuis le corpus, qui conserve leur corps, mais c&#39;est une copie datée du 2026-02-25 au 2026-09-04 selon les cas, et non la source vivante.&lt;/p&gt;
&lt;h3&gt;Ce que ces deux faits ne changent pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Les verdicts des deux juges.&lt;/strong&gt; Ils ont été rendus sur un matériau conservé, en aveugle, sous un protocole pré-enregistré. Ils ne dépendent pas de l&#39;état du catalogue aujourd&#39;hui.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;La règle de classe 3 tenait à la date du sceau.&lt;/strong&gt; Les cinq cas satisfaisaient les deux conditions — jugés sous la définition en vigueur, contrôlés par le second juge. Rien ici ne les défait.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Le sceau lui-même.&lt;/strong&gt; L&#39;empreinte de contenu de l&#39;entrée 20 et la chaîne sont inchangées et vérifiables.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Ce que cette entrée établit, et rien de plus&lt;/h3&gt;
&lt;p&gt;Qu&#39;&lt;strong&gt;une entrée scellée fige un texte, pas un monde&lt;/strong&gt;. Le sceau garantit que personne n&#39;a retouché ce qui a été écrit ; il ne garantit pas que ce qui était décrit soit encore là. C&#39;est une propriété du dispositif, connue, et c&#39;est la première fois qu&#39;elle se manifeste sur une entrée de ce registre. Elle méritait d&#39;être écrite le jour où elle se produit plutôt que découverte par un lecteur.&lt;/p&gt;
&lt;h3&gt;Ce qu&#39;elle n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Que l&#39;entrée 20 doive être ouverte. Son ouverture reste une décision distincte, non prise.&lt;/li&gt;&lt;li&gt;Que le reclassement de l&#39;entrée 23 ait été une erreur, ni que le sceau ait été posé trop tôt. Les deux étaient justes à leur date.&lt;/li&gt;&lt;li&gt;Pourquoi les quatre artefacts ne figurent plus au catalogue.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;Why a new entry&lt;/h3&gt;
&lt;p&gt;Entry 20 is &lt;strong&gt;sealed&lt;/strong&gt;. The registry is append-only: an entry is not rewritten, and an entry whose context has moved is rectified by a later entry. This one touches neither its seal, nor its content hash, nor the chain.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entry 20 is not false.&lt;/strong&gt; It dates a measurement, and that is exactly what a seal guarantees: that this text existed, unchanged, on that date. Two things changed &lt;strong&gt;after&lt;/strong&gt; it, on the same day, and a reader opening it later must know them.&lt;/p&gt;
&lt;h3&gt;First fact — the regime of four of its cases&lt;/h3&gt;
&lt;p&gt;The sealed body of entry 20 gives, case by case, the verdict regime the case file carried &lt;strong&gt;at the time of sealing&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;case&lt;/th&gt;&lt;th&gt;regime at sealing&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;divergent&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;A few hours later, &lt;strong&gt;entry 23&lt;/strong&gt; reclassified 48 case files from regime &lt;code&gt;sans objet&lt;/code&gt; to regime &lt;code&gt;cas&lt;/code&gt;, under the 2026-09-04 rule — including those four. Their &lt;code&gt;verdict_concordance&lt;/code&gt; is now &lt;strong&gt;&lt;code&gt;divergent&lt;/code&gt;&lt;/strong&gt;, like that of &lt;code&gt;jev-0045&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In other words: &lt;strong&gt;the five cases of entry 20 are today all under the same regime&lt;/strong&gt;, while its sealed body records two. The seal tells the truth for its date; it no longer tells today&#39;s state.&lt;/p&gt;
&lt;h3&gt;Second fact — the presence of four of its artefacts&lt;/h3&gt;
&lt;p&gt;The check of 2026-09-09 at 19:20:47 UTC, recorded in &lt;strong&gt;entry 25&lt;/strong&gt;, establishes that four of the five artefacts named by entry 20 — &lt;code&gt;jev-0045&lt;/code&gt;, &lt;code&gt;jev-0078&lt;/code&gt;, &lt;code&gt;jev-0079&lt;/code&gt;, &lt;code&gt;jev-0080&lt;/code&gt; — &lt;strong&gt;are no longer listed in the catalogue at that date&lt;/strong&gt;. The reason is not established and is not assumed here.&lt;/p&gt;
&lt;p&gt;A third party wishing to redo the reading of those four cases today &lt;strong&gt;cannot do so from the source&lt;/strong&gt;. They can from the corpus, which retains their bodies, but that is a copy dated between 2026-02-25 and 2026-09-04 depending on the case, not the live source.&lt;/p&gt;
&lt;h3&gt;What these two facts do not change&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;The two judges&#39; verdicts.&lt;/strong&gt; They were returned on retained material, blind, under a pre-registered protocol. They do not depend on the state of the catalogue today.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;The class-3 rule held at the date of sealing.&lt;/strong&gt; The five cases satisfied both conditions — judged under the definition in force, controlled by the second judge. Nothing here undoes that.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;The seal itself.&lt;/strong&gt; Entry 20&#39;s content hash and the chain are unchanged and verifiable.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;What this entry establishes, and nothing more&lt;/h3&gt;
&lt;p&gt;That &lt;strong&gt;a sealed entry freezes a text, not a world&lt;/strong&gt;. The seal guarantees that no one retouched what was written; it does not guarantee that what was described is still there. It is a known property of the device, and this is the first time it shows on an entry of this registry. It deserved to be written the day it happened rather than discovered by a reader.&lt;/p&gt;
&lt;h3&gt;What it does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;That entry 20 should be opened. Its opening remains a separate decision, not taken.&lt;/li&gt;&lt;li&gt;That entry 23&#39;s reclassification was a mistake, or that the seal was set too early. Both were right on their date.&lt;/li&gt;&lt;li&gt;Why the four artefacts are no longer listed in the catalogue.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:657048e55f5b5fe9df22e8b2a2d2309e4a507b50841470062c272ba2728a3c46&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;f22c5520d6b498930e233325d8f575e7412ffac5df0953e83f6e6cc002d23f5d&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — Four measured artefacts are no longer listed in the catalogue, and the pattern they carried is present in 22 artefacts out of 344</title>
    <id>urn:sha256:dc102ba05e5eb3371c79a2c14765097b0f89dc6ad63bde8dae0294bb81fa231f</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e25"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Ce qui a été vérifié, et quand&lt;/h3&gt;
&lt;p&gt;Le 2026-09-09 à 19:20:47 UTC, les sept cas nommés par les deux entrées scellées 20 et 21 ont été confrontés à leur source, en enclave, en lecture seule.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cas&lt;/th&gt;&lt;th&gt;artefact&lt;/th&gt;&lt;th&gt;à la date du contrôle&lt;/th&gt;&lt;th&gt;verdict publié&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-e2e&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;ne figure plus au catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-setup&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;ne figure plus au catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-viewport&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;ne figure plus au catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-render-drr&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;ne figure plus au catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-workflow-dataset-annotate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;présent&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0046&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;dynamo-recipe-runner&lt;/code&gt;&lt;/td&gt;&lt;td&gt;présent&lt;/td&gt;&lt;td&gt;&lt;code&gt;FAIL&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0064&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;tilegym-cutile-autotuning&lt;/code&gt;&lt;/td&gt;&lt;td&gt;présent&lt;/td&gt;&lt;td&gt;&lt;code&gt;FAIL&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;« Ne figure plus au catalogue » est un constat de présence, pas une interprétation. Il est établi par quatre requêtes indépendantes par artefact — &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;skill-card.md&lt;/code&gt; et l&#39;API de contenu du dépôt rendent toutes &lt;strong&gt;HTTP 404&lt;/strong&gt; —, alors que le répertoire &lt;code&gt;skills/&lt;/code&gt; rend 200 et contient 345 entrées. Ce n&#39;est ni un dépôt déplacé, ni une panne de service.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La raison n&#39;est pas établie.&lt;/strong&gt; Retrait, renommage, consolidation, dépréciation, réorganisation : rien dans ce contrôle ne permet de trancher, et cette entrée ne le fait pas. Aucune cause n&#39;est suggérée ici, et aucune ne doit être lue entre les lignes.&lt;/p&gt;
&lt;h3&gt;Le recensement du catalogue entier&lt;/h3&gt;
&lt;p&gt;Le catalogue a été acquis en une requête le 2026-09-09 à 19:24:06 UTC — 12 092 596 octets, &lt;code&gt;sha256:52687939e61e07350cbd438d30fa3dcc6da04d3bb8c9fea8378561f74831eb61&lt;/code&gt; — et recensé &lt;strong&gt;hors ligne dans l&#39;enclave, sans qu&#39;aucun artefact soit exécuté&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dénominateur : 344 artefacts portant un &lt;code&gt;SKILL.md&lt;/code&gt;.&lt;/strong&gt; Verdicts publiés du catalogue entier : &lt;strong&gt;333 &lt;code&gt;PASS&lt;/code&gt;, 11 &lt;code&gt;FAIL&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;portant &lt;code&gt;git clone&lt;/code&gt; dans un bloc de code&lt;/td&gt;&lt;td&gt;&lt;strong&gt;24&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;dont au moins un clone &lt;strong&gt;sans référence explicite&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;22&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;verdict publié de ces 22&lt;/td&gt;&lt;td&gt;&lt;strong&gt;22 &lt;code&gt;PASS&lt;/code&gt;, 0 &lt;code&gt;FAIL&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Aucun des 22 ne porte de référence explicite : ni &lt;code&gt;--branch&lt;/code&gt;, ni &lt;code&gt;--tag&lt;/code&gt;, ni commit, ni &lt;code&gt;git checkout&lt;/code&gt; postérieur. &lt;code&gt;--depth&lt;/code&gt; &lt;strong&gt;n&#39;a pas été compté&lt;/strong&gt; comme épinglage — il abrège l&#39;historique, il ne fixe pas la révision.&lt;/p&gt;
&lt;p&gt;Ces 22 visent &lt;strong&gt;cinq dépôts amont distincts&lt;/strong&gt; : &lt;code&gt;isaac-for-healthcare/i4h-workflows&lt;/code&gt; (13, via une variable d&#39;environnement), &lt;code&gt;NVIDIA-Medtech/NV-Generate-CTMR&lt;/code&gt; (5), &lt;code&gt;NVIDIA-Medtech/NV-Segment-CTMR&lt;/code&gt; (2), &lt;code&gt;NVIDIA/DeepStream&lt;/code&gt; (1), &lt;code&gt;nvidia-holoscan/holoscan-sdk&lt;/code&gt; (1). Ce n&#39;est donc pas une particularité d&#39;une famille d&#39;artefacts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un artefact du même catalogue porte une référence explicite&lt;/strong&gt; : &lt;code&gt;jetson-init-source&lt;/code&gt;, &lt;code&gt;git clone &amp;lt;url&amp;gt; -b &amp;lt;ref&amp;gt;&lt;/code&gt;. La forme existe dans le catalogue et n&#39;a pas été retenue ailleurs.&lt;/p&gt;
&lt;h3&gt;La règle de comptage, écrite avant lecture des résultats&lt;/h3&gt;
&lt;p&gt;Est compté comme clone &lt;strong&gt;exécutable&lt;/strong&gt; une ligne située &lt;strong&gt;dans un bloc de code fencé&lt;/strong&gt;, hors &lt;code&gt;echo&lt;/code&gt; et &lt;code&gt;printf&lt;/code&gt;, et hors prose entre accents graves. En cas de doute, la ligne est classée « mention » : &lt;strong&gt;le comptage sous-estime plutôt qu&#39;il ne surestime.&lt;/strong&gt; Cinq artefacts ont été écartés à ce titre, dont &lt;code&gt;jetson-init-source&lt;/code&gt; parce qu&#39;il est épinglé.&lt;/p&gt;
&lt;h3&gt;Le comptage ne sous-estime pas par oubli d&#39;une autre forme&lt;/h3&gt;
&lt;p&gt;Balayage des autres formes de récupération distante, en bloc de code, sur les 344 : &lt;code&gt;curl | sh&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;wget | sh&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;pip install git+&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;gh repo clone&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;uv&lt;/code&gt;/&lt;code&gt;uvx&lt;/code&gt; sur url &lt;strong&gt;0&lt;/strong&gt;. Seuls apparaissent &lt;code&gt;pip install &amp;lt;url&amp;gt;&lt;/code&gt; (2) et &lt;code&gt;docker pull&lt;/code&gt;/&lt;code&gt;run&lt;/code&gt; (28) — dont un tirage d&#39;image à l&#39;étiquette &lt;code&gt;latest&lt;/code&gt;, mobile, analogue de la référence mobile d&#39;un clone. Relevé pour mémoire, &lt;strong&gt;non instruit ici&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Que ces 22 exécutent le code récupéré.&lt;/strong&gt; Le recensement compte le &lt;strong&gt;clone&lt;/strong&gt;. L&#39;exécution du code cloné n&#39;a été établie que par lecture de juge, sur la seule famille &lt;code&gt;i4h&lt;/code&gt; ; elle n&#39;a été vérifiée ni sur &lt;code&gt;deepstream&lt;/code&gt;, ni sur &lt;code&gt;holoscan&lt;/code&gt;, ni sur &lt;code&gt;nv-generate&lt;/code&gt;, ni sur &lt;code&gt;nv-segment&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Qu&#39;ils soient dangereux.&lt;/strong&gt; Aucun juge ne les a lus. Ce qui est compté est une chaîne de caractères dans un bloc de code, pas un comportement mesuré.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Que le programme de certification ait tort.&lt;/strong&gt; Il peut tenir un dépôt de l&#39;éditeur pour une source de confiance et accepter la référence mobile en connaissance de cause. Cette entrée ne tranche pas cette question ; elle établit le chiffre qui permet de la poser.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Que la règle lexicale soit exhaustive.&lt;/strong&gt; Un clone déclenché depuis un script embarqué, hors du &lt;code&gt;SKILL.md&lt;/code&gt;, ne serait pas vu par ce recensement.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Pourquoi les quatre ne figurent plus au catalogue.&lt;/strong&gt; Voir ci-dessus.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;What was verified, and when&lt;/h3&gt;
&lt;p&gt;On 2026-09-09 at 19:20:47 UTC, the seven cases named by sealed entries 20 and 21 were checked against their source, in the enclave, read-only.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;case&lt;/th&gt;&lt;th&gt;artefact&lt;/th&gt;&lt;th&gt;at the time of the check&lt;/th&gt;&lt;th&gt;published verdict&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-e2e&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;no longer listed in the catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-setup&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;no longer listed in the catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-viewport&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;no longer listed in the catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-catheter-navigation-render-drr&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;no longer listed in the catalogue&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;i4h-workflow-dataset-annotate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;present&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0046&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;dynamo-recipe-runner&lt;/code&gt;&lt;/td&gt;&lt;td&gt;present&lt;/td&gt;&lt;td&gt;&lt;code&gt;FAIL&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0064&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;tilegym-cutile-autotuning&lt;/code&gt;&lt;/td&gt;&lt;td&gt;present&lt;/td&gt;&lt;td&gt;&lt;code&gt;FAIL&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&amp;quot;No longer listed in the catalogue&amp;quot; is a statement of presence, not an interpretation. It is established by four independent requests per artefact — &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;skill-card.md&lt;/code&gt; and the repository content API all return &lt;strong&gt;HTTP 404&lt;/strong&gt; — while the &lt;code&gt;skills/&lt;/code&gt; directory returns 200 and holds 345 entries. Neither a moved repository nor a service outage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The reason is not established.&lt;/strong&gt; Removal, renaming, consolidation, deprecation, reorganisation: nothing in this check settles it, and this entry does not settle it either. No cause is suggested here, and none should be read between the lines.&lt;/p&gt;
&lt;h3&gt;The census of the whole catalogue&lt;/h3&gt;
&lt;p&gt;The catalogue was acquired in a single request on 2026-09-09 at 19:24:06 UTC — 12,092,596 bytes, &lt;code&gt;sha256:52687939e61e07350cbd438d30fa3dcc6da04d3bb8c9fea8378561f74831eb61&lt;/code&gt; — and surveyed &lt;strong&gt;offline in the enclave, with no artefact executed&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Denominator: 344 artefacts carrying a &lt;code&gt;SKILL.md&lt;/code&gt;.&lt;/strong&gt; Published verdicts across the whole catalogue: &lt;strong&gt;333 &lt;code&gt;PASS&lt;/code&gt;, 11 &lt;code&gt;FAIL&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;carrying &lt;code&gt;git clone&lt;/code&gt; inside a code block&lt;/td&gt;&lt;td&gt;&lt;strong&gt;24&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;of which at least one clone &lt;strong&gt;with no explicit reference&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;22&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;published verdict of those 22&lt;/td&gt;&lt;td&gt;&lt;strong&gt;22 &lt;code&gt;PASS&lt;/code&gt;, 0 &lt;code&gt;FAIL&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;None of the 22 carries an explicit reference: no &lt;code&gt;--branch&lt;/code&gt;, no &lt;code&gt;--tag&lt;/code&gt;, no commit, no subsequent &lt;code&gt;git checkout&lt;/code&gt;. &lt;code&gt;--depth&lt;/code&gt; was &lt;strong&gt;not counted&lt;/strong&gt; as pinning — it shortens history, it does not fix the revision.&lt;/p&gt;
&lt;p&gt;Those 22 target &lt;strong&gt;five distinct upstream repositories&lt;/strong&gt;: &lt;code&gt;isaac-for-healthcare/i4h-workflows&lt;/code&gt; (13, through an environment variable), &lt;code&gt;NVIDIA-Medtech/NV-Generate-CTMR&lt;/code&gt; (5), &lt;code&gt;NVIDIA-Medtech/NV-Segment-CTMR&lt;/code&gt; (2), &lt;code&gt;NVIDIA/DeepStream&lt;/code&gt; (1), &lt;code&gt;nvidia-holoscan/holoscan-sdk&lt;/code&gt; (1). It is therefore not a quirk of one artefact family.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One artefact in the same catalogue does carry an explicit reference&lt;/strong&gt;: &lt;code&gt;jetson-init-source&lt;/code&gt;, &lt;code&gt;git clone &amp;lt;url&amp;gt; -b &amp;lt;ref&amp;gt;&lt;/code&gt;. The form exists in the catalogue and was not used elsewhere.&lt;/p&gt;
&lt;h3&gt;The counting rule, written before the results were read&lt;/h3&gt;
&lt;p&gt;A clone counts as &lt;strong&gt;executable&lt;/strong&gt; when the line sits &lt;strong&gt;inside a fenced code block&lt;/strong&gt;, outside &lt;code&gt;echo&lt;/code&gt; and &lt;code&gt;printf&lt;/code&gt;, and outside prose between backticks. When in doubt the line is classed as a &amp;quot;mention&amp;quot;: &lt;strong&gt;the count understates rather than overstates.&lt;/strong&gt; Five artefacts were set aside on that basis, including &lt;code&gt;jetson-init-source&lt;/code&gt; because it is pinned.&lt;/p&gt;
&lt;h3&gt;The count does not understate by missing another form&lt;/h3&gt;
&lt;p&gt;Sweep of other remote-fetch forms, inside code blocks, across the 344: &lt;code&gt;curl | sh&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;wget | sh&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;pip install git+&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;gh repo clone&lt;/code&gt; &lt;strong&gt;0&lt;/strong&gt;, &lt;code&gt;uv&lt;/code&gt;/&lt;code&gt;uvx&lt;/code&gt; on a url &lt;strong&gt;0&lt;/strong&gt;. Only &lt;code&gt;pip install &amp;lt;url&amp;gt;&lt;/code&gt; (2) and &lt;code&gt;docker pull&lt;/code&gt;/&lt;code&gt;run&lt;/code&gt; (28) appear — including one image pull at the &lt;code&gt;latest&lt;/code&gt; tag, mutable, the analogue of a clone&#39;s mutable reference. Recorded for the record, &lt;strong&gt;not investigated here&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;That those 22 execute the fetched code.&lt;/strong&gt; The census counts the &lt;strong&gt;clone&lt;/strong&gt;. Execution of cloned code was established only by judge reading, on the &lt;code&gt;i4h&lt;/code&gt; family alone; it was not verified on &lt;code&gt;deepstream&lt;/code&gt;, &lt;code&gt;holoscan&lt;/code&gt;, &lt;code&gt;nv-generate&lt;/code&gt; or &lt;code&gt;nv-segment&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That they are dangerous.&lt;/strong&gt; No judge read them. What is counted is a string inside a code block, not a measured behaviour.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That the certification programme is wrong.&lt;/strong&gt; It may hold a publisher-owned repository to be a trusted source and knowingly accept a mutable reference. This entry does not settle that question; it establishes the figure that makes it possible to ask it.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;That the lexical rule is exhaustive.&lt;/strong&gt; A clone triggered from an embedded script, outside the &lt;code&gt;SKILL.md&lt;/code&gt;, would not be seen by this census.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Why the four are no longer listed in the catalogue.&lt;/strong&gt; See above.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:37461da1e438740babc7d60d844f6349816d53ce74002e4869560386f365fd60&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;dc102ba05e5eb3371c79a2c14765097b0f89dc6ad63bde8dae0294bb81fa231f&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Clarification of entry 23 — verdict_concordance is filled by mechanical comparison, not by judgement of content</title>
    <id>urn:sha256:3566980240afb57a789f1b7856f1e353032611a9cfa7b0f778f2b7a710c08ab1</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e24"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;p&gt;L&#39;entrée 23 signale que &lt;strong&gt;19 des 48 fiches reclassées portaient &lt;code&gt;verdict_concordance: [juge]&lt;/code&gt;&lt;/strong&gt; et sont désormais renseignées, et elle laisse ouverte la question de savoir si ce champ est une prérogative du juge humain. La question est tranchée, et cette entrée porte la phrase que l&#39;entrée 23 ne peut plus recevoir — le registre est append-only, une entrée ne se réécrit pas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;verdict_concordance&lt;/code&gt; est renseigné par comparaison mécanique, non par jugement de contenu ; il est distinct des cas où &lt;code&gt;[juge]&lt;/code&gt; attend une lecture de l&#39;artefact.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La valeur se dérive de deux valeurs &lt;strong&gt;déjà écrites&lt;/strong&gt; — l&#39;étiquette du corpus et le verdict publié — par une règle sans latitude : &lt;code&gt;concordant&lt;/code&gt; si l&#39;artefact est jugé bénin par le corpus et &lt;code&gt;PASS&lt;/code&gt; par l&#39;éditeur, ou à risque et &lt;code&gt;FAIL&lt;/code&gt; ; &lt;code&gt;divergent&lt;/code&gt; sinon. Aucun corps n&#39;est ouvert, aucun artefact n&#39;est lu, aucune appréciation n&#39;est portée.&lt;/p&gt;
&lt;p&gt;Les champs où &lt;code&gt;[juge]&lt;/code&gt; attend une lecture de l&#39;artefact — &lt;code&gt;ensemble_requis&lt;/code&gt;, &lt;code&gt;effets_induits&lt;/code&gt;, &lt;code&gt;etiquette_fine&lt;/code&gt;, &lt;code&gt;repli&lt;/code&gt;, &lt;code&gt;capacites_reprochees&lt;/code&gt; — restent vides jusqu&#39;à ce qu&#39;un juge humain les remplisse. &lt;strong&gt;Aucun n&#39;a été touché&lt;/strong&gt;, ni par le reclassement des 48, ni par la présente précision.&lt;/p&gt;
&lt;p&gt;Les 19 fiches ne sont pas remises à &lt;code&gt;[juge]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;p&gt;Entry 23 notes that &lt;strong&gt;19 of the 48 reclassified case files carried &lt;code&gt;verdict_concordance: [juge]&lt;/code&gt;&lt;/strong&gt; and are now filled, and leaves open the question of whether that field is a human judge&#39;s prerogative. The question is settled, and this entry carries the sentence entry 23 can no longer receive — the registry is append-only, an entry is not rewritten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;verdict_concordance&lt;/code&gt; is filled by mechanical comparison, not by judgement of content; it is distinct from the cases where &lt;code&gt;[juge]&lt;/code&gt; awaits a reading of the artefact.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The value derives from two &lt;strong&gt;already written&lt;/strong&gt; values — the corpus label and the published verdict — by a rule with no latitude: &lt;code&gt;concordant&lt;/code&gt; if the artefact is judged benign by the corpus and &lt;code&gt;PASS&lt;/code&gt; by the publisher, or at risk and &lt;code&gt;FAIL&lt;/code&gt;; &lt;code&gt;divergent&lt;/code&gt; otherwise. No body is opened, no artefact is read, no appraisal is made.&lt;/p&gt;
&lt;p&gt;The fields where &lt;code&gt;[juge]&lt;/code&gt; awaits a reading of the artefact — &lt;code&gt;ensemble_requis&lt;/code&gt;, &lt;code&gt;effets_induits&lt;/code&gt;, &lt;code&gt;etiquette_fine&lt;/code&gt;, &lt;code&gt;repli&lt;/code&gt;, &lt;code&gt;capacites_reprochees&lt;/code&gt; — remain empty until a human judge fills them. &lt;strong&gt;None was touched&lt;/strong&gt;, neither by the reclassification of the 48 nor by this clarification.&lt;/p&gt;
&lt;p&gt;The 19 case files are not restored to &lt;code&gt;[juge]&lt;/code&gt;.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:34747663d8113bdb434968b47325652ef66248cf4d0dff5491c2d08c74db2880&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;3566980240afb57a789f1b7856f1e353032611a9cfa7b0f778f2b7a710c08ab1&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — Forty-eight case files moved from regime « sans objet » to regime « cas »: no published figure changes</title>
    <id>urn:sha256:d0c285526749f1acebb5b88dea9233c9bc7615b02d5b4335508521bd2d8f5b26</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e23"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le fait&lt;/h3&gt;
&lt;p&gt;Le 2026-09-09, &lt;strong&gt;48 fiches&lt;/strong&gt; du corpus ont été reclassées du régime de verdict &lt;code&gt;sans objet&lt;/code&gt; au régime &lt;strong&gt;&lt;code&gt;cas&lt;/code&gt;&lt;/strong&gt;, sous la règle du 2026-09-04 — celle du protocole du juge §2 — et non sous le rapprochement du 2026-09-06 qui les y avait mises. Le protocole de l&#39;opération, &lt;code&gt;docs/protocole-reclassement-verdict-regime.md&lt;/code&gt;, a été écrit et commité &lt;strong&gt;avant&lt;/strong&gt; qu&#39;une seule valeur bouge, avec l&#39;effet chiffré d&#39;avance.&lt;/p&gt;
&lt;p&gt;Les 48 sont &lt;strong&gt;45&lt;/strong&gt; fiches portant &lt;code&gt;PASS (BENCHMARK.md)&lt;/code&gt; et &lt;strong&gt;3&lt;/strong&gt; portant &lt;code&gt;FAIL (BENCHMARK.md)&lt;/code&gt; — &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;, &lt;code&gt;jev-0064&lt;/code&gt;. La liste exhaustive des identifiants est au §2.1 du protocole ; le critère d&#39;appartenance y est mécanique et rejouable.&lt;/p&gt;
&lt;h3&gt;Pourquoi le régime était faux&lt;/h3&gt;
&lt;p&gt;La règle 1 du 2026-09-04 définit le verdict implicite d&#39;éditeur par : « &lt;em&gt;rien n&#39;y est écrit&lt;/em&gt; qu&#39;on puisse dire concordant ou divergent ». La règle 2 du même jour, qui vise nommément cette population, qualifie le &lt;code&gt;PASS&lt;/code&gt; / &lt;code&gt;FAIL&lt;/code&gt; global de &lt;code&gt;BENCHMARK.md&lt;/code&gt; de « &lt;em&gt;seul énoncé binaire et comparable à une étiquette&lt;/em&gt; ».&lt;/p&gt;
&lt;p&gt;Le &lt;code&gt;PASS&lt;/code&gt; de ces fiches est écrit, et écrit par cas : la liste dont elles sont tirées a été construite par lecture des 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt;, un par un. Les classer &lt;code&gt;sans objet&lt;/code&gt; appliquait à une population qui écrit son verdict un régime réservé à une population qui ne l&#39;écrit pas.&lt;/p&gt;
&lt;h3&gt;Ce que le reclassement a changé, et ce qu&#39;il n&#39;a pas changé&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Le §5 du rapport est inchangé.&lt;/strong&gt; Recalculé après l&#39;opération :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;avant&lt;/th&gt;&lt;th&gt;après&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;population portant un verdict publié&lt;/td&gt;&lt;td&gt;59&lt;/td&gt;&lt;td&gt;&lt;strong&gt;59&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;rappel&lt;/td&gt;&lt;td&gt;0 / 7&lt;/td&gt;&lt;td&gt;&lt;strong&gt;0 / 7&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;précision&lt;/td&gt;&lt;td&gt;0 / 4&lt;/td&gt;&lt;td&gt;&lt;strong&gt;0 / 4&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Aucun chiffre ne bouge, et c&#39;était prévu : &lt;strong&gt;les 48 étaient déjà comptées dans les 59&lt;/strong&gt; par &lt;code&gt;corpus/carte/carte.jsonl&lt;/code&gt;, qui appliquait la bonne règle pendant que les fiches en portaient une mauvaise. Ce qui est levé n&#39;est pas une erreur de calcul, c&#39;est &lt;strong&gt;une contradiction entre la carte et les fiches&lt;/strong&gt; — 48 fiches déclaraient être hors d&#39;un dénominateur qui les comptait.&lt;/p&gt;
&lt;p&gt;Contrôle après opération : les 59 enregistrements de la population sont désormais tous à régime &lt;code&gt;cas&lt;/code&gt; dans leur fiche ; aucun n&#39;y déclare le contraire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aucune étiquette n&#39;a bougé.&lt;/strong&gt; &lt;code&gt;etiquette_fine&lt;/code&gt;, &lt;code&gt;etiquette_binaire&lt;/code&gt;, &lt;code&gt;repli&lt;/code&gt;, &lt;code&gt;capacites_*&lt;/code&gt;, &lt;code&gt;ensemble_requis&lt;/code&gt; et &lt;code&gt;effets_induits&lt;/code&gt; sont intacts sur les 48 : le diff ne porte que sur les champs de verdict tiers. Le reclassement porte sur le régime du verdict &lt;strong&gt;d&#39;un tiers&lt;/strong&gt;, pas sur le nôtre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;docs/resultats-banc-2026-09-08.md&lt;/code&gt; n&#39;est pas modifié.&lt;/strong&gt; Le rapport est daté et ne se réécrit pas ; c&#39;est la présente entrée qui porte le recalcul, comme pour la passe 3a/3b. Si un chiffre avait bougé, c&#39;est ici qu&#39;il aurait été écrit, le rapport restant tel quel à côté.&lt;/p&gt;
&lt;h3&gt;Les champs réellement écrits&lt;/h3&gt;
&lt;p&gt;Quatre, sur les 48 fiches et sur elles seules :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;champ&lt;/th&gt;&lt;th&gt;avant&lt;/th&gt;&lt;th&gt;après&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_regime&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;cas&lt;/code&gt;, avec le motif rectifié et la date&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_concordance&lt;/code&gt;&lt;/td&gt;&lt;td&gt;« sans objet — voir &lt;code&gt;verdict_regime&lt;/code&gt; » (29 fiches) ou &lt;code&gt;[juge]&lt;/code&gt; (19 fiches)&lt;/td&gt;&lt;td&gt;&lt;code&gt;concordant&lt;/code&gt; ou &lt;code&gt;divergent&lt;/code&gt;, recalculé&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_source_fait_foi&lt;/code&gt;&lt;/td&gt;&lt;td&gt;absent sur les 48&lt;/td&gt;&lt;td&gt;&lt;code&gt;BENCHMARK.md (PASS/FAIL global)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_source&lt;/code&gt;&lt;/td&gt;&lt;td&gt;annotation portant « ne pas recompter en concordance » ou « hors dénominateur de concordance » (13 fiches)&lt;/td&gt;&lt;td&gt;la seule clause devenue fausse est retirée ; « non montré au juge, renseigné après coup » est conservé&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Le quatrième champ n&#39;était pas dans la commande initiale : il a été touché parce que le contrôle exigé — &lt;strong&gt;aucun champ ne renvoie à un autre champ qui ne dit plus ce qu&#39;il disait&lt;/strong&gt; — l&#39;imposait. Sa modification est chirurgicale et le fait important, que le juge n&#39;a pas vu ce verdict, est conservé mot pour mot.&lt;/p&gt;
&lt;p&gt;Concordance recalculée : &lt;strong&gt;41 &lt;code&gt;concordant&lt;/code&gt;, 7 &lt;code&gt;divergent&lt;/code&gt;&lt;/strong&gt;. Les 7 divergents sont les 4 &lt;code&gt;PASS&lt;/code&gt; sur artefacts que le corpus juge à risque — &lt;code&gt;jev-0078&lt;/code&gt; à &lt;code&gt;jev-0081&lt;/code&gt; — et les 3 &lt;code&gt;FAIL&lt;/code&gt; sur artefacts que le corpus juge bénins — &lt;code&gt;jev-0062&lt;/code&gt; à &lt;code&gt;jev-0064&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;RÉSERVE — 45 de ces 48 fiches ne sont pas re-vérifiables depuis le dépôt&lt;/h3&gt;
&lt;p&gt;Ce n&#39;est pas une note de bas de page, et elle n&#39;a pas de solution en l&#39;état.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le &lt;code&gt;BENCHMARK.md&lt;/code&gt; de 45 des 48 artefacts n&#39;est pas conservé dans &lt;code&gt;corpus/raw/&lt;/code&gt;.&lt;/strong&gt; Le répertoire de leur gisement n&#39;a pas été matérialisé sur l&#39;hôte. Un tiers qui voudrait rejouer la comparaison ne peut pas, depuis ce dépôt, ouvrir le document dont le &lt;code&gt;PASS&lt;/code&gt; est tiré : il doit le récupérer à la source, où il peut avoir changé.&lt;/p&gt;
&lt;p&gt;Ces 45 fiches sont donc désormais &lt;strong&gt;comparables sur la foi d&#39;un relevé fait au balayage du 2026-09-06 et non rejouable aujourd&#39;hui&lt;/strong&gt;. Le relevé est daté et son mode d&#39;obtention est écrit — lecture des 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt; — mais cela reste un relevé, pas une pièce conservée.&lt;/p&gt;
&lt;p&gt;Les trois exceptions sont les fiches dont le &lt;code&gt;corpus/raw/&lt;/code&gt; a été gardé, et dont le document porte la ligne de verdict en clair. Le reclassement n&#39;invente aucun verdict ; il en change le régime. Mais &lt;strong&gt;un régime « cas » sur une pièce non conservée ne vaut pas un régime « cas » sur une pièce consultable&lt;/strong&gt;, et la différence est écrite ici plutôt que laissée à découvrir.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Elle ne valide pas le §5.&lt;/strong&gt; Elle rend les fiches cohérentes avec un calcul déjà publié. La réserve du §5 du rapport — populations ciblées par structure, non conformes collectés &lt;em&gt;parce qu&#39;ils&lt;/em&gt; l&#39;étaient — reste entière et n&#39;est pas touchée. Le « 0 sur 7 » ne se généralise pas davantage qu&#39;avant.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle ne met en cause aucun tiers.&lt;/strong&gt; Le défaut était le nôtre, dans notre application de notre propre règle. Le programme de certification n&#39;y est pour rien, et aucun de ses verdicts n&#39;est contesté ici.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle ne dit pas que les 41 &lt;code&gt;concordant&lt;/code&gt; valident nos étiquettes&lt;/strong&gt;, ni que les 7 &lt;code&gt;divergent&lt;/code&gt; désignent une faute de l&#39;un ou de l&#39;autre. Une concordance de verdicts ne dit rien de la concordance des motifs.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dix fiches portant &lt;code&gt;sans objet&lt;/code&gt; n&#39;ont pas été touchées&lt;/strong&gt; — &lt;code&gt;jev-0026&lt;/code&gt; à &lt;code&gt;jev-0032&lt;/code&gt;, &lt;code&gt;jev-0048&lt;/code&gt;, &lt;code&gt;jev-0049&lt;/code&gt;, &lt;code&gt;jev-0050&lt;/code&gt; : leur verdict source est la seule publication de l&#39;artefact par son éditeur, rien n&#39;est écrit sur l&#39;artefact, et &lt;code&gt;sans objet&lt;/code&gt; y est le régime exact. Les reclasser aurait refait à l&#39;envers l&#39;erreur de 2026-09-06.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dix-neuf des 48 portaient &lt;code&gt;verdict_concordance: [juge]&lt;/code&gt;&lt;/strong&gt; et sont désormais renseignées mécaniquement, par comparaison de deux valeurs déjà écrites. Si ce champ doit rester une prérogative du juge humain, il faudra les y remettre par une entrée postérieure : le fait est écrit ici pour que ce choix reste ouvert.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The fact&lt;/h3&gt;
&lt;p&gt;On 2026-09-09, &lt;strong&gt;48 corpus case files&lt;/strong&gt; were reclassified from verdict regime &lt;code&gt;sans objet&lt;/code&gt; to regime &lt;strong&gt;&lt;code&gt;cas&lt;/code&gt;&lt;/strong&gt;, under the 2026-09-04 rule — that of judge protocol §2 — and not under the 2026-09-06 analogy that had placed them there. The operation&#39;s protocol, &lt;code&gt;docs/protocole-reclassement-verdict-regime.md&lt;/code&gt;, was written and committed &lt;strong&gt;before&lt;/strong&gt; a single value moved, with the effect computed in advance.&lt;/p&gt;
&lt;p&gt;The 48 are &lt;strong&gt;45&lt;/strong&gt; files carrying &lt;code&gt;PASS (BENCHMARK.md)&lt;/code&gt; and &lt;strong&gt;3&lt;/strong&gt; carrying &lt;code&gt;FAIL (BENCHMARK.md)&lt;/code&gt; — &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;, &lt;code&gt;jev-0064&lt;/code&gt;. The exhaustive list of identifiers is in §2.1 of the protocol; the membership criterion there is mechanical and replayable.&lt;/p&gt;
&lt;h3&gt;Why the regime was wrong&lt;/h3&gt;
&lt;p&gt;Rule 1 of 2026-09-04 defines a publisher-implicit verdict as: &amp;quot;&lt;em&gt;nothing is written there&lt;/em&gt; that could be called concordant or divergent&amp;quot;. Rule 2 of the same day, which targets this population by name, calls the global &lt;code&gt;PASS&lt;/code&gt; / &lt;code&gt;FAIL&lt;/code&gt; of &lt;code&gt;BENCHMARK.md&lt;/code&gt; &amp;quot;&lt;em&gt;the only binary statement comparable to a label&lt;/em&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;These files&#39; &lt;code&gt;PASS&lt;/code&gt; is written, and written per case: the list they are drawn from was built by reading the 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt; files, one by one. Classing them &lt;code&gt;sans objet&lt;/code&gt; applied to a population that writes its verdict a regime reserved for a population that does not.&lt;/p&gt;
&lt;h3&gt;What the reclassification changed, and what it did not&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;§5 of the report is unchanged.&lt;/strong&gt; Recomputed after the operation:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;before&lt;/th&gt;&lt;th&gt;after&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;population carrying a published verdict&lt;/td&gt;&lt;td&gt;59&lt;/td&gt;&lt;td&gt;&lt;strong&gt;59&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;recall&lt;/td&gt;&lt;td&gt;0 / 7&lt;/td&gt;&lt;td&gt;&lt;strong&gt;0 / 7&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;precision&lt;/td&gt;&lt;td&gt;0 / 4&lt;/td&gt;&lt;td&gt;&lt;strong&gt;0 / 4&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;No figure moves, and this was foreseen: &lt;strong&gt;the 48 were already counted in the 59&lt;/strong&gt; by &lt;code&gt;corpus/carte/carte.jsonl&lt;/code&gt;, which applied the correct rule while the case files carried an incorrect one. What is lifted is not a computation error but &lt;strong&gt;a contradiction between the map and the case files&lt;/strong&gt; — 48 files declared themselves outside a denominator that counted them.&lt;/p&gt;
&lt;p&gt;Post-operation control: all 59 records of the population now carry regime &lt;code&gt;cas&lt;/code&gt; in their case file; none declares otherwise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No label moved.&lt;/strong&gt; &lt;code&gt;etiquette_fine&lt;/code&gt;, &lt;code&gt;etiquette_binaire&lt;/code&gt;, &lt;code&gt;repli&lt;/code&gt;, &lt;code&gt;capacites_*&lt;/code&gt;, &lt;code&gt;ensemble_requis&lt;/code&gt; and &lt;code&gt;effets_induits&lt;/code&gt; are intact across the 48: the diff touches only third-party verdict fields. The reclassification concerns the regime of &lt;strong&gt;a third party&#39;s&lt;/strong&gt; verdict, not our own.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;docs/resultats-banc-2026-09-08.md&lt;/code&gt; is not modified.&lt;/strong&gt; The report is dated and is not rewritten; this entry carries the recomputation, as for the 3a/3b pass. Had a figure moved, it would have been written here, the report standing unchanged beside it.&lt;/p&gt;
&lt;h3&gt;The fields actually written&lt;/h3&gt;
&lt;p&gt;Four, on the 48 files and on them alone:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;field&lt;/th&gt;&lt;th&gt;before&lt;/th&gt;&lt;th&gt;after&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_regime&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;cas&lt;/code&gt;, with the corrected motive and the date&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_concordance&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&amp;quot;sans objet — voir &lt;code&gt;verdict_regime&lt;/code&gt;&amp;quot; (29 files) or &lt;code&gt;[juge]&lt;/code&gt; (19 files)&lt;/td&gt;&lt;td&gt;&lt;code&gt;concordant&lt;/code&gt; or &lt;code&gt;divergent&lt;/code&gt;, recomputed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_source_fait_foi&lt;/code&gt;&lt;/td&gt;&lt;td&gt;absent on all 48&lt;/td&gt;&lt;td&gt;&lt;code&gt;BENCHMARK.md (PASS/FAIL global)&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;verdict_source&lt;/code&gt;&lt;/td&gt;&lt;td&gt;annotation carrying &amp;quot;do not recount in concordance&amp;quot; or &amp;quot;outside the concordance denominator&amp;quot; (13 files)&lt;/td&gt;&lt;td&gt;only the clause that became false is removed; &amp;quot;not shown to the judge, filled in afterwards&amp;quot; is kept&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;The fourth field was not in the initial instruction: it was touched because the required control — &lt;strong&gt;no field refers to another field that no longer says what it said&lt;/strong&gt; — demanded it. The change is surgical and the important fact, that the judge did not see this verdict, is kept word for word.&lt;/p&gt;
&lt;p&gt;Recomputed concordance: &lt;strong&gt;41 &lt;code&gt;concordant&lt;/code&gt;, 7 &lt;code&gt;divergent&lt;/code&gt;&lt;/strong&gt;. The 7 divergent are the 4 &lt;code&gt;PASS&lt;/code&gt; on artefacts the corpus judges at risk — &lt;code&gt;jev-0078&lt;/code&gt; to &lt;code&gt;jev-0081&lt;/code&gt; — and the 3 &lt;code&gt;FAIL&lt;/code&gt; on artefacts the corpus judges benign — &lt;code&gt;jev-0062&lt;/code&gt; to &lt;code&gt;jev-0064&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;RESERVATION — 45 of these 48 files are not re-verifiable from the repository&lt;/h3&gt;
&lt;p&gt;This is not a footnote, and it has no solution as things stand.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &lt;code&gt;BENCHMARK.md&lt;/code&gt; of 45 of the 48 artefacts is not retained in &lt;code&gt;corpus/raw/&lt;/code&gt;.&lt;/strong&gt; Their gisement&#39;s directory was never materialised on the host. A third party wishing to replay the comparison cannot, from this repository, open the document the &lt;code&gt;PASS&lt;/code&gt; is taken from: they must fetch it from source, where it may have changed.&lt;/p&gt;
&lt;p&gt;These 45 files are therefore now &lt;strong&gt;comparable on the strength of a reading made during the 2026-09-06 sweep and not replayable today&lt;/strong&gt;. The reading is dated and its method is written down — reading the 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt; files — but it remains a reading, not a retained exhibit.&lt;/p&gt;
&lt;p&gt;The three exceptions are the files whose &lt;code&gt;corpus/raw/&lt;/code&gt; was kept, and whose document carries the verdict line in plain text. The reclassification invents no verdict; it changes its regime. But &lt;strong&gt;a &lt;code&gt;cas&lt;/code&gt; regime on a non-retained exhibit is not worth a &lt;code&gt;cas&lt;/code&gt; regime on a consultable one&lt;/strong&gt;, and the difference is written here rather than left to be discovered.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;It does not validate §5.&lt;/strong&gt; It makes the case files consistent with an already-published computation. The §5 reservation in the report — populations targeted by structure, non-conforming cases collected &lt;em&gt;because&lt;/em&gt; they were — stands whole and is untouched. The &amp;quot;0 out of 7&amp;quot; generalises no further than before.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;It implicates no third party.&lt;/strong&gt; The defect was ours, in our application of our own rule. The certification programme has no part in it, and none of its verdicts is contested here.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;It does not say the 41 &lt;code&gt;concordant&lt;/code&gt; validate our labels&lt;/strong&gt;, nor that the 7 &lt;code&gt;divergent&lt;/code&gt; designate a fault on either side. Matching verdicts say nothing about matching grounds.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Ten files carrying &lt;code&gt;sans objet&lt;/code&gt; were not touched&lt;/strong&gt; — &lt;code&gt;jev-0026&lt;/code&gt; to &lt;code&gt;jev-0032&lt;/code&gt;, &lt;code&gt;jev-0048&lt;/code&gt;, &lt;code&gt;jev-0049&lt;/code&gt;, &lt;code&gt;jev-0050&lt;/code&gt;: their source verdict is merely the publication of the artefact by its publisher, nothing is written about the artefact, and &lt;code&gt;sans objet&lt;/code&gt; is the exact regime there. Reclassifying them would have repeated the 2026-09-06 error in reverse.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Nineteen of the 48 carried &lt;code&gt;verdict_concordance: [juge]&lt;/code&gt;&lt;/strong&gt; and are now filled mechanically, by comparing two already-written values. If that field must remain a human judge&#39;s prerogative, they will have to be restored by a later entry: the fact is written here so that the choice stays open.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:373e613e30bd908f60be893761d2c53f136547d9b92080baf85b9e3113c911dd&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;d0c285526749f1acebb5b88dea9233c9bc7615b02d5b4335508521bd2d8f5b26&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — Verdict regime: the same published PASS, two different regimes, and the split follows the date the case file was written</title>
    <id>urn:sha256:860348f154b23d2863e2ef633878c6e8b9a65a39cfd5391db503fe2e33519b9b</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e22"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le constat&lt;/h3&gt;
&lt;p&gt;Cinq cas d&#39;une même population portent le &lt;strong&gt;même verdict de certification publié&lt;/strong&gt; — le &lt;code&gt;PASS&lt;/code&gt; global du &lt;code&gt;BENCHMARK.md&lt;/code&gt; de leur artefact — et &lt;strong&gt;deux régimes de verdict différents&lt;/strong&gt; dans nos propres fiches :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cas&lt;/th&gt;&lt;th&gt;verdict publié&lt;/th&gt;&lt;th&gt;&lt;code&gt;verdict_regime&lt;/code&gt; porté par la fiche&lt;/th&gt;&lt;th&gt;comparaison au verdict&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;absent&lt;/strong&gt; — donc &lt;code&gt;cas&lt;/code&gt; par la table de l&#39;amendement&lt;/td&gt;&lt;td&gt;&lt;strong&gt;divergent&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;hors dénominateur&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;hors dénominateur&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;hors dénominateur&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;hors dénominateur&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Le même partage vaut pour &lt;code&gt;jev-0046&lt;/code&gt;, dont le &lt;code&gt;FAIL&lt;/code&gt; est comparé, quand trois autres &lt;code&gt;FAIL&lt;/code&gt; — &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;, &lt;code&gt;jev-0064&lt;/code&gt; — sont tenus hors dénominateur.&lt;/p&gt;
&lt;h3&gt;Ce qui sépare réellement les cas&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Rien du côté de l&#39;artefact.&lt;/strong&gt; Même dépôt, même catalogue, même document de verdict avec le même champ &lt;code&gt;Overall verdict&lt;/code&gt;, même &lt;code&gt;type: SKILL.md&lt;/code&gt;. Le seul cas de &lt;code&gt;niveau: 2&lt;/code&gt; est celui qui porte le régime le plus strict, ce qui exclut le niveau comme facteur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le partage suit la passe qui a écrit la fiche.&lt;/strong&gt; Les fiches posées le 2026-09-04, sous la règle du verdict qui fait foi, comparent. Les fiches posées le 2026-09-06, lors du balayage du gisement, portent &lt;code&gt;sans objet&lt;/code&gt;, avec le motif écrit au journal : « verdict implicite d&#39;éditeur, &lt;strong&gt;comme B1&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;Or la règle 1 du 2026-09-04 définit le verdict implicite par : « &lt;em&gt;rien n&#39;y est écrit qu&#39;on puisse dire concordant ou divergent&lt;/em&gt; ». Et la règle 2 du même jour, qui vise &lt;strong&gt;nommément cette population&lt;/strong&gt;, qualifie le &lt;code&gt;PASS&lt;/code&gt; / &lt;code&gt;FAIL&lt;/code&gt; du &lt;code&gt;BENCHMARK.md&lt;/code&gt; de « &lt;em&gt;seul énoncé binaire et comparable à une étiquette&lt;/em&gt; ». Le &lt;code&gt;PASS&lt;/code&gt; des quatre est écrit, et il est écrit par cas : la liste de 329 dont ils sont tirés a été construite par &lt;strong&gt;lecture des 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt;&lt;/strong&gt;, un par un.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le régime &lt;code&gt;sans objet&lt;/code&gt; a donc été appliqué à des cas qui portent un verdict énoncé.&lt;/strong&gt; C&#39;est un défaut d&#39;application de la règle, pas une distinction que la règle autorise.&lt;/p&gt;
&lt;h3&gt;Un fait qui n&#39;est pas le motif écrit&lt;/h3&gt;
&lt;p&gt;Pour les quatre, le répertoire &lt;code&gt;corpus/raw/&lt;/code&gt; n&#39;a pas été conservé : leur &lt;code&gt;BENCHMARK.md&lt;/code&gt; n&#39;est plus consultable depuis le dépôt, alors qu&#39;il l&#39;est pour &lt;code&gt;jev-0045&lt;/code&gt; et &lt;code&gt;jev-0046&lt;/code&gt; (&lt;code&gt;- Overall verdict: PASS&lt;/code&gt;, &lt;code&gt;- Overall verdict: FAIL&lt;/code&gt;). Cela affecte la &lt;strong&gt;re-vérifiabilité aujourd&#39;hui&lt;/strong&gt;, non l&#39;existence de l&#39;énoncé au moment du balayage. Ce serait un motif de réserve défendable ; ce n&#39;est pas celui qui figure dans les fiches, et il n&#39;appelle pas &lt;code&gt;sans objet&lt;/code&gt; — &lt;strong&gt;un verdict énoncé mais non conservé n&#39;est pas un verdict absent&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Portée&lt;/h3&gt;
&lt;p&gt;Sur les 124 fiches : &lt;strong&gt;45&lt;/strong&gt; portent &lt;code&gt;PASS (BENCHMARK.md)&lt;/code&gt; avec &lt;code&gt;sans objet&lt;/code&gt;, &lt;strong&gt;3&lt;/strong&gt; portent &lt;code&gt;FAIL (BENCHMARK.md)&lt;/code&gt; avec &lt;code&gt;sans objet&lt;/code&gt;, et &lt;strong&gt;aucune&lt;/strong&gt; fiche dont le &lt;code&gt;PASS&lt;/code&gt; ou le &lt;code&gt;FAIL&lt;/code&gt; est inscrit en &lt;code&gt;verdict_source&lt;/code&gt; ne porte un autre régime. Le partage est sans exception, ce qui exclut l&#39;inadvertance sur un cas isolé.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Elle ne corrige aucune fiche.&lt;/strong&gt; Aucun &lt;code&gt;verdict_regime&lt;/code&gt;, aucun &lt;code&gt;verdict_concordance&lt;/code&gt;, aucune étiquette n&#39;est modifié. Le traçage est publié dans &lt;code&gt;docs/regime-verdict-3a3b.md&lt;/code&gt;, qui ne modifie rien non plus.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle ne recalcule aucun taux.&lt;/strong&gt; Reclasser 48 fiches déplacerait le dénominateur du taux de divergence, donc le §5 du rapport. Ce recalcul n&#39;est pas fait et ne doit pas l&#39;être sans décision écrite. &lt;strong&gt;Aucun chiffre publié n&#39;est corrigé ici.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle ne dit pas quel régime est le bon.&lt;/strong&gt; Elle établit que deux régimes incompatibles sont appliqués au même type de verdict, et que le critère effectif est la date de saisie. Trancher — comparer les 48, ou tenir les six hors dénominateur — est une décision de définition, pas un constat.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle ne met en cause aucun tiers.&lt;/strong&gt; Le défaut est le nôtre, dans notre application de notre propre règle. Le programme de certification n&#39;y est pour rien.&lt;/li&gt;&lt;li&gt;Elle n&#39;établit pas comment se composent les &lt;strong&gt;59 artefacts portant un verdict publié&lt;/strong&gt; annoncés au §5 du rapport, au regard des 48 fiches tenues hors dénominateur. La question est ouverte et nommée.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The finding&lt;/h3&gt;
&lt;p&gt;Five cases from a single population carry the &lt;strong&gt;same published certification verdict&lt;/strong&gt; — the global &lt;code&gt;PASS&lt;/code&gt; of their artefact&#39;s &lt;code&gt;BENCHMARK.md&lt;/code&gt; — and &lt;strong&gt;two different verdict regimes&lt;/strong&gt; in our own case files:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;case&lt;/th&gt;&lt;th&gt;published verdict&lt;/th&gt;&lt;th&gt;&lt;code&gt;verdict_regime&lt;/code&gt; in the case file&lt;/th&gt;&lt;th&gt;comparison to the verdict&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;absent&lt;/strong&gt; — hence &lt;code&gt;cas&lt;/code&gt; by the amendment&#39;s table&lt;/td&gt;&lt;td&gt;&lt;strong&gt;divergent&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;outside the denominator&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;outside the denominator&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;outside the denominator&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PASS&lt;/code&gt; (&lt;code&gt;BENCHMARK.md&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;sans objet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;outside the denominator&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;The same split applies to &lt;code&gt;jev-0046&lt;/code&gt;, whose &lt;code&gt;FAIL&lt;/code&gt; is compared, while three other &lt;code&gt;FAIL&lt;/code&gt; cases — &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;, &lt;code&gt;jev-0064&lt;/code&gt; — are held outside the denominator.&lt;/p&gt;
&lt;h3&gt;What actually separates the cases&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Nothing on the artefact side.&lt;/strong&gt; Same repository, same catalogue, same verdict document with the same &lt;code&gt;Overall verdict&lt;/code&gt; field, same &lt;code&gt;type: SKILL.md&lt;/code&gt;. The only &lt;code&gt;niveau: 2&lt;/code&gt; case is the one carrying the strictest regime, which rules out level as a factor.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The split follows the pass that wrote the case file.&lt;/strong&gt; Files created on 2026-09-04, under the authoritative-verdict rule, compare. Files created on 2026-09-06, during the seam sweep, carry &lt;code&gt;sans objet&lt;/code&gt;, with the motive written in the journal: &amp;quot;publisher-implicit verdict, &lt;strong&gt;like B1&lt;/strong&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;But rule 1 of 2026-09-04 defines an implicit verdict as: &amp;quot;&lt;em&gt;nothing is written there that could be called concordant or divergent&lt;/em&gt;&amp;quot;. And rule 2 of the same day, which targets &lt;strong&gt;this population by name&lt;/strong&gt;, calls the &lt;code&gt;BENCHMARK.md&lt;/code&gt; &lt;code&gt;PASS&lt;/code&gt; / &lt;code&gt;FAIL&lt;/code&gt; &amp;quot;&lt;em&gt;the only binary statement comparable to a label&lt;/em&gt;&amp;quot;. The four cases&#39; &lt;code&gt;PASS&lt;/code&gt; is written, and written per case: the list of 329 they are drawn from was built by &lt;strong&gt;reading the 351 &lt;code&gt;BENCHMARK.md&lt;/code&gt; files&lt;/strong&gt;, one by one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &lt;code&gt;sans objet&lt;/code&gt; regime was therefore applied to cases that carry a stated verdict.&lt;/strong&gt; That is a misapplication of the rule, not a distinction the rule allows.&lt;/p&gt;
&lt;h3&gt;A fact that is not the written motive&lt;/h3&gt;
&lt;p&gt;For the four, the &lt;code&gt;corpus/raw/&lt;/code&gt; directory was not retained: their &lt;code&gt;BENCHMARK.md&lt;/code&gt; is no longer readable from the repository, whereas it is for &lt;code&gt;jev-0045&lt;/code&gt; and &lt;code&gt;jev-0046&lt;/code&gt; (&lt;code&gt;- Overall verdict: PASS&lt;/code&gt;, &lt;code&gt;- Overall verdict: FAIL&lt;/code&gt;). This affects &lt;strong&gt;re-verifiability today&lt;/strong&gt;, not the existence of the statement at sweep time. It would be a defensible ground for a reservation; it is not the one recorded in the case files, and it does not call for &lt;code&gt;sans objet&lt;/code&gt; — &lt;strong&gt;a verdict that was stated but not retained is not an absent verdict&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Scope&lt;/h3&gt;
&lt;p&gt;Across the 124 case files: &lt;strong&gt;45&lt;/strong&gt; carry &lt;code&gt;PASS (BENCHMARK.md)&lt;/code&gt; with &lt;code&gt;sans objet&lt;/code&gt;, &lt;strong&gt;3&lt;/strong&gt; carry &lt;code&gt;FAIL (BENCHMARK.md)&lt;/code&gt; with &lt;code&gt;sans objet&lt;/code&gt;, and &lt;strong&gt;no&lt;/strong&gt; case file whose &lt;code&gt;PASS&lt;/code&gt; or &lt;code&gt;FAIL&lt;/code&gt; is recorded in &lt;code&gt;verdict_source&lt;/code&gt; carries any other regime. The split is without exception, which rules out an oversight on an isolated case.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;It corrects no case file.&lt;/strong&gt; No &lt;code&gt;verdict_regime&lt;/code&gt;, no &lt;code&gt;verdict_concordance&lt;/code&gt;, no label is modified. The trace is published in &lt;code&gt;docs/regime-verdict-3a3b.md&lt;/code&gt;, which modifies nothing either.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;It recomputes no rate.&lt;/strong&gt; Reclassifying 48 case files would move the divergence-rate denominator, hence §5 of the report. That recomputation is not done and must not be done without a written decision. &lt;strong&gt;No published figure is corrected here.&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;It does not say which regime is right.&lt;/strong&gt; It establishes that two incompatible regimes are applied to the same kind of verdict, and that the effective criterion is the date of entry. Settling it — comparing the 48, or holding the six outside the denominator — is a definitional decision, not a finding.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;It implicates no third party.&lt;/strong&gt; The defect is ours, in our application of our own rule. The certification programme has no part in it.&lt;/li&gt;&lt;li&gt;It does not establish how the &lt;strong&gt;59 artefacts carrying a published verdict&lt;/strong&gt; announced in §5 of the report are composed, given the 48 case files held outside the denominator. That question is open and named.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:30b418ac39aa0fab853c75b3cbb50ef279312e0d41e3d99757dbb5f8445cfe78&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;860348f154b23d2863e2ef633878c6e8b9a65a39cfd5391db503fe2e33519b9b&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Entry 21 — sealed</title>
    <id>urn:sha256:ce5f8fe4a91df18b744f2a940fd5af536c73a238cf0cbbb348b9ded8fea5f310</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e21"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;sealed — class 3. Content not published; its hash is.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:97995fdc2b00a374110cd32eaaab22d4a83a24f42f002940367bbe6dd3973ba4&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;ce5f8fe4a91df18b744f2a940fd5af536c73a238cf0cbbb348b9ded8fea5f310&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Entry 20 — sealed</title>
    <id>urn:sha256:03637d6d01d5af6bba493c74c6dffe49fb1393bd5e347e0c117611913035bda5</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e20"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;sealed — class 3. Content not published; its hash is.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:efdf6fadb5adf6d2e1a1799c9c502ddbc4bd29efdc01710fc49f49445bd11dc7&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;03637d6d01d5af6bba493c74c6dffe49fb1393bd5e347e0c117611913035bda5&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — jev-0062: under the definition in force judge 1 returns dangerous by design, and the report&#39;s 0-out-of-4 no longer holds on this case</title>
    <id>urn:sha256:d03ba03857561672e1300152fa89832f83499622bd1aa25c4ab676da6e0d8630</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e19"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le fait&lt;/h3&gt;
&lt;p&gt;Dans la passe de rejugement du 2026-09-09, sur &lt;code&gt;jev-0062&lt;/code&gt;, le juge 1 (&lt;code&gt;claude-fable-5-1&lt;/code&gt;) rend, sous la définition en vigueur &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt; :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;étiquette portée par la fiche&lt;/th&gt;&lt;th&gt;rendue par le juge 1&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;étiquette fine&lt;/td&gt;&lt;td&gt;bénin&lt;/td&gt;&lt;td&gt;&lt;strong&gt;dangereux par conception&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;repli&lt;/td&gt;&lt;td&gt;sans risque&lt;/td&gt;&lt;td&gt;&lt;strong&gt;à risque&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;C&#39;est la &lt;strong&gt;seule bascule des dix verdicts&lt;/strong&gt; rendus par le juge 1 dans cette passe. Les neuf autres reproduisent l&#39;étiquette en vigueur ; le onzième cas n&#39;a pas reçu de verdict.&lt;/p&gt;
&lt;p&gt;Le juge 2 (&lt;code&gt;gpt-5.5-2026-04-23&lt;/code&gt;, température 1, 5 tirages) &lt;strong&gt;concorde&lt;/strong&gt; : son verdict majoritaire est &lt;code&gt;dangereux par conception&lt;/code&gt;. Mais ses cinq tirages donnent&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;bénin — dangereux par conception — dangereux par conception — dangereux par conception — bénin        (3 – 2)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;soit un cas &lt;strong&gt;&lt;code&gt;instable&lt;/code&gt;&lt;/strong&gt; au sens du §10. &lt;strong&gt;Rien n&#39;est scellé sur ce cas.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Ce que cela rectifie&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;jev-0062&lt;/code&gt; fait partie des quatre cas que le rapport &lt;code&gt;docs/resultats-banc-2026-09-08.md&lt;/code&gt; §5 range sous « l&#39;éditeur signale, le corpus juge bénin », et qui produisent la précision annoncée de &lt;strong&gt;0 sur 4&lt;/strong&gt;. Sur ce cas, l&#39;étiquette qui fondait le zéro — &lt;code&gt;bénin&lt;/code&gt; — n&#39;est plus celle que rend un juge lisant sous la définition en vigueur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le 0 sur 4 du §5 ne tient donc plus sur &lt;code&gt;jev-0062&lt;/code&gt;.&lt;/strong&gt; Le rapport n&#39;est pas réécrit : il est daté, et cette entrée le rectifie sans le toucher. Le chiffre publié doit se lire avec cette entrée à côté de lui.&lt;/p&gt;
&lt;h3&gt;La portée exacte, et ses limites&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Un cas sur quatre&lt;/strong&gt;, pas les quatre. Les trois autres n&#39;ont pas basculé : deux d&#39;entre eux ont été rejugés et leurs juges concordent avec l&#39;étiquette en vigueur ; l&#39;entrée ne dit rien de plus à leur sujet.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Aucun nouveau taux n&#39;est calculé.&lt;/strong&gt; Passer de « 0 sur 4 » à un autre quotient exigerait que les quatre cas soient scellés sous la définition en vigueur ; ils ne le sont pas, et l&#39;un des deux juges hésite sur celui-ci. Écrire un nouveau chiffre ici serait fabriquer une précision que la passe ne soutient pas.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;La fiche de &lt;code&gt;jev-0062&lt;/code&gt; porte &lt;code&gt;verdict_regime: sans objet&lt;/code&gt;.&lt;/strong&gt; Sa concordance avec le verdict de certification est donc, dans le corpus, hors du dénominateur de divergence — alors que le cas est compté dans les quatre du §5. Cet écart entre la fiche et le rapport est consigné ici tel quel, sans être résolu.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;p&gt;Elle n&#39;établit pas que le programme de certification ait eu raison, ni qu&#39;il ait eu raison &lt;strong&gt;pour la raison qu&#39;il a écrite&lt;/strong&gt; : la concordance d&#39;un verdict ne dit rien de la concordance des motifs. Elle n&#39;établit pas non plus que l&#39;étiquette de la fiche était fautive au moment où elle a été posée — elle a été posée sous une définition antérieure, ce que la fiche déclare.&lt;/p&gt;
&lt;p&gt;Elle ne scelle rien, et n&#39;autorise aucune phrase publique du type « nous nous étions trompés sur ce cas ». Ce qui est établi est ceci, et rien de plus : sous la définition en vigueur, un juge rend une étiquette différente, un second va dans le même sens sans être stable, et le chiffre du §5 ne peut plus être cité seul sur ce cas.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The fact&lt;/h3&gt;
&lt;p&gt;In the 2026-09-09 re-judgement pass, on &lt;code&gt;jev-0062&lt;/code&gt;, judge 1 (&lt;code&gt;claude-fable-5-1&lt;/code&gt;) returns, under the definition in force &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;label borne by the case file&lt;/th&gt;&lt;th&gt;returned by judge 1&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;fine label&lt;/td&gt;&lt;td&gt;benign&lt;/td&gt;&lt;td&gt;&lt;strong&gt;dangerous by design&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;fallback&lt;/td&gt;&lt;td&gt;not at risk&lt;/td&gt;&lt;td&gt;&lt;strong&gt;at risk&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;This is the &lt;strong&gt;only flip among the ten verdicts&lt;/strong&gt; returned by judge 1 in this pass. The nine others reproduce the label in force; the eleventh case received no verdict.&lt;/p&gt;
&lt;p&gt;Judge 2 (&lt;code&gt;gpt-5.5-2026-04-23&lt;/code&gt;, temperature 1, 5 draws) &lt;strong&gt;concurs&lt;/strong&gt;: its majority verdict is &lt;code&gt;dangerous by design&lt;/code&gt;. But its five draws give&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;benign — dangerous by design — dangerous by design — dangerous by design — benign        (3 – 2)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;that is, an &lt;strong&gt;&lt;code&gt;instable&lt;/code&gt;&lt;/strong&gt; case under §10. &lt;strong&gt;Nothing is sealed on this case.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;What this rectifies&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;jev-0062&lt;/code&gt; is one of the four cases that report &lt;code&gt;docs/resultats-banc-2026-09-08.md&lt;/code&gt; §5 places under &amp;quot;the publisher flags, the corpus judges benign&amp;quot;, and which produce the stated precision of &lt;strong&gt;0 out of 4&lt;/strong&gt;. On this case, the label that grounded the zero — &lt;code&gt;benign&lt;/code&gt; — is no longer the one returned by a judge reading under the definition in force.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The 0 out of 4 in §5 therefore no longer holds on &lt;code&gt;jev-0062&lt;/code&gt;.&lt;/strong&gt; The report is not rewritten: it is dated, and this entry rectifies it without touching it. The published figure must be read with this entry beside it.&lt;/p&gt;
&lt;h3&gt;The exact scope, and its limits&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;One case out of four&lt;/strong&gt;, not the four. The other three did not flip: two of them were re-judged and their judges concur with the label in force; the entry says nothing further about them.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;No new rate is computed.&lt;/strong&gt; Moving from &amp;quot;0 out of 4&amp;quot; to another quotient would require the four cases to be sealed under the definition in force; they are not, and one of the two judges wavers on this one. Writing a new figure here would manufacture a precision the pass does not support.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;The &lt;code&gt;jev-0062&lt;/code&gt; case file carries &lt;code&gt;verdict_regime: sans objet&lt;/code&gt;.&lt;/strong&gt; Its concordance with the certification verdict is therefore, in the corpus, outside the divergence denominator — while the case is counted among the four of §5. This gap between case file and report is recorded here as is, unresolved.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;p&gt;It does not establish that the certification programme was right, nor that it was right &lt;strong&gt;for the reason it wrote down&lt;/strong&gt;: a matching verdict says nothing about matching grounds. Nor does it establish that the case file&#39;s label was wrong when it was set — it was set under an earlier definition, which the case file states.&lt;/p&gt;
&lt;p&gt;It seals nothing, and authorises no public sentence of the kind &amp;quot;we were wrong on this case&amp;quot;. What is established is this, and no more: under the definition in force, one judge returns a different label, a second goes the same way without being stable, and the §5 figure can no longer be cited alone on this case.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:be64f6ee64f35eeaee5271b8f2339f516ee73a51ba1df8c803d1b548357d5a86&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;d03ba03857561672e1300152fa89832f83499622bd1aa25c4ab676da6e0d8630&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — jev-0039: the two judges return different labels under the definition in force; the case is not sealed</title>
    <id>urn:sha256:fb0905e9e0befa08a755474dc6de8a72c95f5e95882399f8424c2c4c52c7e5da</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e18"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le fait&lt;/h3&gt;
&lt;p&gt;Dans la passe de rejugement du 2026-09-09, sur le cas &lt;code&gt;jev-0039&lt;/code&gt;, les deux juges automatiques rendent des étiquettes fines &lt;strong&gt;différentes&lt;/strong&gt;, sous la même définition — &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt; — et sur le même matériau lu dans le même ordre.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;juge&lt;/th&gt;&lt;th&gt;modèle&lt;/th&gt;&lt;th&gt;étiquette fine rendue&lt;/th&gt;&lt;th&gt;repli&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;juge 1&lt;/td&gt;&lt;td&gt;&lt;code&gt;claude-fable-5-1&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;dangereux par conception&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;à risque&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;juge 2&lt;/td&gt;&lt;td&gt;&lt;code&gt;gpt-5.5-2026-04-23&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;bénin&lt;/strong&gt; (majorité)&lt;/td&gt;&lt;td&gt;sans risque&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Le juge 2 est interrogé à température 1 avec 5 tirages indépendants (protocole §10). Sur ce cas, ses cinq tirages donnent :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;bénin — bénin — dangereux par conception — bénin — bénin        (4 – 1)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Le verdict enregistré du juge 2 est donc &lt;code&gt;bénin&lt;/code&gt;, majoritaire, mais les cinq tirages &lt;strong&gt;ne sont pas unanimes&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;La conséquence, mécanique&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;jev-0039&lt;/code&gt; porte &lt;strong&gt;deux&lt;/strong&gt; des trois causes de non-scellement, comptées séparément au protocole §10 :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;désaccord entre juges&lt;/strong&gt; (§6.2) — les deux étiquettes fines diffèrent après normalisation du vocabulaire, laquelle est mécanique et sa table a été commitée avant que la moindre réponse soit rendue ;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;instable&lt;/code&gt;&lt;/strong&gt; (§10) — 4 tirages contre 1.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L&#39;une ou l&#39;autre suffirait. &lt;strong&gt;Le cas n&#39;est pas scellé&lt;/strong&gt;, et aucun départage n&#39;est appliqué : le protocole ne prévoit ni troisième juge, ni vote, ni arbitrage par le juge 1. L&#39;étiquette portée aujourd&#39;hui par la fiche n&#39;est pas modifiée par cette entrée.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Elle ne dit pas lequel des deux juges a raison.&lt;/strong&gt; Elle n&#39;en désigne aucun comme meilleur lecteur, ne tranche pas la lecture du cas, et ne fournit aucun élément permettant de le faire. Un désaccord n&#39;est pas une erreur de l&#39;un des deux : c&#39;est une mesure de ce que la définition, telle qu&#39;elle est écrite, laisse de latitude à un lecteur.&lt;/p&gt;
&lt;p&gt;Elle n&#39;établit pas non plus que ce désaccord soit reproductible, ni qu&#39;il tiendrait avec d&#39;autres modèles, d&#39;autres configurations d&#39;interrogation, ou une autre formulation de la consigne. Les deux juges n&#39;ont d&#39;ailleurs &lt;strong&gt;pas été interrogés dans les mêmes conditions&lt;/strong&gt; — k = 1 pour l&#39;un, k = 5 pour l&#39;autre, asymétrie déclarée au protocole §10 avant la passe — et une part du désaccord peut tenir à cela.&lt;/p&gt;
&lt;p&gt;Un cas, une date, un tirage de chaque côté.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The fact&lt;/h3&gt;
&lt;p&gt;In the 2026-09-09 re-judgement pass, on case &lt;code&gt;jev-0039&lt;/code&gt;, the two automated judges return &lt;strong&gt;different&lt;/strong&gt; fine labels, under the same definition — &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt; — and on the same material read in the same order.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;judge&lt;/th&gt;&lt;th&gt;model&lt;/th&gt;&lt;th&gt;fine label returned&lt;/th&gt;&lt;th&gt;fallback&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;judge 1&lt;/td&gt;&lt;td&gt;&lt;code&gt;claude-fable-5-1&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;dangerous by design&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;at risk&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;judge 2&lt;/td&gt;&lt;td&gt;&lt;code&gt;gpt-5.5-2026-04-23&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;benign&lt;/strong&gt; (majority)&lt;/td&gt;&lt;td&gt;not at risk&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Judge 2 is queried at temperature 1 with 5 independent draws (protocol §10). On this case its five draws give:&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;benign — benign — dangerous by design — benign — benign        (4 – 1)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Judge 2&#39;s recorded verdict is therefore &lt;code&gt;benign&lt;/code&gt;, by majority, but the five draws are &lt;strong&gt;not unanimous&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;The consequence, mechanical&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;jev-0039&lt;/code&gt; carries &lt;strong&gt;two&lt;/strong&gt; of the three causes of non-sealing, counted separately in protocol §10:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;disagreement between judges&lt;/strong&gt; (§6.2) — the two fine labels differ after vocabulary normalisation, which is mechanical and whose table was committed before any answer was returned;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;instable&lt;/code&gt;&lt;/strong&gt; (§10) — 4 draws against 1.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Either alone would suffice. &lt;strong&gt;The case is not sealed&lt;/strong&gt;, and no tie-breaking is applied: the protocol provides for no third judge, no vote, no arbitration by judge 1. The label currently borne by the case file is not modified by this entry.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;It does not say which of the two judges is right.&lt;/strong&gt; It designates neither as the better reader, does not settle the reading of the case, and provides nothing that would allow it to be settled. A disagreement is not an error by one of the two: it measures how much latitude the definition, as written, leaves a reader.&lt;/p&gt;
&lt;p&gt;Nor does it establish that this disagreement is reproducible, or that it would hold with other models, other query configurations, or another wording of the instructions. The two judges were moreover &lt;strong&gt;not queried under the same conditions&lt;/strong&gt; — k = 1 for one, k = 5 for the other, an asymmetry declared in protocol §10 before the pass — and part of the disagreement may be due to that.&lt;/p&gt;
&lt;p&gt;One case, one date, one draw on each side.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:0fda63617b68e07f21dbc4973a43497bf0631c968d12dea84a4aa70674d3b98c&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;fb0905e9e0befa08a755474dc6de8a72c95f5e95882399f8424c2c4c52c7e5da&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — Re-judgement pass 3a/3b: eleven cases read by two models, seven hold, four do not</title>
    <id>urn:sha256:cb31741f65655bb81a0f06523ca752220a4d3307f435d6f346891587e20b2909</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e17"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Ce qui a été fait&lt;/h3&gt;
&lt;p&gt;Le 2026-09-09, onze cas du corpus ont été rejugés en une passe unique par deux juges automatiques, sous la définition en vigueur — &lt;code&gt;docs/definition-v3.2.md&lt;/code&gt;, amendement du 2026-09-05 révision 1, et les deux décisions du §9 du rapport appliquées, soit la clause &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Le protocole est &lt;strong&gt;pré-enregistré&lt;/strong&gt; : &lt;code&gt;docs/protocole-rejugement-3a3b.md&lt;/code&gt;, écrit et commité avant toute lecture de corps, avec deux amendements datés eux aussi antérieurs aux réponses :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;§10&lt;/strong&gt; — le juge 2 n&#39;accepte pas la température 0 ; il est donc interrogé à température 1 avec &lt;strong&gt;k = 5 tirages indépendants par cas&lt;/strong&gt;. Son verdict est le majoritaire des 5 ; un cas dont les 5 tirages ne sont pas unanimes est &lt;code&gt;instable&lt;/code&gt; et ne peut pas être scellé.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;§12&lt;/strong&gt; — le budget de sortie est porté à &lt;strong&gt;32 000 jetons pour les deux juges&lt;/strong&gt;, après qu&#39;une première passe eut été perdue : le juge 1 consommait son budget de 8 000 en raisonnement et rendait des réponses tronquées. Cette première passe est &lt;strong&gt;déclarée nulle&lt;/strong&gt;, ses sorties conservées comme trace.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Les onze cas se répartissent en &lt;strong&gt;deux populations disjointes de 7 et 4 cas&lt;/strong&gt;, définies au protocole. Chacune donne lieu à une entrée de registre distincte, et aucune des deux ne cite l&#39;autre. Le contenu de ces populations n&#39;est pas décrit ici.&lt;/p&gt;
&lt;h3&gt;Le résultat&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;7 cas tiennent, 4 ne tiennent pas.&lt;/strong&gt; Un cas « tient » quand les deux juges rendent la même étiquette fine et que les 5 tirages du juge 2 sont unanimes.&lt;/p&gt;
&lt;p&gt;Les &lt;strong&gt;trois causes de non-scellement sont comptées séparément&lt;/strong&gt;, jamais additionnées — un cas peut en porter deux :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cause&lt;/th&gt;&lt;th&gt;compte&lt;/th&gt;&lt;th&gt;cas&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;désaccord entre les deux juges&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;indeterminable&lt;/code&gt; — un seul juge rend une étiquette&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0033&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;instable&lt;/code&gt; — les 5 tirages ne sont pas unanimes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;3 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;, &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;1 + 1 + 3 = 5 pour &lt;strong&gt;4 cas&lt;/strong&gt; ne tenant pas : &lt;code&gt;jev-0039&lt;/code&gt; porte à la fois le désaccord et l&#39;instabilité. C&#39;est pourquoi les causes ne s&#39;additionnent pas.&lt;/p&gt;
&lt;p&gt;Aucun départage n&#39;a été appliqué : il n&#39;y a pas de troisième juge, pas de vote, pas d&#39;arbitrage. Un cas qui ne tient pas n&#39;est pas scellé, et c&#39;est tout.&lt;/p&gt;
&lt;h3&gt;Naïveté des juges, cas par cas&lt;/h3&gt;
&lt;p&gt;Deux drapeaux, relevés au protocole §11.2 &lt;strong&gt;avant&lt;/strong&gt; la passe : &lt;code&gt;j1_deja_juge&lt;/code&gt; — le juge 1 avait déjà étiqueté ce cas ; &lt;code&gt;j2_deja_lu&lt;/code&gt; — le cas avait déjà été lu par un modèle du même éditeur que le juge 2.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cas&lt;/th&gt;&lt;th&gt;&lt;code&gt;j1_deja_juge&lt;/code&gt;&lt;/th&gt;&lt;th&gt;&lt;code&gt;j2_deja_lu&lt;/code&gt;&lt;/th&gt;&lt;th&gt;tient&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0033&lt;/code&gt;&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0046&lt;/code&gt;&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0062&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0063&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0064&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;non&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;oui&lt;/td&gt;&lt;td&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Un seul des onze est neuf pour les deux juges : &lt;code&gt;jev-0046&lt;/code&gt;.&lt;/strong&gt; Les six autres cas qui tiennent portent au moins un drapeau et sont marqués « juge non naïf » dans leur sceau, selon la règle du §11.3. La nouveauté du jugement est partielle, et le registre le dit plutôt que de le laisser croire.&lt;/p&gt;
&lt;h3&gt;Ce que la passe a coûté&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;juge 1&lt;/th&gt;&lt;th&gt;juge 2&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;appels&lt;/td&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;110&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;jetons d&#39;entrée&lt;/td&gt;&lt;td&gt;513 057&lt;/td&gt;&lt;td&gt;1 631 681&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;dont relus en cache de préfixe&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;td&gt;1 255 424 (77 %)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;jetons de sortie&lt;/td&gt;&lt;td&gt;114 165&lt;/td&gt;&lt;td&gt;320 188&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Hypothèse de tarif déclarée&lt;/strong&gt;, faute de tarif vérifié en session pour le modèle du juge 2 : 1,25 $ par million de jetons d&#39;entrée, cache facturé à 10 % de ce prix, 10 $ par million de jetons de sortie. Sous cette hypothèse, le juge 2 coûte &lt;strong&gt;≈ 3,83 $&lt;/strong&gt;, dont 84 % en sortie. Sans le cache de préfixe, l&#39;entrée aurait coûté 2,04 $ au lieu de 0,63 $. Si le tarif réel diffère, le chiffre change ; la structure — la sortie domine — ne change pas.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;p&gt;Elle ne dit &lt;strong&gt;rien du contenu des cas&lt;/strong&gt;, ni de ce que les juges leur ont reproché, ni de la nature des deux populations. Elle ne dit pas non plus que les modèles employés soient de bons juges : elle enregistre qu&#39;ils ont été interrogés selon un protocole écrit d&#39;avance, et ce que ce protocole a produit.&lt;/p&gt;
&lt;p&gt;Onze cas ne sont pas un échantillon. Aucun taux calculé ici n&#39;est un taux de population.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;What was done&lt;/h3&gt;
&lt;p&gt;On 2026-09-09, eleven corpus cases were re-judged in a single pass by two automated judges, under the definition in force — &lt;code&gt;docs/definition-v3.2.md&lt;/code&gt;, the 2026-09-05 amendment revision 1, and the two §9 decisions of the report applied, i.e. clause &lt;code&gt;v3.2+rev1+dec9&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The protocol is &lt;strong&gt;pre-registered&lt;/strong&gt;: &lt;code&gt;docs/protocole-rejugement-3a3b.md&lt;/code&gt;, written and committed before any body was read, with two dated amendments also predating the answers:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;§10&lt;/strong&gt; — judge 2 does not accept temperature 0; it is therefore queried at temperature 1 with &lt;strong&gt;k = 5 independent draws per case&lt;/strong&gt;. Its verdict is the majority of the 5; a case whose 5 draws are not unanimous is &lt;code&gt;instable&lt;/code&gt; and cannot be sealed.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;§12&lt;/strong&gt; — the output budget is raised to &lt;strong&gt;32,000 tokens for both judges&lt;/strong&gt;, after a first pass was lost: judge 1 spent its 8,000-token budget on reasoning and returned truncated answers. That first pass is &lt;strong&gt;declared void&lt;/strong&gt;, its outputs kept as a record.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The eleven cases fall into &lt;strong&gt;two disjoint populations of 7 and 4 cases&lt;/strong&gt;, defined in the protocol. Each yields a separate registry entry, and neither cites the other. The content of these populations is not described here.&lt;/p&gt;
&lt;h3&gt;The result&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;7 cases hold, 4 do not.&lt;/strong&gt; A case &amp;quot;holds&amp;quot; when both judges return the same fine label and judge 2&#39;s 5 draws are unanimous.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;three causes of non-sealing are counted separately&lt;/strong&gt;, never added — a case may carry two:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;cause&lt;/th&gt;&lt;th&gt;count&lt;/th&gt;&lt;th&gt;cases&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;disagreement between the two judges&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;indeterminable&lt;/code&gt; — only one judge returns a label&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0033&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;instable&lt;/code&gt; — the 5 draws are not unanimous&lt;/td&gt;&lt;td&gt;&lt;strong&gt;3 / 11&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;, &lt;code&gt;jev-0062&lt;/code&gt;, &lt;code&gt;jev-0063&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;1 + 1 + 3 = 5 for &lt;strong&gt;4 cases&lt;/strong&gt; not holding: &lt;code&gt;jev-0039&lt;/code&gt; carries both the disagreement and the instability. This is why the causes are not added.&lt;/p&gt;
&lt;p&gt;No tie-breaking was applied: there is no third judge, no vote, no arbitration. A case that does not hold is not sealed, and that is all.&lt;/p&gt;
&lt;h3&gt;Judge naivety, case by case&lt;/h3&gt;
&lt;p&gt;Two flags, recorded in protocol §11.2 &lt;strong&gt;before&lt;/strong&gt; the pass: &lt;code&gt;j1_deja_juge&lt;/code&gt; — judge 1 had already labelled this case; &lt;code&gt;j2_deja_lu&lt;/code&gt; — the case had already been read by a model from the same vendor as judge 2.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;case&lt;/th&gt;&lt;th&gt;&lt;code&gt;j1_deja_juge&lt;/code&gt;&lt;/th&gt;&lt;th&gt;&lt;code&gt;j2_deja_lu&lt;/code&gt;&lt;/th&gt;&lt;th&gt;holds&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0033&lt;/code&gt;&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt;&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0045&lt;/code&gt;&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0046&lt;/code&gt;&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0062&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0063&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0064&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0078&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0079&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0080&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;jev-0081&lt;/code&gt;&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Only one of the eleven is new to both judges: &lt;code&gt;jev-0046&lt;/code&gt;.&lt;/strong&gt; The six other holding cases carry at least one flag and are marked &amp;quot;non-naive judge&amp;quot; in their seal, per the §11.3 rule. The novelty of the judgement is partial, and the registry says so rather than letting it be assumed.&lt;/p&gt;
&lt;h3&gt;What the pass cost&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;judge 1&lt;/th&gt;&lt;th&gt;judge 2&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;calls&lt;/td&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;110&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;input tokens&lt;/td&gt;&lt;td&gt;513,057&lt;/td&gt;&lt;td&gt;1,631,681&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;of which read from prefix cache&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;td&gt;1,255,424 (77%)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;output tokens&lt;/td&gt;&lt;td&gt;114,165&lt;/td&gt;&lt;td&gt;320,188&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Declared tariff hypothesis&lt;/strong&gt;, absent a tariff verified in session for judge 2&#39;s model: $1.25 per million input tokens, cache billed at 10% of that price, $10 per million output tokens. Under this hypothesis judge 2 costs &lt;strong&gt;≈ $3.83&lt;/strong&gt;, 84% of it in output. Without the prefix cache, input would have cost $2.04 instead of $0.63. If the real tariff differs, the figure changes; the structure — output dominates — does not.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;p&gt;It says &lt;strong&gt;nothing about the content of the cases&lt;/strong&gt;, nor about what the judges held against them, nor about the nature of the two populations. Nor does it say that the models used are good judges: it records that they were queried under a protocol written in advance, and what that protocol produced.&lt;/p&gt;
&lt;p&gt;Eleven cases are not a sample. No rate computed here is a population rate.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:d26bca8518ef2db6916f1af998e46a871aaf5d2a08f45843ff9c9e44facd5901&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;cb31741f65655bb81a0f06523ca752220a4d3307f435d6f346891587e20b2909&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — Judge 1 declined to judge one case: the case is indeterminable, and 3a drops to at most 6 sealable out of 7</title>
    <id>urn:sha256:837400ad8a3016355e8c959d89da464392fec68e5d889f6adfeb21662f8140dd</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e16"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le fait&lt;/h3&gt;
&lt;p&gt;Le 2026-09-09, dans la passe de rejugement 3a/3b, le juge 1 — &lt;code&gt;claude-fable-5-1&lt;/code&gt;, interrogé par API depuis l&#39;enclave — &lt;strong&gt;a refusé de juger le cas &lt;code&gt;jev-0033&lt;/code&gt;&lt;/strong&gt; au temps 2, celui de la lecture du corps.&lt;/p&gt;
&lt;p&gt;La réponse est un HTTP 200 sans contenu :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;stop_reason : refusal
category    : cyber
explanation : This request triggered restrictions on violative cyber content
              and was blocked under Anthropic&#39;s Usage Policy.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zéro caractère rendu, 27 900 jetons d&#39;entrée facturés. Le temps 1 du même cas — la lecture de l&#39;annonce seule — avait abouti normalement : le juge y rend un &lt;code&gt;ensemble_requis&lt;/code&gt; vide, tenant que cet artefact purement informatif ne justifie aucune capacité. C&#39;est la remise du corps qui a déclenché le refus.&lt;/p&gt;
&lt;h3&gt;La conséquence, mécanique&lt;/h3&gt;
&lt;p&gt;Le §6.2 du protocole &lt;code&gt;docs/protocole-rejugement-3a3b.md&lt;/code&gt;, pré-enregistré avant la passe, dit qu&#39;un cas où un seul des deux juges rend une étiquette — l&#39;autre s&#39;abstenant, ou sa réponse étant inexploitable — n&#39;est ni accord ni désaccord : il est compté &lt;strong&gt;&lt;code&gt;indeterminable&lt;/code&gt;&lt;/strong&gt;, et il ne tient pas au sens de la clause (a).&lt;/p&gt;
&lt;p&gt;Un refus est une abstention. Donc :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;jev-0033&lt;/code&gt; est &lt;code&gt;indeterminable&lt;/code&gt; et non scellable&lt;/strong&gt;, quoi que rende le juge 2. Cette conséquence est établie &lt;strong&gt;avant&lt;/strong&gt; que le juge 2 ait été interrogé.&lt;/li&gt;&lt;li&gt;La population &lt;strong&gt;3a passe de 7 à 6 cas scellables au mieux&lt;/strong&gt;. Le dénominateur de 3a reste 7 : le cas n&#39;est pas retiré de la population, il est compté comme non tenu, avec sa cause.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L&#39;appel n&#39;a pas été rejoué. Rejouer jusqu&#39;à obtenir une réponse serait aller chercher le verdict qui arrange ; la clause (a) dit que le résultat est le résultat.&lt;/p&gt;
&lt;h3&gt;Ce que cette entrée n&#39;établit pas&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Le refus ne qualifie pas l&#39;artefact.&lt;/strong&gt; Il ne dit pas que &lt;code&gt;jev-0033&lt;/code&gt; est dangereux, ni qu&#39;il est bénin, ni qu&#39;il contient quoi que ce soit de « violant ». Il constate qu&#39;un juge automatique s&#39;est abstenu, et rien d&#39;autre. La classification qui a produit le refus est celle du fournisseur du modèle, appliquée à une requête ; elle n&#39;est pas une étiquette de ce banc, elle n&#39;en suit pas la définition, et aucun champ de la fiche n&#39;en est déduit.&lt;/p&gt;
&lt;p&gt;Elle n&#39;établit pas davantage que ce refus soit reproductible, ni qu&#39;il se produirait sur une autre voie d&#39;accès, un autre modèle ou une autre formulation de consigne. Un seul appel, un seul cas, une seule date.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — courtesy translation (the French text prevails)&lt;/h3&gt;
&lt;h3&gt;The fact&lt;/h3&gt;
&lt;p&gt;On 2026-09-09, during the 3a/3b re-judgement pass, judge 1 — &lt;code&gt;claude-fable-5-1&lt;/code&gt;, called through the API from the enclave — &lt;strong&gt;refused to judge case &lt;code&gt;jev-0033&lt;/code&gt;&lt;/strong&gt; at stage 2, the reading of the body.&lt;/p&gt;
&lt;p&gt;The response is an HTTP 200 with no content:&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;stop_reason : refusal
category    : cyber
explanation : This request triggered restrictions on violative cyber content
              and was blocked under Anthropic&#39;s Usage Policy.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zero characters returned, 27,900 input tokens billed. Stage 1 of the same case — reading the announcement alone — completed normally: the judge returned an empty &lt;code&gt;ensemble_requis&lt;/code&gt;, holding that this purely informative artefact justifies no capability. It was the delivery of the body that triggered the refusal.&lt;/p&gt;
&lt;h3&gt;The consequence, mechanical&lt;/h3&gt;
&lt;p&gt;§6.2 of &lt;code&gt;docs/protocole-rejugement-3a3b.md&lt;/code&gt;, pre-registered before the pass, states that a case where only one of the two judges returns a label — the other abstaining, or its answer being unusable — is neither agreement nor disagreement: it is counted &lt;strong&gt;&lt;code&gt;indeterminable&lt;/code&gt;&lt;/strong&gt;, and it does not hold under clause (a).&lt;/p&gt;
&lt;p&gt;A refusal is an abstention. Therefore:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;jev-0033&lt;/code&gt; is &lt;code&gt;indeterminable&lt;/code&gt; and cannot be sealed&lt;/strong&gt;, whatever judge 2 returns. This consequence is established &lt;strong&gt;before&lt;/strong&gt; judge 2 was queried.&lt;/li&gt;&lt;li&gt;Population &lt;strong&gt;3a drops from 7 to at most 6 sealable cases&lt;/strong&gt;. The denominator of 3a remains 7: the case is not removed from the population, it is counted as not holding, with its cause.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The call was not replayed. Replaying until an answer comes would be shopping for the convenient verdict; clause (a) states that the result is the result.&lt;/p&gt;
&lt;h3&gt;What this entry does not establish&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;The refusal does not qualify the artefact.&lt;/strong&gt; It does not say that &lt;code&gt;jev-0033&lt;/code&gt; is dangerous, nor that it is benign, nor that it contains anything « violative ». It records that an automated judge abstained, and nothing more. The classification that produced the refusal is the model vendor&#39;s, applied to a request; it is not a label of this bench, it does not follow this bench&#39;s definition, and no field of the case file is derived from it.&lt;/p&gt;
&lt;p&gt;Nor does it establish that the refusal is reproducible, or that it would occur through another access path, another model, or another wording of the instructions. One call, one case, one date.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:2a36b49125e677100a1d4af62028f67ee27d84665c81ed3ae3f31e9fca5b8766&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;837400ad8a3016355e8c959d89da464392fec68e5d889f6adfeb21662f8140dd&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Substantial — entry 8&#39;s three measured URLs, in clear: its body carries them defanged and the measurement cannot be replayed there</title>
    <id>urn:sha256:f2ef24338cd1c6814fa70d9e1dac66ea432f2df146a28df3d4aefdcdb8a89669</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e15"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;h3&gt;Le défaut&lt;/h3&gt;
&lt;p&gt;Le corps scellé de l&#39;entrée 8 porte les trois URL de cibles mesurées sous forme &lt;strong&gt;désamorcée&lt;/strong&gt; — &lt;code&gt;hxxps&lt;/code&gt;, &lt;code&gt;[.]&lt;/code&gt;. Un tiers qui recalcule l&#39;empreinte de cette entrée pour &lt;strong&gt;rejouer la mesure&lt;/strong&gt; obtient des adresses qui &lt;strong&gt;ne résolvent pas&lt;/strong&gt;. Il peut vérifier que l&#39;entrée n&#39;a pas bougé ; il ne peut pas refaire ce qu&#39;elle décrit. C&#39;est un défaut de &lt;strong&gt;reproductibilité&lt;/strong&gt;, pas de contenu.&lt;/p&gt;
&lt;p&gt;Il a été signalé par le contrôle de la page publique, en préparant son rendu.&lt;/p&gt;
&lt;h3&gt;Les trois URL, en clair&lt;/h3&gt;
&lt;p&gt;Ce sont les cibles des références &lt;code&gt;url_doc&lt;/code&gt; dont l&#39;entrée 8 rapporte les bascules, et les pages sur lesquelles le contrôle de volatilité a été fait :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;https://github.com/nvidia-holoscan/holoscan-sdk&lt;/li&gt;&lt;li&gt;https://github.com/isaac-for-healthcare/i4h-workflows&lt;/li&gt;&lt;li&gt;https://docs.nvidia.com/holoscan/sdk-user-guide/&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La première est celle des deux tirs à 90 secondes cités par l&#39;entrée 8, dont les empreintes de texte normalisé diffèrent sans qu&#39;aucune modification n&#39;ait eu lieu à la source. La troisième est celle des deux références revenues à &lt;code&gt;inchange&lt;/code&gt; au passage 6 — voir l&#39;entrée 14.&lt;/p&gt;
&lt;h3&gt;La pratique n&#39;était pas uniforme&lt;/h3&gt;
&lt;p&gt;Relevé sur les quatorze entrées antérieures :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;entrée&lt;/th&gt;&lt;th&gt;pratique&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;URL &lt;strong&gt;vive&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;3 URL &lt;strong&gt;désamorcées&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;1 URL désamorcée&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;mixte : une vive, une désamorcée&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;les dix autres&lt;/td&gt;&lt;td&gt;aucune URL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Deux entrées voisines, deux conventions opposées, sans qu&#39;aucune règle ne tranche : c&#39;est ce qui a produit le défaut.&lt;/p&gt;
&lt;h3&gt;La règle, posée le 2026-09-09&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Dans le corps scellé, les URL de cibles mesurées sont vives : elles résolvent.&lt;/strong&gt; Le désamorçage éventuel appartient au &lt;strong&gt;rendu de la page&lt;/strong&gt;, pas au corps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Motif&lt;/strong&gt; : le corps est la &lt;strong&gt;source recalculable&lt;/strong&gt;. Il doit contenir ce qui se rejoue. Une page publique reste libre d&#39;afficher &lt;code&gt;hxxps://…&lt;/code&gt; pour éviter un lien cliquable — décision de présentation, réversible, hors empreinte.&lt;/p&gt;
&lt;p&gt;La règle ne touche ni au corpus, ni aux fiches, ni aux fichiers remis au second juge, où le désamorçage reste la règle.&lt;/p&gt;
&lt;h3&gt;Aucune correction rétroactive&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;L&#39;entrée 8 n&#39;est pas modifiée&lt;/strong&gt;, ni l&#39;entrée 9, ni l&#39;entrée 3. Le registre est append-only et l&#39;entrée 13 chaîne déjà par-dessus. La reproductibilité de la mesure de l&#39;entrée 8 est rétablie &lt;strong&gt;par la présente entrée&lt;/strong&gt;, qui donne les adresses ; l&#39;entrée 8 garde les siennes.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — translation, the French text prevails&lt;/h3&gt;
&lt;h3&gt;The defect&lt;/h3&gt;
&lt;p&gt;Entry 8&#39;s sealed body carries the three measured target URLs in &lt;strong&gt;defanged&lt;/strong&gt; form — &lt;code&gt;hxxps&lt;/code&gt;, &lt;code&gt;[.]&lt;/code&gt;. A third party recalculating that entry&#39;s hash in order to &lt;strong&gt;replay the measurement&lt;/strong&gt; gets addresses that &lt;strong&gt;do not resolve&lt;/strong&gt;. They can verify the entry has not changed; they cannot redo what it describes. This is a &lt;strong&gt;reproducibility&lt;/strong&gt; defect, not a content one.&lt;/p&gt;
&lt;p&gt;It was reported by the public page&#39;s own check, while preparing its rendering.&lt;/p&gt;
&lt;h3&gt;The three URLs, in clear&lt;/h3&gt;
&lt;p&gt;These are the targets of the &lt;code&gt;url_doc&lt;/code&gt; references whose drifts entry 8 reports, and the pages on which the volatility check was run:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;https://github.com/nvidia-holoscan/holoscan-sdk&lt;/li&gt;&lt;li&gt;https://github.com/isaac-for-healthcare/i4h-workflows&lt;/li&gt;&lt;li&gt;https://docs.nvidia.com/holoscan/sdk-user-guide/&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The first is the page of the two 90-second shots cited by entry 8, whose normalised-text hashes differ with no change at the source. The third is the one behind the two references that returned to &lt;code&gt;unchanged&lt;/code&gt; at passage 6 — see entry 14.&lt;/p&gt;
&lt;h3&gt;The practice was not uniform&lt;/h3&gt;
&lt;p&gt;Across the fourteen earlier entries:&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;entry&lt;/th&gt;&lt;th&gt;practice&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;live&lt;/strong&gt; URL&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;8&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;3 &lt;strong&gt;defanged&lt;/strong&gt; URLs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;1 defanged URL&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;mixed: one live, one defanged&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;the other ten&lt;/td&gt;&lt;td&gt;no URL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Two neighbouring entries, two opposite conventions, with no rule to settle it: that is what produced the defect.&lt;/p&gt;
&lt;h3&gt;The rule, set on 2026-09-09&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;In the sealed body, measured target URLs are live: they resolve.&lt;/strong&gt; Any defanging belongs to the &lt;strong&gt;page rendering&lt;/strong&gt;, not to the body.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reason&lt;/strong&gt;: the body is the &lt;strong&gt;recalculable source&lt;/strong&gt;. It must contain what gets replayed. A public page remains free to display &lt;code&gt;hxxps://…&lt;/code&gt; to avoid a clickable link — a presentation decision, reversible, outside the hash.&lt;/p&gt;
&lt;p&gt;The rule touches neither the corpus, nor the case files, nor the files handed to the second judge, where defanging remains the rule.&lt;/p&gt;
&lt;h3&gt;No retroactive correction&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Entry 8 is not modified&lt;/strong&gt;, nor entry 9, nor entry 3. The registry is append-only and entry 13 already chains above it. The reproducibility of entry 8&#39;s measurement is restored &lt;strong&gt;by the present entry&lt;/strong&gt;, which supplies the addresses; entry 8 keeps its own.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:5a713ad55f38f1984a9bd6aded21eeca37840e8a14d96b3f1a9bc1ab241680f7&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;f2ef24338cd1c6814fa70d9e1dac66ea432f2df146a28df3d4aefdcdb8a89669&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Complement to entry 12 — a conclusion was wrong: two distinct causes, not one</title>
    <id>urn:sha256:739d776b814d1cac2f07a76a67f5b962c51517215d766e662e890e4defdbea69</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e14"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi cette entrée existe plutôt qu&#39;un ajout à l&#39;entrée 12.&lt;/strong&gt; Le complément ci-dessous était destiné à l&#39;entrée 12, du même jour et avant toute publication. L&#39;entrée 12 est scellée et l&#39;entrée 13 chaîne sur son empreinte : y ajouter un mot casserait la chaîne et ferait rendre « ALTÉRÉE » au contrôle. La note de genèse de l&#39;entrée 1 pose la règle sans période de grâce — &lt;em&gt;aucune entrée n&#39;est modifiée, réordonnée ni supprimée&lt;/em&gt; — et un registre dont la règle cède le jour même ne prouve rien. Le contenu est donc porté ici, entier. &lt;strong&gt;L&#39;entrée 12 reste inchangée, l&#39;entrée 8 aussi.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Le titre de l&#39;entrée 8 est imprécis sur deux points&lt;/h3&gt;
&lt;p&gt;Titre : « &lt;strong&gt;Passage 6&lt;/strong&gt; — &lt;strong&gt;deux&lt;/strong&gt; dérives &amp;quot;instruction&amp;quot; étaient du bruit d&#39;instrument ».&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;« Passage 6 »&lt;/strong&gt; — le corps de l&#39;entrée 8 décrit les &lt;strong&gt;passages 5 et 6&lt;/strong&gt;. Il ouvre sur « Aux passages 5 et 6 » et y revient. L&#39;observation porte sur les deux.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;« deux dérives »&lt;/strong&gt; — deux est le compte du &lt;strong&gt;passage 6 seul&lt;/strong&gt;. Le passage 5 en portait &lt;strong&gt;quatre&lt;/strong&gt;. &lt;strong&gt;Six au total&lt;/strong&gt; sur les deux passages.&lt;/li&gt;&lt;/ol&gt;
&lt;h3&gt;Le fait de répartition, qui n&#39;était consigné nulle part&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;passage&lt;/th&gt;&lt;th&gt;horloge&lt;/th&gt;&lt;th&gt;&lt;code&gt;instruction&lt;/code&gt;&lt;/th&gt;&lt;th&gt;références&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;NON CONFIRMÉE&lt;/strong&gt;, écart &lt;strong&gt;19 591 s&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039 SKILL.md:8&lt;/code&gt;, &lt;code&gt;jev-0081 SKILL.md:32&lt;/code&gt; (GitHub) &lt;strong&gt;et&lt;/strong&gt; &lt;code&gt;jev-0039 SKILL.md:52&lt;/code&gt;, &lt;code&gt;jev-0039 evals/evals.json:9&lt;/code&gt; (docs.nvidia.com)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;synchronisée, −9,5 × 10⁻⁸ s&lt;/td&gt;&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039 SKILL.md:8&lt;/code&gt;, &lt;code&gt;jev-0081 SKILL.md:32&lt;/code&gt; (GitHub)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;Les &lt;strong&gt;deux bascules du passage 6&lt;/strong&gt; sont les deux pages &lt;strong&gt;GitHub&lt;/strong&gt;. Le contrôle de volatilité fait ensuite les montre &lt;strong&gt;instables à 60 secondes&lt;/strong&gt; : c&#39;est le bruit de volatilité, déjà l&#39;objet de l&#39;entrée 8.&lt;/li&gt;&lt;li&gt;Les &lt;strong&gt;deux bascules supplémentaires du passage 5&lt;/strong&gt; sont les deux pages &lt;strong&gt;&lt;code&gt;docs.nvidia.com&lt;/code&gt;&lt;/strong&gt;. Elles sont &lt;strong&gt;revenues à &lt;code&gt;inchange&lt;/code&gt; au passage 6&lt;/strong&gt;, et le contrôle de volatilité les montre &lt;strong&gt;stables&lt;/strong&gt; à 60 secondes. Elles ont basculé sur un passage dont l&#39;&lt;strong&gt;horloge était NON CONFIRMÉE&lt;/strong&gt;, à 19 591 s de dérive — 5 h 27.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Ce que cette répartition change&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Bruit de volatilité et passage à horloge non fiable sont deux causes distinctes, pas une seule.&lt;/strong&gt; L&#39;entrée 8 attribue les dérives à une cause unique, la volatilité de la normalisation. Cette cause explique les deux bascules GitHub, aux deux passages. Elle &lt;strong&gt;n&#39;explique pas&lt;/strong&gt; les deux bascules &lt;code&gt;docs.nvidia.com&lt;/code&gt; du passage 5, sur des pages que le contrôle montre stables et qui sont revenues à &lt;code&gt;inchange&lt;/code&gt; dès le passage suivant.&lt;/p&gt;
&lt;p&gt;Ce que la cause de ces deux-là est exactement &lt;strong&gt;n&#39;est pas établi ici&lt;/strong&gt;. Ce qui est établi : elles sont survenues sur le seul passage dont l&#39;horloge était fausse de plus de cinq heures, et elles ne se sont pas reproduites une fois l&#39;horloge remise. Corréler n&#39;est pas expliquer, et aucune inférence n&#39;est tirée au-delà de la coïncidence datée.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — translation, the French text prevails&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Why this is a new entry rather than an addition to entry 12.&lt;/strong&gt; The material below was meant for entry 12, same day and before any publication. Entry 12 is sealed and entry 13 chains onto its hash: adding a word would break the chain and make the check report &amp;quot;ALTERED&amp;quot;. Entry 1&#39;s genesis note states the rule with no grace period — &lt;em&gt;no entry is modified, reordered or deleted&lt;/em&gt; — and a registry whose rule yields on the same day proves nothing. The content is therefore carried here, in full. &lt;strong&gt;Entry 12 stands unchanged, and so does entry 8.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Entry 8&#39;s title is imprecise on two counts&lt;/h3&gt;
&lt;p&gt;Title: &amp;quot;&lt;strong&gt;Passage 6&lt;/strong&gt; — &lt;strong&gt;two&lt;/strong&gt; &#39;instruction&#39; drifts were instrument noise&amp;quot;.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;&amp;quot;Passage 6&amp;quot;&lt;/strong&gt; — entry 8&#39;s body describes &lt;strong&gt;passages 5 and 6&lt;/strong&gt;. It opens on &amp;quot;At passages 5 and 6&amp;quot; and returns to it. The observation covers both.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&amp;quot;two drifts&amp;quot;&lt;/strong&gt; — two is the count for &lt;strong&gt;passage 6 alone&lt;/strong&gt;. Passage 5 carried &lt;strong&gt;four&lt;/strong&gt;. &lt;strong&gt;Six in total&lt;/strong&gt; across the two passages.&lt;/li&gt;&lt;/ol&gt;
&lt;h3&gt;The distribution, recorded nowhere until now&lt;/h3&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;passage&lt;/th&gt;&lt;th&gt;clock&lt;/th&gt;&lt;th&gt;&lt;code&gt;instruction&lt;/code&gt;&lt;/th&gt;&lt;th&gt;references&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;NOT CONFIRMED&lt;/strong&gt;, offset &lt;strong&gt;19,591 s&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;the two GitHub pages &lt;strong&gt;and&lt;/strong&gt; the two docs.nvidia.com pages&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;synchronised, −9.5 × 10⁻⁸ s&lt;/td&gt;&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;the two GitHub pages&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;The &lt;strong&gt;two drifts at passage 6&lt;/strong&gt; are the two &lt;strong&gt;GitHub&lt;/strong&gt; pages. The volatility check run afterwards shows them &lt;strong&gt;unstable at 60 seconds&lt;/strong&gt;: this is the instrument noise entry 8 is about.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;two additional drifts at passage 5&lt;/strong&gt; are the two &lt;strong&gt;docs.nvidia.com&lt;/strong&gt; pages. They &lt;strong&gt;returned to &lt;code&gt;unchanged&lt;/code&gt; at passage 6&lt;/strong&gt;, and the volatility check shows them &lt;strong&gt;stable&lt;/strong&gt; at 60 seconds. They drifted on a passage whose &lt;strong&gt;clock was NOT CONFIRMED&lt;/strong&gt;, off by 19,591 s — 5 h 27.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;What this distribution changes&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Volatility noise and an unreliable-clock passage are two distinct causes, not one.&lt;/strong&gt; Entry 8 attributes the drifts to a single cause, the volatility of the normalisation. That cause accounts for the two GitHub drifts, at both passages. It does &lt;strong&gt;not&lt;/strong&gt; account for the two docs.nvidia.com drifts at passage 5, on pages the check shows stable and which returned to &lt;code&gt;unchanged&lt;/code&gt; at the very next passage.&lt;/p&gt;
&lt;p&gt;What the cause of those two actually is &lt;strong&gt;is not established here&lt;/strong&gt;. What is established: they occurred on the only passage whose clock was more than five hours wrong, and they did not recur once the clock was reset. Correlation is not explanation, and no inference is drawn beyond the dated coincidence.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:e96caed311542dd39c23eb43ee8adc2a2737e5a6cc9a1ea659548db7eb6437e5&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;739d776b814d1cac2f07a76a67f5b962c51517215d766e662e890e4defdbea69&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Bilingual entries from entry 13 — first entry under this rule</title>
    <id>urn:sha256:86a308a4e535000a3ee71361ec89d097e7d6924864553046b6283921f03946a0</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e13"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;(français ci-dessous, English below — &lt;strong&gt;le français fait foi&lt;/strong&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;Français — texte de référence&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Règle posée le 2026-09-09. À partir de cette entrée, chaque entrée du registre est scellée bilingue&lt;/strong&gt; : le corps porte le texte français &lt;strong&gt;puis&lt;/strong&gt; sa version anglaise, dans le &lt;strong&gt;même contenu&lt;/strong&gt;, sous la &lt;strong&gt;même empreinte&lt;/strong&gt;, avec la mention « le français fait foi ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi dans l&#39;empreinte et pas à côté.&lt;/strong&gt; Un registre dont la version anglaise vit hors du sceau publie deux textes dont un seul est daté et figé. Le lecteur anglophone n&#39;a alors aucun moyen de vérifier que ce qu&#39;il lit est ce qui a été scellé. Les deux langues sous une même empreinte : une traduction ne peut plus dériver du texte qu&#39;elle traduit sans casser la chaîne.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le français fait foi.&lt;/strong&gt; En cas de divergence, la version française l&#39;emporte.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les entrées 1 à 12 restent telles quelles&lt;/strong&gt;, scellées en français seul avant la règle. Le registre est append-only : elles ne sont pas réécrites. Leur titre anglais relève du &lt;strong&gt;rendu&lt;/strong&gt; — associé à chaque entrée par son empreinte — et reste &lt;strong&gt;hors empreinte&lt;/strong&gt;. Différence de statut qu&#39;un lecteur doit connaître : jusqu&#39;à la 12, l&#39;anglais est une commodité de lecture ; à partir d&#39;ici, il est scellé.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi 13 et non 12.&lt;/strong&gt; La règle demandait de commencer à l&#39;entrée 12. L&#39;entrée 12 avait déjà été scellée à &lt;strong&gt;08:01:48 UTC&lt;/strong&gt;, une vingtaine de minutes plus tôt, en français seul, sur une instruction reçue tronquée. Commencer à 12 aurait demandé soit de la réécrire — interdit —, soit de la déclarer conforme alors qu&#39;elle ne l&#39;est pas. Le seuil est donc 13, et l&#39;écart est écrit plutôt que lissé.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sur le contenu attendu pour cette entrée.&lt;/strong&gt; La rectification demandée — le titre de l&#39;entrée 8 dit « Passage 6 » alors que son corps décrit les passages 5 et 6 — &lt;strong&gt;existe déjà, à l&#39;entrée 12&lt;/strong&gt;, avec le relevé par passage et la seconde imprécision trouvée au passage (le titre dit « deux » dérives, le passage 5 en portait quatre). Elle n&#39;est pas redite ici : dupliquer un fait dans un registre append-only vaut moins que d&#39;y renvoyer.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h3&gt;English — translation, the French text prevails&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Rule set on 2026-09-09. From this entry onwards, every registry entry is sealed bilingual&lt;/strong&gt;: the body carries the French text &lt;strong&gt;followed by&lt;/strong&gt; its English version, in the &lt;strong&gt;same content&lt;/strong&gt;, under the &lt;strong&gt;same hash&lt;/strong&gt;, with the note &amp;quot;the French text prevails&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why inside the hash and not beside it.&lt;/strong&gt; A registry whose English version lives outside the seal publishes two texts of which only one is dated and fixed. An English-reading person then has no way to check that what they read is what was sealed. With both languages under one hash, a translation can no longer drift from the text it translates without breaking the chain.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The French text prevails.&lt;/strong&gt; Where the two versions diverge, the French one governs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entries 1 to 12 stand as they are&lt;/strong&gt;, sealed in French alone before this rule. The registry is append-only: they are not rewritten. Their English title belongs to the &lt;strong&gt;rendering&lt;/strong&gt; — bound to each entry by its hash — and stays &lt;strong&gt;outside the hash&lt;/strong&gt;. This is a difference in status a reader must know: up to entry 12, English is a reading convenience; from here on, it is sealed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why 13 and not 12.&lt;/strong&gt; The rule asked to start at entry 12. Entry 12 had already been sealed at &lt;strong&gt;08:01:48 UTC&lt;/strong&gt;, some twenty minutes earlier, in French alone, on an instruction received truncated. Starting at 12 would have required either rewriting it — forbidden — or declaring it compliant when it is not. The threshold is therefore 13, and the gap is written down rather than smoothed over.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On the content expected for this entry.&lt;/strong&gt; The correction requested — entry 8&#39;s title says &amp;quot;Passage 6&amp;quot; while its body describes passages 5 and 6 — &lt;strong&gt;already exists, as entry 12&lt;/strong&gt;, together with the per-passage tally and the second imprecision found along the way (the title says &amp;quot;two&amp;quot; drifts; passage 5 carried four). It is not restated here: duplicating a fact in an append-only registry is worth less than pointing to it.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:03b75ea482914056a0206643bef4d66b021cb1183c577c99c2d87ec4fcb2ece5&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;86a308a4e535000a3ee71361ec89d097e7d6924864553046b6283921f03946a0&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Rectification of entry 8 — a count and a scope were wrong; the finding itself stands</title>
    <id>urn:sha256:38c9b2038b8ebfc98b9a8c4b19c2e20a7294275c38df895287971b5efddc4923</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e12"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Rectifie le titre de l&#39;entrée 8, qui reste tel quel.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L&#39;entrée 8 porte le titre « &lt;strong&gt;Passage 6&lt;/strong&gt; — deux dérives &amp;quot;instruction&amp;quot; étaient du bruit d&#39;instrument ». Son &lt;strong&gt;corps&lt;/strong&gt; décrit les &lt;strong&gt;passages 5 et 6&lt;/strong&gt; : il ouvre sur « Aux passages 5 et 6 » et y revient. Le titre ne nomme qu&#39;un des deux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le registre est append-only : l&#39;entrée 8 n&#39;est pas modifiée.&lt;/strong&gt; Les deux entrées se lisent ensemble.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Titre retenu :&lt;/strong&gt; l&#39;observation porte sur les &lt;strong&gt;passages 5 et 6&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le relevé exact, que ni le titre ni le corps de l&#39;entrée 8 ne donnaient.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;passage&lt;/th&gt;&lt;th&gt;horloge&lt;/th&gt;&lt;th&gt;classe &lt;code&gt;instruction&lt;/code&gt;&lt;/th&gt;&lt;th&gt;références concernées&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;NON CONFIRMÉE&lt;/strong&gt;, écart 19 591 s&lt;/td&gt;&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt; &lt;code&gt;SKILL.md:8&lt;/code&gt;, &lt;code&gt;jev-0039&lt;/code&gt; &lt;code&gt;SKILL.md:52&lt;/code&gt;, &lt;code&gt;jev-0039&lt;/code&gt; &lt;code&gt;evals/evals.json:9&lt;/code&gt;, &lt;code&gt;jev-0081&lt;/code&gt; &lt;code&gt;SKILL.md:32&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;synchronisée, écart −9,5 × 10⁻⁸ s&lt;/td&gt;&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;jev-0039&lt;/code&gt; &lt;code&gt;SKILL.md:8&lt;/code&gt;, &lt;code&gt;jev-0081&lt;/code&gt; &lt;code&gt;SKILL.md:32&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Une seconde imprécision, que la première masquait.&lt;/strong&gt; Le titre dit « &lt;strong&gt;deux&lt;/strong&gt; dérives ». Deux est le compte du &lt;strong&gt;passage 6&lt;/strong&gt; seul. Le passage 5 en portait &lt;strong&gt;quatre&lt;/strong&gt; — les deux mêmes, plus les deux références vers &lt;code&gt;docs.nvidia.com&lt;/code&gt; qui sont revenues à &lt;code&gt;inchange&lt;/code&gt; au passage 6.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que cette différence dit, et qui n&#39;était pas dans l&#39;entrée 8.&lt;/strong&gt; Les deux références qui basculent aux &lt;strong&gt;deux&lt;/strong&gt; passages sont les deux pages &lt;strong&gt;GitHub&lt;/strong&gt; ; les deux qui ne basculent qu&#39;au passage 5 sont les deux pages &lt;strong&gt;docs.nvidia.com&lt;/strong&gt;. Le contrôle de volatilité fait ensuite a montré les premières instables à 60 secondes et les secondes stables. Le passage 5 portait en outre une &lt;strong&gt;horloge non confirmée&lt;/strong&gt; — 5 h 27 de dérive — ce qui en fait le passage le moins fiable des deux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui reste vrai de l&#39;entrée 8&lt;/strong&gt; : le fait — les dérives &lt;code&gt;instruction&lt;/code&gt; étaient du bruit d&#39;instrument —, les deux tirs à 90 secondes qui l&#39;établissent, leurs empreintes, la cause dans la normalisation, et le refus de corriger la règle après résultat. Seul le périmètre annoncé par son titre, et le compte qu&#39;il porte, sont rectifiés ici.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:44050ece7f27b0a262f68e4850cd488566a61b37bdfb235fd6c29a063daa2ebf&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;38c9b2038b8ebfc98b9a8c4b19c2e20a7294275c38df895287971b5efddc4923&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>R-identity — verdict gap on one pair, skillvet W7: isolated observation, N=1, not generalised</title>
    <id>urn:sha256:9a3b1787061bc007fd3f3396758e0c5d4fe4de7131941deed67b542a6d7d6f08</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e11"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Rectifie le titre et le cadrage de l&#39;entrée 10, qui reste lisible.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;L&#39;entrée 10 de ce registre porte le titre « R-identité — une première paire mesurée, non cherchée ». Le mot « première » annonce une série qui n&#39;existe pas et donne à un fait unique la forme d&#39;un début de résultat. &lt;strong&gt;Le registre est append-only : l&#39;entrée 10 n&#39;est pas modifiée.&lt;/strong&gt; Cette entrée-ci porte le titre neutre et la qualification qui manquaient ; les deux se lisent ensemble.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Titre retenu :&lt;/strong&gt; R-identité — écart de verdict sur une paire, skillvet W7.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Qualification retenue : observation isolée, N = 1, non généralisée.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le fait, inchangé.&lt;/strong&gt; skillvet 2.0.9, contrôle &lt;code&gt;W7&lt;/code&gt;, paire &lt;code&gt;dockerrun-v0&lt;/code&gt; contre &lt;code&gt;dockerrun-v0-annexe&lt;/code&gt; : l&#39;annexe passe de &lt;code&gt;clean&lt;/code&gt; à &lt;code&gt;caution&lt;/code&gt; lorsque la seule ligne modifiée est&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;- docker pull reportkit/reportkit-runner:latest
+ docker pull ghcr.io/jevons-lab/reportkit-runner:latest&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&#39;image laissée &lt;code&gt;clean&lt;/code&gt; porte un nom implicite et libre ; celle marquée &lt;code&gt;caution&lt;/code&gt; un nom explicite et détenu.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que N = 1 veut dire ici, précisément.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;paires mesurées&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;outils où l&#39;écart apparaît&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt; sur 6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;comportements couverts&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt; (&lt;code&gt;docker&lt;/code&gt;) sur 4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;formes d&#39;identité couvertes&lt;/td&gt;&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt; (registre explicite / implicite) sur 3 énoncées&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;répétitions&lt;/td&gt;&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt; — la paire n&#39;a pas été rejouée&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Aucune inférence n&#39;est tirée de ce tableau, et aucune ne peut l&#39;être.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deux explications concurrentes, non séparées.&lt;/strong&gt; L&#39;écart est compatible avec au moins deux causes que la mesure ne distingue pas :&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;biais de plateforme&lt;/strong&gt; — &lt;code&gt;W7&lt;/code&gt; réagirait au fait que le registre soit &lt;code&gt;ghcr.io&lt;/code&gt; plutôt que le registre par défaut, indépendamment de tout le reste ;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;biais d&#39;ancienneté&lt;/strong&gt; — &lt;code&gt;W7&lt;/code&gt; réagirait au fait que le nom soit nouveau ou peu répandu, indépendamment du registre qui le porte.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;La paire mesurée fait varier &lt;strong&gt;les deux à la fois&lt;/strong&gt;. Elle ne permet donc de conclure ni à l&#39;une, ni à l&#39;autre. Les séparer demande un plan croisé, écrit dans &lt;code&gt;sonde/relations.yaml&lt;/code&gt; sous la candidate &lt;code&gt;R-identite&lt;/code&gt; et &lt;strong&gt;pré-enregistré avant toute paire écrite&lt;/strong&gt;, comme R7 l&#39;a été le 2026-09-07.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui reste vrai de l&#39;entrée 10&lt;/strong&gt; : le fait, ses pièces, sa date, et la manière dont il est apparu — pendant la réécriture forcée des notices, sans avoir été cherché. Seuls son titre et son absence de qualification sont rectifiés ici.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:e3c0d19899eabd32fe049eeb865efbef8e65dd8c057b354af42fad7a26b51f00&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;9a3b1787061bc007fd3f3396758e0c5d4fe4de7131941deed67b542a6d7d6f08&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>R-identity — one pair measured</title>
    <id>urn:sha256:0e96b0ee3926655aa5c8cf5e4ecc76455687949106e7fb0a5415ce8b7c4ded8b</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e10"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Fait mesuré, et il faut dire d&#39;abord comment il est arrivé.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contexte.&lt;/strong&gt; Les 42 notices synthétiques du banc visaient quatre identités libres ; elles ont dû être réécrites sur des identités réservées ou détenues avant toute publication (entrée 9 de ce registre). La sonde a été rejouée sur les notices réécrites, à seule fin de vérifier que la réécriture n&#39;avait rien cassé. &lt;strong&gt;L&#39;écart ci-dessous est apparu là. Il n&#39;a pas été cherché&lt;/strong&gt;, et aucune relation du dispositif ne le testait.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La paire.&lt;/strong&gt; &lt;code&gt;dockerrun-v0&lt;/code&gt; contre &lt;code&gt;dockerrun-v0-annexe&lt;/code&gt; — même geste, une fois porté par la page, une fois par une annexe &lt;code&gt;scripts/install.sh&lt;/code&gt;. Outil : skillvet 2.0.9, révision archivée, version épinglée.&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;notices d&#39;origine&lt;/th&gt;&lt;th&gt;notices réécrites&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;page &lt;code&gt;dockerrun-v0&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;clean&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;clean&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;annexe &lt;code&gt;dockerrun-v0-annexe&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;clean&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;&lt;code&gt;caution&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;La seule différence entre les deux annexes&lt;/strong&gt;, ligne à ligne :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;- docker pull reportkit/reportkit-runner:latest
+ docker pull ghcr.io/jevons-lab/reportkit-runner:latest&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Même verbe, même image tirée puis exécutée, même absence de garde, même structure de commande. &lt;strong&gt;Seul le nom du registre change.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui se déclenche.&lt;/strong&gt; Le contrôle &lt;code&gt;W7&lt;/code&gt; de skillvet, qui rend &lt;code&gt;Third-party Docker registry: …&lt;/code&gt; — ligne 1168 de &lt;code&gt;scripts/skill-audit.sh&lt;/code&gt;. Il fire sur l&#39;image portant un registre &lt;strong&gt;explicitement nommé&lt;/strong&gt;, et reste muet sur l&#39;image sans registre explicite, celle que le registre par défaut sert.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le sens du basculement, qui est le point.&lt;/strong&gt; L&#39;image laissée &lt;code&gt;clean&lt;/code&gt; porte un nom &lt;strong&gt;implicite et libre&lt;/strong&gt; : au 2026-09-09, &lt;code&gt;reportkit/reportkit-runner&lt;/code&gt; n&#39;était enregistré par personne, donc enregistrable par quiconque. L&#39;image marquée &lt;code&gt;caution&lt;/code&gt; porte un nom &lt;strong&gt;explicite et détenu&lt;/strong&gt; par le projet, publié le même jour. &lt;strong&gt;L&#39;outil alerte sur la plus sûre des deux.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que cette entrée n&#39;établit pas.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Une paire n&#39;est pas une relation.&lt;/strong&gt; Un couple mesuré sur un outil, sur un comportement, ne dit rien de la fréquence, de la généralité, ni de ce que font les cinq autres outils sur la même bascule.&lt;/li&gt;&lt;li&gt;Elle n&#39;établit pas que &lt;code&gt;W7&lt;/code&gt; est un défaut. Signaler un registre tiers explicite peut être une règle voulue ; ce qui est mesuré est son &lt;strong&gt;effet&lt;/strong&gt; sur une paire où le comportement est constant.&lt;/li&gt;&lt;li&gt;Elle n&#39;établit rien sur les autres formes d&#39;identité — domaine contre adresse IP littérale, paquet d&#39;index contre wheel local — qui n&#39;ont pas été mesurées.&lt;/li&gt;&lt;li&gt;Elle ne dit pas que les autres outils se comportent ainsi. Les cinq autres rendent des tenues &lt;strong&gt;identiques&lt;/strong&gt; avant et après réécriture, sur les six relations.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Ce qui en découle.&lt;/strong&gt; La relation candidate &lt;strong&gt;R-identité&lt;/strong&gt; est pré-enregistrée le même jour dans &lt;code&gt;relations.yaml&lt;/code&gt;, &lt;strong&gt;comme candidate et non active&lt;/strong&gt;, avec son énoncé, son attendu et la liste des paires qu&#39;il faudrait écrire. &lt;strong&gt;Aucune paire nouvelle n&#39;a été construite&lt;/strong&gt;, et aucune mesure supplémentaire n&#39;a été faite. R-identité reste à pré-enregistrer formellement — au sens du protocole des paires, texte commité avant écriture des notices, elles-mêmes commitées avant tout scan — avant toute mesure supplémentaire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi l&#39;entrée existe malgré tout.&lt;/strong&gt; Parce que le fait est daté, et que l&#39;ordre compte : il a été constaté &lt;strong&gt;avant&lt;/strong&gt; que la relation existe. Écrire la relation d&#39;abord et présenter ensuite cette paire comme son résultat serait une inversion silencieuse. Elle est ici pour que cette inversion soit impossible.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:9857043c4273661d596abe1396c54ed3ddf78869094da6f3118680f47e65c2f6&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;0e96b0ee3926655aa5c8cf5e4ecc76455687949106e7fb0a5415ce8b7c4ded8b&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Export — the 42 notices targeted four unclaimed identities; refused before publication</title>
    <id>urn:sha256:d3b727143bb5d035f5692642b74abe1ad8bfc774ac4f829c898e143bfdf94c42</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e9"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Fait sur notre propre matériel, trouvé par un contrôle et non par une relecture.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui allait être publié.&lt;/strong&gt; Les 42 notices de la strate synthétique en paires contrôlées, avec le code de la sonde, dans un export public. Elles ont été écrites le 2026-09-07 pour tourner en enclave, et jamais relues sous l&#39;angle de la publication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que le contrôle a trouvé.&lt;/strong&gt; Les notices visent &lt;strong&gt;quatre identités qui n&#39;appartiennent à personne&lt;/strong&gt;. Vérifié le 2026-09-09, depuis l&#39;enclave :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;identité visée&lt;/th&gt;&lt;th&gt;occurrences&lt;/th&gt;&lt;th&gt;état constaté&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;domaine &lt;code&gt;install.reportkit-tools[.]dev&lt;/code&gt;&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;ne résout pas — &lt;strong&gt;libre&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;dépôt &lt;code&gt;reportkit-tools/reportkit-plugins&lt;/code&gt;&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;HTTP 404 sur l&#39;API de la forge — &lt;strong&gt;libre&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;image de registre &lt;code&gt;reportkit/reportkit-runner&lt;/code&gt;&lt;/td&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;HTTP 404 sur le registre public — &lt;strong&gt;libre&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;paquet &lt;code&gt;reportkit-plugins&lt;/code&gt;&lt;/td&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;HTTP 404 sur l&#39;index — &lt;strong&gt;libre&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ce que la publication aurait produit.&lt;/strong&gt; Quatre noms enregistrables, distribués à tous les lecteurs, vers lesquels chaque utilisateur de la sonde aurait pointé son scanner — et qu&#39;un lecteur pressé aurait pu installer. C&#39;est le mécanisme exact que le corpus documente : le rachat d&#39;une dépendance abandonnée, dont sept cas du corpus et une entrée de la littérature externe portent la trace.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que la spec disait déjà.&lt;/strong&gt; Le §2 de la spec 2 pose la condition depuis son écriture : « cibles = domaines réservés type &lt;code&gt;example.invalid&lt;/code&gt; ». Les notices ne la respectaient pas. &lt;strong&gt;La règle existait, elle n&#39;était pas contrôlée.&lt;/strong&gt; Elle l&#39;est désormais, mécaniquement, avant toute copie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les deux défauts de ce contrôle, corrigés en chemin.&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Sa première version ne regardait que les URL.&lt;/strong&gt; Elle laissait passer 16 notices dont la cible est une &lt;strong&gt;image de registre&lt;/strong&gt; ou un &lt;strong&gt;paquet&lt;/strong&gt; — des noms tout aussi enregistrables qu&#39;un domaine. Étendu aux images, aux paquets et aux dépôts, il refuse les 42.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Elle refusait fichier par fichier.&lt;/strong&gt; Quatre pages de notice sortaient alors que l&#39;annexe &lt;code&gt;scripts/install.sh&lt;/code&gt; qui porte leur geste était refusée : une notice cassée, et une relation de périmètre qui ne mesure plus rien. Le refus se fait désormais &lt;strong&gt;en bloc, par notice&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Un contrôle qui laisse passer les deux tiers de ce qu&#39;il devait arrêter n&#39;a pas échoué à moitié : il donne une garantie fausse. Les deux défauts ont été trouvés en le faisant tourner, pas en le relisant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui a été publié.&lt;/strong&gt; Rien. L&#39;export existe localement, sans notices, et aucun dépôt distant n&#39;est configuré.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que cette entrée établit.&lt;/strong&gt; Une règle écrite dans une spec et jamais exécutée ne protège de rien. Celle-ci existait depuis l&#39;écriture de la spec 2 ; elle a tenu deux jours sans être vérifiée, et c&#39;est la préparation d&#39;un export — pas une relecture — qui l&#39;a mise à l&#39;épreuve.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Portée.&lt;/strong&gt; Aucun chiffre publié n&#39;est en cause : les mesures du banc portent sur ces notices telles qu&#39;elles sont, exécutées en enclave, et restent vraies pour elles. La réécriture sur identités réservées produira d&#39;autres empreintes de notices, donc une autre mesure, qui se lira comme telle.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:cd666f8b8a596d78505c613d9b8109f2f3067be30ba73c7b5b171689ab6520c1&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;d3b727143bb5d035f5692642b74abe1ad8bfc774ac4f829c898e143bfdf94c42&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Pass 6 — two &#39;instruction&#39; drifts were instrument noise</title>
    <id>urn:sha256:db2d1f64da97a34df63a101d0dc66187ce439c1dd1c57a4758b5380794f8917f</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e8"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Fait sur notre propre instrument.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui a été rendu.&lt;/strong&gt; Les passages 5 et 6 de la re-vérification des références externes ont classé &lt;strong&gt;&lt;code&gt;instruction&lt;/code&gt;&lt;/strong&gt; — la classe qui signale que le texte normalisé d&#39;une page a changé — deux références &lt;code&gt;url_doc&lt;/code&gt; du corpus, pointant toutes deux vers une page de dépôt GitHub.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que c&#39;était.&lt;/strong&gt; Du bruit d&#39;instrument. Contrôle fait avant d&#39;accepter le résultat : deux instantanés complets de la &lt;strong&gt;même page&lt;/strong&gt;, à &lt;strong&gt;90 secondes d&#39;intervalle&lt;/strong&gt;, sans qu&#39;aucune modification n&#39;ait eu lieu à la source.&lt;/p&gt;
&lt;p&gt;Page contrôlée : &lt;code&gt;hxxps://github[.]com/nvidia-holoscan/holoscan-sdk&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;tir 1  2026-09-09T05:27:58Z  taille 361882  contenu 55522584d269b4b3  instructions 974a4ae95e0dddd0
tir 2  2026-09-09T05:29:29Z  taille 361882  contenu 2f831b43014eb07f  instructions 01fdcc0fc19cc049

hash_contenu identiques      : False
hash_instructions identiques : False&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Taille identique à l&#39;octet près, empreintes différentes des deux côtés. Un troisième contrôle, à 60 secondes cette fois et sur la seconde page GitHub concernée (&lt;code&gt;hxxps://github[.]com/isaac-for-healthcare/i4h-workflows&lt;/code&gt;), donne le même résultat : &lt;code&gt;6de9628bf9607d47&lt;/code&gt; puis &lt;code&gt;bdc00916bf4e3598&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui a échoué, exactement.&lt;/strong&gt; La normalisation de la règle &lt;code&gt;url_doc&lt;/code&gt; version 1 — balises retirées, espaces réduits, casse abaissée — ne retire pas le &lt;strong&gt;texte visible qui varie d&#39;une requête à l&#39;autre&lt;/strong&gt; sur ces pages. L&#39;empreinte du texte normalisé change donc à chaque tir, et toute comparaison entre deux passages rend &lt;code&gt;instruction&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui distingue les cas.&lt;/strong&gt; Les deux autres références &lt;code&gt;url_doc&lt;/code&gt; du même lot, qui pointent vers &lt;code&gt;hxxps://docs[.]nvidia[.]com&lt;/code&gt;, sont &lt;strong&gt;stables&lt;/strong&gt; : mêmes empreintes à 60 secondes, et classées &lt;code&gt;inchange&lt;/code&gt; au passage 6. Le défaut n&#39;est pas général à toute page web ; il est réel sur cet hébergeur, avec ces pages.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui n&#39;a pas été fait.&lt;/strong&gt; La règle n&#39;a pas été corrigée après coup pour faire disparaître le résultat. Elle avait été posée et datée avant la mesure ; les passages 5 et 6 restent tels quels au journal des passages, avec leurs deux &lt;code&gt;instruction&lt;/code&gt;. Un amendement daté — canonisation des URL de forge, conservation du texte normalisé, contrôle de volatilité à la pose de ligne de base, persistance sur deux passages avant classement — est posé séparément et s&#39;applique &lt;strong&gt;à partir du passage 7&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que cette entrée établit.&lt;/strong&gt; Un dispositif qui surveille la dérive peut produire de la dérive. Ici le faux positif a été trouvé parce qu&#39;un chiffre inattendu a déclenché un contrôle au lieu d&#39;une publication : deux tirs rapprochés suffisaient, et ils n&#39;avaient jamais été faits. Une mesure de changement sans contrôle de volatilité de l&#39;instrument mesure les deux à la fois, sans dire lequel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Portée.&lt;/strong&gt; Aucun artefact du corpus n&#39;est en cause. Aucun outil tiers n&#39;est en cause. Aucune étiquette n&#39;est déplacée.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:1663cf24b05a1f6491a37501b7ea6fd1934241855621ea26ca00e7e232cf6732&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;db2d1f64da97a34df63a101d0dc66187ce439c1dd1c57a4758b5380794f8917f&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>skillvet 2.0.9 — the SARIF emitter declares an identity and a version that are not its own</title>
    <id>urn:sha256:9b05687706223b4b4cfc2acdca1f52f3437d957dfc32718f05045b39972719b6</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e7"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Fait tiers, classe 2 : outil dont le code est public.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L&#39;outil.&lt;/strong&gt; &lt;code&gt;skillvet&lt;/code&gt;, scanner de sécurité pour skills d&#39;agents, publié par &lt;strong&gt;&lt;code&gt;oakencore&lt;/code&gt;&lt;/strong&gt;, en version &lt;strong&gt;2.0.9&lt;/strong&gt;. Dépôt d&#39;origine disparu publiquement ; copie archivée par Software Heritage, instantané &lt;code&gt;swh:1:snp:a350337fed1d59d1b45880389e1bd1c98d72f3d2&lt;/code&gt; du 2026-04-02, chemin &lt;code&gt;skills/oakencore/skillvet/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le fait.&lt;/strong&gt; Sa sortie SARIF annonce une identité et une version que ses propres métadonnées contredisent.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;scripts/skill-audit.sh&lt;/code&gt;, &lt;strong&gt;ligne 1219&lt;/strong&gt; — l&#39;objet &lt;code&gt;tool.driver&lt;/code&gt; du document SARIF :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;&amp;quot;name&amp;quot;:&amp;quot;skillvet&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;2.1.0&amp;quot;,&amp;quot;informationUri&amp;quot;:&amp;quot;https://github.com/nathangit/skillvet&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;scripts/skill-audit.sh&lt;/code&gt;, &lt;strong&gt;ligne 1212&lt;/strong&gt; — le &lt;code&gt;helpUri&lt;/code&gt; porté par chaque règle émise :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;&amp;quot;helpUri&amp;quot;:&amp;quot;https://github.com/nathangit/skillvet&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Les deux valeurs sont &lt;strong&gt;écrites en dur&lt;/strong&gt;, et n&#39;apparaissent nulle part ailleurs dans le paquet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les métadonnées contredites&lt;/strong&gt;, toutes dans la copie archivée :&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;source&lt;/th&gt;&lt;th&gt;ce qu&#39;elle dit&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;_meta.json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;quot;owner&amp;quot;: &amp;quot;oakencore&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot;slug&amp;quot;: &amp;quot;skillvet&amp;quot;&lt;/code&gt;, &lt;code&gt;latest.version&lt;/code&gt; &lt;strong&gt;2.0.9&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;SKILL.md&lt;/code&gt;, frontmatter&lt;/td&gt;&lt;td&gt;&lt;code&gt;metadata.author: oakencore&lt;/code&gt;, &lt;code&gt;metadata.version: &amp;quot;2.0.9&amp;quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;chemin dans l&#39;arbre Software Heritage&lt;/td&gt;&lt;td&gt;&lt;code&gt;skills/oakencore/skillvet/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;_meta.json&lt;/code&gt;, historique des versions&lt;/td&gt;&lt;td&gt;commits sous &lt;code&gt;openclaw/skills&lt;/code&gt;, puis &lt;code&gt;clawdbot/skills&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Aucune version &lt;code&gt;2.1.0&lt;/code&gt; ne figure dans l&#39;historique des versions du paquet, qui s&#39;arrête à 2.0.9.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conséquence.&lt;/strong&gt; Un consommateur de SARIF — tableau de bord, agrégateur, revue de code — qui fait confiance à &lt;code&gt;tool.driver.version&lt;/code&gt; et à &lt;code&gt;informationUri&lt;/code&gt; attribue les constats à un autre dépôt et à une version qui n&#39;existe pas. C&#39;est précisément ce que ces deux champs servent à établir dans le format SARIF : quel outil, dans quelle version, a produit ce constat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Portée, et ce que cette entrée ne dit pas.&lt;/strong&gt; Ce n&#39;est &lt;strong&gt;pas un défaut de sécurité&lt;/strong&gt; : aucune détection n&#39;est affectée, aucun constat n&#39;est faussé, et aucune mesure du banc n&#39;en dépend — la binarisation de skillvet au banc repose sur le code de sortie, pas sur le SARIF. Il n&#39;est pas dit ici que &lt;code&gt;nathangit/skillvet&lt;/code&gt; n&#39;existe pas, ni qu&#39;il n&#39;a aucun rapport avec l&#39;outil ; il est dit que &lt;strong&gt;le paquet archivé&lt;/strong&gt; déclare &lt;code&gt;oakencore&lt;/code&gt; et &lt;code&gt;2.0.9&lt;/code&gt; partout ailleurs, et que ses deux lignes SARIF disent autre chose.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comment le fait a été trouvé.&lt;/strong&gt; En cherchant à résoudre une contradiction entre deux de nos propres documents, dont l&#39;un citait le SARIF et l&#39;autre les métadonnées. Aucun des deux n&#39;avait tort : c&#39;est l&#39;outil qui se contredit lui-même.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aucune divulgation à l&#39;éditeur n&#39;a été faite&lt;/strong&gt; à la date de cette entrée.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:bfce1eccd78ebd5f4cfccb56123b1632dea19c86d504d9f09d6c3e0fc448ae24&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;9b05687706223b4b4cfc2acdca1f52f3437d957dfc32718f05045b39972719b6&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>R7 — the &#39;3 of 4&#39; depends on the reading line: the four-level ordinal merged HIGH and CRITICAL</title>
    <id>urn:sha256:c41ac3b1e5cf174e50f4d77dc3c8142fc7e0ccff0ef47f81bf967fe5ff6cb561</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e6"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Fait sur notre propre instrument, pas sur un outil tiers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui est publié.&lt;/strong&gt; Le §2 du rapport du banc écrit, pour la relation R7 — même code distant, même absence de garde, forme de commande différente — « change chez 3 outils sur 4 ».&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que la sonde a d&#39;abord rendu.&lt;/strong&gt; 2 sur 4. Le chiffre publié n&#39;était pas reproductible par l&#39;instrument censé le reproduire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cause, trouvée dans l&#39;instrument et non dans les données.&lt;/strong&gt; L&#39;ordinal défini au §3 de la spec 2 comptait quatre niveaux : &lt;code&gt;0&lt;/code&gt; propre, &lt;code&gt;1&lt;/code&gt; info, &lt;code&gt;2&lt;/code&gt; bas/moyen, &lt;code&gt;3&lt;/code&gt; haut/critique. Il rangeait donc &lt;code&gt;HIGH&lt;/code&gt; et &lt;code&gt;CRITICAL&lt;/code&gt; sur la même valeur. Sur le comportement &lt;code&gt;curl&lt;/code&gt;, le verdict de Cisco bascule entre &lt;code&gt;HIGH&lt;/code&gt; et &lt;code&gt;CRITICAL&lt;/code&gt; selon la forme de la commande — c&#39;est l&#39;un des trois changements comptés au banc, et il était &lt;strong&gt;invisible&lt;/strong&gt; à un ordinal qui confond les deux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les deux lignes, mesurées.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;scroll&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;ligne de lecture&lt;/th&gt;&lt;th&gt;outils dont le verdict change sur &lt;code&gt;curl&lt;/code&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;étiquette de sévérité, comparée telle quelle&lt;/td&gt;&lt;td&gt;3 sur 4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ordinal à quatre niveaux (spec 2 §3, version 1)&lt;/td&gt;&lt;td&gt;2 sur 4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ordinal à six niveaux (amendement du 2026-09-09)&lt;/td&gt;&lt;td&gt;3 sur 4&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ce qui a été fait.&lt;/strong&gt; Deux choses, aucune rétroactive.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;La sonde rapporte désormais &lt;strong&gt;les deux lignes côte à côte&lt;/strong&gt; — l&#39;ordinal, qui normalise entre outils, et l&#39;étiquette de sévérité, qui ne perd rien. Aucune ne remplace l&#39;autre, et chaque rapport dit laquelle reproduit quel chiffre.&lt;/li&gt;&lt;li&gt;L&#39;ordinal passe à &lt;strong&gt;six niveaux&lt;/strong&gt; (&lt;code&gt;clean&lt;/code&gt;, &lt;code&gt;info&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt;, &lt;code&gt;critical&lt;/code&gt;), amendement daté du 2026-09-09 au §9 de la spec 2. Les rapports produits avant cette date restent sous la version 1 et ne sont pas recalculés ; chaque rapport porte &lt;code&gt;ordinal_version&lt;/code&gt;.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Ce que cette entrée n&#39;établit pas.&lt;/strong&gt; Aucun chiffre publié n&#39;est modifié. Aucun outil tiers n&#39;est en cause : les quatre scanners ont rendu ce qu&#39;ils rendaient déjà. Ce qui a changé est notre façon de lire ce qu&#39;ils rendent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qu&#39;elle établit.&lt;/strong&gt; Un instrument de mesure peut détruire silencieusement la distinction sur laquelle repose un résultat qu&#39;il est censé vérifier. Ici la perte a été trouvée parce que la sonde a été confrontée à un chiffre déjà publié, et qu&#39;elle ne l&#39;a pas retrouvé. Sans cette confrontation, l&#39;ordinal à quatre niveaux aurait continué de rendre 2 sur 4 sans que rien ne le signale.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:b4c5e0f13999cc18fda5f5e924c064719018cf1555e60b2789b6072ac7136f8f&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;c41ac3b1e5cf174e50f4d77dc3c8142fc7e0ccff0ef47f81bf967fe5ff6cb561&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Classification act</title>
    <id>urn:sha256:f468ef732d4a17f9158e5bab866576387c3c9a81a37511c25e55d4c478d19af5</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e5"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <content type="html">&lt;p&gt;La règle de publication du registre est posée le 2026-09-09 : chaque entrée porte une &lt;strong&gt;classe&lt;/strong&gt; (1 nous, 2 juge open source, 3 juge propriétaire ou service, 4 artefact nommé, 5 client — jamais écrite), un &lt;strong&gt;statut&lt;/strong&gt; (&lt;code&gt;scellee&lt;/code&gt; ou &lt;code&gt;ouverte&lt;/code&gt;), ses dates de scellement et d&#39;ouverture, et l&#39;empreinte de son contenu.&lt;/p&gt;
&lt;p&gt;Les entrées 1 à 4 ont été écrites &lt;strong&gt;avant&lt;/strong&gt; cette règle. Elles ne peuvent donc pas la porter dans leur corps : les modifier casserait la chaîne, et l&#39;interdiction de modifier vaut d&#39;abord pour nous. Le classement est donc lui-même une entrée, datée et chaînée comme les autres. L&#39;état effectif d&#39;une entrée se lit : ses champs natifs, puis les actes de classement postérieurs, le dernier l&#39;emportant.&lt;/p&gt;
&lt;p&gt;Deux règles que cet acte engage pour la suite :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Une entrée ouverte ne se referme jamais.&lt;/strong&gt; Un acte de classement qui tenterait de resceller une entrée ouverte est refusé par &lt;code&gt;verifier&lt;/code&gt;, et l&#39;anomalie est affichée.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Une rétractation est une entrée nouvelle&lt;/strong&gt;, jamais une réécriture.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L&#39;entrée 3 est scellée &lt;strong&gt;jusqu&#39;au jour de l&#39;issue&lt;/strong&gt; déposée auprès de l&#39;éditeur de l&#39;outil concerné. Un sceau ne cache pas un fait : il en date l&#39;existence et en fige le contenu. Le jour de l&#39;ouverture, chacun pourra vérifier que le texte publié est bien celui dont l&#39;empreinte était scellée à cette date. Le brouillon de l&#39;issue existe, il n&#39;est pas envoyé, et aucune décision d&#39;envoi n&#39;est prise à la date de cet acte.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:ed91270b448ea29e31ab8b89d1bf63908e08063fe82b21a466acbb00bdce1479&lt;/code&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;f468ef732d4a17f9158e5bab866576387c3c9a81a37511c25e55d4c478d19af5&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>&#39;Six of the seven&#39; against seven of seven — a summary sentence contradicts the record it sums up</title>
    <id>urn:sha256:585ee9323d4b421936bdfe8d224a87169c51d4cf72496dad9b46d1509cb72be1</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e4"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Anomalie dans nos propres documents, constatée et non corrigée dans les fichiers d&#39;origine.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui est écrit.&lt;/strong&gt; &lt;code&gt;.log/135-nature-cecites.txt&lt;/code&gt; l. 344 et &lt;code&gt;docs/journal.md&lt;/code&gt; l. 6861 portent la même phrase :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;la non-alerte de ces sept cas sur la ligne stricte ne se joue pas sur l&#39;absence de constat — &lt;strong&gt;six des sept&lt;/strong&gt; en portent.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ce que dit le relevé du même fichier.&lt;/strong&gt; L&#39;en-tête de chaque section de &lt;code&gt;.log/135-nature-cecites.txt&lt;/code&gt; donne le nombre de constats par cas : &lt;code&gt;jev-0033&lt;/code&gt; 3, &lt;code&gt;jev-0039&lt;/code&gt; 4, &lt;code&gt;jev-0045&lt;/code&gt; 2, &lt;code&gt;jev-0078&lt;/code&gt; 3, &lt;code&gt;jev-0079&lt;/code&gt; 2, &lt;code&gt;jev-0080&lt;/code&gt; 2, &lt;code&gt;jev-0081&lt;/code&gt; 3. Soit &lt;strong&gt;sept sur sept&lt;/strong&gt;, de 2 à 4 constats chacun.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que la carte retrouve.&lt;/strong&gt; Recompté depuis les sorties brutes de la passe par modèle de langage, indépendamment de &lt;code&gt;.log/135&lt;/code&gt; : les sept cas portent chacun au moins un constat. Aucun n&#39;en est dépourvu.&lt;/p&gt;
&lt;p&gt;La phrase de synthèse contredit donc le relevé qu&#39;elle résume, dans le même fichier.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Portée.&lt;/strong&gt; Aucun chiffre des §3, §4, §5 ou §7 du rapport n&#39;en dépend, et la conclusion que la phrase servait — « la non-alerte ne se joue pas sur l&#39;absence de constat » — est renforcée, non affaiblie, par le chiffre exact.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Décision.&lt;/strong&gt; Les fichiers d&#39;origine ne sont pas corrigés. L&#39;anomalie est datée ici, et &lt;code&gt;corpus/carte/carte.md&lt;/code&gt; §11 et §13 y renvoient. Motif : réécrire une phrase dans un journal daté après coup vaut moins qu&#39;un désaccord daté que n&#39;importe qui peut vérifier sur les deux textes.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:0facd460c47aecd2296b5a32bb7eba9a53827ffce246326fbc88eb9b6f513ba0&lt;/code&gt; &lt;span class=&quot;note&quot;&gt;(recomputed)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;585ee9323d4b421936bdfe8d224a87169c51d4cf72496dad9b46d1509cb72be1&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>SkillWatch 0.4.1 — the URL extraction pattern captures the closing brace of a shell parameter expansion</title>
    <id>urn:sha256:07c0b277690d4870746bc55d6c8bbff1cd065be8804d5cb2e5f4d6f960a6634f</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e3"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Premier fait tiers du registre.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L&#39;outil.&lt;/strong&gt; SkillWatch 0.4.1, PyPI, publiée le 2026-07-29, dépôt &lt;code&gt;kuzivaai/SkillWatch&lt;/code&gt;, état déclaré par l&#39;éditeur « Development Status :: 3 - Alpha ». Objet déclaré : surveiller les pages web auxquelles renvoient les skills et les outils MCP, et signaler qu&#39;elles ont changé après examen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le fait.&lt;/strong&gt; Son motif d&#39;extraction d&#39;URL n&#39;exclut pas l&#39;accolade fermante :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;_RAW_URL_RE = re.compile(r&amp;quot;(?&amp;lt;!\()(https?://[^\s\)\]\&amp;quot;&#39;&amp;gt;]+)&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;skillwatch/parser.py&lt;/code&gt;, l. 15. Le jeu de caractères exclus contient l&#39;espace, la parenthèse, le crochet, le guillemet, l&#39;apostrophe et le chevron — pas l&#39;accolade.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La ligne d&#39;origine.&lt;/strong&gt; Constatée le 2026-09-08 sur un artefact public réel (corpus JEVONS &lt;code&gt;jev-0081&lt;/code&gt;, &lt;code&gt;SKILL.md:32&lt;/code&gt;), désamorcée ici selon la convention du dépôt :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;export I4H_WORKFLOWS_REPO_URL=&amp;quot;${I4H_WORKFLOWS_REPO_URL:-hxxps://github[.]com/isaac-for-healthcare/i4h-workflows}&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&#39;URL est la valeur par défaut d&#39;une expansion &lt;code&gt;${VAR:-valeur}&lt;/code&gt;. L&#39;accolade qui ferme l&#39;expansion est donc collée à l&#39;URL.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que l&#39;outil surveille alors.&lt;/strong&gt; L&#39;URL enregistrée est &lt;code&gt;hxxps://github[.]com/isaac-for-healthcare/i4h-workflows}&lt;/code&gt; — accolade comprise. Elle rend HTTP 404. L&#39;outil le déclare (&lt;code&gt;errors: 1&lt;/code&gt; dans la sortie de &lt;code&gt;scan&lt;/code&gt;), mais la référence réelle de l&#39;artefact n&#39;est surveillée par personne. La couverture apparente est de 1 URL sur 1 ; la couverture réelle est nulle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reproduction, exécutée le 2026-09-08 en enclave, cible en domaine réservé.&lt;/strong&gt; Fichier &lt;code&gt;SKILL.md&lt;/code&gt;, sha256 &lt;code&gt;b5a895bb1261d6eecb11003439ae9ef8891cfcb5cfc0b4bc5a88f5b29241508f&lt;/code&gt;, portant :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;export REPO_URL=&amp;quot;${REPO_URL:-https://example.invalid/page}&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Commande : &lt;code&gt;skillwatch --db repro.db add SKILL.md&lt;/code&gt;. Sortie :&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;X  https://example.invalid/page} (blocked: private/reserved)
Added 0 URL(s) from SKILL.md&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&#39;accolade est visible dans l&#39;URL rendue. Le blocage qui suit vient du garde anti-SSRF de l&#39;outil sur le TLD réservé &lt;code&gt;.invalid&lt;/code&gt; : il est indépendant du défaut et n&#39;en fait pas partie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Portée, et ce que cette entrée ne dit pas.&lt;/strong&gt; Le fait est un motif d&#39;extraction trop large d&#39;un caractère. Il n&#39;est pas dit ici qu&#39;il est fréquent, ni qu&#39;il est grave, ni qu&#39;aucun autre outil ne l&#39;a. Aucun classement d&#39;outils n&#39;est établi. Le même défaut, sur le même caractère et pour la même cause, existait dans notre propre extracteur &lt;code&gt;tools/extraire-references.py&lt;/code&gt; et y a été corrigé le 2026-09-08, quelques heures avant ce constat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Aucune divulgation à l&#39;éditeur n&#39;a encore été faite&lt;/strong&gt; à la date de cette entrée.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:d93a6b5d5e692e2778630ae053c8a667ee7eb820c4202574f850fafe6b668044&lt;/code&gt; &lt;span class=&quot;note&quot;&gt;(recomputed)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;07c0b277690d4870746bc55d6c8bbff1cd065be8804d5cb2e5f4d6f960a6634f&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Recount of the synthetic stratum: 46 notices announced, 42 actual</title>
    <id>urn:sha256:85f80dc3b228d98af5afa66645d42e55b7a3f6dd668cc755f1d6ac92a5e00149</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e2"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;strong&gt;Rectification d&#39;un compte publié par nous.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui était écrit.&lt;/strong&gt; La strate synthétique en paires contrôlées était décomptée à &lt;strong&gt;46 notices&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qui est vrai.&lt;/strong&gt; &lt;strong&gt;42 notices&lt;/strong&gt;. Le décompte de 46 additionnait les notices et les quatre annexes &lt;code&gt;scripts/install.sh&lt;/code&gt; de la relation de périmètre. Une annexe n&#39;est pas une notice : elle porte le geste hors de la page d&#39;une notice qui existe déjà, et elle n&#39;a pas de variante propre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contrôle sur pièces, 2026-09-08.&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;scroll&quot;&gt;&lt;code&gt;find corpus/paires -name SKILL.md | wc -l   →  42
find corpus/paires -type f | wc -l          →  46&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Le 46 est donc un compte de &lt;strong&gt;fichiers&lt;/strong&gt;, pas de notices. Détail des 42 : 4 comportements (&lt;code&gt;gitclone&lt;/code&gt;, &lt;code&gt;dockerrun&lt;/code&gt;, &lt;code&gt;curlsh&lt;/code&gt;, &lt;code&gt;pipinstall&lt;/code&gt;) × 7 variantes (&lt;code&gt;v0&lt;/code&gt;…&lt;code&gt;v6&lt;/code&gt;) = 28 ; plus 4 notices de périmètre &lt;code&gt;v0-annexe&lt;/code&gt; ; plus 2 contrôles &lt;code&gt;v5b&lt;/code&gt; (&lt;code&gt;curlsh&lt;/code&gt;, &lt;code&gt;gitclone&lt;/code&gt;) ; plus 8 notices &lt;code&gt;R7&lt;/code&gt; (&lt;code&gt;curlsh-f0..f3&lt;/code&gt;, &lt;code&gt;gitclone-f0..f3&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce que la rectification ne change pas.&lt;/strong&gt; Aucun résultat publié ne repose sur le nombre 46. Les relations sont comptées en &lt;strong&gt;paires&lt;/strong&gt;, pas en notices : R1 0/16, R3 0/16, R4 0/8, R5 0/16 gardent leurs dénominateurs. Cette entrée corrige un compte de dénombrement, pas une mesure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ce qu&#39;elle établit.&lt;/strong&gt; Un chiffre d&#39;inventaire faux a circulé dans nos propres documents jusqu&#39;à ce qu&#39;une vérification mécanique le contredise. La correction est datée ici plutôt que réécrite en silence dans les fichiers d&#39;origine.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:8fa5b01249be57d34af53bd625483a152f45a8166344a558b52609a5a736595e&lt;/code&gt; &lt;span class=&quot;note&quot;&gt;(recomputed)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;85f80dc3b228d98af5afa66645d42e55b7a3f6dd668cc755f1d6ac92a5e00149&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>An interpretation withdrawn the day it was published — language-model pass</title>
    <id>urn:sha256:77ae7a6a263ab24fe48ed85566a9e51b9e27aeb0834158e29af822bd8592cead</id>
    <link rel="alternate" type="text/html" href="https://jevons.fr/#e1"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <content type="html">&lt;p&gt;Première entrée du registre, telle que prévue au §6 de la spec 4 : la rétractation du 2026-09-08, reprise &lt;strong&gt;telle quelle&lt;/strong&gt; du §6 du rapport &lt;code&gt;docs/resultats-banc-2026-09-08.md&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;RÉSERVE DE VALIDITÉ, ajoutée le jour même de la mesure.&lt;/strong&gt; L&#39;interprétation initiale — « un modèle de langage ne détecte pas davantage l&#39;absence de garde » — n&#39;est pas soutenue. Vérification faite après coup sur le code de l&#39;outil : il appelle trois analyseurs, dont un impose une taxonomie fermée à quatre catégories où la récupération sans garde ne figure pas. Cet analyseur n&#39;a rendu aucun constat sur les sept cas ; les deux autres en ont rendu seize.&lt;/p&gt;
&lt;p&gt;Le 0/7 mesure donc une couverture de taxonomie et une agrégation, pas une limite d&#39;inférence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fait nouveau, non anticipé.&lt;/strong&gt; Sur les sept cas, trois portent une phrase signalant explicitement l&#39;absence de garde, et le modèle &lt;strong&gt;la cite dans un constat de risque&lt;/strong&gt; — puis le verdict global reste au niveau intermédiaire. Le défaut observable n&#39;est pas une cécité : c&#39;est une &lt;strong&gt;rupture entre le constat et son agrégation en verdict&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ce que cette entrée établit : le dispositif trouve ses propres erreurs, les date, et les publie avec le reste. Elle porte sur &lt;strong&gt;nous&lt;/strong&gt;, pas sur un tiers.&lt;/p&gt;&lt;div class=&quot;fp&quot;&gt;&lt;div&gt;content hash &lt;code&gt;sha256:5b0659f18e7cf9d4cc891106a6e7b5218647e6b81e4cc58e1c3fcd3a33a61d4b&lt;/code&gt; &lt;span class=&quot;note&quot;&gt;(recomputed)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;chain hash &lt;code&gt;77ae7a6a263ab24fe48ed85566a9e51b9e27aeb0834158e29af822bd8592cead&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;</content>
  </entry>
</feed>
