Socle : une seule copie de _h/_heure, cle/cle_ssh et commentaires_ticket/_commentaires #1614

Merged
hermes-fusion merged 2 commits from hermes/socle-petits-doublons into main 2026-10-14 22:10:07 +02:00
Owner

Branche hermes/socle-petits-doublons, partie de httpforge/main (f6595fc4, rebasée après l'arrivée du workflow CI #1606). Un commit.

Cause. Trois paires de fonctions au corps identique : _h / _heure, cle_ssh / cle, commentaires_ticket / _commentaires. Chaque copie se corrige à part, c'est ainsi qu'elles divergent.

Remède. Une seule copie par règle : socle.iso_minute (pour calendrier_donnees._h et videos_donnees._heure), socle.cle_132 (pour collecte-ciblee.cle_ssh et copie_collecte_132.cle), retours_commun.commentaires_multica (pour retours_attente.commentaires_ticket et retours_deblocage._commentaires).

Aucune nouvelle logique : les corps sont déplacés tels quels, seuls les noms changent. retours_releve.py, troisième consommateur des commentaires, passe aussi par la copie unique.

Preuve. Rendu à heure figée identique octet pour octet (rendu-fige.py, cmp, 471420 octets).

Bancs, comparés à httpforge/main dans le même environnement :

main   : ROUGE test_deploy_132.py, test_retours_attente.py, test_retours_validation.py  (coeur 97,9 % / ensemble 98,6 %)
branche: ROUGE test_deploy_132.py, test_retours_attente.py                              (coeur 98,5 % / ensemble 98,8 %)

Un banc rouge de moins qu'a la base, aucun rouge ajoute. Les deux rouges restants le sont deja sur main dans cet environnement : test_deploy_132.py (3 echecs) et test_retours_attente.py (PermissionError sur /tmp/reception-desc.md, fichier d'un autre utilisateur).

Les substitutions de mc sont liees a retours_commun dans test_blocages.py, test_retours_questions.py et test_retours_validation.py : la copie unique lit retours_commun.mc, et sans ce lien le banc sortait sur le vrai multica (mesure avant correctif).

Hors perimetre, note : socle.CLE (L45) n'est pas socle.cle_132() et n'y touche pas — pas de controle de lisibilite, pas de repli /root/.ssh/id_studio132. La divergence est reelle, elle est consignee.

Pas de fusion : phase d'essai.

Branche `hermes/socle-petits-doublons`, partie de `httpforge/main` (f6595fc4, rebasée après l'arrivée du workflow CI #1606). Un commit. **Cause.** Trois paires de fonctions au corps identique : `_h` / `_heure`, `cle_ssh` / `cle`, `commentaires_ticket` / `_commentaires`. Chaque copie se corrige à part, c'est ainsi qu'elles divergent. **Remède.** Une seule copie par règle : `socle.iso_minute` (pour `calendrier_donnees._h` et `videos_donnees._heure`), `socle.cle_132` (pour `collecte-ciblee.cle_ssh` et `copie_collecte_132.cle`), `retours_commun.commentaires_multica` (pour `retours_attente.commentaires_ticket` et `retours_deblocage._commentaires`). Aucune nouvelle logique : les corps sont déplacés tels quels, seuls les noms changent. `retours_releve.py`, troisième consommateur des commentaires, passe aussi par la copie unique. **Preuve.** Rendu à heure figée identique octet pour octet (`rendu-fige.py`, `cmp`, 471420 octets). Bancs, comparés à `httpforge/main` dans le même environnement : main : ROUGE test_deploy_132.py, test_retours_attente.py, test_retours_validation.py (coeur 97,9 % / ensemble 98,6 %) branche: ROUGE test_deploy_132.py, test_retours_attente.py (coeur 98,5 % / ensemble 98,8 %) Un banc rouge de moins qu'a la base, aucun rouge ajoute. Les deux rouges restants le sont deja sur `main` dans cet environnement : `test_deploy_132.py` (3 echecs) et `test_retours_attente.py` (`PermissionError` sur `/tmp/reception-desc.md`, fichier d'un autre utilisateur). Les substitutions de `mc` sont liees a `retours_commun` dans `test_blocages.py`, `test_retours_questions.py` et `test_retours_validation.py` : la copie unique lit `retours_commun.mc`, et sans ce lien le banc sortait sur le vrai `multica` (mesure avant correctif). **Hors perimetre, note :** `socle.CLE` (L45) n'est pas `socle.cle_132()` et n'y touche pas — pas de controle de lisibilite, pas de repli `/root/.ssh/id_studio132`. La divergence est reelle, elle est consignee. Pas de fusion : phase d'essai.
Trois paires de doublons ramenées à une copie : _h/_heure, cle_ssh/cle, commentaires_ticket/_commentaires
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 15s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 13s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 16s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 15s
a7e1ac66f5
Cause. Trois règles écrites deux fois, au corps identique (haché sans la docstring : 31b6a0d66adc,
de71d79768b4, bfb89dfe3f00) : `_h` dans calendrier_donnees.py et `_heure` dans videos_donnees.py,
`cle_ssh` dans collecte-ciblee.py et `cle` dans copie_collecte_132.py, `commentaires_ticket` dans
retours_attente.py et `_commentaires` dans retours_deblocage.py. Chaque copie se corrige à part :
c'est ainsi qu'elles divergent.

Remède. Une seule copie par règle, dans le module commun : `socle.iso_minute` (à côté de
`socle.paris`), `socle.cle_132` (à côté de `socle.ssh`) et `retours_commun.commentaires_multica`
(après `mc_sans_marque`). Les sept fichiers appelants importent au lieu de définir, et
`retours_releve.py`, troisième consommateur des commentaires, passe par la copie unique. Aucune
nouvelle logique : les corps sont déplacés tels quels, seuls les noms changent.

Le rendu du tableau à heure figée reste identique octet pour octet (`rendu-fige.py`, `cmp`).

Bancs. Les remplacements de `mc` sont liés à `retours_commun` dans test_blocages.py,
test_retours_questions.py et test_retours_validation.py : la copie unique lit `retours_commun.mc`,
et sans ce lien le banc sortait sur le vrai `multica`.
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é.
hermes-bot force-pushed hermes/socle-petits-doublons from a7e1ac66f5
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 15s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 13s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 16s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 15s
to 769841e968
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 14s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 15s
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 15s
2026-10-14 20:53:09 +02:00
Compare
hermes-fusion deleted branch hermes/socle-petits-doublons 2026-10-14 22:10:07 +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
3 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!1614
No description provided.