# Gadfly adversarial review — subscribes to steve/gadfly's reusable workflow and
# INHERITS its default swarm. This stub holds only the triggers, the actor gate,
# secret forwarding, and the allow-list; the swarm config (models, lenses,
# concurrency, timeouts) lives centrally in gadfly's review-reusable.yml so it is
# tuned in ONE place. Advisory only — never blocks a merge.

name: Adversarial Review (Gadfly)

on:
  pull_request:
    types: [opened, reopened, ready_for_review]
  issue_comment:
    types: [created]
  workflow_dispatch:
    inputs:
      pr_number:
        description: "PR number to review"
        required: true

permissions:
  contents: read
  issues: write
  pull-requests: write

concurrency:
  group: gadfly-${{ github.event.issue.number || github.event.pull_request.number || github.event.inputs.pr_number }}
  cancel-in-progress: true

jobs:
  review:
    # Security: only trusted users may trigger a secret-bearing run via a PR
    # comment (pull_request + workflow_dispatch are already trusted). Mirrors the
    # allowed_users input below (the in-container belt-and-suspenders check) — both
    # lists must stay in sync; a workflow if: can't read a workflow_call input.
    if: >-
      github.event_name != 'issue_comment'
      || (github.event.issue.pull_request
          && (github.actor == 'steve'
              || github.actor == 'fizi'
              || github.actor == 'dazed'))
    # Pinned to an immutable gadfly commit (not @v1): our act_runners are long-lived
    # and cache the reusable-workflow ref, so a moved v1 tag keeps resolving to the
    # stale cached copy. A unique sha forces a cache miss → fresh fetch. Bump this
    # sha to adopt central swarm changes.
    uses: steve/gadfly/.gitea/workflows/review-reusable.yml@95a9ec546afe30c70d3fe1881f7f9e3d7830f20b
    # Least privilege: forward only the review secrets (not `secrets: inherit`,
    # which would expose every repo secret). GITEA_TOKEN is the automatic token.
    secrets:
      OLLAMA_CLOUD_API_KEY:    ${{ secrets.OLLAMA_CLOUD_API_KEY }}
      CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
      GADFLY_FINDINGS_URL:     ${{ secrets.GADFLY_FINDINGS_URL }}
      GADFLY_FINDINGS_TOKEN:   ${{ secrets.GADFLY_FINDINGS_TOKEN }}
    with:
      # Consumer-specific allow-list; everything else is inherited.
      allowed_users: "steve,fizi,dazed"
