Found while fixing #796 (PR #797). The attest job ("Record attestation") was skipped on all of the last 15 pushes to main, including ones where Required CI gate succeeded. Its job-level success() check covers every job upstream, not just its direct dependencies, and corvid-pet is always skipped on pushes, so attest never runs.
Expected: attest runs on every push to main where the required gate passes. It should probably use if: always() && needs.<gate>.result == 'success', scoped to its direct dependencies.
🤖 Generated with Claude Code
Found while fixing #796 (PR #797). The
attestjob ("Record attestation") was skipped on all of the last 15 pushes to main, including ones whereRequired CI gatesucceeded. Its job-levelsuccess()check covers every job upstream, not just its direct dependencies, andcorvid-petis always skipped on pushes, soattestnever runs.Expected:
attestruns on every push to main where the required gate passes. It should probably useif: always() && needs.<gate>.result == 'success', scoped to its direct dependencies.🤖 Generated with Claude Code