27 lines
4.1 KiB
Markdown
27 lines
4.1 KiB
Markdown
# `door_to_file` — харнесс холодного прогона «от двери до ФАЙЛА»
|
||
|
||
Инструменты пака «ХОЛОДНЫЙ ПРОГОН A»: одна настоящая книга (蛊真人, главы 1–3, zh→ru) проводится от
|
||
интейка до скачанного файла, и у каждого узла печатается, ЧЕМ он предъявлен. Пре-регистрация,
|
||
таблица ожидаемых исходов и результаты — `docs/experiments/24-door-to-file.md`.
|
||
|
||
| Файл | Что делает | Чем проверен |
|
||
|---|---|---|
|
||
| `drive.sh` | драйвер фаз: гейт · вход · грант · интейк · опции · старт · вахта · улика · подпись · резюм · выгрузка · сбор · формы. **Отказывает**, а не предупреждает | подсадка чужого бинаря, бинаря без штампа и неверного sha — каждый отказ назвал ИМЕННО подсаженное |
|
||
| `collect.py` | сборщик следов: фриз-гейт, Postgres платформы, диск движка, отчёт сборки, деньги в µUSD | подсадка ненулевого банка, удержанного юнита и открытой резервации — покраснел по всем трём осям |
|
||
| `spread.py` | сколько РАЗНЫХ передач получил один канонический термин в ОТГРУЖЕННОМ тексте (строка бэклога 406) | `--selftest`: подсаженная вторая форма ловится, склонение той же формы не двоится, неотрендеренный термин даёт 0 |
|
||
| `stub/` | $0-заглушка провайдера `local` на `127.0.0.1:11434` | перенос штатной `fakeProvider` стенда (`platform/internal/runner/translate_resnapshot_live_test.go`) |
|
||
| `zeropipe/` | рендер боевого пайплайна на $0-пару | перенос штатного `zeroCostPipeline` (`platform/internal/runner/bankapply_live_test.go`); печатает счёт достижимых ПЛАТНЫХ моделей в обоих файлах |
|
||
|
||
## Три вещи, которые стоит знать, прежде чем переиспользовать это
|
||
|
||
1. **`sed` по `model:` из рецепта стенда НЕДОСТАТОЧЕН.** Модели несут ещё и гейты (`model` и
|
||
`classify_model`), а на `pipeline-c1` терминолог с классификатором резолвятся в ПЛАТНОГО
|
||
провайдера, когда все стадии уже обнулены. Поэтому `zeropipe` — порт готового рендера, а не sed.
|
||
2. **Ноль достижимых платных моделей печатается рядом с их числом в боевом файле.** Иначе «конфиг
|
||
чист» и «прибор промолчал» неотличимы: замерено 8 достижимых платных моделей в `pipeline-c1.yaml`
|
||
и 0 в рендере. Счёт идёт по ЗНАЧЕНИЯМ разобранного YAML, а не по тексту: текстовый счёт считал бы
|
||
комментарии, а у рендера их нет — он выглядел бы чистым в тот момент, когда комментарии отпали.
|
||
3. **Книга, которую пайплайн переводит бесплатно, не может быть продана.** `ingest.Manifest.priced()`
|
||
отказывает при `step_max_usd <= 0`, а на $0-паре он именно ноль ⇒ `409 not_priced` и старта нет.
|
||
Дымовой стенд поэтому даёт локальной модели НОМИНАЛЬНУЮ цену — одной строкой в своём
|
||
`models-smoke.yaml`, — и это объявлено в отчёте, а не спрятано.
|