Skip to content

Harnais : cinq renvois exigent un sign-off user en citant « CLAUDE.md §A », qui ne porte pas cette clause #16014

Description

@myia-ai-01

Le fait

Cinq renvois du depot font reposer une exigence de sign-off user pour editer .claude/rules/
sur « CLAUDE.md §A ». §A ne porte pas cette clause.

Mesure (firsthand, main courant) :

grep -n "sign-off" CLAUDE.md
160:Protocole avant suppression (4 etapes : ... PR `debt` + sign-off / diff coherent) : anti-regression.md

Un seul hit, et il porte sur anti-regression (regression assumee), pas sur l'edition de regles.
La section A integrale (l.76-84) traite de : coordination RooSync, tour de coordination, reporting
dashboard, et Git (pas de push direct sur main, force push, branches, « le coordinateur review et
merge »). Aucune mention de sign-off, ni de .claude/rules/.

Les cinq renvois qui citent cette autorite :

Fichier Ligne Ce qu'il affirme
.claude/rules/audit-cross-source-distillation.md 17 « Aucun agent ne s'auto-autorise a promouvoir une regle : tout ajout a .claude/rules/ passe par une PR + sign-off user (CLAUDE.md §A) »
.claude/rules/variation-protocol.md 74 « codifie la lecture au cas en forme durable, sous sign-off user (CLAUDE.md §A) »
docs/ict/tresse-cartographie.md 195 « son passage en regle auto-loaded requiert une PR + sign-off user (cf. CLAUDE.md §A) »
docs/ledgers/14591-volet-bc-mesure.md 32 « proposition, a soumettre sign-off user — CLAUDE.md §A »
docs/ledgers/14591-volet-bc-mesure.md 63 « Proposition Volet D (soumise sign-off user — CLAUDE.md §A) »

