Draft the plan for the two next packs: the engine takes the wire batch that gender and the target-language screen both need, the platform closes the delivery cycle
This commit is contained in:
parent
966d8d3e6a
commit
7d159f8604
1 changed files with 113 additions and 0 deletions
113
docs/NEXT_PACKS_PLAN.md
Normal file
113
docs/NEXT_PACKS_PLAN.md
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
# ПЛАН ДВУХ СЛЕДУЮЩИХ ПАКОВ — бэкенд и платформа (оркестратор №22, 03.09.2026)
|
||||
|
||||
> **Статус: ЧЕРНОВИК НА СВЕРКЕ.** Промты по нему НЕ выдаются, пока оркестратор и контролёр (Fable 5.1)
|
||||
> не скажут «ок» друг другу — распоряжение владельца 03.09. Файл — предмет этой сверки.
|
||||
> **Что прочитано перед составлением:** единый бэклог целиком (176 строк, из них 53 «скоро») ·
|
||||
> открытые ряды регистра платформы (97, `major` 3) · `research/30` (ответ полигона на два вопроса
|
||||
> владельца, 03.09) · CURRENT-STATE и очередь №22 · оба акта приёмки (D39.187, D39.188) · оба наряда
|
||||
> дофикса и отчёт приёмки по ним.
|
||||
|
||||
## 0. Что решает состав — три ограничения, а не вкус
|
||||
|
||||
1. **ВАЙР-БАТЧ (строка 182).** Любая правка, двигающая `RequestHash` / `memory_version` / снапшот, —
|
||||
это пере-покупка волн. Дриблить по одной = платить пере-снапшот несколько раз. Значит все
|
||||
провод-правки идут ОДНИМ касанием или не идут вовсе.
|
||||
2. **ОЧЕРЕДЬ ВЛАДЕЛЬЦА (CURRENT-STATE п.1–4).** Разрыв цикла — книга не отдаётся файлом пользователю;
|
||||
открыта ПЛАТФОРМЕННАЯ половина (`createExport`/`getExport` канон обещает, платформа не монтирует).
|
||||
Гейт этого пункта — живой сквозной прогон через API (п.3), и его блокер снят 31.08.
|
||||
3. **ЦЕНА ОШИБКИ ПРИОРИТЕТА.** `research/30` §5 прямо ранжирует: механический пре-гейт перед
|
||||
редактором (D39.117, строка 142) «выше в очереди, чем любой непроверенный K7», а половина доводов
|
||||
за переделку протокола снята замером (редактор правит 4.0–5.8% знаков, а не переписывает текст).
|
||||
|
||||
## 1. БЭКЕНД — пак «ВАЙР-БАТЧ: род, экран цели, заголовки инъекций»
|
||||
|
||||
**Почему именно вайр-батч, а не «самое важное по одной».** Четыре из пяти кандидатов бэкенда двигают
|
||||
провод. Взять их по одному — заплатить пере-снапшот четыре раза на книге, которая уже куплена.
|
||||
Строка 182 заведена ровно под это и ждёт промта.
|
||||
|
||||
**Состав (в этом порядке):**
|
||||
|
||||
1. **Строка 210 — РОД НЕ ПРОИЗВОДИТСЯ ВОВСЕ, цель №1 бэклога.** Механизм доставки построен
|
||||
(`membank/memory.go` кладёт `genderConstraintNote` в черновую инъекцию для `Confirmed`-строк по
|
||||
директиве D39.21), а данных ему не даёт никто: промпт терминолога возвращает ровно три поля
|
||||
(термин · перевод · уверенность), поля рода в ответе нет; майнер берёт `gender` только из СИДА.
|
||||
⇒ на любой книге без ручного сида ось рода мертва по построению. Это не дефект рендера —
|
||||
это отсутствие входа у ратифицированной директивы.
|
||||
2. **Строка 46 + предпосылка 113 — экран целевого языка.** Дизайн ЗАМОРОЖЕН и ратифицирован
|
||||
(D39.92 п.1 closed-set + D39.93 изолированный модуль с именованными причинами), промт ждёт выдачи.
|
||||
⚠ Порядок §5.4: **сначала 113** — корпус-фикстура (~20 off-target + ~40 здоровых) и регресс-тест на
|
||||
реальный запас, потому что число «18 из 20 · 0 ложных на 1055 · запас 13×» получено ВРЕМЕННЫМ
|
||||
тестом, который сессия удалила, и воспроизвести его сегодня нечем. СТОП, если фикстура не даёт
|
||||
18/20 при нуле ложных или запас меньше 3×.
|
||||
3. **Строка 134 — инжект-заголовки под доктрину D39.105.** Гейт ПАЛ (D39.108): текст = отправленная
|
||||
строка пробы 18 БЕЗ оговорки области (оговорка опровергнута §A.4 — НЕ вносить).
|
||||
4. **Строка 140 — банковый контур в shipping-c1.** СТОП-решение: включить в c1 (двигает промпт
|
||||
драфта ⇒ цену назвать) либо поправить декларацию. ⚠ Это решение ВЛАДЕЛЬЦА, не сессии; в пак идёт
|
||||
как «предъявить обе цены и остановиться», а не как стройка.
|
||||
5. **ДОФИКС предыдущего пака — одним пунктом** (остаток приёмки 03.09, D39.187 п.4):
|
||||
развилка операторской строки прибита с ОДНОЙ стороны (две посадки в новый код `VolumeStop.String()`
|
||||
переживают весь пакет и печатают «reached the END of the book» при непустом остатке) · граница
|
||||
`bound()` (`Carried > 0` → `Carried > 1`) не прибита, и прогон с одним перенесённым юнитом на
|
||||
конце книги не отдаёт отчёт вовсе · три числа отчёта протухли снова.
|
||||
|
||||
**ЧТО НАМЕРЕННО НЕ БЕРЁМ и почему:**
|
||||
- **Строки 160/161 (структура глав).** 161 — это «единственное дешёвое resnapshot-окно», и он требует
|
||||
ДИЗАЙН-пака до стройки (D39.136 п.3). Смешивать его с вайр-батчем нельзя: батч платит один
|
||||
пере-снапшот, а 161 перекраивает нарезку целиком.
|
||||
- **Строка 142 (пре-гейт перед редактором).** Ратифицирован формой, но `research/30` ставит его ПОСЛЕ
|
||||
шага 0–1 полигона (починка глоссарного флага с precision 0.067 и прибор верности): без прибора его
|
||||
эффект неизмерим, а мерило — половина цены редактора.
|
||||
- **Строка 232 остаток / 233.** Семантика переноса отложена СЛОВОМ ВЛАДЕЛЬЦА 03.09 («подумаем»);
|
||||
трогать до его решения нельзя.
|
||||
- **119 + 124 + 115.** Строка 182 требует брать их ОДНИМ дизайн-паком, а не хвостом батча.
|
||||
|
||||
## 2. ПЛАТФОРМА — пак «ЗАКРЫТЬ ЦИКЛ: сквозной прогон и дверь выдачи»
|
||||
|
||||
**Почему это, а не мажоры регистра.** Очередь владельца называет разрыв цикла пунктом 1, и его
|
||||
платформенная половина — единственное, что стоит между «движок пишет файл» и «пользователь получил
|
||||
книгу». Движок отдаёт EPUB 3 + txt с 30.08 (D39.175), холодный прогон 31.08 предъявил это живьём
|
||||
(`epubcheck` 0/0/0/0). Платформа смонтировала 15 операций канона из 20; `createExport`/`getExport`
|
||||
среди недостающих, долг числится с P8 и ни один пак после P7 его не взял.
|
||||
|
||||
**Состав:**
|
||||
|
||||
1. **Строка 202 — живой сквозной прогон через API.** ⚠ **ТРЕБУЕТ СЛОВА ВЛАДЕЛЬЦА: прогон ПЛАТНЫЙ.**
|
||||
Всё после «прогон стартовал и остановился» покрыто батареей против живого Postgres, но с
|
||||
движком-заглушкой; настоящий манифест, сайдкар банка и причины флагов будут ПЕРВЫМИ данными,
|
||||
форму которых платформа не сочинила сама. Замер 31.08 на десятиглавой книге: $0.436110.
|
||||
Живой блокер один и он операционный ($0): `TM_PLATFORM_ENGINE_KEYS_PATH` абсолютным путём на уже
|
||||
заполненный файл.
|
||||
2. **Дверь выдачи — `createExport`/`getExport`.** ⚠ Слово владельца 30.08: дверь ВСЕГДА строит файл —
|
||||
отказ пользователю не отдаётся, неполная книга уходит с пометкой, то есть дверь зовёт
|
||||
`tmctl build --partial`; отказ по умолчанию остаётся операторской ручкой CLI. Требует минора
|
||||
канона — значит контрактное касание планировать вместе.
|
||||
3. **`PD-424` — терминальная ручка для живого прогона с заблокированной расплатой** (`major`,
|
||||
половина «невидим» вылечена P12, половина «ручки нет» стоит). `run abandon` ветвится по
|
||||
`runs.finished_at` и на живом прогоне уходит в живую ветку; `AbandonRun` отказывает над попыткой,
|
||||
ещё называющей юнит. Это НОВАЯ разрушительная операторская поверхность над деньгами — её дизайн
|
||||
(кто вправе звать, чем доказывается отсутствие процесса, что если процесс вернётся) назвать в паке
|
||||
явно.
|
||||
4. **ДОФИКС предыдущего пака — одним пунктом** (D39.188 п.5а): записка зоны о предусловии хоста
|
||||
различает хосты ИМЕНЕМ МАШИНЫ, а имя у этого хоста то же самое при противоположных условиях
|
||||
(`~/go/bin` существует и держит `sqlc`, `make tools-check` на дефолтном PATH падает, сокет 55433).
|
||||
Различает пользователь, а не хост.
|
||||
|
||||
**ЧТО НАМЕРЕННО НЕ БЕРЁМ:**
|
||||
- **`PD-410`** (полоса против движкового плана) — архитектурное, направление есть (D39.165 §1),
|
||||
но лечение требует либо передавать движку план работ, либо выводить total полосы из движкового
|
||||
плана; это отдельный пак по слову оркестратора 28.08 и он крупнее двери.
|
||||
- **`PD-412`/`PD-413`** (LATERAL в полосном агрегате) — контенция, не корректность денег.
|
||||
- **`PD-386`/`387`/`389`/`390`/`392`** (такт свипа, телеметрия, метрики без ручки) — класс «операторская
|
||||
поверхность», просится отдельным паком наблюдаемости; смешивать с дверью выдачи значит разбавить
|
||||
оба.
|
||||
- **`PD-439`** и правило ухода из класса — решение ОРКЕСТРАТОРА, не зоны; оно моё, а не паковое.
|
||||
|
||||
## 3. ЧТО ОСТАЁТСЯ НА ВЛАДЕЛЬЦЕ — три решения, без которых состав неполон
|
||||
|
||||
1. **Санкция на платный сквозной прогон** (пункт 1 платформы). Без неё платформенный пак теряет
|
||||
половину: батарея против заглушки уже есть, а форму настоящих данных заменить нечем.
|
||||
2. **Семантика переноса слота** (открыто с 03.09). Пока не решена, `--max-units` держит слоты, а не
|
||||
деньги; замер: грант 2 оплачивает 4 юнита, и флагнувшийся без текста юнит пере-оплачивается каждой
|
||||
покупкой.
|
||||
3. **Строка 140 — банковый контур в shipping-c1**: включить (двигает промпт драфта ⇒ пере-покупка)
|
||||
либо поправить декларацию.
|
||||
Loading…
Add table
Reference in a new issue