Ручное добавление вариантов UTM и новых сетов в редакторе config.json #30

Closed
opened 2026-10-26 03:15:52 +01:00 by yury · 8 comments
Owner

Вопрос владельца после #28/#29: создав новую группу в основной Zoomzilla, как добавить её в prelandadmin? Уточнил: темы фиксированы, а группы тарифных планов/договоров/cons он создаёт сам. До реализации выяснить текущее поведение и предложить UI. По коду Catalog уже читает группыdegr/tp/cons и используется для существования/валидации, но строки матрицы берутся только из runtimeweights; в29 все variantselect/add/remove убраны по уточнению толькоweight/default. Предложение для согласования: динамическиеdegr/tp/cons показывать по актуальному каталогу, новые строки0%/неdefault, существующиеweights/default неизменны; runtimeничего не менять доSave. Альтернатива отдельная кнопка Добавитьизкаталога. Фиксированныеtheme/reg/banch/focus не расширять из maincatalog. Indpic отдельный управляемый набор, существующийuploadflow сохранить. Вопросы stale/unavailablecatalog, исчезнувшие runtimeварианты и dirtyrefresh решать до implementation, не удалять ничего автоматически. Пока только чтение/исследование, productionне менять. Связано #29/#28.

Вопрос владельца после #28/#29: создав новую группу в основной Zoomzilla, как добавить её в prelandadmin? Уточнил: темы фиксированы, а группы тарифных планов/договоров/cons он создаёт сам. До реализации выяснить текущее поведение и предложить UI. По коду Catalog уже читает группыdegr/tp/cons и используется для существования/валидации, но строки матрицы берутся только из runtimeweights; в29 все variantselect/add/remove убраны по уточнению толькоweight/default. Предложение для согласования: динамическиеdegr/tp/cons показывать по актуальному каталогу, новые строки0%/неdefault, существующиеweights/default неизменны; runtimeничего не менять доSave. Альтернатива отдельная кнопка Добавитьизкаталога. Фиксированныеtheme/reg/banch/focus не расширять из maincatalog. Indpic отдельный управляемый набор, существующийuploadflow сохранить. Вопросы stale/unavailablecatalog, исчезнувшие runtimeварианты и dirtyrefresh решать до implementation, не удалять ничего автоматически. Пока только чтение/исследование, productionне менять. Связано #29/#28.
Author
Owner

Уточнение владельца: новые группы degr, тарифных планов tp и договоров/согласий cons создаются в основной админке; theme относится к фиксированным вариантам. По коду Catalog.php и export-catalog.php каталог degr/tp/cons уже предусмотрен, но текущая матрица строит варианты только из config.json. Поэтому создание группы в основной админке само по себе не добавляет строку в таблицу прелендингов. Предложение для согласования: подхватывать новые номера из свежего каталога как строки 0%, без default, без автоматической записи на хостинг; изменения публиковать только через существующее сохранение и копирование. Альтернатива — явная кнопка добавления из каталога. Реализация пока не начата; текущие веса, default и конфиги не менялись.

Уточнение владельца: новые группы degr, тарифных планов tp и договоров/согласий cons создаются в основной админке; theme относится к фиксированным вариантам. По коду Catalog.php и export-catalog.php каталог degr/tp/cons уже предусмотрен, но текущая матрица строит варианты только из config.json. Поэтому создание группы в основной админке само по себе не добавляет строку в таблицу прелендингов. Предложение для согласования: подхватывать новые номера из свежего каталога как строки 0%, без default, без автоматической записи на хостинг; изменения публиковать только через существующее сохранение и копирование. Альтернатива — явная кнопка добавления из каталога. Реализация пока не начата; текущие веса, default и конфиги не менялись.
Author
Owner

Окончательное решение владельца: ручное добавление вариантов для ВСЕХ UTM, включая theme=3; редактор config.json не проверяет реализацию варианта на основном сайте. Владелец явно принимает ответственность за соответствие номера функциональности сайта. Никакого автоподхвата/проверки каталога Zoomzilla. Номер добавляется вручную, существующие номера остаются текстом; новый вес 0%, default не меняется. Сохраняются проверки формата номера, дубликатов, процентов 0..100 с двумя знаками и суммы 100 либо все 0. Существующая проверка набора indpic сохраняется только в отдельном интерфейсе загрузки/проверки ZIP, не блокирует ручное редактирование UTM. Реализация и выпуск в рамках ранее разрешённого production scope; перед выпуском native UI add/save/reread/copy/error/cancel и регрессия.

Окончательное решение владельца: ручное добавление вариантов для ВСЕХ UTM, включая theme=3; редактор config.json не проверяет реализацию варианта на основном сайте. Владелец явно принимает ответственность за соответствие номера функциональности сайта. Никакого автоподхвата/проверки каталога Zoomzilla. Номер добавляется вручную, существующие номера остаются текстом; новый вес 0%, default не меняется. Сохраняются проверки формата номера, дубликатов, процентов 0..100 с двумя знаками и суммы 100 либо все 0. Существующая проверка набора indpic сохраняется только в отдельном интерфейсе загрузки/проверки ZIP, не блокирует ручное редактирование UTM. Реализация и выпуск в рамках ранее разрешённого production scope; перед выпуском native UI add/save/reread/copy/error/cancel и регрессия.
Author
Owner

Дополнение владельца: для ВСЕХ UTM «+» сразу создаёт полностью пустую строку (номер/вес/default), владелец заполняет её сам; предзаполненные номер и вес 0 отменены. ZIP нового сета загружается отдельно, затем владелец вручную добавляет indpic. Никакой автоматической привязки. «Z» в распознанной речи означает «сет». Последнее указание: прежде продолжения показать эскиз добавления сета; код/выпуск приостановлены до согласования. Предварительные локальные backend и frontend файлы сохранены без коммитов, production не менялся. Backend RED→GREEN и полный composer13 scripts exit0; frontend пока только RED и предварительная реализация, GREEN не выполнен. Спецификация/план KB: Спеки/2026-10-26 Ручные варианты и сеты — 30.md. Эскиз формы ZIP и отдельной пустой строки indpic подготовлен для владельца, задача остаётся открытой.

Дополнение владельца: для ВСЕХ UTM «+» сразу создаёт полностью пустую строку (номер/вес/default), владелец заполняет её сам; предзаполненные номер и вес 0 отменены. ZIP нового сета загружается отдельно, затем владелец вручную добавляет indpic. Никакой автоматической привязки. «Z» в распознанной речи означает «сет». Последнее указание: прежде продолжения показать эскиз добавления сета; код/выпуск приостановлены до согласования. Предварительные локальные backend и frontend файлы сохранены без коммитов, production не менялся. Backend RED→GREEN и полный composer13 scripts exit0; frontend пока только RED и предварительная реализация, GREEN не выполнен. Спецификация/план KB: Спеки/2026-10-26 Ручные варианты и сеты — 30.md. Эскиз формы ZIP и отдельной пустой строки indpic подготовлен для владельца, задача остаётся открытой.
yury changed title from Каталог вариантов degr/tp/cons из основной админки в таблице прелендингов to Ручное добавление вариантов UTM и новых сетов в редакторе config.json 2026-10-26 03:26:08 +01:00
Author
Owner

Уточнение эскиза от владельца: цвета одобрены; сначала только существующие1/2 и ссылка «Добавить вариант» под ними. Пустая строка появляется лишь после нажатия, затем ввод и Сохранить. Предыдущий эскиз неявно показывал состояние уже после клика. Новый отдельный эскиз preland-add-variant.html начинает без пустых полей; native click/fill3/0/save/static3/duplicate/cancel/mobile360/noerrors PASS. KB уточнена. Согласование нового эскиза ожидается, выпуск и изменения продуктового кода не возобновлялись.

Уточнение эскиза от владельца: цвета одобрены; сначала только существующие1/2 и ссылка «Добавить вариант» под ними. Пустая строка появляется лишь после нажатия, затем ввод и Сохранить. Предыдущий эскиз неявно показывал состояние уже после клика. Новый отдельный эскиз preland-add-variant.html начинает без пустых полей; native click/fill3/0/save/static3/duplicate/cancel/mobile360/noerrors PASS. KB уточнена. Согласование нового эскиза ожидается, выпуск и изменения продуктового кода не возобновлялись.
Author
Owner

Владелец согласовал исправленный эскиз: «Шикарно, Сёх Продакшн» (голосовое подтверждение production после показа исходного состояния1/2 и интерактивного +). Реализация и разрешённый выпуск возобновлены. Новые строки только по клику, все поля пустые. Новый ZIP и замена имеющегося — отдельные сценарии; не создают/не меняют UTM автоматически. Дополнительная поверхность: конструктор ссылки тоже должен принимать вручную добавленный цифровой вариант3 из config, включая theme, без каталога. Исторические aliases остаются совместимыми. Проверка фактической инфраструктуры нашла отдельное расписание /etc/cron.d/preland-admin-catalog; после отключения runtime-зависимости оно будет выведено из работы, приватный старый снимок не требуется удалять. До выпуска — native UI и независимый review.

Владелец согласовал исправленный эскиз: «Шикарно, Сёх Продакшн» (голосовое подтверждение production после показа исходного состояния1/2 и интерактивного +). Реализация и разрешённый выпуск возобновлены. Новые строки только по клику, все поля пустые. Новый ZIP и замена имеющегося — отдельные сценарии; не создают/не меняют UTM автоматически. Дополнительная поверхность: конструктор ссылки тоже должен принимать вручную добавленный цифровой вариант3 из config, включая theme, без каталога. Исторические aliases остаются совместимыми. Проверка фактической инфраструктуры нашла отдельное расписание /etc/cron.d/preland-admin-catalog; после отключения runtime-зависимости оно будет выведено из работы, приватный старый снимок не требуется удалять. До выпуска — native UI и независимый review.
Author
Owner

Промежуточные доказательства #30: root независимо повторил полный Docker composer13scripts — 454PASS exit0; public check-* и release-assets --check exit0. Native frontend: все8 +→пустые поля→номер9/0→Save/reread, semantic theme3/default, missingcons с явно выбраннымdefault, duplicate recovery/Cancel, copy нового варианта, builder3, mobile. ZIP новый9 с90файлами не меняетconfig и не спрашивает замену; затем отдельное ручное indpic9/0 Save; повторная загрузка9 штатным контролом требует подтверждения,90файлов/config неизменен. Первое падение ZIPсценария вызвано гонкой теста с завершающим loadSets послеSave; тест ждёт фактический ответ /api/sets и стабильную строку. Независимый reviewer обнаружил P2: syntheticrow отсутствующегоdefault с0 случайно материализовалась при сохранении; row.isNew отличает явное добавление и сохраняет прежнее отсутствие. Изолированное RED→GREEN и native regression подтверждены. Сейчас независимая browser-проверка и соседние UI сценарии; выпуск ещё не начат.

Промежуточные доказательства #30: root независимо повторил полный Docker composer13scripts — 454PASS exit0; public check-* и release-assets --check exit0. Native frontend: все8 +→пустые поля→номер9/0→Save/reread, semantic theme3/default, missingcons с явно выбраннымdefault, duplicate recovery/Cancel, copy нового варианта, builder3, mobile. ZIP новый9 с90файлами не меняетconfig и не спрашивает замену; затем отдельное ручное indpic9/0 Save; повторная загрузка9 штатным контролом требует подтверждения,90файлов/config неизменен. Первое падение ZIPсценария вызвано гонкой теста с завершающим loadSets послеSave; тест ждёт фактический ответ /api/sets и стабильную строку. Независимый reviewer обнаружил P2: syntheticrow отсутствующегоdefault с0 случайно материализовалась при сохранении; row.isNew отличает явное добавление и сохраняет прежнее отсутствие. Изолированное RED→GREEN и native regression подтверждены. Сейчас независимая browser-проверка и соседние UI сценарии; выпуск ещё не начат.
Author
Owner

Все до-релизные проверки завершены: independent APPROVE, root composer454PASS/publicgates exit0, основные native UI и9соседних сценариев PASS. Source941a4f01aa4478d358c613bb2655d959ea616c18 опубликован main (только admin/, публичный preland deploy не запускался). Идёт сборка admin-only образа на точном предыдущем runtime47405b2; composer.lock неизменен и сравнен с базой. После image gate — переключение web/worker, отключение отдельного cron каталога, production native Save/reread тестового theme9/0 на Stage с последующим exactRAWrestore; все4runtime и metadata сверить. Задача остаётся открытой до фактической приёмки.

Все до-релизные проверки завершены: independent APPROVE, root composer454PASS/publicgates exit0, основные native UI и9соседних сценариев PASS. Source941a4f01aa4478d358c613bb2655d959ea616c18 опубликован main (только admin/, публичный preland deploy не запускался). Идёт сборка admin-only образа на точном предыдущем runtime47405b2; composer.lock неизменен и сравнен с базой. После image gate — переключение web/worker, отключение отдельного cron каталога, production native Save/reread тестового theme9/0 на Stage с последующим exactRAWrestore; все4runtime и metadata сверить. Задача остаётся открытой до фактической приёмки.
Author
Owner

Выполнено и выпущено в production26.10.2026: source941a4f01aa4478d358c613bb2655d959ea616c18(main), imagepreland-admin:941a4f0/SHA256fd819b80276b586ff65d54448eccf09cc5fabec149774ec20ad8838e467986bc. Webhealthy/workerrunning,68Gitarchivefiles совпали с работающим контейнером. KB9b0fe567dbea8244580e44f15ae7334093fdd1e7(master).

Результат: во всех8UTM + создаёт пустые номер/вес/defaultunchecked только по клику; ручные1–9 включаяtheme3, zeroweight сохраняется, существующиеномерастатические. Missinggroup/явныйdefault, duplicate/error/cancel/copy/builder согласованы и проверены. Самостоятельныйconfigeditor: никакой валидации catalog/main-групп/indpicfiles на Save/Copy/Restore. Формат/aliases/проценты/CAS/backup/unknownfields сохранены. УдалёнruntimeCatalog/sourceexporter; отдельный /etc/cron.d/preland-admin-catalog отключён сroot-onlyархивом, остальныеcron/API не менялись.

Сеты: новыйZIP9→90проверенныхфайлов, configbyte-identical/noautoutm; затем ручнойindpic9/0 Save; замена9 черезштатнуюстроку→confirm/90files/configbyte-identical. Это actualHTTP/worker/native на изолированнойfixture; productionZIP повторно не загружали. ПроверкиZIP и SFTPflow сохранены.

Доказательства: root454PASS/13scripts, publiccheck-*+assets--checkexit0; exactnewimage454PASS (сread-only Gitfixturecomponents/1); основныеnative и9соседнихUI PASS; независимыйreviewAPPROVE послеисправленияsyntheticdefaultrowP2. Первоначальный imagegate безfixtures упал на отсутствующем/components/utm-codec.php; правильное окружение повторно прошло безподменыкода/ослабленияпроверок. CleanbuildPECL#27 остаётсяOPEN, imageиспользуетточныйпрежнийruntime/неизменныйcomposer.lock.

