5a930319ba
Previously main pushes were deliberately skipped — CI only ran on dev and v* tags. This conflicted with the intended policy (CI on dev AND main). Now main is a first-class gated, built line: dev->:dev, main->:main, v* tag->:latest + :<version>, every build also tagged with the commit sha. Per-ref concurrency already supersedes rapid pushes, so dev and main run independently without stacking identical work. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>