# Thin caller -- logic lives in mcp-hangar/.github (reusable). Only the repo's
# scope list is local. Edit the reusable there to change behavior everywhere.
name: pr-title

on:
  pull_request:
    types: [opened, edited, synchronize, ready_for_review, reopened]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: false

# Read-only by default: without this the workflow inherits the repository
# default, which is write on nearly everything. Nothing here writes.
#
# `pull-requests: read` is not optional padding: the reusable workflow this
# calls declares it, and a called workflow cannot be granted more than its
# caller. Granting only `contents: read` makes the request exceed the cap and
# the run fails to start at all -- no job, no log, just `startup_failure` and a
# required check that never reports.
permissions:
  contents: read
  pull-requests: read

jobs:
  pr-title:
    uses: mcp-hangar/.github/.github/workflows/pr-title.yml@2ca382cad799aba046b435917ae322cb770db373 # main
    with:
      scopes: |
        core
        cli
        ci
        operator
        helm
        ui
        observability
        security
        docs
        deps
        deps-dev
        release
        infra
        tests
        repo