Productionnative: login→initialnoblank→+empty→duplicateblocked→theme9/0→actualSavejob→GET/reread/static9→Cancel/mobile390/noJSerrors. Default/другиеключинеизменны. Потом TransportCAS exactRAWrestoreStage после проверки единственного ожидаемого9/0. Финальный приватныйpreland30-final-check.json PASS: RAW/publicHTTPS/identity всех4точныbaseline, targets.json/utm-notes.jsonbyte-identical, pendingnull. Тестовыйвариантубран, порядок/видимость/подключениясохранены. GitstageconfigужеexactRAW, менятьнепонадобилось.

Артефакты output/preland30/: frontend-qa.md, independent-review.md, root-backend-final.log, public-gates.log, ui-*.log, production-evidence.json, production-desktop.png. Спецификация/план/индекс/инфраструктурнаязаметкаKBиTODO/AGENT_LOG обновлены. Требований #30 внепроверки/невыпущенныхостатковнет. Закрываю #30; #27 остаётсяотдельнооткрытой.

Выполнено и выпущено в production26.10.2026: source941a4f01aa4478d358c613bb2655d959ea616c18(main), imagepreland-admin:941a4f0/SHA256fd819b80276b586ff65d54448eccf09cc5fabec149774ec20ad8838e467986bc. Webhealthy/workerrunning,68Gitarchivefiles совпали с работающим контейнером. KB9b0fe567dbea8244580e44f15ae7334093fdd1e7(master). Результат: во всех8UTM + создаёт пустые номер/вес/defaultunchecked только по клику; ручные1–9 включаяtheme3, zeroweight сохраняется, существующиеномерастатические. Missinggroup/явныйdefault, duplicate/error/cancel/copy/builder согласованы и проверены. Самостоятельныйconfigeditor: никакой валидации catalog/main-групп/indpicfiles на Save/Copy/Restore. Формат/aliases/проценты/CAS/backup/unknownfields сохранены. УдалёнruntimeCatalog/sourceexporter; отдельный /etc/cron.d/preland-admin-catalog отключён сroot-onlyархивом, остальныеcron/API не менялись. Сеты: новыйZIP9→90проверенныхфайлов, configbyte-identical/noautoutm; затем ручнойindpic9/0 Save; замена9 черезштатнуюстроку→confirm/90files/configbyte-identical. Это actualHTTP/worker/native на изолированнойfixture; productionZIP повторно не загружали. ПроверкиZIP и SFTPflow сохранены. Доказательства: root454PASS/13scripts, publiccheck-*+assets--checkexit0; exactnewimage454PASS (сread-only Gitfixturecomponents/1); основныеnative и9соседнихUI PASS; независимыйreviewAPPROVE послеисправленияsyntheticdefaultrowP2. Первоначальный imagegate безfixtures упал на отсутствующем/components/utm-codec.php; правильное окружение повторно прошло безподменыкода/ослабленияпроверок. CleanbuildPECL#27 остаётсяOPEN, imageиспользуетточныйпрежнийruntime/неизменныйcomposer.lock. Productionnative: login→initialnoblank→+empty→duplicateblocked→theme9/0→actualSavejob→GET/reread/static9→Cancel/mobile390/noJSerrors. Default/другиеключинеизменны. Потом TransportCAS exactRAWrestoreStage после проверки единственного ожидаемого9/0. Финальный приватныйpreland30-final-check.json PASS: RAW/publicHTTPS/identity всех4точныbaseline, targets.json/utm-notes.jsonbyte-identical, pendingnull. Тестовыйвариантубран, порядок/видимость/подключениясохранены. GitstageconfigужеexactRAW, менятьнепонадобилось. Артефакты output/preland30/: frontend-qa.md, independent-review.md, root-backend-final.log, public-gates.log, ui-*.log, production-evidence.json, production-desktop.png. Спецификация/план/индекс/инфраструктурнаязаметкаKBиTODO/AGENT_LOG обновлены. Требований #30 внепроверки/невыпущенныхостатковнет. Закрываю #30; #27 остаётсяотдельнооткрытой.
yury closed this issue 2026-10-26 03:48:30 +01:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anton/preland#30