Основной реестр и полный контракт — api#317. Поручение владельца от 24.10.2026: одновременно с новым конструктором согласий заменить прежнюю UTM chb на числовую cons и на прелендингах. Не сохранять chb как параллельную настройку или алиас.
Работы
Проверить все потребители chb в действующей ветке: allowlist, query, normalizer, default, rnd/weights, конфигурации доменов/наборов, генерация URL/redirect, claim/handoff, fixtures и контрактные тесты, документация и примеры ссылок.
Перевести их на cons, убрать влияние старых chb URL/cookie/runtime ключей. В API уходит конкретный cons, а не rnd. Не сломать передачу client_key, темы и остальных собственных/внешних рекламных параметров.
Начальный random: cons=rnd → группа 1 с вероятностью 100%. Группа1 должна существовать на стороне API до активации. Default основного сайта — cons=2; не реализовывать random внутри API. Проверить и согласованно заменить прежние chb defaults/weights, не выдумывая дополнительные значения для других ключей runtime-конфига.
Тексты и состав согласий редактируются в CPanel API по api#317, отдельный каталог/редактор в Preland не плодить. Один тариф может иметь несколько вариантов текста, группа cons выбирает нужные.
Старые поля и тексты в тарифах API сохраняются, пока владелец не перенесёт содержимое и отдельно не разрешит удаление.
Приёмка
Concrete cons=1/2, отсутствие, rnd и неверное значение; rnd всегда конкретная1, API default2; реальный Preland → claim → Tour → Join с правильной группой и чистым URL.
Старый chb не влияет на cons; темы, client_key и посторонние параметры сохраняют действующий контракт, нет старого маркера в активном контексте.
Ошибка/повтор загрузки, Reload/Back, desktop/mobile и изоляция воронки. Разные конкретные группы не смешиваются.
Прогнать действующие тесты, серверный и браузерный сценарий; результаты/коммиты/доставка фиксируются комментариями и связью с api#317.
Доставка и ограничения
Текущее сообщение поручает оформить задачу, выпуск не выполнен. До отдельного поручения на production сохраняется preland#4: staging → zoomstage.online, zoompixel.ru/.online не обновлять. Runtime config.json сначала прочитать с цели, изменить только согласованные ключи chb→cons и связанные defaults/weights; прочие настройки не заменять. После доставки сохранить актуальный stage-снимок в Git. Если rollout или обязательная проверка не завершены, задачу оставить открытой.
## Связь и цель
Основной реестр и полный контракт — [api#317](http://git.dira89kv.beget.tech:3000/anton/api/issues/317). Поручение владельца от 24.10.2026: одновременно с новым конструктором согласий заменить прежнюю UTM `chb` на числовую `cons` и на прелендингах. Не сохранять chb как параллельную настройку или алиас.
## Работы
- Проверить все потребители chb в действующей ветке: allowlist, query, normalizer, default, rnd/weights, конфигурации доменов/наборов, генерация URL/redirect, claim/handoff, fixtures и контрактные тесты, документация и примеры ссылок.
- Перевести их на cons, убрать влияние старых chb URL/cookie/runtime ключей. В API уходит конкретный cons, а не rnd. Не сломать передачу client_key, темы и остальных собственных/внешних рекламных параметров.
- **Начальный random: cons=rnd → группа 1 с вероятностью 100%.** Группа1 должна существовать на стороне API до активации. Default основного сайта — cons=2; не реализовывать random внутри API. Проверить и согласованно заменить прежние chb defaults/weights, не выдумывая дополнительные значения для других ключей runtime-конфига.
- Тексты и состав согласий редактируются в CPanel API по api#317, отдельный каталог/редактор в Preland не плодить. Один тариф может иметь несколько вариантов текста, группа cons выбирает нужные.
- Старые поля и тексты в тарифах API сохраняются, пока владелец не перенесёт содержимое и отдельно не разрешит удаление.
## Приёмка
- Concrete cons=1/2, отсутствие, rnd и неверное значение; rnd всегда конкретная1, API default2; реальный Preland → claim → Tour → Join с правильной группой и чистым URL.
- Старый chb не влияет на cons; темы, client_key и посторонние параметры сохраняют действующий контракт, нет старого маркера в активном контексте.
- Ошибка/повтор загрузки, Reload/Back, desktop/mobile и изоляция воронки. Разные конкретные группы не смешиваются.
- Прогнать действующие тесты, серверный и браузерный сценарий; результаты/коммиты/доставка фиксируются комментариями и связью с api#317.
## Доставка и ограничения
Текущее сообщение поручает оформить задачу, выпуск не выполнен. До отдельного поручения на production сохраняется preland#4: staging → zoomstage.online, zoompixel.ru/.online не обновлять. Runtime config.json сначала прочитать с цели, изменить только согласованные ключи chb→cons и связанные defaults/weights; прочие настройки не заменять. После доставки сохранить актуальный stage-снимок в Git. Если rollout или обязательная проверка не завершены, задачу оставить открытой.
Создано по прямому поручению владельца24.10.2026 в связке с api#317. Основной реестр: http://git.dira89kv.beget.tech:3000/anton/api/issues/317. Полностью заменить chb→cons, random только1 со100%, API default2. Текущий этап — постановка, не выпуск. Runtime config сохранить вне согласованных ключей; production Preland не обновлять по этому поручению (preland#4).
Создано по прямому поручению владельца24.10.2026 в связке с api#317. Основной реестр: http://git.dira89kv.beget.tech:3000/anton/api/issues/317. Полностью заменить chb→cons, random только1 со100%, API default2. Текущий этап — постановка, не выпуск. Runtime config сохранить вне согласованных ключей; production Preland не обновлять по этому поручению (preland#4).
Q3 согласовано владельцем после пользовательского примера: при КАЖДОЙ смене тарифа заново применять начальные отметки группы (в том числе A→B→A), не восстанавливать ручной выбор прошлого тарифа. Дословный смысл уточнения: галочка — информирование/допуск к продолжению, а не управление банковским продлением; снятая показанная requiredгалочка блокирует кнопку. Предложение сохранять userstate отвергнуто, его не реализуем. ВсеQ1/Q2/Q3 теперь разрешены, спецификация/план обновлены. Task1commit5dea110: additiveкаталог/группы/HTMLresolver,58DBchecks вDocker включаяrace2processdefault, fresh86migrations/down-reapply/соседниеSSR PASS; независимоеcatalog_reviewидёт. Rootпараллельно готовит только независимый PrelandrepoTask4: resolverexplicitлюбыеpositivecons, rndтолько1, default2,legacychbdropfresh/recovery, точечныйpatchruntimeпослесовместимогокода, сохранность остальныхполей/customconsпри следующихdeploy. REDдо реализациивиден,2017resolverchecks+остальныеPrelandPHPtests+manifest213PASS. ЭтоещёнеUIприёмка/невыкат. СледующийэтапCPanelпослеTask1review; обе задачипокаOPEN.
Q3 согласовано владельцем после пользовательского примера: при КАЖДОЙ смене тарифа заново применять начальные отметки группы (в том числе A→B→A), не восстанавливать ручной выбор прошлого тарифа. Дословный смысл уточнения: галочка — информирование/допуск к продолжению, а не управление банковским продлением; снятая показанная requiredгалочка блокирует кнопку. Предложение сохранять userstate отвергнуто, его не реализуем. ВсеQ1/Q2/Q3 теперь разрешены, спецификация/план обновлены. Task1commit5dea110: additiveкаталог/группы/HTMLresolver,58DBchecks вDocker включаяrace2processdefault, fresh86migrations/down-reapply/соседниеSSR PASS; независимоеcatalog_reviewидёт. Rootпараллельно готовит только независимый PrelandrepoTask4: resolverexplicitлюбыеpositivecons, rndтолько1, default2,legacychbdropfresh/recovery, точечныйpatchruntimeпослесовместимогокода, сохранность остальныхполей/customconsпри следующихdeploy. REDдо реализациивиден,2017resolverchecks+остальныеPrelandPHPtests+manifest213PASS. ЭтоещёнеUIприёмка/невыкат. СледующийэтапCPanelпослеTask1review; обе задачипокаOPEN.
Продолжаем api#317/preland#17 по согласованным Q1/Q2/Q3. Каталог согласий: коммит 5dea110, независимое ревью APPROVE, 58 DB-проверок включая concurrent default PASS. Админка готова к реальным HTTP/UI-проверкам, отдельный Docker стенд localhost:4337 (чужой стенд 4317 сохранён). Runtime cons/Join и адаптация прежних regression checks выполняются отдельно, без удаления legacy полей тарифов. Preland: все 14 standalone PHP checks и release manifest (213 ресурсов) PASS; точечный runtime config patch сохраняет соседние поля и пользовательские настройки cons при повторном deploy. Выпуска ещё нет; задачи остаются открыты до UI-приёмки, интеграционного gate и доставки.
Продолжаем api#317/preland#17 по согласованным Q1/Q2/Q3. Каталог согласий: коммит 5dea110, независимое ревью APPROVE, 58 DB-проверок включая concurrent default PASS. Админка готова к реальным HTTP/UI-проверкам, отдельный Docker стенд localhost:4337 (чужой стенд 4317 сохранён). Runtime cons/Join и адаптация прежних regression checks выполняются отдельно, без удаления legacy полей тарифов. Preland: все 14 standalone PHP checks и release manifest (213 ресурсов) PASS; точечный runtime config patch сохраняет соседние поля и пользовательские настройки cons при повторном deploy. Выпуска ещё нет; задачи остаются открыты до UI-приёмки, интеграционного gate и доставки.
Приёмка и независимые ревью этапов завершены: каталог APPROVE, CPanel APPROVE, runtime/full API APPROVE, Preland APPROVE. Исправлены найденные ревью дефекты: переполнение срока cookie, SQL500 при cons вне PostgreSQL integer, восстановление удалённой группы из cookie другой вкладки, JSON-типы соседних ключей runtime config, inline-ссылки information в flex-строке. Реальный браузер: CPanel33 checks, Join40, Preland11 (file503→retry→реальныйcreate→claim→чистыйTour и IndexedDBReload), Private8, responsive320/7366 PASS. Ввод/клики/ошибки/восстановление проверены, только строками/HTTP200 приёмку не заменяли. Готовим окончательный immutable image и полный штатный regression gate перед разрешённым выпуском. Preland остаётся только zoomstage.online. Пока не выпущено, задачи открыты.
Приёмка и независимые ревью этапов завершены: каталог APPROVE, CPanel APPROVE, runtime/full API APPROVE, Preland APPROVE. Исправлены найденные ревью дефекты: переполнение срока cookie, SQL500 при cons вне PostgreSQL integer, восстановление удалённой группы из cookie другой вкладки, JSON-типы соседних ключей runtime config, inline-ссылки information в flex-строке. Реальный браузер: CPanel33 checks, Join40, Preland11 (file503→retry→реальныйcreate→claim→чистыйTour и IndexedDBReload), Private8, responsive320/7366 PASS. Ввод/клики/ошибки/восстановление проверены, только строками/HTTP200 приёмку не заменяли. Готовим окончательный immutable image и полный штатный regression gate перед разрешённым выпуском. Preland остаётся только zoomstage.online. Пока не выпущено, задачи открыты.
Реализован и выпущен конструктор согласий cons: единый каталог общих/тарифных checkbox и информационных текстов, произвольные варианты одного тарифа, группы с позициями 01–99, начальной отметкой, пустым составом и единственным default. CPanel следует действующему tp-интерфейсу; «назначить» выглядит обычной ссылкой, сохраняет POST/CSRF. Предпросмотр находится под каждой группой.
Согласованные Q1/Q2/Q3 выполнены: исходные cons1 — одно отмеченное согласие, cons2 — документы+тарифный текст без отметок, API default2; Preland rnd100%1. Отдельная signed cookie72ч с первого выбора, без продления, cookie выше новой ссылки, TTL редактируется. Каждая смена тарифа заново применяет отметки группы, A→B→A тоже. Это информирование и UI-допуск, банковский режим продления не меняется. Старый chb игнорируется во всех активных переходах/контекстах/recovery; начатая воронка сохраняет свой cons. Старые тарифные checkbox_text/редактор и исходные общие настройки сохранены, реальные тексты скопированы. Удаление старых тарифных полей ждёт отдельного разрешения владельца.
Доставка:
API master 4cae08b3b47e67b3406cffc6d5886bdabe778b71, тег v2026.10.24.1, run475/job676 SUCCESS. Workflow выполнил image gate, preflight, backup, deploy и smoke.
Preland code 89cc16e, run476 SUCCESS; точный проверенный stage config snapshot f4ce5afdc4a1860a448c9a022e61cd4e8bec8167, run477/job679 SUCCESS. Только zoomstage.online; zoompixel production не обновлялся. До/после проверены все соседние runtime config поля и финальные bytes, изменения ограничены chb/cons.
Фактический runner во всех выпусках37 zoomzilla-prod-org.
Проверки: baseline и финальный immutable image gate PASS (87 миграций/49 этапов; catalog60/admin33/funnel27/seed11), 271 адаптированная regression-проверка, все14 Preland tests/213 ресурсов. Реальный браузер: CPanel33, Join40, Preland11 с upload503→retry→настоящийcreate/claim и legacy IndexedDBReload, Private8, responsive320/7366. Desktop1440/mobile390 и визуальная проверка выполнены. Все независимые ревью APPROVE; найденные TTL/cons overflow, stored fallback, JSON types и information-link flex дефекты исправлены и перепроверены. Первые неуспешные clean-image gate сохранены в журнале: runtime bootstrap тестового harness приведён к production entrypoint, устаревший source-contract remember заменён rememberStored без ослабления поведения.
После выпуска в IAB выполнены настоящие Index→GP→Join1034 и stage→claim→GP→Join1035; проверены чистые URL, две снятые галочки, смена тарифа/его реального текста и disabled continuation. Регистрация/платёж на production не отправлялись.
Граница доказательств: production CPanel требует недоступную текущему IAB Basic Auth, поэтому его production CRUD не объявлен пройденным. Авторизованный CPanel CRUD реально проверен на изолированном стенде, SSR и серверный контракт — также в финальном image gate. Доставка и обязательный пользовательский сценарий проверены; эта граница указана в отчёте, а не скрыта.
База знаний опубликована коммитом 0801c26: спецификация, план/workflow, руководство «Управление согласиями cons», отчёт выпуска и актуализация старых chb/UTM заметок. Открытых обязательных работ в согласованном объёме нет; api#317 и preland#17 закрываются.
Реализован и выпущен конструктор согласий cons: единый каталог общих/тарифных checkbox и информационных текстов, произвольные варианты одного тарифа, группы с позициями 01–99, начальной отметкой, пустым составом и единственным default. CPanel следует действующему tp-интерфейсу; «назначить» выглядит обычной ссылкой, сохраняет POST/CSRF. Предпросмотр находится под каждой группой.
Согласованные Q1/Q2/Q3 выполнены: исходные cons1 — одно отмеченное согласие, cons2 — документы+тарифный текст без отметок, API default2; Preland rnd100%1. Отдельная signed cookie72ч с первого выбора, без продления, cookie выше новой ссылки, TTL редактируется. Каждая смена тарифа заново применяет отметки группы, A→B→A тоже. Это информирование и UI-допуск, банковский режим продления не меняется. Старый chb игнорируется во всех активных переходах/контекстах/recovery; начатая воронка сохраняет свой cons. Старые тарифные checkbox_text/редактор и исходные общие настройки сохранены, реальные тексты скопированы. Удаление старых тарифных полей ждёт отдельного разрешения владельца.
Доставка:
- API master `4cae08b3b47e67b3406cffc6d5886bdabe778b71`, тег `v2026.10.24.1`, [run475/job676 SUCCESS](http://git.dira89kv.beget.tech:3000/anton/api/actions/runs/475). Workflow выполнил image gate, preflight, backup, deploy и smoke.
- Preland code `89cc16e`, [run476 SUCCESS](http://git.dira89kv.beget.tech:3000/anton/preland/actions/runs/476); точный проверенный stage config snapshot `f4ce5afdc4a1860a448c9a022e61cd4e8bec8167`, [run477/job679 SUCCESS](http://git.dira89kv.beget.tech:3000/anton/preland/actions/runs/477). Только zoomstage.online; zoompixel production не обновлялся. До/после проверены все соседние runtime config поля и финальные bytes, изменения ограничены chb/cons.
- Фактический runner во всех выпусках37 `zoomzilla-prod-org`.
Проверки: baseline и финальный immutable image gate PASS (87 миграций/49 этапов; catalog60/admin33/funnel27/seed11), 271 адаптированная regression-проверка, все14 Preland tests/213 ресурсов. Реальный браузер: CPanel33, Join40, Preland11 с upload503→retry→настоящийcreate/claim и legacy IndexedDBReload, Private8, responsive320/7366. Desktop1440/mobile390 и визуальная проверка выполнены. Все независимые ревью APPROVE; найденные TTL/cons overflow, stored fallback, JSON types и information-link flex дефекты исправлены и перепроверены. Первые неуспешные clean-image gate сохранены в журнале: runtime bootstrap тестового harness приведён к production entrypoint, устаревший source-contract remember заменён rememberStored без ослабления поведения.
После выпуска в IAB выполнены настоящие Index→GP→Join1034 и stage→claim→GP→Join1035; проверены чистые URL, две снятые галочки, смена тарифа/его реального текста и disabled continuation. Регистрация/платёж на production не отправлялись.
Граница доказательств: production CPanel требует недоступную текущему IAB Basic Auth, поэтому его production CRUD не объявлен пройденным. Авторизованный CPanel CRUD реально проверен на изолированном стенде, SSR и серверный контракт — также в финальном image gate. Доставка и обязательный пользовательский сценарий проверены; эта граница указана в отчёте, а не скрыта.
База знаний опубликована коммитом `0801c26`: спецификация, план/workflow, руководство «Управление согласиями cons», отчёт выпуска и актуализация старых chb/UTM заметок. Открытых обязательных работ в согласованном объёме нет; api#317 и preland#17 закрываются.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Связь и цель
Основной реестр и полный контракт — api#317. Поручение владельца от 24.10.2026: одновременно с новым конструктором согласий заменить прежнюю UTM
chbна числовуюconsи на прелендингах. Не сохранять chb как параллельную настройку или алиас.Работы
Приёмка
Доставка и ограничения
Текущее сообщение поручает оформить задачу, выпуск не выполнен. До отдельного поручения на production сохраняется preland#4: staging → zoomstage.online, zoompixel.ru/.online не обновлять. Runtime config.json сначала прочитать с цели, изменить только согласованные ключи chb→cons и связанные defaults/weights; прочие настройки не заменять. После доставки сохранить актуальный stage-снимок в Git. Если rollout или обязательная проверка не завершены, задачу оставить открытой.
Создано по прямому поручению владельца24.10.2026 в связке с api#317. Основной реестр: http://git.dira89kv.beget.tech:3000/anton/api/issues/317. Полностью заменить chb→cons, random только1 со100%, API default2. Текущий этап — постановка, не выпуск. Runtime config сохранить вне согласованных ключей; production Preland не обновлять по этому поручению (preland#4).
Начато исполнение по поручению владельца24.10 с разрешённым APIproduction после проверок. Прочитаны обе задачи со всеми комментариями; выполнены3независимых readonly-аудита Yii2, Frontend, DevOps/Linux/Windows. Точные базы: API9565aa3,Preland188b78a,KBe35ac89. Чистые worktree wt/issue317-api/preland/kb, исходныеdirtycheckoutне тронуты. Спецификация: KBworktree Спеки/2026-10-24 Конструктор согласий cons — реализация.md; план Планы/2026-10-24 Конструктор согласий cons — план.md. WorkflowTask0аудит/baseline→Task1каталог→Task2CPanel→Task3контекст/Join→Task4Preland→Task5wholematrix/review→Task6APIvtag/stagepreland/postdeploy/KB/close. Собран baselineimagezoomzilla-api:cons317-baseline, штатный полныйimagegate на отдельнойDB PASS. Владелец получил варианты Q1стартсостав1/2,Q2cons-memory,Q3statecheckboxприA/B/A; ответы ещё ожидаются, зависимыеseed/memory/userstate/активацияне выбираем. НезависимыйTask1схема/модели безseed начат. Картаобнаружений: stalecheckboxsnapshotвsharedJS; legacychbкакexternalquery/recovery; exactcontextkeysмогутстеретьtheme/tp. Сохраняем stagehandoffqueryбезchb, конечныеTour/Joinчистые. Privatebusinessflowвнеscopeне переводим; regressionsharedJSобязательна. Prelandproductionзамороженпо#4, толькоzoomstage.online. Задачиоткрыты, продуктовыйвыпускнепроводился.
Q3 согласовано владельцем после пользовательского примера: при КАЖДОЙ смене тарифа заново применять начальные отметки группы (в том числе A→B→A), не восстанавливать ручной выбор прошлого тарифа. Дословный смысл уточнения: галочка — информирование/допуск к продолжению, а не управление банковским продлением; снятая показанная requiredгалочка блокирует кнопку. Предложение сохранять userstate отвергнуто, его не реализуем. ВсеQ1/Q2/Q3 теперь разрешены, спецификация/план обновлены. Task1commit5dea110: additiveкаталог/группы/HTMLresolver,58DBchecks вDocker включаяrace2processdefault, fresh86migrations/down-reapply/соседниеSSR PASS; независимоеcatalog_reviewидёт. Rootпараллельно готовит только независимый PrelandrepoTask4: resolverexplicitлюбыеpositivecons, rndтолько1, default2,legacychbdropfresh/recovery, точечныйpatchruntimeпослесовместимогокода, сохранность остальныхполей/customconsпри следующихdeploy. REDдо реализациивиден,2017resolverchecks+остальныеPrelandPHPtests+manifest213PASS. ЭтоещёнеUIприёмка/невыкат. СледующийэтапCPanelпослеTask1review; обе задачипокаOPEN.
Продолжаем api#317/preland#17 по согласованным Q1/Q2/Q3. Каталог согласий: коммит 5dea110, независимое ревью APPROVE, 58 DB-проверок включая concurrent default PASS. Админка готова к реальным HTTP/UI-проверкам, отдельный Docker стенд localhost:4337 (чужой стенд 4317 сохранён). Runtime cons/Join и адаптация прежних regression checks выполняются отдельно, без удаления legacy полей тарифов. Preland: все 14 standalone PHP checks и release manifest (213 ресурсов) PASS; точечный runtime config patch сохраняет соседние поля и пользовательские настройки cons при повторном deploy. Выпуска ещё нет; задачи остаются открыты до UI-приёмки, интеграционного gate и доставки.
Приёмка и независимые ревью этапов завершены: каталог APPROVE, CPanel APPROVE, runtime/full API APPROVE, Preland APPROVE. Исправлены найденные ревью дефекты: переполнение срока cookie, SQL500 при cons вне PostgreSQL integer, восстановление удалённой группы из cookie другой вкладки, JSON-типы соседних ключей runtime config, inline-ссылки information в flex-строке. Реальный браузер: CPanel33 checks, Join40, Preland11 (file503→retry→реальныйcreate→claim→чистыйTour и IndexedDBReload), Private8, responsive320/7366 PASS. Ввод/клики/ошибки/восстановление проверены, только строками/HTTP200 приёмку не заменяли. Готовим окончательный immutable image и полный штатный regression gate перед разрешённым выпуском. Preland остаётся только zoomstage.online. Пока не выпущено, задачи открыты.
Реализован и выпущен конструктор согласий cons: единый каталог общих/тарифных checkbox и информационных текстов, произвольные варианты одного тарифа, группы с позициями 01–99, начальной отметкой, пустым составом и единственным default. CPanel следует действующему tp-интерфейсу; «назначить» выглядит обычной ссылкой, сохраняет POST/CSRF. Предпросмотр находится под каждой группой.
Согласованные Q1/Q2/Q3 выполнены: исходные cons1 — одно отмеченное согласие, cons2 — документы+тарифный текст без отметок, API default2; Preland rnd100%1. Отдельная signed cookie72ч с первого выбора, без продления, cookie выше новой ссылки, TTL редактируется. Каждая смена тарифа заново применяет отметки группы, A→B→A тоже. Это информирование и UI-допуск, банковский режим продления не меняется. Старый chb игнорируется во всех активных переходах/контекстах/recovery; начатая воронка сохраняет свой cons. Старые тарифные checkbox_text/редактор и исходные общие настройки сохранены, реальные тексты скопированы. Удаление старых тарифных полей ждёт отдельного разрешения владельца.
Доставка:
4cae08b3b47e67b3406cffc6d5886bdabe778b71, тегv2026.10.24.1, run475/job676 SUCCESS. Workflow выполнил image gate, preflight, backup, deploy и smoke.89cc16e, run476 SUCCESS; точный проверенный stage config snapshotf4ce5afdc4a1860a448c9a022e61cd4e8bec8167, run477/job679 SUCCESS. Только zoomstage.online; zoompixel production не обновлялся. До/после проверены все соседние runtime config поля и финальные bytes, изменения ограничены chb/cons.zoomzilla-prod-org.Проверки: baseline и финальный immutable image gate PASS (87 миграций/49 этапов; catalog60/admin33/funnel27/seed11), 271 адаптированная regression-проверка, все14 Preland tests/213 ресурсов. Реальный браузер: CPanel33, Join40, Preland11 с upload503→retry→настоящийcreate/claim и legacy IndexedDBReload, Private8, responsive320/7366. Desktop1440/mobile390 и визуальная проверка выполнены. Все независимые ревью APPROVE; найденные TTL/cons overflow, stored fallback, JSON types и information-link flex дефекты исправлены и перепроверены. Первые неуспешные clean-image gate сохранены в журнале: runtime bootstrap тестового harness приведён к production entrypoint, устаревший source-contract remember заменён rememberStored без ослабления поведения.
После выпуска в IAB выполнены настоящие Index→GP→Join1034 и stage→claim→GP→Join1035; проверены чистые URL, две снятые галочки, смена тарифа/его реального текста и disabled continuation. Регистрация/платёж на production не отправлялись.
Граница доказательств: production CPanel требует недоступную текущему IAB Basic Auth, поэтому его production CRUD не объявлен пройденным. Авторизованный CPanel CRUD реально проверен на изолированном стенде, SSR и серверный контракт — также в финальном image gate. Доставка и обязательный пользовательский сценарий проверены; эта граница указана в отчёте, а не скрыта.
База знаний опубликована коммитом
0801c26: спецификация, план/workflow, руководство «Управление согласиями cons», отчёт выпуска и актуализация старых chb/UTM заметок. Открытых обязательных работ в согласованном объёме нет; api#317 и preland#17 закрываются.