Files
app-catalog-felhom.eu/CONTEXT.md
T
admin 71828a81cf image pinning: eliminate :latest from all 5 unpinned templates + standing gate
bentopdf :latest -> v2.8.6; calibre-web :latest -> v4.0.6 (== running digest on
demo 9201, c31a738b - pin is a no-op); papra :latest -> 26.6.1-rootless (latest
was the rootless variant); recipe-importer :latest -> v0.9.11 (tag pre-existed,
digest-equal, no retag needed); termix :latest -> 2.5.0.

All five pins digest-identical to what :latest resolved to on 2026-07-12.
New gate scripts/check-image-pins.py (catches floating tags AND untagged refs;
red-proofed both shapes). Standing rule in CLAUDE.md + REUSE.md row.
2026-07-12 14:37:57 +02:00

961 B

CONTEXT — app-catalog-felhom.eu working state

Created with the REUSE.md rollout (2026-07-03). History: CHANGELOG.md; format spec: README.md.

  • 2026-07-12 — :latest banned from catalog — pin rule recorded. 5 templates pinned (bentopdf v2.8.6, calibre-web v4.0.6 = running digest on 9201, papra 26.6.1-rootless, recipe-importer v0.9.11, termix 2.5.0; all digest-equal to that day's :latest — no-op for running apps). Standing rule in CLAUDE.md + gate scripts/check-image-pins.py (run after any compose change). Deployed apps pin to their RUNNING digest; pin ≠ upgrade.
  • 2026-07-03 — CLAUDE.md expanded (repo purpose, push-to-main deploy contract, pointers); still intentionally light.
  • 2026-07-03 — REUSE.md exists at the repo root (catalog conventions, healthcheck families, canonical example app = paperless-ngx, traps); maintenance rule active: update it in the same commit that changes a catalog-wide convention.