Files
sim-numerics/FINDINGS_prestep_gate.md

5.7 KiB
Raw Permalink Blame History

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). Шесть попыток, один и тот же трейд: широкие скобки покупаются ценой узких — пока не изменён признак отказа, а не шкала шага.