mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-30 11:49:16 +00:00
accept.mjs копирует уже снятые PNG и пишет манифест, policy.mjs — чистые предикаты. Ни тот, ни другой в момент рендера не исполняется, но оба входили в корпус, и правка любого объявляла устаревшими бандл, манифест скриншотов и манифест эталонов. В #334 из-за этого правило приёмки пришлось вынести в scripts/ и вызывать обёрткой вместо того, чтобы положить туда, где ему место. Возражение «run.mjs импортирует policy.mjs, значит исключение протекает» снято в комментарии: из policy.mjs он берёт проверку аргументов, действительность манифеста и код возврата — байты кадра определяются аргументами браузера и подготовкой сцены. Исключение — список, а не фильтр по имени: «всё, что похоже на инструмент» расползётся. Тест закрепляет обе стороны, и обратная важнее прямой: исключение, доехавшее до matrix, harness, run или фикстур, сделает несвежий бандл неотличимым от свежего. Два мутанта проверены руками — расширение списка на run.mjs и снятие фильтра целиком, — каждый убит. ВНИМАНИЕ: коммит меняет значение всех отпечатков, поэтому в dev он идёт только вместе с пересборкой бандла, пересъёмкой скриншотов и переприёмкой эталонов. Последовательность — в issue. Правка пиксельно нейтральна по построению, значит при переприёмке не должна разойтись ни одна сцена; расхождение означало бы, что исключение сделано неверно. Issue: #344 User-Visible: no