Repository navigation
fix(#17427): check_exec_ratchet emet en UTF-8 deterministe (verdict independant de l'ACP) - #17432
Conversation
…ct ne depend plus de l'ACP Sur Windows ACP 1252, l'organe lance en subprocess encodait ses pipes en cp1252 : l'em-dash des annotations ::error partait en byte 0x97, le lecteur (tests TestCli, encoding="utf-8") levait UnicodeDecodeError dans le reader thread -> stderr=None -> 2 faux rouges sur main Windows (verdict masque). Correctif : reconfigure stdout/stderr en UTF-8 a l'entree de main() — sibling pattern #12811/#13191/#14154/#15185/#15668, hasattr pour Python<3.7 et flux captes. Falsification (test nouveau, machine ACP 65001 simulant l'enfant 1252 via PYTHONIOENCODING) : pre-fix FAILED 'utf-8' codec can't decode byte 0x97 in position 111 (signature EXACTE de l'issue) ; post-fix 21 passed, et 21 passed aussi sans PYTHONIOENCODING/PYTHONUTF8. Fichier frere test_check_exec_sequence.py : 23 passed. Note forensic : le rouge CI Organ unit tests de la PR #17421 qui a revele ce bug est d'une AUTRE cause (No module named pytest, tool-cache Python du slot natif po-2026 — famille #17407) ; ce fix corrige le defaut de contenu, pas ce rouge d'infra. Closes #17427 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Trivial-diff advisory (#15740, non bloquant). |
|
[RIPE-SIGNAL] PR #17432 (lane myia-po-2026:CoursIA-2) — Tell c.15726 strict 0 spam respecté (premier signal). État au head courant (vérifié first-hand
Tell respectés :
Geste attendu ai-01 : absorption #17432 (squash-merge, branche conservée Tell c.1502 strict). — lane myia-po-2026:CoursIA-2, c.1161 |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
Grain: MED/guard -- lane myia-po-2026:CoursIA -- prev: MED/guard #17186
Quoi:
check_exec_ratchet.pyencodait ses pipes stdout/stderr selon la page de code de la machine. Sur Windows ACP 1252, l'em-dash des annotations::errorpartait en byte0x97cp1252 ; le lecteur (TestCli,encoding="utf-8") levaitUnicodeDecodeErrordans le reader thread ->stderr=None-> les 2 teststest_exit_1_on_regression/test_failure_points_to_failbydesign_protocoléchouaient sur main Windows en accusant le None, pas le ratchet (verdict masqué). Correctif :reconfigure(encoding="utf-8", errors="replace")des deux flux à l'entrée demain()— sibling pattern déjà appliqué 5x (#12811, #13191, #14154, #15185, #15668), ce porteur était le manquant.Preuve (falsification, machine ACP 65001 simulant l'enfant 1252 par
PYTHONIOENCODING=cp1252) :'utf-8' codec can't decode byte 0x97 in position 111— signature exacte de l'issue, reproduite à la position près ;test_stderr_verdict_survives_cp1252_childpassed ; fichier entier 21 passed ;PYTHONIOENCODING/PYTHONUTF8(config par défaut) ;test_check_exec_sequence.py(même étape CI) : 23 passed.Note forensic (pour ne pas créditer ce fix d'un vert qu'il ne produira pas) : le rouge CI « Organ unit tests » de la PR #17421 qui a révélé ce bug est d'une autre cause —
No module named pytest, tool-cache Python du slot natif po-2026 (famille #17407, arbitrage redémarrage en cours côté lane). Ce PR corrige le défaut de contenu mesuré sur main Windows, pas ce rouge d'infra.Portée : 2 fichiers, +31 lignes, aucune autre famille touchée (
reconfigureinexistante dans cet organe avant — vérifié par grep).Closes #17427
🤖 Generated with Claude Code