Skip to content

fix(palette): read a stored line's words in a ⌘K row, not its fence markers or trace #57

fix(palette): read a stored line's words in a ⌘K row, not its fence markers or trace

fix(palette): read a stored line's words in a ⌘K row, not its fence markers or trace #57

Workflow file for this run

name: Label hygiene

Check warning on line 1 in .github/workflows/label-hygiene.yml

View workflow run for this annotation

GitHub Actions / Label hygiene

Workflow execution policy warning (evaluate mode)

On December 2, 2026, GitHub will restrict `pull_request_target` on public repositories by default. To continue allowing the event trigger, configure an Actions policy. Learn more: https://gh.io/securely-using-pull_request_target#default-policy-for-pull_request_target
# Status labels must not outlive the item (#738): a closed issue or a merged pull request that still
# carries `agent-working`/`agent-pr`/`agent-ready`/`agent-task`/`awaiting-approval` makes the board
# count finished work as in flight. This job removes exactly those labels and nothing else, and it
# prints `before:`/`after:` counts so the cleanup is verified rather than trusted.
#
# `hold` is untouched: only a human removes it (AGENTS.md → Merge gates).
#
# A close is the moment the label stops being true, so the same job also runs on it (#1401):
# otherwise the board reads a finished item as in flight until the next 19:30Z sweep, up to 24 hours.
# The pull-request side is `pull_request_target`, not `pull_request`, for the write token: a
# `pull_request` run from a fork is read-only, so it could not remove the label it came for
# (gate-check.test.mjs carries the same rule for #812).
on:
schedule:
- cron: '30 19 * * *' # 03:30 Asia/Shanghai, a quiet hour
workflow_dispatch:
issues:
types: [closed]
pull_request_target:
types: [closed]
concurrency:
group: label-hygiene
cancel-in-progress: false
permissions:
contents: read
issues: write
pull-requests: write
jobs:
label-hygiene:
name: label-hygiene
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: main
persist-credentials: false
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24
- name: Strip stale status labels
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: node .github/scripts/label-hygiene.mjs --apply