name: "compliance: review (advisory)" # Lightweight LLM-only review on every PR. ~90s, no Docker scanners. # Posts a sticky comment with reasoned findings across all 5 frameworks. # The nightly compliance-swarm.yml (mode: audit) provides the deeper # scanner-backed coverage. on: pull_request: types: [opened, synchronize, reopened] permissions: contents: read pull-requests: write concurrency: group: compliance-review-${{ github.ref }} cancel-in-progress: true jobs: review: name: Compliance review (advisory) runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: fetch-depth: 0 - uses: erp-mafia/compliancemaxx@248cebcf90867fa813a8c0a2bc66cca70a56db3a # v2 with: base: ${{ github.event.pull_request.base.sha }} fail-on-findings: false # advisory while bedding in env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: eu-north-1 # Pin the review model explicitly. compliancemaxx falls back to # `eu.anthropic.claude-sonnet-4-6` when this is unset # (packages/cli/src/llm/bedrock.ts), so leaving it out silently kept # this workflow a generation behind the rest of the repo after the # Sonnet 5 migration (#1218). Keep in sync with # swedish-compliance-review.yml and lib/agent/composer/client.ts. COMPLIANCE_BEDROCK_MODEL: eu.anthropic.claude-sonnet-5