From 64c1f7a781f76278b9f1bca96cd2f4201bd76e7f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:02:41 +0000 Subject: [PATCH] docs: add integrity-reactions reference to integrity and frontmatter pages The integrity-reactions feature (features.integrity-reactions: true, available from gh-aw v0.68.2) was documented in the maintaining-repos guide by #26154 but was missing from the reference pages that it points to for "complete configuration details". - reference/integrity.md: add four reaction fields to configuration table (endorsement-reactions, disapproval-reactions, endorser-min-integrity, disapproval-integrity); add "Promoting and demoting items via reactions" subsection; add a reactions example - reference/frontmatter.md: add integrity-reactions under Feature Flags with a cross-reference to the integrity reference Co-Authored-By: Claude Sonnet 4.6 --- .../src/content/docs/reference/frontmatter.md | 13 ++++++ docs/src/content/docs/reference/integrity.md | 44 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/docs/src/content/docs/reference/frontmatter.md b/docs/src/content/docs/reference/frontmatter.md index 8cd3755fe3f..df421f31b27 100644 --- a/docs/src/content/docs/reference/frontmatter.md +++ b/docs/src/content/docs/reference/frontmatter.md @@ -419,6 +419,19 @@ Debug workflow using script mode for custom actions. **Note:** The `action-mode` can also be overridden via the CLI flag `--action-mode` or the environment variable `GH_AW_ACTION_MODE`. The precedence is: CLI flag > feature flag > environment variable > auto-detection. +#### Reaction-based Trust Signals (`features.integrity-reactions`) + +Enables maintainers to promote or demote content past the integrity filter using GitHub reactions (👍, ❤️, 👎, 😕), without adding labels or modifying issue state. Available from gh-aw v0.68.2. + +```yaml wrap +features: + integrity-reactions: true +``` + +When set, the compiler automatically enables the CLI proxy (required to identify reaction authors) and injects default endorsement and disapproval reaction configuration. Only the `features.integrity-reactions` flag is required — the reaction fields under `tools.github` (`endorsement-reactions`, `disapproval-reactions`, `endorser-min-integrity`, `disapproval-integrity`) are optional overrides. + +See [Promoting and demoting items via reactions](/gh-aw/reference/integrity/#promoting-and-demoting-items-via-reactions) in the Integrity Filtering Reference for complete configuration details. + #### DIFC Proxy (`tools.github.integrity-proxy`) Controls DIFC (Data Integrity and Flow Control) proxy injection. When `tools.github.min-integrity` is configured, the compiler inserts proxy steps around the agent that enforce integrity-level isolation at the network boundary. The proxy is **enabled by default** — set `integrity-proxy: false` to opt out. diff --git a/docs/src/content/docs/reference/integrity.md b/docs/src/content/docs/reference/integrity.md index 14dd016d697..17870641c74 100644 --- a/docs/src/content/docs/reference/integrity.md +++ b/docs/src/content/docs/reference/integrity.md @@ -42,6 +42,10 @@ All integrity-filtering inputs are specified under `tools.github` in your workfl | `trusted-users` | array or expression | No | `[]` | GitHub usernames elevated to `approved` integrity regardless of author association | | `approval-labels` | array or expression | No | `[]` | GitHub label names that promote items to `approved` integrity | | `integrity-proxy` | boolean | No | `true` | Whether to run the DIFC proxy for pre-agent `gh` CLI calls. Set to `false` to disable | +| `endorsement-reactions` | array | No | `["THUMBS_UP", "HEART"]` (when `integrity-reactions` enabled) | Reaction types that promote item integrity to `approved`. Requires `features.integrity-reactions: true` | +| `disapproval-reactions` | array | No | `["THUMBS_DOWN", "CONFUSED"]` (when `integrity-reactions` enabled) | Reaction types that demote item integrity. Requires `features.integrity-reactions: true` | +| `endorser-min-integrity` | string | No | `approved` (when `integrity-reactions` enabled) | Minimum integrity of the reactor for an endorsement or disapproval to take effect. Requires `features.integrity-reactions: true` | +| `disapproval-integrity` | string | No | `none` (when `integrity-reactions` enabled) | Integrity level assigned when a qualifying disapproval reaction is added. Requires `features.integrity-reactions: true` | > [!NOTE] > `repos` is a deprecated alias for `allowed-repos`. Use `allowed-repos` in new workflows. Run `gh aw fix` to migrate existing workflows automatically. @@ -154,6 +158,36 @@ This is useful when a workflow's `min-integrity` would normally filter out exter Promotion only raises integrity — it never lowers it. An item already at `merged` stays at `merged`. Blocked-user exclusion always takes precedence: a blocked user's items remain blocked even if they carry an approval label. +### Promoting and demoting items via reactions + +`features.integrity-reactions: true` allows maintainers to adjust item integrity using GitHub reactions, without adding labels or modifying issue state. Available from gh-aw v0.68.2. + +```aw wrap +features: + integrity-reactions: true +tools: + github: + min-integrity: approved +``` + +When enabled, the compiler automatically enables the CLI proxy (required to identify reaction authors) and injects default reaction configuration. When an account at or above `endorser-min-integrity` adds an endorsement reaction to an issue or comment, the item's integrity is promoted to `approved`. A disapproval reaction from such an account sets the item's integrity to `disapproval-integrity`. + +The defaults are `endorsement-reactions: [THUMBS_UP, HEART]`, `disapproval-reactions: [THUMBS_DOWN, CONFUSED]`, `endorser-min-integrity: approved`, and `disapproval-integrity: none`. To override them, set the reaction fields explicitly under `tools.github`: + +```aw wrap +tools: + github: + endorsement-reactions: + - "THUMBS_UP" + - "HEART" + disapproval-reactions: + - "THUMBS_DOWN" + endorser-min-integrity: merged + disapproval-integrity: unapproved +``` + +Valid reaction values: `THUMBS_UP`, `THUMBS_DOWN`, `HEART`, `HOORAY`, `CONFUSED`, `ROCKET`, `EYES`, `LAUGH`. The reaction fields only take effect when `features.integrity-reactions: true` is also set. + ### Using GitHub Actions expressions `blocked-users`, `trusted-users`, and `approval-labels` can each accept a GitHub Actions expression instead of a literal array. The expression is evaluated at runtime and should resolve to a comma- or newline-separated list of values. @@ -320,6 +354,16 @@ tools: - "human-reviewed" ``` +**Reaction-based endorsement for fast-tracking contributions (available from v0.68.2):** + +```aw wrap +features: + integrity-reactions: true +tools: + github: + min-integrity: approved +``` + **Centrally managed lists via GitHub variables:** ```aw wrap