Add the missing --freeze CLI mode to the en pair module so the unfrozen-manifest error points at a command that exists
This commit is contained in:
parent
aef64f33ce
commit
9785829755
1 changed files with 19 additions and 2 deletions
|
|
@ -159,7 +159,7 @@ def units(n_per_stratum: int | None = None, freeze: bool = False) -> list[dict]:
|
||||||
want = sets.get(str(n))
|
want = sets.get(str(n))
|
||||||
if want is None:
|
if want is None:
|
||||||
raise SystemExit(f"⛔ набор n_per_stratum={n} не заморожен в {MANIFEST}: "
|
raise SystemExit(f"⛔ набор n_per_stratum={n} не заморожен в {MANIFEST}: "
|
||||||
f"прогнать pair_en.py --freeze {n} до покупок")
|
f"прогнать eval/role_topology/pair_en.py --freeze {n} до покупок")
|
||||||
have = {u["uid"]: u for u in picked}
|
have = {u["uid"]: u for u in picked}
|
||||||
miss = [u for u in want if u not in have]
|
miss = [u for u in want if u not in have]
|
||||||
if miss:
|
if miss:
|
||||||
|
|
@ -488,9 +488,26 @@ def cmd_score() -> None:
|
||||||
f"{sum(r['ty_vy']['mixed_in_unit'] for r in rows):12d}")
|
f"{sum(r['ty_vy']['mixed_in_unit'] for r in rows):12d}")
|
||||||
|
|
||||||
|
|
||||||
|
def cmd_freeze() -> None:
|
||||||
|
"""Заморозить набор единиц: `--freeze [n]`, по умолчанию n = N_PER_STRATUM.
|
||||||
|
|
||||||
|
⚠ Режим заведён 14.08 по ревью: сообщение о незамороженном наборе ссылалось на `--freeze`,
|
||||||
|
которого в диспетчере НЕ БЫЛО, — подсказка врала. На свежем клоне без манифеста в это
|
||||||
|
упирались `material.units_en`, `verify_report` и `blind_read`: все зовут `units()` без
|
||||||
|
аргумента и получают СТОП, а выхода из CLI не существовало. Заморозка — намеренно ОТДЕЛЬНЫЙ
|
||||||
|
режим: чтение никогда не пишет манифест, иначе прикол снова стал бы декоративным.
|
||||||
|
"""
|
||||||
|
n = int(sys.argv[2]) if len(sys.argv) > 2 and sys.argv[2].isdigit() else N_PER_STRATUM
|
||||||
|
us = units(n, freeze=True)
|
||||||
|
print(f"заморожено: n_per_stratum={n} → единиц {len(us)} → {MANIFEST}")
|
||||||
|
for u in us:
|
||||||
|
print(f" {u['uid']} страта {u['stratum']:6s} знаков {len(u['source']):5d}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
cmd = {"--units": cmd_units, "--arms": cmd_arms, "--judge": cmd_judge,
|
cmd = {"--units": cmd_units, "--arms": cmd_arms, "--judge": cmd_judge,
|
||||||
"--score": cmd_score}.get(sys.argv[1] if len(sys.argv) > 1 else "")
|
"--score": cmd_score, "--freeze": cmd_freeze}.get(
|
||||||
|
sys.argv[1] if len(sys.argv) > 1 else "")
|
||||||
if cmd:
|
if cmd:
|
||||||
cmd()
|
cmd()
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue