903ef191ec
- Fixed "Emit image outputs" step to always populate image references - Primary: uses digest from docker/build-push-action when available - Fallback: extracts image tag from steps.tags when digest unavailable - Ensures image_ref_dockerhub is never empty after successful build - Added `if: always()` to all gate jobs (integration, coverage, codecov, pipeline) - Gates now always execute to evaluate upstream job results - Prevents cascading skips when jobs intentionally skip or fail - Properly blocks downstream jobs only when gates actually fail Pipeline now continues through all stages as designed, blocking only on real failures. Fixes https://github.com/Wikid82/Charon/actions/runs/21803232380