Le meme fichier audit-cross-source-distillation.md cite §A une seconde fois (l.11, « GitHub = code,
jamais de rapports d'audit dans le repo ») et celle-la est exacte : §A le dit mot pour mot. Le
fichier est donc a moitie fonde, a moitie phantom — ce qui rend le defaut d'autant plus difficile a
voir, puisque verifier un renvoi du fichier le confirme.

Portee de ma recherche, pour ne pas sur-conclure : j'ai cherche la chaine litterale sign-off.
git log -S "sign-off" -- CLAUDE.md ne rend qu'un commit (7f5fa2040a, balayage de nommage #14491).
Cela ne prouve pas que §A n'a jamais porte l'idee sous une autre formulation (« accord user »,
« validation user ») — seulement qu'aucune clause ecrite avec ce mot n'y a vecu.

Pourquoi ca compte maintenant

Ce n'est pas une coquille de reference. C'est une regle de gate dont la source est introuvable,
et elle mord dans les deux sens :

  1. Elle bloque. Add: garde d'identite de lane pour tout coordinateur (mandat user 2026-09-11) #15648 (ajout d'une garde HARD a coordinator-discipline.md) porte deux fois,
    de ma main, « edition de .claude/rules/** = sign-off user (CLAUDE.md §A) — elle attend le user
    meme verte ». Si la clause tient, la PR n'est pas mergeable par moi ; si elle ne tient pas, j'ai
    publie deux fois une contrainte sans source.
  2. Elle a peut-etre deja ete franchie. J'ai merge chore(harness,#15204): deporter le recit date hors de deux rules auto-chargees (-6 470 o/requete) #15936 le 2026-09-13T17:33:52Z sous
    myia-ai-01 : elle editait secrets-hygiene.md et submodule-maintenance.md. Sous la lecture
    stricte de la l.17, c'est un merge qui aurait du attendre un sign-off.

La lecture qui me disculpe existe — la l.17 dit « tout ajout a .claude/rules/ », et une
deportation de recit vers docs/ qui ne change aucune prescription n'est pas un ajout de regle.
Mais cette distinction est la mienne et elle m'arrange : je ne la tranche pas moi-meme. C'est
exactement la classe de decision que la clause existe pour reserver au user.

Ce qui est demande

Un arbitrage user, puis un correctif de reference :

Decouvert en executant le mandat de slimming #15204.

Activity

  1. myia-ai-01 commented on Sep 13, 2026

    @myia-ai-01
    CollaboratorAuthor

    Un sixieme renvoi arrive — mesure firsthand, avant que je ne merge la PR qui le porte

    Le corps de cette issue en recense cinq. #15939 (po-2026, Closes #15793) en ajoute un sixieme, dans docs/reference/proactive-coordination-detail.md :

    Editer .claude/rules/** exige un sign-off user (CLAUDE.md §A) : la PR #15793 qui a porte ce durcissement ne se self-merge pas.

    Re-mesure de §A a l'instant, sur origin/main (l.77-85) : coordination RooSync, tour de coordination, reporting dashboard, Git (pas de push direct, force push, branches, « le coordinateur review et merge »). Aucune mention de sign-off, aucune de .claude/rules/. L'unique occurrence de sign-off dans tout CLAUDE.md reste la l.161, sur la dette anti-regression. Le constat du corps tient, et il tient une seconde fois.

    Pourquoi la review ne l'a pas attrape. Hermes a rendu VERDICT: LGTM sur #15939 avec un sweep symmetric-application des six fichiers de regles — un sweep qui cherchait les formes perimees du plancher, pas les renvois d'autorite. Le defaut est orthogonal a ce qu'on lui demandait de chercher : ce n'est pas une complaisance, c'est la meme classe que #10459 — une omission de taxonomie qu'aucun auditeur ne rattrape seul, parce que verifier le renvoi d'a-cote la confirme.

    Ce que je fais, et ce que je ne me permets pas de trancher.

    Je merge #15939 sur ses merites : elle est reviewee, elle ferme #15793, et sa seule non-verte est Scripts Tests (CPU) CANCELLED mesure isRequired=false. Tenir une PR META saine sur un defaut de citation ferait porter la sanction au mauvais objet — le defaut est de provisionnement doctrinal, pas de lane.

    Je ne tranche pas (a) ni (b) pour autant. Je reste sur la lecture permissive, par coherence declaree avec #15936 que j'ai deja mergee, pas parce que je l'aurais arbitree : les deux PRs concernees remontent chacune a un mandat user explicite (#15793 pour le plancher, #15204 pour le slimming), donc la substance de la clause fantome — c'est le user qui decide des regles — est servie dans les deux cas. Ce qui est casse est la citation, pas la pratique.

    Consequence pratique : le correctif (c) porte desormais sur six renvois, pas cinq. Je l'ecris ici plutot qu'apres le merge parce qu'un renvoi ajoute pendant qu'une issue est ouverte pour en retirer cinq doit etre au dossier avant le geste, pas decouvert ensuite.

    Note : #15794 (ma tranche concurrente sur la meme issue #15793) ne porte pas cette ligne — le sixieme renvoi est propre a #15939.

  2. myia-ai-01 commented on Sep 13, 2026

    @myia-ai-01
    CollaboratorAuthor

    Correction de mon propre compte — il y a sept renvois, pas six, et le septieme est de ma main

    Je corrige le corps de cette issue par le bas plutot que de le laisser porter un chiffre faux.

    Septieme occurrence, trouvee en relisant #15808 pour une raison sans rapport — mon propre verdict de QA visuel du 2026-09-12T18:52 (issuecomment sur #15808, PR mergee) :

    « Ce que cet arbitrage ne fait pas : il ne modifie aucune regle. La ligne de CLAUDE.md (« Layout image-overlay avec texte par-dessus, jamais en colonne droite ») reste telle quelle — sa codification demande un sign-off user (§A). »

    Elle est anterieure a plusieurs de celles que j'avais tabulees, et elle porte la lecture stricte dans un arbitrage que j'ai signe — pas dans une note de travail. C'est donc la troisieme fois que la clause fantome sort de ma main, apres les deux occurrences de #15648 deja recensees ici.

    Ce que cette trouvaille change, et ce qu'elle ne change pas.

    Methode, pour que le compte cesse d'etre faux. Mes six premieres occurrences venaient d'un recensement des renvois dans les fichiers du harnais. La septieme n'y etait pas : elle vit dans un commentaire de PR. Un recensement qui ne regarde que l'arbre ne peut pas voir la prose publiee — et c'est dans la prose publiee que la clause fait le plus de degats, puisque c'est la qu'elle arbitre. Tout recomptage futur doit couvrir les deux surfaces, ou se declarer partiel.

    Je n'affirme pas que sept est le total. Je dis que six etait faux, et par defaut.

  3. myia-ai-01 commented on Sep 15, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED] lane myia-ai-01:CoursIA -- paths: CLAUDE.md, .claude/rules/audit-cross-source-distillation.md, .claude/rules/variation-protocol.md, docs/ict/tresse-cartographie.md, docs/ledgers/14591-volet-bc-mesure.md, docs/reference/proactive-coordination-detail.md — user a arbitré le 2026-09-15 : sign-off fondé sur la substance normative ; mandat user direct vaut sign-off ; opérationnalisation canonique + correction des renvois

  4. myia-ai-01 commented on Sep 15, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED-AMEND] lane myia-ai-01:CoursIA -- paths: CLAUDE.md, .claude/rules/audit-cross-source-distillation.md, .claude/rules/variation-protocol.md, docs/ict/tresse-cartographie.md, docs/ledgers/14591-volet-bc-mesure.md, docs/reference/proactive-coordination-detail.md, docs/reference/variation-protocol-detail.md — scope complet après grep exact des renvois actifs ; arbitrage user 2026-09-15 inchangé

  5. myia-ai-01 commented on Sep 15, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED-AMEND] lane myia-ai-01:CoursIA -- paths: CLAUDE.md, .claude/rules/audit-cross-source-distillation.md, .claude/rules/harness-hygiene.md, .claude/rules/variation-protocol.md, docs/ict/tresse-cartographie.md, docs/ledgers/14591-volet-bc-mesure.md, docs/reference/proactive-coordination-detail.md, docs/reference/variation-protocol-detail.md — scope complet après recherche historique ; ajout de l’organe auto-loaded omis dans le claim initial

  6. myia-ai-01 commented on Sep 15, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED-AMEND] lane myia-ai-01:CoursIA -- paths: CLAUDE.md, .claude/rules/audit-cross-source-distillation.md, .claude/rules/harness-hygiene.md, .claude/rules/variation-protocol.md, .github/workflows/variation-tag-guard.yml, docs/ict/tresse-cartographie.md, docs/ledgers/14591-volet-bc-mesure.md, docs/reference/proactive-coordination-detail.md, docs/reference/variation-protocol-detail.md -- scope final incluant le commentaire workflow dormant encore path-based

  7. myia-ai-01 commented on Sep 15, 2026

    @myia-ai-01
    CollaboratorAuthor

    [DELIVERED] lane myia-ai-01:CoursIA — PR #16339, head exact f9a90b9d664244de2cd5c0a5071ee8a28ffca251

    L’arbitrage user du 2026-09-15 est opérationnalisé :

    • autorité canonique ajoutée dans CLAUDE.md §A ;
    • sign-off déclenché par l’effet normatif substantiel, pas par le simple chemin ;
    • mandat user direct reconnu comme sign-off ;
    • corrections non normatives toujours soumises à PR + review, sans sign-off supplémentaire ;
    • renvois actifs et harness-hygiene.md alignés ;
    • résidus path-based actifs ramenés à zéro (fixtures historiques exclues explicitement).

    Validation locale post-merge de origin/main : pre-commit/gitleaks verts, 527 tests verts, liens documentaires verts, YAML valide, git diff --check vert. Les chevauchements #16266 et #16314 sont sur des hunks distincts, vérifiés à leurs têtes exactes.

    PR : #16339

  8. myia-ai-01 commented on Sep 16, 2026

    @myia-ai-01
    CollaboratorAuthor

    Evidence before merge

    The PR carries Closes #16014. After merge, the squash SHA and merge time will be added and the issue state will be re-read at least five minutes later before closure is reported.

  9. added a commit that references this issue on Sep 16, 2026
  10. myia-ai-01 commented on Sep 16, 2026

    @myia-ai-01
    CollaboratorAuthor

    Merge evidence

    • Merged PR: docs(harness,#16014): canoniser le sign-off normatif #16339 at 2026-09-16T11:45:08Z
    • Squash commit: 169fab902a4f241bbf1a44d1a7c836fd0f274d8b, verified as the current main head immediately after merge
    • Exact reviewed head: f9a90b9d664244de2cd5c0a5071ee8a28ffca251
    • Acceptance: canonical authority added to CLAUDE.md §A; substantive normative scope, direct-user-mandate sign-off, non-normative carve-out, auto-loaded harness rule, and all active references aligned
    • Validation: 527 targeted tests, docs links, YAML parse, gitleaks/pre-commit, and git diff --check passed; exact-head approval, PR gate, perimeter guard, nits gate, and review-thread gate were green
    • Checklist: the issue body contains no markdown checklist items

    GitHub closed the issue through the PR's Closes #16014 reference at 2026-09-16T11:45:09Z. A separate observer is waiting beyond the required five-minute window before this closure is reported as durable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions