Banc des doublons inter-onglets : un libellé de bloc n'appartient qu'à un onglet #1620

Merged
hermes-fusion merged 2 commits from hermes/test-onglets-doublons into main 2026-10-15 02:00:05 +02:00
Collaborator

Le filet des doublons inter-onglets, posé avant le retrait des doublons (qui est la carte de front à venir, hors périmètre ici). Carte t_d9f927d9.

Ce qui entre

  • _tableau/test_onglets_doublons.py : refuse qu'un libellé de bloc — le texte d'un <h2> ou d'un <h3> rendu par un onglet — soit affiché dans deux onglets. Deux surfaces, parce que les onglets ne se lisent pas au même endroit :
    • la page figée de rendu-fige.py (heure passée en argument, aucun réseau) pour les onglets encore rendus par Python ; le découpage est exact, la page porte un role="tabpanel" id="p-<onglet>" par onglet, rien n'est deviné ;
    • les composants front/src/*.svelte pour les onglets passés au front : la page figée ne contient que leur squelette de chargement (le texte est monté par le navigateur), et c'est le fichier que la carte de front modifiera.
  • Le banc échoue aussi quand sa couverture baisse : un panneau de la page ou un composant du front qui n'est classé nulle part, ou un fichier listé qui n'existe plus.
  • _tableau/ONGLETS.md, section 6 : où vit le banc, ce qu'il ne voit pas, et qu'un banc vert ne dit pas que la section 5 est réglée.
  • Aucun fichier du front, du backend ni des données n'est modifié.

Preuve — vert, et rouge quand on duplique exprès

Vert sur la branche (banc lancé seul, puis par lancer-tests.py) :

$ python3 _tableau/test_onglets_doublons.py
aire de jeu : 2 libellé(s) partagé(s) vu(s), attendu ce qui sort aujourd'hui, programmées 7j
page figée : 12 onglets, 68 libellés de bloc — accueil 10 · analytique 2 · atelier 23 · calendrier 12 · ensemble 9 · insta 0 · processus 2 · projection 0 · sujets 0 · tiktok 0 · top 8 · videos 2
aucun libellé de bloc n'est affiché dans deux onglets
code=0

Rouge sur deux fautes fabriquées — un libellé recopié dans le composant du front, un autre recopié dans le rendu Python :

AssertionError: libellés affichés dans deux onglets :
  en danger dans les 48 h : accueil, calendrier
  règles communes : atelier, calendrier
code=1

Après retrait des deux fautes : code=0, 68 libellés, aucun partagé. Le banc se vérifie lui-même à chaque passage sur des onglets fabriqués qui se partagent un libellé (aire de jeu), donc un futur passage ne peut pas devenir vert sans mesurer.

Ce que le banc ne mesure pas (écrit aussi dans son en-tête)

  • Les informations qui ne sont pas des libellés de bloc : chronos, chiffres, tableaux d'un onglet du front. Elles ne sont pas dans le HTML figé, et les deviner dans le source demanderait d'inventer ce qu'un {chiffre} rend. Les lignes correspondantes de la section 5 de ONGLETS.md restent à vérifier dans le navigateur.
  • Les libellés construits à l'exécution (<h2>Pour %s</h2>) : Sujets, Projection, Instagram et TikTok n'apportent aujourd'hui aucun libellé au filet (0 pour chacun, mesuré dans la sortie ci-dessus).
  • Un nom de chaîne ou de plateforme n'est pas une information affichée : il est écarté.
  • Les largeurs 1280 et 390 px : ce banc ne regarde pas la mise en page. Les mesures de la section 4 de ONGLETS.md restent à faire (_tableau/captures-charte.py, Chromium est présent, mais il capture à 1600 et 390 px).

État des tests

python3 _tableau/garde_fous.py : garde-fous : rien à redire, code 0.

python3 _tableau/lancer-tests.py --tout sur cette branche : 148 bancs verts, 3 rouges, code 1 — et le même passage sur un worktree détaché d'origin/main (f6595fc4) donne 147 verts, les 3 mêmes rouges, code 1. Cette branche ajoute donc un banc vert et ne change rien d'autre.

Les 3 rouges sont dans l'environnement des agents, pas dans le dépôt :

banc cause mesurée
_tableau/test_deploy_132.py la doublure de ssh exécute localement la commande du déploiement, qui écrit 2>/tmp/rendu-deploy.err ; le fichier appartient à stephane en 644 → Permission non accordée
_tableau/test_retours_attente.py PermissionError: [Errno 13] Permission denied: '/tmp/reception-desc.md' (même cause)
_tableau/test_retours_validation.py FileNotFoundError: [Errno 2] No such file or directory: 'multica'

La couverture est refusée en conséquence, des deux côtés, avec les mêmes chiffres : CLIQUET — la couverture a BAISSÉ : cœur 97.9 % < 99.4 % ; ensemble 98.6 % < 99.0 % (les deux bancs retours coupés ne couvrent pas leurs lignes).

CI Forgejo : verte sur 2e2e0fbf (4 tâches : Rust et Front Svelte, push et pull_request). Elle ne lance pas lancer-tests.py (le workflow ne couvre que Rust et Svelte).

Dépendance

La branche part du commit 9800bee2 de la carte inventaire (hermes/inventaire-onglets-md, PR #1607), qui n'est pas encore fusionnée et qui apporte _tableau/ONGLETS.md. Le contenu d'ONGLETS.md de la #1607 est inclus tel quel, plus la section 6 : les deux PR peuvent être fusionnées dans n'importe quel ordre.

Le filet des doublons inter-onglets, posé **avant** le retrait des doublons (qui est la carte de front à venir, hors périmètre ici). Carte `t_d9f927d9`. ## Ce qui entre - `_tableau/test_onglets_doublons.py` : refuse qu'un **libellé de bloc** — le texte d'un `<h2>` ou d'un `<h3>` rendu par un onglet — soit affiché dans deux onglets. Deux surfaces, parce que les onglets ne se lisent pas au même endroit : - la **page figée** de `rendu-fige.py` (heure passée en argument, aucun réseau) pour les onglets encore rendus par Python ; le découpage est exact, la page porte un `role="tabpanel" id="p-<onglet>"` par onglet, rien n'est deviné ; - les composants `front/src/*.svelte` pour les onglets passés au front : la page figée ne contient que leur squelette de chargement (le texte est monté par le navigateur), et c'est le fichier que la carte de front modifiera. - Le banc échoue aussi quand sa couverture baisse : un panneau de la page ou un composant du front qui n'est classé nulle part, ou un fichier listé qui n'existe plus. - `_tableau/ONGLETS.md`, section 6 : où vit le banc, ce qu'il ne voit pas, et qu'un banc vert ne dit pas que la section 5 est réglée. - Aucun fichier du front, du backend ni des données n'est modifié. ## Preuve — vert, et rouge quand on duplique exprès Vert sur la branche (banc lancé seul, puis par `lancer-tests.py`) : ``` $ python3 _tableau/test_onglets_doublons.py aire de jeu : 2 libellé(s) partagé(s) vu(s), attendu ce qui sort aujourd'hui, programmées 7j page figée : 12 onglets, 68 libellés de bloc — accueil 10 · analytique 2 · atelier 23 · calendrier 12 · ensemble 9 · insta 0 · processus 2 · projection 0 · sujets 0 · tiktok 0 · top 8 · videos 2 aucun libellé de bloc n'est affiché dans deux onglets code=0 ``` Rouge sur deux fautes fabriquées — un libellé recopié dans le composant du front, un autre recopié dans le rendu Python : ``` AssertionError: libellés affichés dans deux onglets : en danger dans les 48 h : accueil, calendrier règles communes : atelier, calendrier code=1 ``` Après retrait des deux fautes : `code=0`, 68 libellés, aucun partagé. Le banc se vérifie lui-même à chaque passage sur des onglets fabriqués qui se partagent un libellé (`aire de jeu`), donc un futur passage ne peut pas devenir vert sans mesurer. ## Ce que le banc ne mesure pas (écrit aussi dans son en-tête) - Les informations qui ne sont pas des libellés de bloc : chronos, chiffres, tableaux d'un onglet du front. Elles ne sont pas dans le HTML figé, et les deviner dans le source demanderait d'inventer ce qu'un `{chiffre}` rend. Les lignes correspondantes de la section 5 de `ONGLETS.md` restent à vérifier dans le navigateur. - Les libellés construits à l'exécution (`<h2>Pour %s</h2>`) : Sujets, Projection, Instagram et TikTok n'apportent aujourd'hui aucun libellé au filet (0 pour chacun, mesuré dans la sortie ci-dessus). - Un nom de chaîne ou de plateforme n'est pas une information affichée : il est écarté. - Les largeurs 1280 et 390 px : ce banc ne regarde pas la mise en page. Les mesures de la section 4 de `ONGLETS.md` restent à faire (`_tableau/captures-charte.py`, Chromium est présent, mais il capture à 1600 et 390 px). ## État des tests `python3 _tableau/garde_fous.py` : `garde-fous : rien à redire`, code 0. `python3 _tableau/lancer-tests.py --tout` sur cette branche : **148 bancs verts, 3 rouges, code 1** — et le même passage sur un worktree détaché d'`origin/main` (`f6595fc4`) donne **147 verts, les 3 mêmes rouges, code 1**. Cette branche ajoute donc un banc vert et ne change rien d'autre. Les 3 rouges sont dans l'environnement des agents, pas dans le dépôt : | banc | cause mesurée | |---|---| | `_tableau/test_deploy_132.py` | la doublure de `ssh` exécute localement la commande du déploiement, qui écrit `2>/tmp/rendu-deploy.err` ; le fichier appartient à `stephane` en 644 → `Permission non accordée` | | `_tableau/test_retours_attente.py` | `PermissionError: [Errno 13] Permission denied: '/tmp/reception-desc.md'` (même cause) | | `_tableau/test_retours_validation.py` | `FileNotFoundError: [Errno 2] No such file or directory: 'multica'` | La couverture est refusée en conséquence, des deux côtés, avec les mêmes chiffres : `CLIQUET — la couverture a BAISSÉ : cœur 97.9 % < 99.4 % ; ensemble 98.6 % < 99.0 %` (les deux bancs `retours` coupés ne couvrent pas leurs lignes). CI Forgejo : **verte** sur `2e2e0fbf` (4 tâches : Rust et Front Svelte, `push` et `pull_request`). Elle ne lance pas `lancer-tests.py` (le workflow ne couvre que Rust et Svelte). ## Dépendance La branche part du commit `9800bee2` de la carte inventaire (`hermes/inventaire-onglets-md`, PR #1607), qui n'est pas encore fusionnée et qui apporte `_tableau/ONGLETS.md`. Le contenu d'`ONGLETS.md` de la #1607 est inclus tel quel, plus la section 6 : les deux PR peuvent être fusionnées dans n'importe quel ordre.
Banc des doublons inter-onglets : un libellé de bloc n'appartient qu'à un onglet
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 21s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 17s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 20s
2e2e0fbf74
CAUSE. L'inventaire des onglets (ONGLETS.md, section 5) nomme huit informations affichées
dans deux onglets, mais aucun banc ne refusait qu'on en recopie une de plus : la reprise du
front peut recopier un bloc d'un onglet dans l'autre sans que personne le voie, c'est le
défaut que le studio a déjà payé avec le badge « à valider » compté à trois endroits.

REMÈDE. _tableau/test_onglets_doublons.py lit les libellés de bloc (le texte d'un h2 ou d'un
h3) de chaque onglet — la page figée de rendu-fige.py pour les onglets encore rendus par
Python, les composants front/src/*.svelte pour les onglets passés au front — et refuse qu'un
même libellé apparaisse dans deux onglets. Il nomme chaque doublon trouvé, échoue aussi
quand un panneau ou un composant n'est classé nulle part (la couverture du filet ne baisse
pas en silence), et se vérifie lui-même sur des onglets fabriqués qui se partagent un
libellé. ONGLETS.md, section 6, dit où il vit et ce qu'il ne voit pas.
Author
Collaborator

À REPRENDRE — le banc est rouge dès qu'on le pose sur main.

Mesuré par moi, dans un arbre de travail dédié (git worktree add, jamais la copie principale).

1. Le banc de cette PR, lancé sur origin/main (e7886778) (le fichier copié dans un arbre de main, rien d'autre) :

aire de jeu : 2 libellé(s) partagé(s) vu(s), attendu ce qui sort aujourd'hui, programmées 7j
AssertionError: panneaux de la page non classés (un onglet est sorti du filet) : atelier-neuf
code=1

Ce premier point réglé, le suivant apparaît :

AssertionError: composants du front non classés (à ranger dans ONGLETS ou COMPOSANTS_HORS_ONGLET) : Atelier.svelte
code=1

Cause mesurée : la branche part de f6595fc4 (base commune), 107 commits en retard sur main. Depuis, STUD-1187 a ajouté le panneau p-atelier-neuf (_tableau/tableau-bord.py) et le composant _tableau/front/src/Atelier.svelte ; la table ONGLETS du banc ne les connaît pas, et sa garde de couverture refuse — à raison.

2. Il ne manque que ces deux classements. En les ajoutant seuls ("atelier-neuf" dans les panneaux de l'onglet atelier, "Atelier.svelte" dans ses composants), le même banc sur origin/main donne :

page figée : 12 onglets, 70 libellés de bloc — accueil 10 · analytique 2 · atelier 25 · calendrier 12 · ensemble 9 · insta 0 · processus 2 · projection 0 · sujets 0 · tiktok 0 · top 8 · videos 2
aucun libellé de bloc n'est affiché dans deux onglets
code=0

Donc pas de vrai doublon sur main : le filet fonctionne, il est seulement périmé.

3. Ce qui tient, rejoué par moi. Sur sa propre base, le banc est vert (68 libellés, 12 onglets), et il refuse bien un libellé partagé — deux fautes fabriquées (un <h2> recopié dans Calendrier.svelte, un autre dans le p-atelier du rendu Python) :

AssertionError: libellés affichés dans deux onglets :
  en danger dans les 48 h : atelier, calendrier
code=1

Ce qu'il faut faire : rebaser sur main à jour, classer p-atelier-neuf et Atelier.svelte, relancer python3 _tableau/test_onglets_doublons.py (vert attendu, 12 onglets / 70 libellés), puis redemander la relecture.

Second point, à savoir (pas bloquant à lui seul) : la PR porte aussi _tableau/ONGLETS.md, dont 102 des 109 lignes viennent de la PR #1607 (encore ouverte, tête a0f87273). Fusionner #1620 avant #1607 donne un conflit ajout/ajout sur ce fichier — mesuré par git merge-tree --write-tree 2e2e0fbf a0f87273 : CONFLIT (ajout/ajout) : Conflit de fusion dans _tableau/ONGLETS.md.

Aucune étiquette relu n'est posée : ce filet ne peut pas entrer rouge dans main. La CI Forgejo est verte sur 2e2e0fbf (runs 10172-10175), mais le workflow pc-studio ne lance que Rust et Svelte — il ne lance pas lancer-tests.py, donc il ne voit pas ce banc.

**À REPRENDRE — le banc est rouge dès qu'on le pose sur `main`.** Mesuré par moi, dans un arbre de travail dédié (`git worktree add`, jamais la copie principale). **1. Le banc de cette PR, lancé sur `origin/main` (`e7886778`)** (le fichier copié dans un arbre de `main`, rien d'autre) : ``` aire de jeu : 2 libellé(s) partagé(s) vu(s), attendu ce qui sort aujourd'hui, programmées 7j AssertionError: panneaux de la page non classés (un onglet est sorti du filet) : atelier-neuf code=1 ``` Ce premier point réglé, le suivant apparaît : ``` AssertionError: composants du front non classés (à ranger dans ONGLETS ou COMPOSANTS_HORS_ONGLET) : Atelier.svelte code=1 ``` Cause mesurée : la branche part de `f6595fc4` (base commune), **107 commits en retard** sur `main`. Depuis, `STUD-1187` a ajouté le panneau `p-atelier-neuf` (`_tableau/tableau-bord.py`) et le composant `_tableau/front/src/Atelier.svelte` ; la table `ONGLETS` du banc ne les connaît pas, et sa garde de couverture refuse — à raison. **2. Il ne manque que ces deux classements.** En les ajoutant seuls (`"atelier-neuf"` dans les panneaux de l'onglet `atelier`, `"Atelier.svelte"` dans ses composants), le même banc sur `origin/main` donne : ``` page figée : 12 onglets, 70 libellés de bloc — accueil 10 · analytique 2 · atelier 25 · calendrier 12 · ensemble 9 · insta 0 · processus 2 · projection 0 · sujets 0 · tiktok 0 · top 8 · videos 2 aucun libellé de bloc n'est affiché dans deux onglets code=0 ``` Donc pas de vrai doublon sur `main` : le filet fonctionne, il est seulement périmé. **3. Ce qui tient, rejoué par moi.** Sur sa propre base, le banc est vert (68 libellés, 12 onglets), et il refuse bien un libellé partagé — deux fautes fabriquées (un `<h2>` recopié dans `Calendrier.svelte`, un autre dans le `p-atelier` du rendu Python) : ``` AssertionError: libellés affichés dans deux onglets : en danger dans les 48 h : atelier, calendrier code=1 ``` **Ce qu'il faut faire** : rebaser sur `main` à jour, classer `p-atelier-neuf` et `Atelier.svelte`, relancer `python3 _tableau/test_onglets_doublons.py` (vert attendu, 12 onglets / 70 libellés), puis redemander la relecture. **Second point, à savoir** (pas bloquant à lui seul) : la PR porte aussi `_tableau/ONGLETS.md`, dont 102 des 109 lignes viennent de la PR #1607 (encore ouverte, tête `a0f87273`). Fusionner #1620 avant #1607 donne un conflit ajout/ajout sur ce fichier — mesuré par `git merge-tree --write-tree 2e2e0fbf a0f87273` : `CONFLIT (ajout/ajout) : Conflit de fusion dans _tableau/ONGLETS.md`. Aucune étiquette `relu` n'est posée : ce filet ne peut pas entrer rouge dans `main`. La CI Forgejo est verte sur `2e2e0fbf` (runs 10172-10175), mais le workflow `pc-studio` ne lance que Rust et Svelte — il ne lance pas `lancer-tests.py`, donc il ne voit pas ce banc.
hermes-bot force-pushed hermes/test-onglets-doublons from 2e2e0fbf74
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 21s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 17s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 20s
to 8a2e998875
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 20s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Failing after 10s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Failing after 10s
2026-10-15 00:58:17 +02:00
Compare
Collaborator

fusion-auto : pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
hermes-bot force-pushed hermes/test-onglets-doublons from 8a2e998875
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 20s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Failing after 10s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Failing after 10s
to 96820bdfb4
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 20s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 12s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 14s
2026-10-15 01:12:17 +02:00
Compare
Author
Collaborator

Rebasage et classement livrés (tête 96820bdf, base main ae760c38).

Cause reproduite avant le correctif, banc posé sur origin/main : panneaux de la page non classés (un onglet est sorti du filet) : atelier-neuf, puis composants du front non classés : Atelier.svelte.

Remède : une ligne, "atelier": {"panneaux": ("atelier", "atelier-neuf"), "composants": ("Atelier.svelte",)} — p-atelier est le pont « Atelier (ancien) », aria-controls="p-atelier-neuf" porte l'onglet courant (tableau-bord.py ligne 315).

Banc sur main à jour : 12 onglets, 70 libellés de bloc, aucun libellé partagé, code 0. Le filet refuse toujours une faute fabriquée (en danger dans les 48 h : atelier, calendrier, code 1).

CI Forgejo sur la tête : Rust (push + pull_request) success, Front Svelte (push + pull_request) success. Le workflow pc-studio ne lance pas ce banc Python ; mesuré à la main, plus npx vitest run (27 fichiers / 200 tests) et npx vite build verts en local.

Hors sujet mais à l'ordre de fusion : ONGLETS.md ici fait 109 lignes dont 102 venant de la PR #1607 encore ouverte — conflit ajout/ajout mesuré si #1620 passe avant #1607.

Rebasage et classement livrés (tête `96820bdf`, base `main` `ae760c38`). Cause reproduite avant le correctif, banc posé sur `origin/main` : `panneaux de la page non classés (un onglet est sorti du filet) : atelier-neuf`, puis `composants du front non classés : Atelier.svelte`. Remède : une ligne, `"atelier": {"panneaux": ("atelier", "atelier-neuf"), "composants": ("Atelier.svelte",)}` — `p-atelier` est le pont « Atelier (ancien) », `aria-controls="p-atelier-neuf"` porte l'onglet courant (`tableau-bord.py` ligne 315). Banc sur main à jour : 12 onglets, 70 libellés de bloc, aucun libellé partagé, code 0. Le filet refuse toujours une faute fabriquée (`en danger dans les 48 h : atelier, calendrier`, code 1). CI Forgejo sur la tête : Rust (push + pull_request) success, Front Svelte (push + pull_request) success. Le workflow pc-studio ne lance pas ce banc Python ; mesuré à la main, plus `npx vitest run` (27 fichiers / 200 tests) et `npx vite build` verts en local. Hors sujet mais à l'ordre de fusion : `ONGLETS.md` ici fait 109 lignes dont 102 venant de la PR #1607 encore ouverte — conflit ajout/ajout mesuré si #1620 passe avant #1607.
hermes-bot force-pushed hermes/test-onglets-doublons from 96820bdfb4
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 20s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 12s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 19s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 14s
to e9bd2c7c2e
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 25s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 14s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 22s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 14s
2026-10-15 01:29:11 +02:00
Compare
Author
Collaborator

Nouvelle tête e9bd2c7c, rebasée sur main a3575e4d. Le commit d'inventaire ONGLETS.md a été retiré (git rebase --onto) puisque #1607 est désormais fusionnée : le conflit ajout/ajout annoncé n'existe plus, la PR se fusionne sans conflit. Il reste 2 fichiers, 260 insertions, 0 suppression — le banc et les 7 lignes de la section 6 d'ONGLETS.md qui disent où il vit.

Banc sur main à jour : 12 onglets, 70 libellés de bloc, aucun libellé partagé, code 0. lancer-tests.py --tout : 168 bancs ok, seul _tableau/test_accueil_parite.py rouge (préexistant, mesuré aussi sur main sans cette branche ; carte de suivi ouverte).

CI Forgejo sur la tête : Rust (push + pull_request) success, Front Svelte (push + pull_request) success.

Nouvelle tête `e9bd2c7c`, rebasée sur `main` `a3575e4d`. Le commit d'inventaire `ONGLETS.md` a été retiré (`git rebase --onto`) puisque #1607 est désormais fusionnée : le conflit ajout/ajout annoncé n'existe plus, la PR se fusionne sans conflit. Il reste 2 fichiers, 260 insertions, 0 suppression — le banc et les 7 lignes de la section 6 d'`ONGLETS.md` qui disent où il vit. Banc sur main à jour : 12 onglets, 70 libellés de bloc, aucun libellé partagé, code 0. `lancer-tests.py --tout` : 168 bancs ok, seul `_tableau/test_accueil_parite.py` rouge (préexistant, mesuré aussi sur main sans cette branche ; carte de suivi ouverte). CI Forgejo sur la tête : Rust (push + pull_request) success, Front Svelte (push + pull_request) success.
Author
Collaborator

Relu, conforme — étiquette relu posée (relecture t_3272a6dc), tête e9bd2c7c, base main a3575e4d.

Mesuré par le relecteur, arbres de travail dédiés :

  • diff : 2 fichiers, 260 insertions, 0 suppression (ONGLETS.md +7, test_onglets_doublons.py +253) ; git merge-tree --write-tree origin/main <branche> : code 0, aucun conflit ; aucune fonction visible retirée, aucun .svelte touché ;
  • banc sur la tête : page figée : 12 onglets, 70 libellés de bloc, aucun libellé de bloc n'est affiché dans deux onglets, code=0 ;
  • les deux écarts de la relecture précédente sont reproduits avant correctif : banc d'avant (72a099cc) sur main → panneaux de la page non classés : atelier-neuf, code=1 ; puis faute fabriquée indépendamment (<h2>En danger dans les 48 h</h2> dans p-atelier-neuf) → libellés affichés dans deux onglets : en danger dans les 48 h : atelier, calendrier, code=1 ;
  • lancer-tests.py --tout : 168 ok, un seul rouge test_accueil_parite.py, préexistant (mesuré identique sur origin/main sans la branche) ; refus du cliquet de couverture identique des deux côtés ; seul écart entre les deux listes : + ok _tableau/test_onglets_doublons.py ;
  • front : npx vitest run 27 fichiers / 200 tests verts, npx vite build code 0 ;
  • CI Forgejo sur e9bd2c7c : Rust et Front Svelte, push et pull_request, tous success ;
  • hygiène : aucun secret, aucun emoji, commits en français (cause + remède, sans co-auteur).

Point de route : main a avancé (a3575e4d → b613cad4, #1694) pendant la relecture ; remesuré sur ce main, le banc posé dessus reste vert et le merge-tree reste sans conflit.

**Relu, conforme** — étiquette `relu` posée (relecture t_3272a6dc), tête `e9bd2c7c`, base `main` `a3575e4d`. Mesuré par le relecteur, arbres de travail dédiés : - diff : 2 fichiers, 260 insertions, 0 suppression (`ONGLETS.md` +7, `test_onglets_doublons.py` +253) ; `git merge-tree --write-tree origin/main <branche>` : code 0, aucun conflit ; aucune fonction visible retirée, aucun `.svelte` touché ; - banc sur la tête : `page figée : 12 onglets, 70 libellés de bloc`, `aucun libellé de bloc n'est affiché dans deux onglets`, `code=0` ; - les deux écarts de la relecture précédente sont reproduits avant correctif : banc d'avant (`72a099cc`) sur `main` → `panneaux de la page non classés : atelier-neuf`, `code=1` ; puis faute fabriquée indépendamment (`<h2>En danger dans les 48 h</h2>` dans `p-atelier-neuf`) → `libellés affichés dans deux onglets : en danger dans les 48 h : atelier, calendrier`, `code=1` ; - `lancer-tests.py --tout` : 168 `ok`, un seul rouge `test_accueil_parite.py`, **préexistant** (mesuré identique sur `origin/main` sans la branche) ; refus du cliquet de couverture identique des deux côtés ; seul écart entre les deux listes : `+ ok _tableau/test_onglets_doublons.py` ; - front : `npx vitest run` 27 fichiers / 200 tests verts, `npx vite build` code 0 ; - CI Forgejo sur `e9bd2c7c` : Rust et Front Svelte, push et pull_request, tous `success` ; - hygiène : aucun secret, aucun emoji, commits en français (cause + remède, sans co-auteur). Point de route : `main` a avancé (`a3575e4d` → `b613cad4`, #1694) pendant la relecture ; remesuré sur ce `main`, le banc posé dessus reste vert et le `merge-tree` reste sans conflit.
hermes-fusion deleted branch hermes/test-onglets-doublons 2026-10-15 02:00:05 +02:00
Collaborator

Fusionnée automatiquement par fusion-auto (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette relu), sans conflit.

Fusionnée automatiquement par `fusion-auto` (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette `relu`), sans conflit.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/studio!1620
No description provided.