Freeze phase 3 before its purchases: panel rule, isolation check and an estimate that uses the ledger price for the model whose screen cells never landed
This commit is contained in:
parent
f6f04ff9ed
commit
56b34d48ad
2 changed files with 7 additions and 2 deletions
|
|
@ -135,11 +135,15 @@ def cmd_plan() -> None:
|
|||
for i, m in enumerate(pan):
|
||||
r = res.get(m, {})
|
||||
price = r.get("price_editor")
|
||||
# ⚠ У модели, чьи редакторские клетки скрина не состоялись (503 провайдера), цены НЕТ.
|
||||
# Подставлять сюда общий дефолт нельзя: `gemini-3.1-pro-preview` дороже него в семь раз,
|
||||
# и смета фазы вышла бы заниженной втрое. Берём оценку кассы по ЭТОЙ модели.
|
||||
est_price = price if price is not None else MONEY.model_expect(m)
|
||||
free = " (куплено в Ф2, переиспользуется)" if m == BATTLE else ""
|
||||
if m != BATTLE:
|
||||
est += (price or 0.02) * len(us)
|
||||
est += est_price * len(us)
|
||||
print(f" R{i} {m:26s} скрин={r.get('verdict', 'не скринился'):12s} "
|
||||
f"$/ед={price if price is not None else float('nan'):.5f}{free}")
|
||||
f"$/ед={est_price:.5f}{'' if price is not None else ' (оценка кассы)'}{free}")
|
||||
print(f"\nсмета ${est:.4f} при потолке ${MONEY.CEILINGS['Ф3']:.2f}")
|
||||
if est > MONEY.CEILINGS["Ф3"]:
|
||||
print("⛔ СМЕТА НЕ ВЛЕЗАЕТ — сократить панель или пинг владельцу ДО покупок")
|
||||
|
|
|
|||
|
|
@ -247,6 +247,7 @@ def main() -> None:
|
|||
cmd, pass_ = a[0], a[1]
|
||||
setup(pass_)
|
||||
fn = {"--plan": lambda: cmd_plan(pass_), "--emit": AJ.emit, "--ingest": AJ.ingest,
|
||||
"--dispatch": lambda: cmd_dispatch(pass_),
|
||||
"--controls": AJ.controls, "--score": AJ.score, "--axes": AJ.axes,
|
||||
"--position": AJ.position, "--agree": AJ.judges_agree}.get(cmd)
|
||||
if fn:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue