WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-030 · Задача · Инфраструктура · web

[Admin-Defaults Ф4] Reset-семантика + голоса/промты ролей под общий механизм (спека §7)

Закрыт P2 ведёт: coordinator-fable эпик: WEB-025
Суть
UserSettings tracking/bootstrap/reset-миграция по спеке §7: reset настроек возвращает АДМИН-дефолт (не код-константу); при смене админ-дефолта двигаются только default-followers, явные выборщики не тронуты (ответ §10-Q2: legacy без метки = явный выбор). Расширить механизм на voice/TTS/translation/telephony/podcast capability-политики. Увести существующую админ-правку промтов ролей под единый write-path (audit/rollback). Отчёт по legacy-классификации (только счётчики, без контента юзеров). Ship-dark.

ТРЕЙЛ: спека M4:/Users/milamarty/work/ADMIN-DEFAULTS-EPIC-SPEC.md (виза координатора); родитель эпик WEB-025; опись WEB-024 (~/Downloads/WEB024-INVENTORY.md); Ф1 код 97ca0e8a + HOT-kill 71c03bd6 (ветка agent/admin-defaults-f1-20260812 в board-fix-w5). Ответы owner-а на 5 вопросов зафиксированы в WEB-025 (evidence). Правило: не начинать production-enable фазы до exit-gate предыдущей (спека §11).

## 2026-08-23 BOARDSWEEP: STALE-NOT-DEPLOYED
- Evidence: buildFixed is empty. Canonical admin-defaults reset/role configuration paths were inspected, but no deployed build/evidence pointer is present.
- buildFixed: <empty>; canonical: v4-081ff4fb5 / 081ff4fb5f6110f8001daec7ed910ccef2e395dc.
- Status preserved by sweep: review.
Доказательства
ТРЕЙЛ (кумулятивно). Спека: https://bugs.wool2.online/labs/admin-defaults/SPEC.md (Ф4). 13.08 02:16 волна m4-f4 (codex 5.5, f2a-tree от e74f7636=Ф2b). 02:45 СДАНО+СПАСЕНО: коммит cb49916b. RESULT: PARTIAL — reset-to-recommended (API+кнопка с confirm), промт-неймспейсы с версионным аудитом и size-cap (textarea+CAS), голосовые/TTS дефолты через резолвер по НЕ-телефонным путям. ЧЕСТНЫЙ ОСТАТОК: полный UserSettings tracking/reset + телефонные live-пути — телефония = изолированная зона внешнего кодекса (WEB-15/17/45-56), контурным не трогать по правилу. F4-REPORT.md (раздел «Что смотреть глазами») + f4.patch в корне f2a-tree. Ждёт посадки.

[24.08 04:30] ПРИЁМКА против серва 452800ff4 (reviewacc): PARTIAL. ЕСТЬ: registry namespaces translation/voice/telephony/podcast/role-prompts (defaultsService.ts:527-602), admin reset через общий audited commit (defaultsApi.ts:714-768, аудит 453-477), redirect старых role-prompt путей за флагом. НЕТ: в UserSettings (route.ts:353-423) нет marker explicit-vs-default-follower, bootstrap-миграции, reset-to-admin-default, правила «legacy без маркера = explicit»; телефонный live-path не через resolver. Остаток UserSettings-семантики раздан волной settingsreset на M4 (24.08); телефония — отдельно (зона изолированного кодекса).


[24.08 07:15] UserSettings-семантика ДОСТАВЛЕНА В ПРОД (посадка 42, v4-b1fcad2f0): маркеры explicit/default-follower, ленивый bootstrap (legacy без маркера = explicit), reset-to-default → follower с резолвом против живого админ-дефолта, прошито в voice/TTS/translation/podcast читателей. Тесты: followers 5/5 + route 13/13 (добиты на A1). Телефония НЕ тронута (чужая зона). ОСТАТОК: телефонный live-path + UI-кнопка reset в настройках (если её нет) + живая приёмка.

[2026-08-25 19:11Z] Независимая приёмка запущена: волна accadmdef на A1 (sol xhigh, приёмщик≠автор), worktree от прод-коммита a453b16; обязательны негативные тесты новых классов; для не-влитых тикетов волна установит факт NOT-LANDED. Бриф /home/ubuntu/waves/accadmdef-brief.md, отчёт будет в ACCADMDEF-REPORT.md.
[2026-08-25 19:33Z] NO-GO приёмки (PARTIAL-LANDED): new/no-row bootstrap не follower; Settings Reset пишет literal вместо follow_admin. Фикс в web02930fix (вместе с WEB-029).
[2026-08-25 20:05Z] ФИКС ГОТОВ (web02930fix): bootstrap материализует follow_admin, Reset — server-backed, literal gpt-4o-mini удалён, explicit override→follow_admin. Тот же прогон 41/41+5/5+53/53. → review (acc2).
[2026-08-25 21:08Z] См. WEB-029: acc2 NO-GO — baseline-шум полного type-check, функц.тесты 53/53. Классификация гейтом web045b.
[2026-08-25 21:22Z] КЛАССИФИКАЦИЯ web045b = NEW_ERRORS (acc2 NO-GO ВЕРЕН): type-gate нашёл 4 новые TS-ошибки в изменённых web02930fix файлах (SettingsModal.tsx: resetUserSettingsToDefaults/saveUserSettings не найдены + 2). Функц.тесты 53/53 их не поймали. Запущен web02930fix2 — доработать 4 ошибки типов.
[2026-08-25 21:55Z] ФИКС web02930fix2 @d708402: 4 новые type-ошибки устранены (SettingsModal подключил resetUserSettingsToDefaults/saveUserSettings правильно). type-gate 0 новых (даже 4 baseline исчезли), функц.53/53, boundary rc=0. → review на re-accept.
[2026-08-25 22:52Z] ПРИНЯТ reacc02930 (независимо после web02930fix2): GO на acceptance scope. Тип-ошибки устранены, функц.53/53, harness приёмщика чист. → done.
Починено в
a453b16
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-030","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-25T22:54:57.074Z