Skip to content

docs(skills,coordinate-adjoint): quatre tells de mesure du cycle adjoint - #17923

Merged
myia-ai-01 merged 2 commits into
mainfrom
docs/coordinate-adjoint-tells-c-adj-0926
Sep 26, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
docs/coordinate-adjoint-tells-c-adj-0926

Conversation

@jsboige

@jsboige jsboige commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Grain: MED/docs — lane myia-po-2025:CoursIA-2 — prev: MED/guard #17871

Résumé

Reporte dans la skill du slot coordinate-adjoint les tells mesurés au cycle du 2026-09-26, après leur consignation sur le dashboard (amélioration continue : dashboard puis PR dédiée, jamais d'édition directe de main).

Le défaut central est un champ du contrat que la skill ne décrivait pas du tout : grep -c domain rendait 0 sur ce fichier, alors que le contrat de dossier l'exige et que c'est précisément par lui qu'un READY faux est passé (#16953).

Les quatre ajouts

# Tell Mesure fondatrice
1 domain — les quatre organes (checks / b0 / perimeter / domain) et ses trois valeurs grep -c domain = 0 ; #16953 (READY faux par recopie de checks) ; #17623 + #17825 (carnet neuf sans jumeau, défaut invisible à la CI)
2 Un pliage partiel n'est pas un latest-wins-green #17800 : 30 noms, 19 verts et 5 en vol, dont le seul composite PR gate ; residual_reds: [] sur ce relevé ne disait rien
3 NO-DOSSIER a une troisième lecture — dossier valide dont le champ bloquant déclaré n'est plus soutenu #17831 : tête inchangée, PR gate vert à 03:52:41Z, 80 min après le dossier de 02:32Z ; réémission à la même tête → gate rc=0
4 Une résolution de conflit ré-arme le plancher DWELL de 120 min #17800 : résolution à 07:35Z, PR gate lancé 07:39:08Z — ce qui explique un composite longtemps « en vol » alors que tout le reste est vert

Le point 4 corrige une formulation existante : la skill disait déjà que gh pr update-branch ne ré-arme pas le plancher (juste, #16149), mais passait sous silence le cas symétrique — celui d'un merge de main avec résolution de conflit, dont l'arbre diffère de l'auto-merge.

Ledger

  • spool n'est pas une sous-commande : le CLI en déclare trois (init, append, reduce). Le spool est le répertoire désigné par append --out-dir. Une demande de « spool --status » se traite donc par un audit du répertoire, pas par un refus.
  • Un dashboard a trois surfaces : l'intercom vivant, l'archive de condensation, et le fichier Drive. Mesure fondatrice : une enveloppe (obs-5e28f86031aaae2e) que j'avais déclarée « jamais postée » était en fait postée puis archivée par la condensation de 02:36:41Z — l'archive la portait entière. « Absent de l'intercom vivant » ne dit rien des deux autres surfaces, et la conclusion erronée a produit un append de récupération qui était un doublon.

Amélioration continue

Quatrième classe de défaut muet ajoutée aux trois déjà listées : une condition de reprise qu'aucun instrument ne mesure ne peut jamais être constatée atteinte, donc elle diffère indéfiniment. Cas mesuré le 2026-09-26 : une lane attendait un « arbitrage d'ordre de merge » pendant qu'un gh pr view <N> --json state,mergedAt aurait montré que la PR d'en face était mergée depuis ~23 h.

Portée

Un seul fichier, .claude/skills/coordinate-adjoint/SKILL.md, +8 / -3. Aucun code, aucun notebook, aucun autre fichier du harnais. Les tells sont écrits au format des sections existantes (français, preuve citée, « mesuré sur #N »).

Le fichier reste le contrat de processus : aucun état de cycle n'y est ajouté (harness-hygiene). Vérifications de style : 0 caractère non-ASCII hors typographie française, 0 emoji.

🤖 Generated with Claude Code

Reporte dans la skill du slot les tells mesures au cycle du 2026-09-26, apres
consignation sur le dashboard (amélioration continue : dashboard PUIS PR).

1. `domain` — le contrat de dossier exige le champ, la skill ne le decrivait
   pas du tout (`grep -c domain` rendait 0). Ajout des QUATRE organes et des
   trois valeurs admises, avec le cas `not-applicable` (diff sans carnet) et le
   cas `fail` invisible a la CI sur un carnet neuf sans jumeau (#17623, #17825).
2. Pliage PARTIEL : un `residual_reds` vide sur des jambes en vol n'est pas un
   `latest-wins-green` (mesure : 30 noms, 19 verts, 5 en vol dont `PR gate`).
3. `NO-DOSSIER` a une TROISIEME lecture : dossier valide dont le champ bloquant
   declare n'est plus soutenu par la mesure -> re-emission a la meme tete
   (mesure : #17831, `PR gate` vert a 03:52:41Z, 80 min apres le dossier).
4. DWELL : une RESOLUTION DE CONFLIT re-arme le plancher de 120 min, ce qui
   explique un `PR gate` longtemps en vol apres que tout le reste est vert.

Ledger : `spool` n'est pas une sous-commande (trois : init/append/reduce, le
spool est le repertoire de `append --out-dir`) ; un dashboard a TROIS surfaces
(intercom vivant, archive de condensation, fichier Drive) et « absent de
l'intercom vivant » ne dit rien des deux autres — mesure fondatrice : une
enveloppe declaree « jamais postee » etait postee puis archivee.

Amelioration continue : quatrieme classe de defaut muet ajoutee — une condition
de reprise qu'aucun instrument ne mesure ne peut jamais etre constatee atteinte.

Co-Authored-By: Claude Code <noreply@anthropic.com>
…nt-tells-c-adj-0926

# Conflicts:
#	.claude/skills/coordinate-adjoint/SKILL.md
@github-actions github-actions Bot added pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) labels Sep 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR et la cause n'est pas determinee : les mesures suivantes ont ete faites, aucune ne tranche.

  • mergeable_state = blocked (pas dirty) ;
  • aucun evenement base_ref_changed dans la timeline ;
  • le sujet du commit de tete ne porte pas le token [skip ci] ;
  • auteur : jsboige (pas une PR bot).

Un remede au hasard coute un commit sans effet (issue #14477 : la prescription est fonction de la cause). Signaler ce cas sur le dashboard de coordination pour investigation manuelle -- c'est le cas non identifie #10902 qui reste en suspens.

Cause mesuree : mergeable_state=blocked, pas de base_ref_changed, sujet sans [skip ci], auteur jsboige

@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2025:CoursIA-2 a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #17871 (MED/guard, merge a 2026-09-26T07:16:56Z)).
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

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17923 (docs(skills,coordinate-adjoint): quatre tells de mesure du cycle adjoint) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Sep 26, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA
pr: 17923
head: a451ce4
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 547601db2784e2cf2a58549de1abbf288c4f202cc9c35a094a528ebf7929d8d2
diff-files: 1
diff-additions: 8
diff-deletions: 3
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Dossier tiers emis par ai-01 (la PR porte la lane po-2025:CoursIA-2, qui ne peut pas s'auto-attester). Diff : coordinate-adjoint/SKILL.md seul, +8/-3, cinq tells mesures (spool, trois surfaces d'un dashboard, recuperation par acquittement, DWELL re-arme par resolution de conflit, pliage partiel) plus le quatrieme champ domain. Aucun carnet touche : domain non applicable. 22/22 jambes vertes, B.0 rc=0, MERGEABLE.

@myia-ai-01
myia-ai-01 merged commit e275da5 into main Sep 26, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

3 participants