Skip to content

Commit 18c7909

Browse files
docs: document token-steering firewall, concurrency.queue, and ghes-artifact-compat feature flag
Add reference documentation for three user-facing surfaces merged in the last 24h that had no prior documentation: - firewall.effective-token-steering (#31796): budget-warning system message injection via AWF v0.25.44+ - concurrency.queue and features.group-concurrency-queue (#31764): queue:max behavior and opt-out for compiler-generated groups - features.ghes-artifact-compat (#31664): per-workflow GHES artifact compatibility opt-in via frontmatter or GH_AW_FEATURES env var Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 7403bbd commit 18c7909

3 files changed

Lines changed: 47 additions & 1 deletion

File tree

docs/src/content/docs/reference/concurrency.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,28 @@ When set, the `safe_outputs` job uses `cancel-in-progress: false` — meaning qu
6868

6969
See [Safe Outputs](/gh-aw/reference/safe-outputs/#safe-outputs-job-concurrency-concurrency-group) for details.
7070

71+
## Queue Behavior (`queue`)
72+
73+
GitHub Actions concurrency groups accept an optional `queue` field that controls how multiple pending runs in the same group are handled. The gh-aw compiler preserves this field in both top-level and per-engine concurrency blocks:
74+
75+
| Value | Behavior |
76+
|---|---|
77+
| `single` (Actions default) | Only the latest pending run is kept; earlier pending runs are discarded. |
78+
| `max` | All pending runs queue and run in arrival order. |
79+
80+
```yaml wrap
81+
concurrency:
82+
group: ${{ github.workflow }}-${{ github.ref }}
83+
queue: max
84+
```
85+
86+
Compiler-generated concurrency groups (agent, output, and conclusion jobs) emit `queue: max` by default so back-to-back triggers run sequentially rather than being dropped. Set `features.group-concurrency-queue: false` to omit `queue` from generated groups and revert to the Actions default:
87+
88+
```yaml wrap
89+
features:
90+
group-concurrency-queue: false
91+
```
92+
7193
## Conclusion Job Concurrency
7294

7395
The `conclusion` job — which handles reporting and post-agent cleanup — automatically receives a workflow-specific concurrency group derived from the workflow filename:
@@ -77,9 +99,10 @@ conclusion:
7799
concurrency:
78100
group: "gh-aw-conclusion-my-workflow"
79101
cancel-in-progress: false
102+
queue: max
80103
```
81104

82-
This prevents conclusion jobs from colliding when multiple agents run the same workflow concurrently. The group uses `cancel-in-progress: false` so queued conclusion runs complete in order rather than being discarded.
105+
This prevents conclusion jobs from colliding when multiple agents run the same workflow concurrently. The group uses `cancel-in-progress: false` so queued conclusion runs complete in order rather than being discarded, and `queue: max` preserves arrival order for queued runs (see [Queue Behavior](#queue-behavior-queue)).
83106

84107
This concurrency group is set automatically during compilation and requires no manual configuration.
85108

docs/src/content/docs/reference/enterprise-configuration.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,17 @@ gh aw compile --ghes my-workflow.md
4242
> [!NOTE]
4343
> The `--ghes` flag only affects the current compilation. Use `aw.json` to apply GHES compatibility permanently across all workflows in the repository.
4444
45+
#### Enable per workflow via `features`
46+
47+
Set `features.ghes-artifact-compat: true` in workflow frontmatter to opt a single workflow into artifact-compat mode without changing the repository-wide setting:
48+
49+
```aw wrap
50+
features:
51+
ghes-artifact-compat: true
52+
```
53+
54+
Equivalently, set the `GH_AW_FEATURES=ghes-artifact-compat` environment variable when invoking `gh aw compile`. When the flag is active the compiler pins `actions/upload-artifact@v3.2.2` and `actions/download-artifact@v3.1.0`; compilation fails fast if the required v3 pin is missing rather than silently emitting an incompatible v4+ reference.
55+
4556
## GitHub Enterprise Server CLI Setup
4657

4758
For `gh` CLI configuration, host authentication, and `GH_HOST` setup on GHES, see [GitHub Enterprise Server Support](/gh-aw/setup/cli/#github-enterprise-server-support) in the CLI reference.

docs/src/content/docs/reference/network.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,18 @@ SSL bump intercepts and decrypts HTTPS traffic as a man-in-the-middle — only e
264264

265265
Use SSL bump when you need to allow specific API endpoints while blocking others on the same domain. See the [Sandbox Configuration](/gh-aw/reference/sandbox/) documentation for detailed AWF configuration options.
266266

267+
### Effective Token Steering
268+
269+
Set `firewall.effective-token-steering: true` to opt the AWF API proxy into injecting budget-warning system messages as the run approaches its effective-token budget. Warnings fire at 80%, 90%, 95%, and 99% of the configured `max-effective-tokens`, giving the agent a chance to wrap up work before the budget is exhausted.
270+
271+
```yaml wrap
272+
firewall:
273+
effective-token-steering: true
274+
max-effective-tokens: 5000000
275+
```
276+
277+
The compiler maps this field to `apiProxy.enableTokenSteering` in the generated AWF configuration. Token steering requires AWF `v0.25.44` or later; for older pinned versions the setting is silently dropped at compile time. See [Max Effective Tokens](/gh-aw/reference/glossary/#max-effective-tokens-max-effective-tokens) for budget configuration.
278+
267279
### Disabling the Firewall
268280

269281
The firewall is always enabled via the default `sandbox.agent: awf` configuration:

0 commit comments

Comments
 (0)