Skip to content

docs(harness,B.0): sous le login partagé, seul le coordinateur lève une réserve par une phrase - #19775

Merged
myia-ai-01 merged 1 commit into
mainfrom
docs/b0-lift-by-coordinator
Oct 8, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
docs/b0-lift-by-coordinator

Conversation

@jsboige

@jsboige jsboige commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Résumé

Une ligne ajoutée à CLAUDE.md §B.0, sous « Qui » : sous le login partagé, seul le coordinateur lève une réserve par une phrase.

La règle décrit ce que l'organe fait sur une réserve ordinaire. Toutes les lanes poussent et commentent sous jsboige. Sur une PR jsboige, check_unaddressed_nits.py refuse une phrase de levée signée jsboige (lift_author == pr_author, l.4804 ; jsboige retiré des comptes de levée par #13316 ; trappe fermée à l'auteur par #13495), quelle que soit la lane qui l'a écrite. LIFT_OVERRIDE_LOGINS = {"myia-ai-01"} (l.141) passe, avec [OVERRIDE] lane … en tête de ligne et la nomination de l'auteur de la réserve (_override_scopes_reserve, #14216 ; _names_author, l.4313).

Exception que le code garde et que la ligne ne retire pas : la voie persona (l.4775-4798, #13609). Une phrase jsboige portant un marqueur persona lève une réserve posée par clusterManager-Myia, sauf si elle est signée par la lane de la PR (#18149). C'est le dialogue entre le bot reviewer et son self-bot, pas une levée de lane. La ligne de CLAUDE.md est plus étroite que le code sur ce point : elle prescrit le geste des lanes, et ne touche pas cette voie.

Pourquoi maintenant

Mesuré le 07/10 sur #19636 et #19622 : des levées postées par les lanes n'étaient pas comptées, et deux levées du coordinateur ont dû être refaites parce qu'elles nommaient la lane de l'auteur de la réserve au lieu de son login. La règle ne disait ni l'un ni l'autre.

Gouvernance

Changement normatif (il nomme qui lève). Sign-off : réponse du mainteneur en session directe le 07/10 à 19:31Z, sur l'option « l'écrire dans la règle des reviews ». Le pointeur de transcript a été transmis à la lane qui prépare le dossier, par message privé. L'option qui modifiait l'organe pour accepter une levée de lane n'est pas retenue : un nom de lane écrit dans un commentaire ne prouve pas qui l'a écrit.

Ce que la PR ne fait pas

Validation

  • Diff : 1 ligne ajoutée, aucune supprimée (git diff --stat).
  • Références vérifiées dans scripts/check_unaddressed_nits.py à origin/main : l.141, l.4313, l.4775-4798, l.4804, l.4823-4838.

Grain: LIGHT/docs -- lane myia-ai-01:CoursIA -- prev: LIGHT/docs #19375

🤖 Generated with Claude Code

…ne reserve par une phrase

Toutes les lanes ecrivent sous jsboige ; sur une PR jsboige, l'organe B.0
refuse une phrase de levee signee jsboige quelle que soit la lane qui l'a
ecrite (#13316, #13495). La regle le dit desormais : la levee par phrase se
fait sous myia-ai-01 avec [OVERRIDE] en tete de ligne et nomme l'auteur de
la reserve par son login ; les lanes gardent les voies 2 et 3.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions github-actions Bot added variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-ai-01:CoursIA a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #19560 (MED/docs, merge a 2026-10-07T02:26:32Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 1 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

G-VAR-3 : deux grains LIGHT du meme genre consecutifs -- bloquant (#11170).

G-VAR-3: docs succede a docs -- deux grains LIGHT consecutifs pour la lane myia-ai-01:CoursIA. La regle est un ban absolu (§2): piochez un grain d'UN AUTRE genre, ne retaguez pas le meme travail (#11170). Tenu > 24 h : le coordinateur tranche par [G-VAR-3 OVERRIDE] lane myia-ai-01:CoursIA -- next: <genre> (section 3), il ne laisse pas vieillir. (predecesseur reel: #19560, sequence mergee)

Referentiel du verdict (#15739) -- ce verdict a ete calcule contre : predecesseur #19560 (docs, source merged-sequence), sequence de merges arretee au 2026-10-07T20:50:43Z. Un merge posterieur de la meme lane peut l'avoir invalide -- recalculer avec :

python scripts/ci/variation_adjacency_guard.py --pr-number 19775

variation-protocol.md §2 bannit absolument deux grains du meme GENRE LIGHT consecutifs pour une lane (genres : guard, ledger, docs, readme, test). Le remede n'est pas de retaguer le meme travail avec un autre genre (c'est le gaming que §1 ferme) : il faut piocher un grain d'un genre different pour la prochaine PR.

Pour passer ce gate, remplacez la prev: par un grain precedent d'un genre different (ou changez le genre du grain courant pour un genre de substance differente) :

Grain: <TIER>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<genre-different> #<PR>

@myia-ai-01

Copy link
Copy Markdown
Collaborator

[G-VAR-3 OVERRIDE] lane myia-ai-01:CoursIA -- next: tooling

Motif : cette PR est une ligne de harnais (CLAUDE.md §B.0) signee par le user (registre Q102, option a). Elle ne peut pas etre groupee avec un autre grain docs sans melanger deux gouvernances. Le prochain grain de la lane myia-ai-01:CoursIA est #19492 (feat(coordination), genre tooling), deja ouvert.

@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 19775
head: 263165d
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 8ce24fa4a7c38bd3cc78da1d0e73673c2bd0c7fddd4f706e4eaf42686e53de86
diff-files: 1
diff-additions: 1
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19775
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 88ab503 into main Oct 8, 2026
25 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants