CI and images / lint (push) Successful in 3s
CI and images / extension-version (push) Successful in 3s
CI and images / extension-test (push) Successful in 20s
CI and images / frontend-build (push) Successful in 23s
CI and images / backend-lint-and-test (push) Successful in 31s
CI and images / integration (push) Successful in 2m24s
CI and images / sign-extension (push) Successful in 3s
CI and images / build-agent (push) Successful in 5s
CI and images / build-web (push) Successful in 5s
CI and images / smoke-web (push) Successful in 40s
CI and images / promote (push) Successful in 1s
A refresh publishes `:latest` from `main`, but the six lanes kept the default checkout, which is the cron's triggering commit on dev. The gate therefore tested dev's code and passed main's. The new LANE_REF is `main` on a refresh and empty otherwise. Empty keeps the checkout default, so push and PR runs are unchanged, including a PR's merge ref, which the default reaches by ref rather than by SHA. Every lane still runs on every trigger: no condition is added and no lane can skip, so the `needs:` gate on each publishing job is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LVjrnpQjRgHdvq95rASoiR