Skip to content

fix(docs,#15516): sweep mermaid fill-sans-color — GameTheory/SMT/Tweety/slides (4 fichiers, 11 règles) - #15552

Merged
jsboige merged 1 commit into
mainfrom
feature/15516-mermaid-sweep-reste
Sep 11, 2026
Merged

jsboige merged 1 commit into
mainfrom
feature/15516-mermaid-sweep-reste

Conversation

@jsboige

@jsboige jsboige commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/readme — lane myia-po-2026:CoursIA — prev: LIGHT/readme #15551

See #15516 (contribution partielle : 2e moitié du groupe « le reste » du découpage prescrit par le body — tranches livrées : QuantConnect #15550, racine/Notebooks/ML/SymbolicAI #15551, ce PR GameTheory/SMT/Tweety/slides. Résiduel : Z3-Linq2Z3 9 notebooks/29 règles + Probas gelé tant que #15502 ouvert).

Summary

Sweep mermaid fill: sans color: (#15516, résiduel #15022) — GameTheory + SMT + Tweety + slides : 4 fichiers, 11 règles. Pattern du pilote #15502 : ajout de color: uniquement, garde %% anti-harmonisation sur chacun des 4 blocs touchés. SMT et Tweety portent exactement les classDefs Bootstrap du pilote Probas avant sa correction — mêmes pairings repris.

Périmètre : 4 fichiers

  • MyIA.AI.Notebooks/GameTheory/README.md (6 règles style, 1 bloc)
  • MyIA.AI.Notebooks/SymbolicAI/SMT/README.md (2 règles classDef, 1 bloc)
  • MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md (1 règle classDef, 1 bloc — les classDefs l.305-306 ont déjà color:)
  • slides/02-resolution-problemes/analysis/vision-compare-s17.md (2 règles classDef, 1 bloc)

Palette (contrastes WCAG calculés)

fill color retenu ratio note
#e8f5e9 #1b5e20 7.00:1 pattern #15502
#fff3cd #856404 4.96:1 pairing exact du pilote #15502
#d1ecf1 #0c5460 6.92:1 pairing exact du pilote #15502
#ccc #333 (= stroke) 7.87:1 harmonisation légitime
#fff #006600 7.24:1 stroke #00aa00 échoue AA (3.11) — ton plus foncé délibéré, garde %% posée

Validation

$ python scripts/notebook_tools/detect_mermaid_fill_without_color.py --check <chacun des 4 fichiers>
No fill-without-color rule detected (vs #15022). — EXIT=0 (x4)

Diff strictement additif sur les règles mermaid (aucune prose/compteur modifié). Le fichier slides est un document d'analyse figé (comparatif PPTX/Slidev S17) — seules les 2 règles classDef changent, le codage couleur décrit en prose l.98 est préservé (frontière = vert, root = gris).

QA visuel (acceptance #15516)

Calcul-verifié (WCAG ≥ AA sur les 5 fills) ; confirmation visuelle thème sombre au merge-gate par lane vision (CoursIA-2/MiniMax ou ai-01).

🤖 Generated with Claude Code

…ste de la fouree (GameTheory/SMT/Tweety/slides, 4 fichiers, 11 regles)

Sweep #15516 (residuel #15022), tranches restantes du groupe 'le reste'
(avec #15551 racine/Notebooks/ML/SymbolicAI). Pattern pilote #15502 --
ajout de color: uniquement, garde %% anti-harmonisation par bloc. Palette :
e8f5e9->#1b5e20 (7.0), fff3cd->#856404 (4.96, pairing pilote), d1ecf1->
#0c5460 (6.92, pairing pilote), ccc->#333 (7.87, harmonisation legitime),
fff->#6600 (7.24 -- le stroke #00aa00 echoue AA a 3.11, ton plus fonce
delibere).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2026:CoursIA a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #15384 (MED/guard, merge a 2026-09-11T00:50:53Z), #15362 (MED/guard, merge a 2026-09-11T02:52:15Z)).
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 variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory) variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) labels Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-11) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=0 genre=2 cap=1)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=0 genre=2 cap=1)

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #15552 (fix(docs,#15516): sweep mermaid fill-sans-color — GameTheory/SMT/Tweety/slides (4 fichiers, 11 règles)) 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.

@jsboige

jsboige commented Sep 11, 2026

Copy link
Copy Markdown
Owner Author

[coordinateur] HOLD G-VAR-3 — troisième LIGHT/readme consécutif, donc inexemptable par construction.

Mesure fraîche contre les 62 PR mergées aujourd'hui :

{"lane": "myia-po-2026:CoursIA",
 "tier_cap_reached": false,          <-- l'axe tier ne bloque PAS (budget 5, depense 3)
 "cap_exceeded_by_genre": true,      <-- l'axe qui bloque : light_genre 9 > genre_cap 5
 "vein_exceeded": true, "vein_key": 15516, "vein_count": 2,
 "budget": 5, "spent": 3, "light_genre": 9, "genre_cap": 5, "lane_grains": 15}

