WEB-364 · Дефект · — · web
P1 [роли]: C6 council 0/3 — google-слоты council_stage1/2 не исполняются (ответы пустые/не по теме)
Закрыт
P1 · важно
ведёт: —
Суть
battery fail-closed: missingRequiredGoogleSlots для C6-council-honest/thinking (knight_draft, peer_review); C6-council-off тоже пуст (cites=0, не по теме). Google-ключ живой (preflight ok, C4 работает) — значит council-роутинг не доводит google-стадии. Прогон: M4 /Volumes/M4Ext/ops/paidlegs/web293-full-20260825T151110Z (battery.log, battery-all.json, traces/). Контекст: WEB-293 корень (stale bundle) закрыт, скор 42/50.
Доказательства
📎 Трейл: прогон M4 /Volumes/M4Ext/ops/paidlegs/web293-full-20260825T151110Z (battery.log C6 0/3, battery fail-closed missingRequiredGoogleSlots council_stage1/2). Ключ Google живой (C4 7/7 работает) → дефект в council-роутинге google-стадий. Из эпика [[nc-auth-registration-epic]]? нет — роли WEB-99.
[25.08 ~16:48Z] → in_progress: волна web364 на A1 (worktree wt-web364 от a453b16=посадка 55, codex luna xhigh, бриф /home/ubuntu/waves/WEB364-BRIEF.md → отчёт WEB364-REPORT.md, маркер WEB364_DONE). Проверки без платных вызовов (моки), полная батарея — отдельным прогоном на M4.
[25.08 ~17:25Z] → review: волна web364 сдала. Коммит 5b8cf5b (wt-web364 от a453b16). ДВА корня: (1) метеринг council шёл generic-каналом без estimator method/shape → в armed containment резолвился estimator_missing и валил стадию; (2) thinking при одном доступном провайдере деградировал в fast → ветка stage2_peer_review не входила никогда. Фикс: явные каналы council_stage1..4 с chat.completions.create+bounded shape; одиночный thinking → lite с reviewer-ролью; структурный [council][slot_beacon] на каждый диспатч/фейл (пр.10 — тихий фильтр запрещён). Тест с мокнутым google: draft→peer_review→chair→judge + беконы стадий. eslint 0, estimator-проба gemini-3.6-flash ok=true. Отчёт WEB364-REPORT.md. Батарея-подтверждение C6 — на M4.
[25.08 ~17:55Z] ПРИЁМКА NOGO (accept36x, sol) → in_progress. Достижимость кода ПОДТВЕРЖДЕНА (не мёртвый), но 2 fail-open: B1 недоступный запрошенный провайдер тихо фильтруется — council продолжает неполным составом (смысл результата меняется); B2 упавшая peer-review стадия перехватывается и chair всё равно отвечает. Требование: оба отказа = явный degraded/error, лог не заменяет fail-closed. Ремонт: web364b.
[25.08 ~18:05Z] → review (2й заход): web364b, коммит d411b91. Оба NOGO закрыты fail-closed: B1 CouncilOrchestrator валидирует все запрошенные member/chair провайдеры ДО stage1 — нет adapter → structured provider_resolution error + отказ запуска (неполный council не выполняется); B2 после peer-review проверяется полнота/наличие output у всех reviewers — ошибка/пусто → final.status=failed ДО revision/chair (chair-ответ не выдаётся). Тесты 3/3 + репро приёмщика копией 3/3. Re-accept кластером.
[25.08 ~18:40Z] ✅ ПРИЁМКА GO (reaccept36x, sol, не автор): REACCEPT36X_364_GO. Каждый прошлый NOGO-факт закрыт с трассировкой до production route + независимый негатив (не только авторский тест). Готов к посадке 56.
Починено в
web364@d411b91
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-364","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-25T18:39:51.150Z