== check-image-pins.py (catalog d0e7e2e, 2026-09-29)
image-pin gate OK — 53 templates, 0 unpinned images
gate exit code = 0
== check-probe-matches-compose.py (catalog d0e7e2e, 2026-09-29)

probe-matches-compose: OK — every probe dials the port (and, where it can fail, the path) that the app's own compose healthcheck dials
gate exit code = 0
== check-copy-i18n.py (catalog d0e7e2e, 2026-09-29)
copy-i18n: translated so far — actualbudget 15/15, adventurelog 17/17, audiobookshelf 21/21, bentopdf 14/14, bookstack 21/21, calcom 21/21, calibre-web 25/25, claper 20/20, code-server 20/20, crafty
copy-i18n: OK
gate exit code = 0
