name: leak-guard # Self-contained public-repo leak gate. Public CI cannot reach the private # tooling, so this encodes only the generic net: internal-infra references, # tracked CLAUDE.md/.claude paths, and AI-attribution in commit messages. # No project-specific reverse-engineering vocabulary lives here. on: [push, pull_request] jobs: leak-guard: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Compute commit range id: range run: | if [ "${{ github.event_name }}" = "pull_request" ]; then base="${{ github.event.pull_request.base.sha }}" head="${{ github.event.pull_request.head.sha }}" echo "range=$base..$head" >> "$GITHUB_OUTPUT" else before="${{ github.event.before }}" after="${{ github.sha }}" # New branch / first push: github.event.before is all-zeros. if [ -z "$before" ] || [ "$before" = "0000000000000000000000000000000000000000" ]; then echo "range=$after" >> "$GITHUB_OUTPUT" else echo "range=$before..$after" >> "$GITHUB_OUTPUT" fi fi - name: Run leak-guard run: bash ci/leak-guard.sh "${{ steps.range.outputs.range }}"