The e2e harness pins the act runner image by digest (sha256:2f22a801..., Node v24.17.0) because catthehacker stopped publishing dated tags and no named tag carries Node 24 (#399). An unanchored digest can be garbage-collected from ghcr if :act-latest advances, which would red the whole e2e suite until a human repins. The new harness preflight makes this a loud, clear failure rather than a silent regression, so it is not urgent.
Durable options to evaluate:
- Mirror the chosen image under stablekernel's own ghcr (retention we control).
- A scheduled job that re-resolves :act-latest's digest, verifies Node >= 24, and opens a repin PR (mirrors the cli_version_sha refresh pattern).
Until then, a GC event surfaces as a pre-pull failure pointing at the pin constant in e2e/harness/act.go.
The e2e harness pins the act runner image by digest (sha256:2f22a801..., Node v24.17.0) because catthehacker stopped publishing dated tags and no named tag carries Node 24 (#399). An unanchored digest can be garbage-collected from ghcr if :act-latest advances, which would red the whole e2e suite until a human repins. The new harness preflight makes this a loud, clear failure rather than a silent regression, so it is not urgent.
Durable options to evaluate:
Until then, a GC event surfaces as a pre-pull failure pointing at the pin constant in e2e/harness/act.go.