WEB-391 · Задача · — · web
[минор/UX фактчек] Journal-cover: not_found складывается в amber unknown и отсутствует в легенде
Закрыт
P3
ведёт: —
Доказательства
[2026-08-27 02:05Z] Взят волной factcheck390391 (очередь A1) вместе с WEB-390.
[2026-08-27 03:45Z] FC390391 DONE: not_found разведён от unknown (отдельная категория+легенда, JournalSnapshotCard + pdf factcheckTemplate.ts:161-186,320-345,628-655), в наборе 89/89. -> review.
[2026-08-27 20:29:19Z tickacc5] ВЕРДИКТ: частично доказано
Что проверил: открыл FC390391-REPORT.md; проверил commit 95b6c54/l58 base, render dump not_found и scoped result 89 passed/0 failed; проверил worktree/deployed auth.
Что увидел: source path и render dump показывают отдельную категорию ∅ Not found и legend; tests зелёные. Evidence до l60/l61, screenshots/visual acceptance не сделаны; authenticated deployment не предъявлен.
Отрицательный тест: публичный onboarding не позволяет проверить текущий journal cover/PDF; без auth visual/runtime check недоступен, provider path не запускался.
Чего не хватает: authenticated l61 browser/PDF proof, screenshot/visual acceptance и current deployed commit receipt.
[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-391","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-27T22:57:03.212Z