Уточнение владельца к сводке admin.zoomstage.online (связана #22): вместо расшифровок и отдельного Default показывать сухие строки вида «1 (100%)» и «2 (0%) - default». У каждой UTM нужна личная текстовая заметка, при редактировании — растягиваемая textarea на всю ширину таблицы.
План в рамках этой задачи:
Зафиксировать дизайн, проценты из весов и существующие fallback; карту всех потребителей overview/редактора/конструктора. Заметка общая для canonical UTM через все домены, отдельное private state, runtime не менять.
Backend notes GET/POST auth+CSRF/валидация/сохранение; frontend компактные numeric строки + colspan textarea/сохранение/ошибка/retry без потери черновика.
RED→GREEN и настоящая UI-проверка desktop/mobile, ввод/сохранение/reload/error/recovery; config hashes и jobs неизменны. Review и scoped release admin, KB/итог/закрытие.
Домены и runtime/веса/default не менять. Источник — текущий прямой запрос владельца; production админки разрешён в исходном поручении. Не смешивать формат сводки с полноценным редактором настроек и независимым конструктором ссылки.
Уточнение владельца к сводке admin.zoomstage.online (связана #22): вместо расшифровок и отдельного Default показывать сухие строки вида «1 (100%)» и «2 (0%) - default». У каждой UTM нужна личная текстовая заметка, при редактировании — растягиваемая textarea на всю ширину таблицы.
План в рамках этой задачи:
1. Зафиксировать дизайн, проценты из весов и существующие fallback; карту всех потребителей overview/редактора/конструктора. Заметка общая для canonical UTM через все домены, отдельное private state, runtime не менять.
2. Backend notes GET/POST auth+CSRF/валидация/сохранение; frontend компактные numeric строки + colspan textarea/сохранение/ошибка/retry без потери черновика.
3. RED→GREEN и настоящая UI-проверка desktop/mobile, ввод/сохранение/reload/error/recovery; config hashes и jobs неизменны. Review и scoped release admin, KB/итог/закрытие.
Домены и runtime/веса/default не менять. Источник — текущий прямой запрос владельца; production админки разрешён в исходном поручении. Не смешивать формат сводки с полноценным редактором настроек и независимым конструктором ссылки.
Прямое уточнение владельца: «если там ноль процентов показываешь — ноль процентов ... За этим я вручную буду следить». На термин «запасной вариант» возразил: такого продуктового правила не задавал. Решение: сводка показывает только доли заданных весов, при allzero все0%; никакого автоматического присваивания100% и никаких runtimeизменений. Предложение ведущего учитывать поведение обработчика в процентах отозвано как лишняя интерпретация отображения.
Спецификация+план: KB Спеки/2026-10-25 Сводка процентов и заметки UTM — 23.md. Canonicalnumeric строки, positivebold/zeroобычный, - default устроки. Общая заметка наUTM, mergedrow fullwidth, edittextarea resizevertical, явныеSave/Cancel по существующимформам, plainтекст/10000Unicode/CAS/conflict/errorretry. GET/POST /api/utm-notes, private0600 отдельныйфайл; никаких Transport/Jobs/runtime. Соседние configeditor/linkbuilder не менять. Backend и frontend реализуются независимыми файловыми областями, leading интеграция/QA/release.
Прямое уточнение владельца: «если там ноль процентов показываешь — ноль процентов ... За этим я вручную буду следить». На термин «запасной вариант» возразил: такого продуктового правила не задавал. Решение: сводка показывает только доли заданных весов, при allzero все0%; никакого автоматического присваивания100% и никаких runtimeизменений. Предложение ведущего учитывать поведение обработчика в процентах отозвано как лишняя интерпретация отображения.
Спецификация+план: KB Спеки/2026-10-25 Сводка процентов и заметки UTM — 23.md. Canonicalnumeric строки, positivebold/zeroобычный, - default устроки. Общая заметка наUTM, mergedrow fullwidth, edittextarea resizevertical, явныеSave/Cancel по существующимформам, plainтекст/10000Unicode/CAS/conflict/errorretry. GET/POST /api/utm-notes, private0600 отдельныйфайл; никаких Transport/Jobs/runtime. Соседние configeditor/linkbuilder не менять. Backend и frontend реализуются независимыми файловыми областями, leading интеграция/QA/release.
Backend Notes/API заморожен: RED→GREEN49проверок, полный composer test7suite exit0, preliminary independent review PASS. Opaque64hex revision меняется на каждое сохранение/очистку, начальная версия стабильная без JSON; общий file lock предотвращает потерю соседних заметок. GET/POST после auth/CSRF/session-close, Unicode/control/10000символов, corrupt/symlink503; runtime/jobs/targets не затрагиваются. Frontend/realUI ещё выполняются, итог не заявлен.
До выпуска снят свежий private preland23-before.json: все4actualRAWsha; notesfile отсутствует. Сайты смонтированыread-only для снимка. Дальнейшая production-проверка заметки использует сохранение текущего текста без изменения содержимого, затем reload/readback и сравнение4RAWsha; не загружает assets и не меняет конфиги/веса/default.
Backend Notes/API заморожен: RED→GREEN49проверок, полный composer test7suite exit0, preliminary independent review PASS. Opaque64hex revision меняется на каждое сохранение/очистку, начальная версия стабильная без JSON; общий file lock предотвращает потерю соседних заметок. GET/POST после auth/CSRF/session-close, Unicode/control/10000символов, corrupt/symlink503; runtime/jobs/targets не затрагиваются. Frontend/realUI ещё выполняются, итог не заявлен.
До выпуска снят свежий private preland23-before.json: все4actualRAWsha; notesfile отсутствует. Сайты смонтированыread-only для снимка. Дальнейшая production-проверка заметки использует сохранение текущего текста без изменения содержимого, затем reload/readback и сравнение4RAWsha; не загружает assets и не меняет конфиги/веса/default.
f2097d4800 опубликован main/staging, админка выпускается отдельным image. Notes49/unit+HTTP и полный composer7suite exit0 независимо повторены ведущим; Composer strict valid. Настоящий UI1440/390 GREEN:100:0/1:3/0:0/default0/semanticlegacy/дроби, fullwidthtextarea, ввод/save/reload, HTMLplaintext, реальный409/LoadServer, offline/recovery, cursor/selection/размер сохранены, configs/jobs неизменны. Соседний linkbuilder smoke PASS. Ведущий отдельно выполнил CUA input/save/reload/fullwidth/restore тестовой заметки.
Независимое review spec/code/security PASS. Найденную до выпуска гонку старогоGET послеSave/LoadServer исправили per-note epoch на старте И успешном завершении операции; три детерминированных порядка настоящих GET/POST GREEN. Allzero строго0% всем, никаких подстановок100% и runtimeизменений. История промежуточного UIharness ожидания disabledrefresh оставлена в report, это не productдефект.
Образ собирается из полной trackedadmin Git-архива поверх4fc4fd8, зависимости не менялись. Statebackup исключаетsessionfiles. Остаток: productionhealthy, безопасныйnoopSaveтекущеготекстаreg/reload/4hashes+jobscompare, финальнаяKB/закрытие. Фактический выпуск ещё проверяется, не считать итоговый productionUI пройденным до следующего комментария.
f2097d4800eb3b6fbf8b27e1f81cb7aac62e7c2f опубликован main/staging, админка выпускается отдельным image. Notes49/unit+HTTP и полный composer7suite exit0 независимо повторены ведущим; Composer strict valid. Настоящий UI1440/390 GREEN:100:0/1:3/0:0/default0/semanticlegacy/дроби, fullwidthtextarea, ввод/save/reload, HTMLplaintext, реальный409/LoadServer, offline/recovery, cursor/selection/размер сохранены, configs/jobs неизменны. Соседний linkbuilder smoke PASS. Ведущий отдельно выполнил CUA input/save/reload/fullwidth/restore тестовой заметки.
Независимое review spec/code/security PASS. Найденную до выпуска гонку старогоGET послеSave/LoadServer исправили per-note epoch на старте И успешном завершении операции; три детерминированных порядка настоящих GET/POST GREEN. Allzero строго0% всем, никаких подстановок100% и runtimeизменений. История промежуточного UIharness ожидания disabledrefresh оставлена в report, это не productдефект.
Образ собирается из полной trackedadmin Git-архива поверх4fc4fd8, зависимости не менялись. Statebackup исключаетsessionfiles. Остаток: productionhealthy, безопасныйnoopSaveтекущеготекстаreg/reload/4hashes+jobscompare, финальнаяKB/закрытие. Фактический выпуск ещё проверяется, не считать итоговый productionUI пройденным до следующего комментария.
Итог #23: выпущен f2097d4800, admin.zoomstage.online — preland-admin:f2097d4 / sha256:087a04be0b0f3d0265896f95546cd64a058a2c5c93d1b077c1d77b0749b0137b. Actions498/job710 SUCCESS, фактический runner37/zoomzilla-prod-org. KBmaster857a4f7 опубликована: спецификация/план/итог, индекс и актуальная эксплуатационная ссылка.
Ячейки содержат числовой вариант, процент и - default на своей строке; положительные проценты выделены. Allzero остаётся0% у всех; никакого «запасного варианта» или подстановки100% не вводилось. Под каждой canonicalUTM общая заметка на всю ширину таблицы, редактируемая resizable textarea, Save/Cancel/error/recovery/CAS. Редактор конфигов и конструктор ссылок сохранены.
Проверки: Notes49 RED→GREEN, полный composer7suite exit0, strict validate, независимое review PASS; real UI1440/390 (включая0:0,дроби,default0), input/save/reload/409/offline/recovery/plainHTML/курсор/размер, три GET/POSTrace, соседний linkbuilder PASS. Ведущий отдельно CUA input/save/reload/restore PASS.
Production UI: ровно один no-op Save reg текущего пустого текста→200/newrevision, reload exact; остальные заметки и jobs прежние. Четыре RAWconfig совпали со свежим baseline до выпуска, ведущий независимо повторил сравнение после QA. Runtime/веса/default/публичные файлы не менялись. Notes0600 UID997:987, webhealthy/workerrunning, anonymous401 и финальный QAlogout401, JSerrors0.
Первый QA остановился после содержательных assertions на screenshotclip; readonlyhelper затем исправил Fetchstatus(). Это ошибки тестового helper, не продукта; повторных notesPOST не было. Отчёт/evidence/PNG output/preland23/production-notes-report.md и production-notes-evidence.json. Обязательных остатков нет, задача закрывается.
Итог #23: выпущен f2097d4800eb3b6fbf8b27e1f81cb7aac62e7c2f, admin.zoomstage.online — preland-admin:f2097d4 / sha256:087a04be0b0f3d0265896f95546cd64a058a2c5c93d1b077c1d77b0749b0137b. Actions498/job710 SUCCESS, фактический runner37/zoomzilla-prod-org. KBmaster857a4f7 опубликована: спецификация/план/итог, индекс и актуальная эксплуатационная ссылка.
Ячейки содержат числовой вариант, процент и - default на своей строке; положительные проценты выделены. Allzero остаётся0% у всех; никакого «запасного варианта» или подстановки100% не вводилось. Под каждой canonicalUTM общая заметка на всю ширину таблицы, редактируемая resizable textarea, Save/Cancel/error/recovery/CAS. Редактор конфигов и конструктор ссылок сохранены.
Проверки: Notes49 RED→GREEN, полный composer7suite exit0, strict validate, независимое review PASS; real UI1440/390 (включая0:0,дроби,default0), input/save/reload/409/offline/recovery/plainHTML/курсор/размер, три GET/POSTrace, соседний linkbuilder PASS. Ведущий отдельно CUA input/save/reload/restore PASS.
Production UI: ровно один no-op Save reg текущего пустого текста→200/newrevision, reload exact; остальные заметки и jobs прежние. Четыре RAWconfig совпали со свежим baseline до выпуска, ведущий независимо повторил сравнение после QA. Runtime/веса/default/публичные файлы не менялись. Notes0600 UID997:987, webhealthy/workerrunning, anonymous401 и финальный QAlogout401, JSerrors0.
Первый QA остановился после содержательных assertions на screenshotclip; readonlyhelper затем исправил Fetchstatus(). Это ошибки тестового helper, не продукта; повторных notesPOST не было. Отчёт/evidence/PNG output/preland23/production-notes-report.md и production-notes-evidence.json. Обязательных остатков нет, задача закрывается.
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.
Уточнение владельца к сводке admin.zoomstage.online (связана #22): вместо расшифровок и отдельного Default показывать сухие строки вида «1 (100%)» и «2 (0%) - default». У каждой UTM нужна личная текстовая заметка, при редактировании — растягиваемая textarea на всю ширину таблицы.
План в рамках этой задачи:
Домены и runtime/веса/default не менять. Источник — текущий прямой запрос владельца; production админки разрешён в исходном поручении. Не смешивать формат сводки с полноценным редактором настроек и независимым конструктором ссылки.
Прямое уточнение владельца: «если там ноль процентов показываешь — ноль процентов ... За этим я вручную буду следить». На термин «запасной вариант» возразил: такого продуктового правила не задавал. Решение: сводка показывает только доли заданных весов, при allzero все0%; никакого автоматического присваивания100% и никаких runtimeизменений. Предложение ведущего учитывать поведение обработчика в процентах отозвано как лишняя интерпретация отображения.
Спецификация+план: KB Спеки/2026-10-25 Сводка процентов и заметки UTM — 23.md. Canonicalnumeric строки, positivebold/zeroобычный, - default устроки. Общая заметка наUTM, mergedrow fullwidth, edittextarea resizevertical, явныеSave/Cancel по существующимформам, plainтекст/10000Unicode/CAS/conflict/errorretry. GET/POST /api/utm-notes, private0600 отдельныйфайл; никаких Transport/Jobs/runtime. Соседние configeditor/linkbuilder не менять. Backend и frontend реализуются независимыми файловыми областями, leading интеграция/QA/release.
Backend Notes/API заморожен: RED→GREEN49проверок, полный composer test7suite exit0, preliminary independent review PASS. Opaque64hex revision меняется на каждое сохранение/очистку, начальная версия стабильная без JSON; общий file lock предотвращает потерю соседних заметок. GET/POST после auth/CSRF/session-close, Unicode/control/10000символов, corrupt/symlink503; runtime/jobs/targets не затрагиваются. Frontend/realUI ещё выполняются, итог не заявлен.
До выпуска снят свежий private preland23-before.json: все4actualRAWsha; notesfile отсутствует. Сайты смонтированыread-only для снимка. Дальнейшая production-проверка заметки использует сохранение текущего текста без изменения содержимого, затем reload/readback и сравнение4RAWsha; не загружает assets и не меняет конфиги/веса/default.
f2097d4800опубликован main/staging, админка выпускается отдельным image. Notes49/unit+HTTP и полный composer7suite exit0 независимо повторены ведущим; Composer strict valid. Настоящий UI1440/390 GREEN:100:0/1:3/0:0/default0/semanticlegacy/дроби, fullwidthtextarea, ввод/save/reload, HTMLplaintext, реальный409/LoadServer, offline/recovery, cursor/selection/размер сохранены, configs/jobs неизменны. Соседний linkbuilder smoke PASS. Ведущий отдельно выполнил CUA input/save/reload/fullwidth/restore тестовой заметки.Независимое review spec/code/security PASS. Найденную до выпуска гонку старогоGET послеSave/LoadServer исправили per-note epoch на старте И успешном завершении операции; три детерминированных порядка настоящих GET/POST GREEN. Allzero строго0% всем, никаких подстановок100% и runtimeизменений. История промежуточного UIharness ожидания disabledrefresh оставлена в report, это не productдефект.
Образ собирается из полной trackedadmin Git-архива поверх4fc4fd8, зависимости не менялись. Statebackup исключаетsessionfiles. Остаток: productionhealthy, безопасныйnoopSaveтекущеготекстаreg/reload/4hashes+jobscompare, финальнаяKB/закрытие. Фактический выпуск ещё проверяется, не считать итоговый productionUI пройденным до следующего комментария.
Итог #23: выпущен
f2097d4800, admin.zoomstage.online — preland-admin:f2097d4 / sha256:087a04be0b0f3d0265896f95546cd64a058a2c5c93d1b077c1d77b0749b0137b. Actions498/job710 SUCCESS, фактический runner37/zoomzilla-prod-org. KBmaster857a4f7 опубликована: спецификация/план/итог, индекс и актуальная эксплуатационная ссылка.Ячейки содержат числовой вариант, процент и - default на своей строке; положительные проценты выделены. Allzero остаётся0% у всех; никакого «запасного варианта» или подстановки100% не вводилось. Под каждой canonicalUTM общая заметка на всю ширину таблицы, редактируемая resizable textarea, Save/Cancel/error/recovery/CAS. Редактор конфигов и конструктор ссылок сохранены.
Проверки: Notes49 RED→GREEN, полный composer7suite exit0, strict validate, независимое review PASS; real UI1440/390 (включая0:0,дроби,default0), input/save/reload/409/offline/recovery/plainHTML/курсор/размер, три GET/POSTrace, соседний linkbuilder PASS. Ведущий отдельно CUA input/save/reload/restore PASS.
Production UI: ровно один no-op Save reg текущего пустого текста→200/newrevision, reload exact; остальные заметки и jobs прежние. Четыре RAWconfig совпали со свежим baseline до выпуска, ведущий независимо повторил сравнение после QA. Runtime/веса/default/публичные файлы не менялись. Notes0600 UID997:987, webhealthy/workerrunning, anonymous401 и финальный QAlogout401, JSerrors0.
Первый QA остановился после содержательных assertions на screenshotclip; readonlyhelper затем исправил Fetchstatus(). Это ошибки тестового helper, не продукта; повторных notesPOST не было. Отчёт/evidence/PNG output/preland23/production-notes-report.md и production-notes-evidence.json. Обязательных остатков нет, задача закрывается.