WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-390 · Задача · — · web

[минор/UX фактчек] Aggregate multi-claim chip не показывает «на основе N источников»

Закрыт P3 ведёт: —
Доказательства
[2026-08-27 02:05Z] Взят волной factcheck390391 (очередь A1, sol high) вместе с WEB-391 — направление фактчек по ночному наказу owner.
[2026-08-27 03:45Z] FC390391 DONE: агрегатный чип показывает счётчик источников (VerdictChip/StatusRow + i18n messages/*.json), тесты 89 passed 0 failed rc=0. Отчёт A1:waves/FC390391-REPORT.md. -> review (визуальная приёмка глазами позже).
[2026-08-27 20:29:19Z tickacc5] ВЕРДИКТ: частично доказано
Что проверил: открыл FC390391-REPORT.md; проверил commit 95b6c54 и l58-landing-head; сверил render dump и scoped tests 89 passed/0 failed; проверил worktree и публичный onboarding без auth.
Что увидел: source fix singular/plural source count и render dump показывают 4 sources и 1 source, tests зелёные. Evidence относится к l58; указанного worktree нет, после l60/l61 нет authenticated deployed commit/browser proof. Публичный GET показывает onboarding, не factcheck runtime.
Отрицательный тест: без authenticated session текущую deployed l61 UI ветку подтвердить нельзя; onboarding не дал factcheck trace.
Чего не хватает: current l61 deployed commit receipt и authenticated browser/render proof WEB390.

[2026-08-27 ~22:56Z ПОСАДКА l63 — ВЫШЛО НА ПРОД]
Релиз: /home/pi/note-clone/releases/arm64-l63-20260827T225328Z, коммит 0a4f8c87f993bd7ecb30860ed25bb029407c3286, артефакт sha256 aa07b977553c20cb0abafd8fe51771c67399dda864997c86b3e24d7073cbc6cc (207 404 319 байт). Каталог запуска /home/pi/note-clone/shared/run/l63-0a4f8c87. Откат: /home/pi/l62-standalone-artifact.conf.rollback.
Сборка прошла ВСЕ гейты. Родословная: предыдущий прод b3b03cfd (l62: роли + движок Gate D) — ПРЕДОК, проверено merge-base до сборки; следовательно движок и роли НЕ откачены. Паритет флагов: 37 ключей NEXT_PUBLIC_*, расхождений 0/0, отдача JS 1126 — ровно как в l62; GATED_WRITER вшит "1", SHADOW_W1 "0", тёмные семейства MUTATING_AI/COLLAB — 0 совпадений.
СЛЕД В БАНДЛЕ ДОКАЗАН ДЛЯ ВСЕХ ЧЕТЫРЁХ (отдельный гейт: нет следа = провал сборки): движок (nonbreakingspace ×8, insertionOffset ×8, insertedText ×4); WEB-390/391 (factcheck.verdict.sourceCount.one, sourceCountLabel, «based on {count} source»); WEB-019 (age-affirmation в странице/маршруте/middleware, «stale age claim» ×2); WEB-024 (editor-actions и «Admin defaults preview spec has no model-route registry entry»).
Подпись: локально ключом owner (доверенность 26.08), отпечаток 0b83e0d3… сошёлся; verify — позитив PASS + два негатива (подмена artifactSha256, перевёрнутый байт подписи) отвергнуты.
Доставка: VM -> M4 -> M1 -> Pi, sha сверена на всех четырёх хопах.
ПРОВЕРКА ПОСАДКИ: systemctl active; /api/ready/paid = ok, paidReady=true, enforce_ready, failures=[]; /api/db/health 200; метка sw.js ИЗ ПРОЦЕССА v4-0a4f8c87 == НА ДИСКЕ v4-0a4f8c87; публичный https://nb.wool2.online/sw.js = v4-0a4f8c87, health 200. Посадка прошла С ПЕРВОГО РАЗА.
УРОК: сплошная сверка каталога запуска поймала МОЮ СОБСТВЕННУЮ ошибку — регулярное выражение ключа `[A-Z_]+` не ловит имена с цифрами, поэтому строки SPEND_*_SHA256 молча не проверялись (печаталось 2 значения вместо 7), а сверка при этом выглядела зелёной. Исправлено на `[A-Z0-9_]+` + обязательный вывод «всего проверено: N». Записано в память.
Починено в
fc390391@A1-wt
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-390","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-27T22:57:03.186Z