From f9986d9ddf924f94bb1b5fe2efa009f0daf4445d Mon Sep 17 00:00:00 2001 From: heaven Date: Sat, 8 Aug 2026 01:18:23 +0300 Subject: [PATCH] Emit the narrow fourth judging pass for the re-measured phase 2b arms against their bases --- eval/role_topology/absjudge.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/eval/role_topology/absjudge.py b/eval/role_topology/absjudge.py index feca4663..a87f2bf9 100644 --- a/eval/role_topology/absjudge.py +++ b/eval/role_topology/absjudge.py @@ -85,7 +85,7 @@ ARMS = ("F3", "A", "A_law", "B", "D", "D_") # ⚠ Армы Ф2б (точечный ремонт C и обратная связка E) судятся ТЕМ ЖЕ ригом и теми же агентами. # Иначе их числа несравнимы с Ф2а, и покупка обесценивается — это первое, что назвала # верификация до траты. Тексты берутся из `phase2b`, всё остальное в риге не меняется. -ARMS_2B = ("C", "E") +ARMS_2B = ("C2", "E2") def _text(arm, u): @@ -130,10 +130,13 @@ def layout(uid: str, slots: list[str]) -> list[str]: def build_unit(u: dict) -> tuple[str, dict]: """Задание на одну единицу + ключ раскладки. Контроли подмешаны и неотличимы от боевых.""" - slots: dict[str, str] = {a: _text(a, u) for a in tuple(ARMS) + ARMS_2B} - kinds: dict[str, str] = {a: "боевой" for a in tuple(ARMS) + ARMS_2B} + # ⚠ Проход 4 узкий: только армы объявленных контрастов Ф2б плюс база сравнения. Судить + # заново все одиннадцать меток незачем — числа Ф2а уже сняты дважды и воспроизвелись. + arms = ("F3", "A_law", "D_") + ARMS_2B if PASS == "abs4" else tuple(ARMS) + ARMS_2B + slots: dict[str, str] = {a: _text(a, u) for a in arms} + kinds: dict[str, str] = {a: "боевой" for a in arms} - clean = slots["A"] + clean = slots.get("A") or slots["A_law"] planted, n = _plant(clean) if n >= 2: slots["CTRLdecoy"], kinds["CTRLdecoy"] = planted, "контроль-декой" @@ -726,6 +729,9 @@ def selfcheck() -> int: if __name__ == "__main__": a = sys.argv[1:] or ["--selfcheck"] + if a[0][-1] in "34": + globals()["PASS"] = "abs" + a[0][-1] + a[0] = a[0][:-1] if a[0] in ("--emit2", "--ingest2", "--score2", "--controls2", "--position2", "--judges2", "--axes2", "--agree"): PASS = "abs2" # noqa: PLW0127