From 7873a71e525e7021236f2bbe3552d0dd00d85e44 Mon Sep 17 00:00:00 2001 From: jsboige Date: Sat, 26 Sep 2026 09:27:59 +0200 Subject: [PATCH] docs(skills): coordinate skill names both neutral identities of the gate The coordinate skill said only myia-ai-01 is neutral after a dossier. Since #16883, _is_own_later_act also neutralises the shared jsboige login, and since #17039 a review stays neutral only without a reserve. State the code as it is, and the consequence: a later jsboige comment, including a user nit, is invisible to the gate and is caught by B.0. Co-Authored-By: Claude Opus 5 (1M context) --- .claude/skills/coordinate/SKILL.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.claude/skills/coordinate/SKILL.md b/.claude/skills/coordinate/SKILL.md index c2ee1167c8..4c065fd2d0 100644 --- a/.claude/skills/coordinate/SKILL.md +++ b/.claude/skills/coordinate/SKILL.md @@ -82,7 +82,9 @@ Les phases ci-dessous s'executent sous le budget defini par la section `## Budge **Pourquoi** : exiger READY pour `exit 0` faisait dependre le **droit de lire** de l'**etat de mergeabilite**, donc ai-01 ne pouvait ouvrir que les PRs qui allaient deja bien — jamais les plus vieilles, qui sont vieilles *parce que* bloquees. Ca poussait aussi l'adjoint a ecrire READY pour seulement rendre son travail visible, ce qui a produit un faux `b0: clear` **mesure** sur une PR portant 3 findings HIGH ouverts (#16160). - **Une seule identite est neutre** : `myia-ai-01`, et uniquement pour les surfaces qu'elle ecrit **apres** le dossier. Sans ca, le geste que le gate autorise — lire la PR, puis lever sa propre reserve — perime le dossier que le gate exige, et une PR bloquee par la seule reserve du coordinateur ne peut jamais se merger sans un aller-retour complet. Une surface de **tout autre auteur**, ou une surface `myia-ai-01` **anterieure** au dossier, perime toujours. + **Deux identites sont neutres** apres le dossier, et seulement apres : `myia-ai-01` et le login partage `jsboige` (#16883, `_is_own_later_act` dans `scripts/check_adjoint_prevalidation.py`). Un **commentaire** de l'une ou l'autre, poste apres le dossier, ne le perime pas. Une **review** ne le laisse intact que si elle ne pose aucune reserve (#17039). Sans ca, le geste que le gate autorise — lire la PR, puis lever sa propre reserve — perimerait le dossier que le gate exige. Une surface de **tout autre auteur**, ou une surface **anterieure** au dossier, perime toujours. + + **Consequence** : `jsboige` est aussi le login de toutes les lanes et du user. Le gate ne voit donc pas un commentaire `jsboige` poste apres le dossier, pas meme un nit user. C'est B.0 (`check_unaddressed_nits.py`) qui l'attrape : son `rc=0` reste exige avant tout merge, dossier READY ou pas. Le bloc `[ADJOINT PREFLIGHT]` est genere par `python scripts/check_adjoint_prevalidation.py --template [--lane ]`, puis complete par la lane emettrice -- **qui rend son PROPRE nom** : un dossier sous un nom d'emprunt defait le refus d'auto-attestation. Le compte des commentaires exclut le commentaire-dossier lui-meme. **Interdit de contourner le gate par un sous-agent, une lecture API directe ou un ancien dossier d'inbox.** 2. **Exploiter les verdicts deja poses** : `[Hermes] COMMENT_WITH_CONCERNS` (prefixe de `reviews[].body`), `EXEC_PROVED` / `STRUCTURAL_ONLY` / `SUSPECT_REGRESSION` (body). Tout finding NanoClaw suit [audit-reassessment.md](../../rules/audit-reassessment.md) avant fix (~60 % de FP).