forked from heavy-duty/ceremony
docs(labels): the ruling sweep behaviors in LABELS.md, CONSUMERS.md, CHANGELOG
LABELS.md's needs-ruling paragraph gains the bare-flag check and the markerless 7-day nudge; CONSUMERS.md names them in the labels job and states the caller stub is unchanged since #18 (a pin bump is the whole upgrade); one CHANGELOG line under Unreleased (#52). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
c4079ea37c
commit
9ff049ae45
3 changed files with 18 additions and 4 deletions
|
|
@ -10,6 +10,7 @@ so entries say what changed, cite the issue, and stop.
|
|||
- `needs-ruling` — the cross-cutting flag for a pending human decision, excluded from `state:needs-human` and from the staleness sweep (#51).
|
||||
- Cross-repo doctrine: the panel is the PR's repo's roster, a review request is authorization but not panel membership, and `Part of <repo>#N` replaces the `Closes #N` that cannot cross repos (#57).
|
||||
- `actions/runner-isolated` — a `pull_request`-triggered job may never run on a self-hosted runner (#58).
|
||||
- The sweep's `needs-ruling` invariants, one implementation for both surfaces: the issue-side staleness exemption, the bare-flag check (comment-only, the label is never removed), and the 7-day nudge to the decider (#52).
|
||||
|
||||
## 0.1.0 — 2026-07-22
|
||||
|
||||
|
|
|
|||
10
LABELS.md
10
LABELS.md
|
|
@ -89,7 +89,15 @@ disagrees that agreement was reached, the label goes back on. The machine
|
|||
reads it and never writes it: the reconciler refuses `state:needs-human`
|
||||
while it stands (the PR falls to `state:addressing` — the ball on the PR is
|
||||
the builder's, who carries the ruling in), and the staleness sweep skips
|
||||
it, because waiting on a human is legitimately quiet.
|
||||
it, because waiting on a human is legitimately quiet. Quiet, but not
|
||||
unwatched (#52, both surfaces): a flag set with no escalation comment from
|
||||
its setter is called out by the sweep — comment-only, scoped to the labeled
|
||||
event, the label never removed — and a ruling with no real activity for 7
|
||||
days draws a comment-only nudge addressed to the decider, linking the
|
||||
escalation. The nudge carries no marker on purpose: the comment is itself
|
||||
activity, so it resets its own window and never repeats within a quiet
|
||||
week. Label churn is not activity — the clock reads comments, reviews and
|
||||
commits, or the sweep would reset itself.
|
||||
|
||||
## Scope — which surface? (PRs and issues, any number)
|
||||
|
||||
|
|
|
|||
|
|
@ -226,9 +226,12 @@ build (#15) and incubator's GHCR image push (#16).
|
|||
## Labels automation
|
||||
|
||||
The reusable labels workflow owns two independent jobs: additive path-based
|
||||
`scope:*` labels and reconciliation of PR state, blockers, handoff, and stale
|
||||
status. The consumer keeps its path mapping in `.github/labeler.yml` and its
|
||||
review panel plus scope taxonomy in `.github/labels.conf`.
|
||||
`scope:*` labels and reconciliation of PR state, blockers, handoff, stale
|
||||
status, and the `needs-ruling` invariants on both surfaces — the bare-flag
|
||||
check and the 7-day comment-only nudge (#52; the sweep reads that flag and
|
||||
never writes it). The consumer keeps its path mapping in
|
||||
`.github/labeler.yml` and its review panel plus scope taxonomy in
|
||||
`.github/labels.conf`.
|
||||
|
||||
The complete caller is:
|
||||
|
||||
|
|
@ -253,6 +256,8 @@ jobs:
|
|||
`pull_request_target` is intentional: fork PRs need the base repository's
|
||||
token to write labels. The reusable workflow executes no PR code. It checks
|
||||
out only the consumer's base branch and the pinned ceremony implementation.
|
||||
The #52 ruling invariants ride exactly these triggers — the caller above is
|
||||
unchanged since #18, so adopting them is a pin bump, not a stub edit.
|
||||
|
||||
`.github/labels.conf` has one mandatory panel setting, one mandatory
|
||||
`triage-actors` setting, and then zero or more scope rows:
|
||||
|
|
|
|||
Loading…
Reference in a new issue