From aa32fb84dc4694e5a39391ece081cdaf30ff6f58 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 8 Aug 2026 13:40:53 +0300 Subject: [PATCH] =?UTF-8?q?test:=20=D1=81=D0=BD=D1=8F=D1=82=D0=B0=20=D0=BC?= =?UTF-8?q?=D1=91=D1=80=D1=82=D0=B2=D0=B0=D1=8F=20=D0=BD=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=20encoding=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=BD=D1=8D=D0=BF=D1=88=D0=BE=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Третья маска подряд, на которую не опирался ни один кейс: py-набор без неё зелёный целиком (660/663). Порты пишут XML-декларацию одинаково. Осталась одна нормализация — схлопывание пробелов между тегами. Она живая: без неё падают 58 кейсов в 15 навыках, то есть порты реально отступают по-разному. Это отдельная задача, комментарий в раннере теперь называет цифру, чтобы маска не выглядела безобидной. 663/663 ps1, 660/663 py. Co-Authored-By: Claude Opus 5 (1M context) --- tests/skills/runner.mjs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/skills/runner.mjs b/tests/skills/runner.mjs index 45f3596d..34578d21 100644 --- a/tests/skills/runner.mjs +++ b/tests/skills/runner.mjs @@ -340,13 +340,13 @@ const UUID_RE = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi // формата 2.21) и к моменту снятия был мёртвым — ни один кейс на него не опирался. function normalizeXmlContent(text) { let s = text; - // 1. XML declaration: normalize quotes and encoding case - s = s.replace( - /<\?xml\s+version=['"]1\.0['"]\s+encoding=['"]([^'"]+)['"]\s*\?>/gi, - (_, enc) => `` - ); - // 2. Collapse whitespace between tags: "> \n\t <" → "><". Kept: the ports indent a - // few blocks differently, which is formatting rather than the byte canon. + // Нормализация XML-декларации (регистр encoding) снята: измерением показано, что ни один + // кейс на неё не опирался — порты пишут декларацию одинаково. Держать мёртвую маску вредно: + // она прячет целый класс расхождений, как это было с вырезанием xmlns. + // Единственная оставшаяся нормализация — схлопывание пробелов и переводов строк между тегами. + // Она НЕ мертва: без неё падают 58 кейсов в 15 навыках (interface-edit, xdto-*, cfe-borrow и др.) — + // порты реально отступают по-разному. Это отдельная задача: расхождения надо не маскировать, + // а свести, после чего снять и эту нормализацию. s = s.replace(/>\s+<'); return s; }