La console offrait des boutons sans sequence. Rien n'y apprenait que site-creer precede
forge-amorcer, que le premier passage de site-deployer-tout s'arrete sur une forge vide
sans que ce soit un echec, ni que rien n'est pret avant valider : cet ordre vivait en
prose dans des documents que la console ne porte pas.
La vue Assistants conduit 17 runbooks et 126 etapes. Les 132 cibles documentees y sont,
chacune portee par un assistant ou exemptee avec son motif — une exemption muette est
refusee. Le registre ne recopie pas le Makefile : il declare l'ordre, la nature, la portee
et le pourquoi, et le libelle de chaque etape est lu dans le Makefile au moment de servir.
P83 est ecrite en meme temps que la liste, pas apres, parce qu'une liste qui suit une
autre prend du retard. Onze tests lui presentent des registres faux, un par forme de
retard, et exigent qu'elle les refuse.
Le navigateur ne nomme pas une commande, il nomme une place : la route lance ce que le
registre declare a cet index-la, avec les seules variables declarees. L'index compte, le
premier jour d'un site jouant site-deployer-tout deux fois. Une etape qui ecrit attend que
la precedente ait reussi ; une mesure reste toujours offerte, parce que mesurer apres un
echec est exactement ce qu'on fait ensuite.
Valide : runbooks.py verifier a 0 ecart, make test a 0 echec, les 83 preuves rejouees, et
la console lancee pour de vrai — 17 runbooks servis, six requetes malformees refusees une
a une, une etape de mesure executee de bout en bout avec son journal.
Limite, anterieure a ce travail : P02 (test_ecriture_plan) echoue sur domaines.yml, a
l'identique sur une copie de HEAD. Ajouter ou retirer un domaine public depuis la vue
Domaines leverait a l'enregistrement. Non corrige ici.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ce dossier est la source versionnée du wiki Set-OPS (accueil, unités d'apprentissage,
runbooks, glossaire). Il est publié dans le wiki Forgejo du dépôt (.wiki.git) — le dépôt
reste la source, le wiki Forgejo la vue browsable et web-éditable.
Identité-et-SSO.md — unité-pilote (le moule : concept → Set-OPS → générique → à toi de jouer).
Moule d'une unité : ① le concept (générique) · ② comment Set-OPS le fait (le vrai) ·
③ pourquoi c'est transférable · ④ à toi de jouer (observe/interroge/casse/répare).
Principe : le wiki enseigne et oriente ; il pointe vers docs/ et les README de rôles
pour le détail technique — il ne les recopie pas (anti-dérive).
Publication : make wiki-publier pousse ce dossier vers le wiki Forgejo du dépôt. Les
noms de fichiers Titre-Avec-Tirets.md deviennent « Titre Avec Tirets » dans l'UI.
Sens unique. Une page modifiée dans l'interface de la forge est détruite à la
publication suivante : on lit là-bas, on écrit ici.
Ces pages alimentent aussi docs/audit/plan-de-recette.md, généré par
make plan-recette à partir des sections « ④ à toi de jouer ». La preuve P22 refuse
que ce plan soit en retard sur le wiki — modifier une unité sans régénérer fait échouer le
harnais.
Et depuis le 2026-09-07, la preuve P60 refuse que la forge soit en retard sur ce
dossier.make wiki-publier dépose un témoin (docs/audit/wiki-publie.yml) : le commit
publié. P60 le compare à l'état de wiki/. Rien ne mesurait cet écart auparavant, et il
s'est creusé de vingt-sept jours en silence — deux unités jamais publiées, vingt et
une différentes. Pour qui lit la forge plutôt que le dépôt, toute une révision n'existait
pas.
Ce que le témoin ne dit pas : il dit ce qui est parti, jamais ce qui est arrivé.
Une page éditée dans l'interface de la forge lui échappe — c'est la publication suivante
qui l'écrase, et c'est la règle ci-dessus.