Widen the polygon purchase guard from one package directory to the whole eval zone so a second pack can buy under its own freeze

This commit is contained in:
Claude (backend session) 2026-08-08 15:15:49 +03:00
parent e67ef1bea8
commit 3df9f54007

View file

@ -87,6 +87,12 @@ def priced(model: str, us: dict) -> float:
ZONE = Path(__file__).resolve().parent
# ⚠ Расширено эксп-22 (08.08): гард сравнивал каталог с `role_topology` и тем самым запрещал
# покупки ЛЮБОМУ другому паку полигона, хотя его смысл — «код в репозитории, а не временный
# скрипт». Зона полигона по CLAUDE.md — весь `eval/`, поэтому граница проведена здесь.
# Проверка «НЕ-файл» (встроенный питон из командной строки) — та, из-за которой гард заведён, —
# не тронута; эксп-22 поверх этого требует ещё и git-чистоты вызывающего файла (`tenant_panel/money.py`).
POLYGON = ZONE.parent
def _refuse_unfrozen_caller() -> None:
@ -115,12 +121,12 @@ def _refuse_unfrozen_caller() -> None:
raise SystemExit(f"⛔ покупка из НЕ-ФАЙЛА ({fr.filename}) запрещена: "
"встроенный питон из командной строки не воспроизводим из репозитория")
p = Path(fr.filename).resolve()
if p.parent == ZONE: # свой же модуль в цепочке — пропускаем
continue
if p.suffix != ".py":
raise SystemExit(f"⛔ покупка из НЕ-ФАЙЛА ({fr.filename}) запрещена")
if POLYGON in p.parents: # код полигона в цепочке — пропускаем
continue
raise SystemExit(f"⛔ покупка из кода вне зоны полигона запрещена: {p}\n"
f" перенеси скрипт в {ZONE} и закоммить пре-рег-фризом")
f" перенеси скрипт в {POLYGON} и закоммить пре-рег-фризом")
return