Files
sim-numerics/FINDINGS_prestep_gate.md

59 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Findings — предшаговый гейт (пред-регистрация `PREREG_prestep_gate_2026-09-21.md`)
Числа только с Linux. Свип гейта — в своём `sweep_gate.json`; опубликованный `sweep_full.json` не
тронут (проверено git-статусом; один раз смоук всё же записался в `sweep_smoke.json`, файл восстановлен
из истории — ровно для этого git и заводился).
## 1. Результат: механизм подтверждён, режим НЕ принимается
Та же конфигурация `ratio.derived3.credit` на 45 задачах CHA, инструмент `explain_chandrupatla.py --gate`:
| предсказание | цель | измерено | вердикт |
|---|---|---|---|
| **P1** доля ремонтов сторожем | ≤40 % | **15.9 %** (было **77.5 %**) | 🟢 PASS |
| **P2** цена на CHA падает | <2073 | **2000** | 🟢 PASS |
| **P3** цена на APS-154 не растёт | ≤2806 | **4449** | 🔴 **FAIL** (×1.58) |
| **P4** гарантия `2⌈log₂(w/xtol)⌉+3` | `over2x=0` | 0 во всех конфигурациях | 🟢 PASS |
| **P5** качество пробы | ≥2.0 половинок/вызов | **1.633** (было 1.422; Chandrupatla 2.310) | 🔴 FAIL |
| цель ITP на CHA (из линии логарифма) | ≤2857 | **2851** (`gate.ratio_soft.derived.safe`) | 🟢 **PASS, впервые за линию** |
Два набора вместе: **7440** против 12 312 у x-пространства и 10 414 у логарифмического — лучшее
значение линии, но всё ещё выше цели <6026.
**По правилу остановки (P3 ложна) режим не принимается как рабочий.** Диагноз §3
`FINDINGS_logarithmic.md` при этом подтверждён: ремонты были главным расходом, и убрать их можно —
77.5 % → 15.9 %, CHA 4516 → 2851.
## 2. 🔴 Почему он платит на каноническом наборе — и это проект уже знал
Мой гейт сравнивает **прогресс по скобке**: «обещает ли шаг снять не меньше, чем деление пополам».
В докстринге `simroot/pure.py` про сторожа `"bracket"` записано измерение, сделанное до меня:
> секущий шаг обычно обрушивает ошибку, почти не двигая доказанную скобку, поэтому сторож срабатывает
> на шагах, которые на самом деле были отличными — **150 против 86** вызовов.
Я воспроизвёл ровно эту ошибку в форме гейта: **прогресс по скобке — неверная валюта отказа**, потому
что на хорошо обусловленных задачах отличный шаг по скобке почти не двигается. Отсюда рост APS в 1.58
раза, и отсюда же качество пробы 1.633 вместо 2.310: мы стали отказываться часто, но не там, где надо.
**Гейт Чандрупатлы отказывает по ДРУГОМУ признаку** — не по обещанному прогрессу, а по **форме
конфигурации** (`ξ`, `φ` — два безразмерных отношения; полоса есть окрестность линейного случая), то
есть по вопросу «достоверна ли модель здесь». Перевод §3 был верен как объяснение; реализован был не
тот гейт.
## 3. Что следует пред-регистрировать дальше (если линию продолжать)
**Гейт на ФОРМЕ, а не на прогрессе, и выведенный для НАШЕГО шага, а не взятый напрокат.** Наш шаг
доверяет локальному наклону, значит вопрос доверия — устойчивость наклона: сравнить две последние его
оценки, что даёт безразмерное отношение (похожесть последовательных оценок), и отказываться в пополам
только когда оно говорит «наклон не установился». Это беспараметрично, это чтение отношений, и оно не
наследует ни одной константы из вывода для обратной квадратичной интерполяции.
Цели остаются прежними: APS ≤ 2806 (не расти), CHA ≤ 2857 (достигнуто гейтом прогресса — значит
планка реальна), гарантия `over2x = 0`, и качество пробы ≥2.0.
🔴 **Не повторять:** гейт по прогрессу скобки (эта запись), логарифмическая замена переменной
(`FINDINGS_logarithmic.md` §2), переключение на `cbrt` по набору и три детектора режима
(`NEXT_PAPER_logarithmic.md`). Шесть попыток, один и тот же трейд: широкие скобки покупаются ценой
узких — пока не изменён **признак отказа**, а не шкала шага.