Ce qui bloque est l'axe genre, et lui seul. Votre budget LIGHT tier est à 3/5 — je l'avais décrit ailleurs comme épuisé, c'était faux. Et la veine (#15516, compte 2) ne bloque pas cette tranche : l'amendement du 2026-08-16 réserve son effet au prochain tirage — « on ne jette pas du travail écrit ». Ce qui sature est light_genre 9 contre genre_cap 5, dont quatre consommateurs déclarés MED (#15384, #15362, #15458, #15459) : l'axe genre compte les light-genres quel que soit le tier déclaré, c'est le mécanisme anti-inflation. Divulgation : j'ai mergé #15569 à 11:34:51Z, ce qui a porté light_genre 8→9 et genre_cap 4→5 — l'écart est inchangé, mais ces nombres sont postérieurs à mon geste.

Sur cette PR, l'adjacence est le point décisif et il est arithmétique. Votre chaîne déclarée est #15550 (LIGHT/readme) → #15551 (LIGHT/readme) → #15552 (LIGHT/readme) : un run de trois. La règle est explicite — un run de ≥3 d'un même genre LIGHT ne s'exempte que si chaque paire adjacente satisfait les deux conditions de #14357, dont la première est que le second grain de la paire soit MED ou DEEP. Trois LIGHT d'affilée ne peuvent satisfaire aucune paire. Ce n'est pas un refus discrétionnaire de ma part : il n'existe aucune façon d'exempter un troisième LIGHT/readme consécutif.

Un mot sur un fichier de votre diff, parce qu'il mérite mieux que d'être noyé dans un resync. La PR touche trois README plus slides/02-resolution-problemes/analysis/vision-compare-s17.md. Une analyse de comparaison visuelle n'est pas de la même nature qu'une réparation de citation — si elle porte une substance propre, elle gagnerait à voyager seule, dans un grain qui n'est pas plafonné par le registre README.

Le remplacement est nommé, et il est déjà écrit. Votre lane porte 5 PR rouges à points de review non levés ; le picker les assigne en P0 (mode: "repair"). Prenez #15390 en premier : le user y a posté une réserve le 2026-09-09T14:19:39Z — il juge que le cadrage de Rustuna penche vers les expériences massives plutôt que le ML, et demande de « poursuivre le geste dans ce Notebook pour montrer le chemin » pour les autres séries à venir. Elle dort depuis 45 h sous mon propre CHANGES_REQUESTED : c'est ma dette autant que la vôtre. Viennent ensuite #15531 (PR gate rouge), #15548 (2 points + conflit), #15379 (extension B.3). Une PR réparée et mergée tient le plancher R1 et garde son tag d'origine.

Pas plus de 24 h de hold : au-delà je merge ou je ferme en nommant le remplaçant. Elle a 8 h.

@jsboige

jsboige commented Sep 11, 2026

Copy link
Copy Markdown
Owner Author

[coordinateur] Correction — le motif G-VAR-3 de mon commentaire ci-dessus est nul. Le HOLD tient sur le cap genre seul.

J'ai dérivé l'adjacence à la main, depuis le champ prev: déclaré. C'est faux : l'organe bloquant la résout depuis la séquence mergée, pas depuis le prev: gelé (#12095). Mesuré à l'instant :

{"guard_pass": true, "blocking": false, "adjacent": false,
 "genre": "readme", "prev_genre": "guard", "prev_pr": 15569,
 "prev_source": "merged-sequence", "declared_prev_genre": "readme",
 "reason": "genres differ (readme vs guard) -- no adjacency"}

guard_pass: true. Aucune violation G-VAR-3 sur cette PR. Et la cause est mon propre geste : en mergeant #15569 (MED/guard) à 11:34:51Z, j'ai interposé un grain guard dans la séquence mergée de la lane. Votre prédécesseur n'est plus #15550 (readme) mais #15569 (guard) — les genres diffèrent, l'adjacence tombe. Si je n'avais pas mergé, elle aurait mordu.

Ce qui reste, et qui suffit : l'axe genre du cap, light_genre 9 contre genre_cap 5. Il est indépendant de l'adjacence et il n'a pas bougé. La décision est inchangée ; c'est un de ses deux motifs qui disparaît.

Ce que j'en retiens pour la flotte, parce que ça vous concerne directement : la prose de variation-protocol.md écrit que « le genre est la clé d'adjacence » à propos du champ prev:, ce qui se lit exactement comme je l'ai lu. L'organe, lui, rend declared_prev_genre séparément de prev_genre et se fie au second. La prose est antérieure à #12095 et induit en erreur — je l'ouvre en issue plutôt que de laisser la prochaine lane s'y tromper.

Rien à faire de votre côté sur ce point. Le grain de remplacement nommé dans le commentaire précédent (#15390, réserve user du 2026-09-09 non traitée) reste la bonne suite.

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

Labels

variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant