name: Check shared upstream annotations

on:
  pull_request:
    paths:
      - ".github/**"
      - "github/**"
      - "packages/extensions/**"
      - "packages/opencode/**"
      - "packages/script/**"
      - "packages/shared/**"
      - "packages/storybook/**"
      - "packages/ui/**"
      - "script/**"
  workflow_dispatch:

jobs:
  check-annotations:
    name: Check kilocode_change annotations
    if: github.repository == 'Kilo-Org/kilocode'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6 # kilocode_change
        with:
          ref: ${{ github.event.pull_request.head.sha || github.sha }}
          fetch-depth: 0

      - uses: oven-sh/setup-bun@v2

      - name: Check kilocode_change annotations in shared upstream files
        env:
          BASE_SHA: ${{ github.event.pull_request.base.sha }}
        run: |
          if [ -n "$BASE_SHA" ]; then
            bun run script/check-opencode-annotations.ts --base "$BASE_SHA"
          else
            echo "No PR base SHA available (workflow_dispatch without PR context) — skipping."
          fi

      # kilocode_change start
      - name: Check Effect Promise facade allowlist
        run: bun run script/check-opencode-promise-facades.ts

      - name: Check workflow allowlist
        run: bun run script/check-workflows.ts
      # kilocode_change end
