Re-freeze the phase 2 floor stage so its two end-to-end runs and their units can be split across processes

This commit is contained in:
Claude (backend session) 2026-08-08 20:58:50 +03:00
parent fd3e5224d1
commit 7384c57f1a

View file

@ -234,7 +234,7 @@ def cmd_edit(argv: list[str] | None = None) -> None:
print(f"потрачено Ф2 ${led.spent():.6f}")
def cmd_floor() -> None:
def cmd_floor(argv: list[str] | None = None) -> None:
"""ШУМОВОЙ ПОЛ: ДВА независимых прогона якорного арма end-to-end на тех же zh-единицах.
Истинная разница между `p1` и `p2` ноль по построению, поэтому измеренный разброс и есть
@ -242,8 +242,15 @@ def cmd_floor() -> None:
перевес ниже пола печатается вердиктом «ниже порога различимости».
"""
led = MONEY.Guarded("Ф2", default_expect=0.01)
for p in (1, 2):
for u in M.units_zh():
argv = argv or []
part = _part(argv)
passes = [int(a.split("=", 1)[1]) for a in argv if a.startswith("--pass=")] or [1, 2]
zh = M.units_zh()
if part:
i, n = (int(x) for x in part.split("/"))
zh = [u for k, u in enumerate(zh) if k % n == i]
for p in passes:
for u in zh:
d = buy_draft(led, ANCHOR, u, False, floor=p)
if d.get("skipped"):
print("⛔ потолок Ф2 — стоп")
@ -323,5 +330,5 @@ def cmd_score() -> None:
if __name__ == "__main__":
a = sys.argv[1:] or ["--plan"]
fn = {"--plan": cmd_plan, "--drafts": lambda: cmd_drafts(a), "--edit": lambda: cmd_edit(a),
"--floor": cmd_floor, "--score": cmd_score}.get(a[0])
"--floor": lambda: cmd_floor(a), "--score": cmd_score}.get(a[0])
fn() if fn else print(__doc__)