diff --git a/.github/workflows/self-labels.yml b/.github/workflows/self-labels.yml index 1b4d0df..272f429 100644 --- a/.github/workflows/self-labels.yml +++ b/.github/workflows/self-labels.yml @@ -12,9 +12,11 @@ on: # check_suite/check_run/workflow_run), a blocker:conflict when ANOTHER PR # merges under this one, and the time-based stale / 48h claim-reclaim. The # events below carry the rest in seconds. Hourly trades ≤1h of latency on - # those four for one full-board sweep at GitHub's 1-minute billing floor. If - # another engine writes some of those transitions, only the classes with no - # other writer bound the cadence; relax it only as that list shrinks. + # those four while cutting nominal scheduled sweeps from four an hour to one + # at GitHub's 1-minute billing floor. Do not delete the cron: it is their + # discovery path. If another engine writes some of those transitions, only + # the classes with no other writer bound the cadence; relax it only as that + # list shrinks. schedule: [{cron: "0 * * * *"}] # A manual full-board sweep, including taxonomy bootstrap on a fresh repo. workflow_dispatch: diff --git a/LABELS.md b/LABELS.md index 5421484..8eba639 100644 --- a/LABELS.md +++ b/LABELS.md @@ -212,10 +212,13 @@ on a PR would say the same thing twice and drift. ## Maintenance -The labels workflow (issue #10) recomputes PR state statelessly on PR events -plus a 15-minute advisory cron, and bootstraps this taxonomy idempotently on -manual dispatch. The sweep warns when the core taxonomy declares a label the -repository lacks. The same workflow reconciles issue-flow labels on issue +The labels workflow (issue #10) recomputes PR state statelessly on subscribed +events plus a consumer-owned scheduled discovery sweep. Hourly is the +recommended default when no other engine drives board state; relax it only as +the transition classes with no other writer shrink. Manual dispatch both +bootstraps this taxonomy idempotently and runs the operator's on-demand +full-board reconcile. The sweep warns when the core taxonomy declares a label +the repository lacks. The same workflow reconciles issue-flow labels on issue events and during the scheduled sweep. Default GitHub labels (`duplicate`, `invalid`, `question`, `wontfix`, `help wanted`, `good first issue`) are deleted at bootstrap — a `question` is a discussion, not an issue. diff --git a/docs/CONSUMERS.md b/docs/CONSUMERS.md index ad1abf0..eaac5c1 100644 --- a/docs/CONSUMERS.md +++ b/docs/CONSUMERS.md @@ -303,9 +303,11 @@ on: # pull_request_review trigger), blocker:ci-red set/cleared, blocker:conflict # when another PR merges under this one, and time-based stale / 48h # claim-reclaim. Events below carry the rest in seconds. Hourly trades ≤1h of - # latency on those four for one full-board sweep at GitHub's 1-minute floor. - # If another engine writes some of those transitions, only the classes with - # no other writer bound the cadence; relax it only as that list shrinks. + # latency on those four while cutting nominal scheduled sweeps from four an + # hour to one at GitHub's 1-minute floor. Do not delete the cron: it is their + # discovery path. If another engine writes some of those transitions, only + # the classes with no other writer bound the cadence; relax it only as that + # list shrinks. schedule: [{cron: "0 * * * *"}] # A manual full-board sweep, including taxonomy bootstrap on a fresh repo. workflow_dispatch: