WEB-507 · Задача · — · web
P2 [тестируемость]: нет стабильных зацепок (data-testid) для браузерных приёмок — клики уезжают в «Wallet balance», редактор и панель форматирования недостижимы автоматикой
Закрыт
P2
ведёт: —
Суть
<!-- coord-block-start 2026-09-06 -->
## ДЛЯ НУЛЕВОГО АГЕНТА (обновлено 2026-09-06 UTC)
- Стабильные data-testid и открытие chat composer.
- Код: src/lib/testing/testIds.ts, HeaderActions.tsx:123, headerChatMode.ts, homeBootstrapMatrix.test.tsx:407.
- Посажено: a5e2ecee исключён после NO-GO; круг 2 2410 требует if(isSimpleMode), l113i без первого кандидата. Открыто: 2410/2411; testids composer/input/send/attachments, message-list после сообщения.
## KNOWN ISSUES / ТРАБЛШУТИНГ
- Chat ведёт только на / → проверить simpleMode=true → enterHeaderChatMode не открывал composer → openChatMode отключает simple mode и выбирает notebook → 2391.
- simpleMode=false изменился → проверить негатив → selectNotebookView был безусловным → if(isSimpleMode), navigateHome безусловен → 2410.
- Клик в Wallet → сверить testIds.ts → использовать testids, не координаты → WEB507COMPOSERTESTIDS.
<!-- coord-block-end 2026-09-06 -->
Лента
2026-09-03T22:36:19.805Z · coordinatorРаздан в работу: волна 1612-web507testids на A2. Это блокер правила owner-а «всё, что можно принять в браузере, принимаем сами». Ставятся data-testid на карточку источника, открытие документа, контейнер редактора, кнопки форматирования, композер, микрофон и отправку, тост погоды, куки-баннер, кнопку экспорта в аналитике и пункты её меню, окно вручения и обе кнопки; имена собираются в один экспортируемый словарь; README с маршрутом для приёмочных сценариев.
2026-09-04T00:09:42.273Z · coordinatorСдано: коммит f3f61efb (data-testid хуки). Приёмка = волна 1627 на A2. Это блокер правила «продуктовые приёмки в браузере делаем сами, без owner-а»: проверяются уникальность селекторов на карточке источника, редакторе, кнопках панели, композере, микрофоне, отправке, тосте погоды и куки-баннере.
2026-09-04T00:57:19.336Z · coordinatorПриёмка 1627 = NO-GO. Зацепки добавлены верно во все заявленные компоненты, README с маршрутом есть, @ts-nocheck в diff нет, наборы 12/12 и 12/12 против базы. Два блокера: (1) зацепки НЕ уникальны в реальном дереве — AppShell монтирует Sidebar и FocusModeOverlay одновременно, в фокусе Sidebar не размонтируется (только transform/opacity), FocusOverlayShell держит children в DOM, обе поверхности берут один sources store и строят одинаковые sourceCard/sourceOpenGesture; авторский assertUniqueTestIds проверяет вручную составленные массивы строк, а не фактические атрибуты из DOM; (2) scoped tsc exit 2 — --showConfig показал, что конфиг не ограничился 15 roots, в effective files попал проектный граф (scripts/**, tests/**, vitest.config.ts) с тысячами диагностик. Круг 2 = волна 1630 на A2: уникальность доказывать рендером AppShell в фокусе с извлечением атрибутов из DOM, tsc чинить честно.
2026-09-06T09:49:44.725Z · coordinator[06.09 09:49Z координатор] [2026-09-06T09:49Z координатор] Волны поставлены (форс слотов): WEB-506 куки-баннер 390px → 2242 (M4), WEB-507 data-testid → 2243 (M4), WEB-504 экспорт из читалки v2 → 2244 (M4), WEB-531 SEC-014 ARI URL redaction → 2245 (A1). Пост-QA l113d на проде через app.sixbyy.com → 2239 (A2).
2026-09-06T10:03:17.598Z · coordinator[06.09 10:03Z координатор] [2026-09-06T10:03Z координатор] Автор сдал GO: WEB-504 a7a1ac6d (2244, M4) → приёмка 2254; WEB-507 cd6afbf9 (2243, M4) → приёмка 2255; WEB-531 SEC-014 4f6ef9c5 (2245, A1) → приёмка 2256.
2026-09-06T11:35:01.240Z · coordinator[06.09 11:35Z координатор] [2026-09-06T11:34Z координатор] WEB-507: приёмка 2255 (M4) = NO-GO cd6afbf9 — TS17001 дубли data-testid в HeaderActions.tsx:220,247,261,338; docs↔registry 43/45 (нет composerRecordingCancel/Send); wiki-overflow-entry тест 3/5 из-за третьего маркера open-doc-wiki в комментарии; реестр 45 ключей в 12 TSX — ok → круг 2 = 2292-web507b (A1).
2026-09-06T11:58:09.167Z · coordinator[06.09 11:58Z координатор] [2026-09-06T11:57Z координатор] ПРИНЯТО: WEB-531 (SEC-014) круг 3 — 2296 ACCWEB531C = GO 4ac68392 (grep-контроль 0 находок, гард-тест) → кандидат l113f. WEB-507 круг 2: автор 2292 сдал 8b155fc1 (GO) → приёмка 2299 (A1).
2026-09-06T13:05:31.130Z · coordinator[06.09 13:05Z координатор] [2026-09-06T13:05Z координатор] ПРИНЯТО: WEB-507 круг 2 — 2299b ACCWEB507BB (M4) = GO 8b155fc1 (дубли data-testid убраны, scoped tsc rc 0, docs↔registry 45/45, wiki-overflow 5/5) → кандидат l113h.
2026-09-06T14:13:00.222Z · coordinator[06.09 14:12Z координатор] [2026-09-06T14:12Z координатор] ПРИНЯТО: revive-poisoned-source --new-attempt — 2326 ACCREVIVENEWATTEMPT (sol xhigh, PG) = GO 2f0fde7c → кандидат l113h. Целостность l113h (2330, M4) = GO (импорт-гард cron/social под phase-production-build чист, манифесты rc 0). Astra блок 19: брифы 2113–2117 (extraction wiring, generated config mode, package portability, beta terminal outcome, canonical cookie document) ушли на M4.
2026-09-06T14:13:53.713Z · coordinator[06.09 14:13Z координатор] [2026-09-06T14:13Z координатор] Роли круг 4 (2323, PG 16) = NO-GO c7e9f946: lock-busy закрыт (6–10 мс при удержанном FOR UPDATE, 0 lock-wait), но на 10 000 чанков publication transaction 5.066 с (>5 с, INSERT DocumentChunk) → круг 5 = 2332-roleschains5 (claude-opus): батчи ≤1000 строк в коротких tx + атомарное переключение ревизии, идемпотентное возобновление. Realtime повтор (2329): session-start с пустым телом даёт sessionId=null → session-turn 400 missing_session_id (форма пробы; браузерный клиент передаёт параметры) — код-фикс 2328 (redis) остаётся; OAuth Google/Apple POST с csrf = 302 на провайдера (PASS); paid chat PASS (/bin/zsh.00047). Сборка l113h (83683d48: WEB-560 + build-fix, WEB-507, revive --new-attempt) запущена.
2026-09-06T14:49:50.192Z · coordinator[06.09 14:49Z координатор] [2026-09-06T14:48Z координатор] ПОСАЖЕНО: ПРОД = l113h 83683d48 (flip 14:47:06Z, без простоя; оба бэкенда ready, paid enforce_ready, edge 200×8; миграция WEB-560 scheduled_social_idempotency применена (189/194); hetzbk l113h-83683d48 + env-pack, Pi standby → l113h). Состав (7 коммитов над l113g): WEB-560 SEC-043 (merge a7f41620/38aaad4e + build-fix 742066c1, импорт-гард phase-production-build), WEB-507 data-testid реестр (cd6afbf9, 8b155fc1), revive-poisoned-source --new-attempt (2f0fde7c). Откат = l113g 4c322c46 (RUN l113g-4c322c46, REL arm64-l113g-20260906T131045Z). Дальше: revive --new-attempt для big-test 1782161239510l4gl4zzur; l113i = C4-RU-3 11f3cdd5 + roles r5 + realtime r2 + Astra block-19 fixes после приёмок.
2026-09-06T18:22:46.548Z · astra-securityblock21-l113hpostqaa1-web-507 — 2026-09-06T18:22:46.547758+00:00 / IST=2026-09-06T23:52:46.547789+05:30
Правила обогащения: WEB-449. ДЛЯ ТИКЕТА / BLOCK21, CONT19-RELAY-6.
Вердикт: NO-GO post-QA; partial later mitigation
Scope: A1 live h report; parent no live work
Report metadata: {"commit": "83683d4818ecc9b91e151be9e27a9ef0d6015294"}
Доказательство: Readiness/paid, cron560403, legal/DMCA, OAuth start302, shortmd, one paidchat and loadlite passed perA1 report. Realtime loop, C07 two-tab late edits, composer, beta iframe, strict perimeter and me2 listener failed/unproven; largePDF missing receipt.
KNOWN ISSUES / ТРАБЛШУТИНГ
README later exact nginx/api/realtime mitigation now401 supersedes only redirect-loop observation, not mint→session-start→turn×6. Board2493 owns2364 hostreceipts/2368 perimeter; board2496 owns2365 beta config UX (missing public Stripe key). C07/composer and full realtime remain unverified; no private browser.json copied.
Следующее действие: Coordinator keeps realtime2344 chain,2368 perimeter,2365 beta and owner key/config, C07/composer investigation, me2 intended-unit decision, owner-scoped PDF receipt. Retain original NO-GO with dated mitigation; do not equate guest401 with authenticated lifecycleGO.
Текущая source база M1: /private/tmp/nc-block21-parent, audit/block21-parent, 83683d4818ecc9b91e151be9e27a9ef0d6015294. Bundle SHA проверен. Report-attested tests не выполнялись родителем/пятью reviewer GPT5.5; удалённые candidate bundles/rawarchives физически не проверены. AuthorGO не равен independentGO, running2370–2377 не равен accepted. Чужие статусы не изменены, CVSS не повышен.
КАРТА ДОКУМЕНТОВ: /Users/poolpooly/audit/evidence/block21/intake-originals/L113HPOSTQAA1-REPORT.md
SHA256 4b79ca85bba344548a47f59417815b5b86232126625f046281b2629be9f4cf5b
M1 /Users/poolpooly/audit/evidence/block21/adjudications.json; ledger46.json; /Users/poolpooly/audit/reports/block21-checkpoint.md. 2026-09-06T23:52:21.452Z · astra-securityblock22-relay9-adjudication-web-507 — 2026-09-06T23:52:21.452535+00:00 / IST=2026-09-07T05:22:21.452547+05:30
BLOCK22 RELAY-9: вердикты по доставленному пакету. l113j 46393080 source bundle проверен локально; runtime и live — по расписке. Численные тесты ниже выполнены авторами доставленных отчётов, родитель их не перезапускал.
L113JPREP2-REPORT.md — новый отчёт.
Вердикт: GO for l113j stage-1 assembly at 46393080; deployed receipt confirms l113j, but stage 2 was only a probe and did not land.
Commit/base: 46393080dd885f6ff25967f18639075564e12737 / 18f130938b8d2a8f4376811651ad21beb4e28838
Доказательства: check-migration-compatibility rc 0, migrationCount 189; check-api-perimeter rc 0; realtime 61/61; active/passive lease 11/11; landing/proxy/final HTTP 56/56; composer DOM matrix pass; WEB477 23/23 plus negatives; Notion 11/11; SIP/genconfig/barge-in suites pass; activation checks pass; git fsck rc 0; bundle verify rc 0
Anchors: monet-w34-activation-manifest.json; monet-w35-activation-attestation.json; src/lib/billing/generatedActivationManifest.ts; public/_landing.html; src/proxy.ts; infra/sip/*
KNOWN ISSUES / ТРАБЛШУТИНГ: Stage 2 NOT on j: roles5b, docengine R2, controller R2, invite, podcast, beta, citation, overdraft, voice retry. Landing WEB-545 rewrite caused / 500 after deployment and was mitigated by PUBLIC_LANDING_ENABLED=false; fix is wave 2495. Keep WEB-545 landing label separate and do not overwrite SEC545 Lighthouse. Canonical SEC-028/WEB-545 remains Lighthouse; landing label collision is recorded only as provenance.
Действие: Use l113j only for deployed stage-1 contents. Route deferred stage-2 work through l113k/accepted waves; keep landing rewrite under 2495.
Report: /Users/poolpooly/audit/evidence/block22-relay9/intake-originals/a2/L113JPREP2-REPORT.md
SHA256: 8ff5adf24deb0d47091e4e1a5faa38676c582a7337777f6ec18e1babccdce7b3
КАРТА ДОКУМЕНТОВ: /Users/poolpooly/audit/reports/block22-relay9-update.md; /Users/poolpooly/audit/evidence/block22/ledger46.json; /Users/poolpooly/audit/evidence/block22-relay9/adjudications.json. Новые брифы 2497/2498 — ROUTING: A2; существующие coordinator waves не дублируются. Правила обогащения: WEB-449.
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-507","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-06T20:44:33.809Z