Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/aw/create-agentic-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,13 +169,10 @@ Rules:

### 8. Add cost-aware triage and context flow

- For high-volume inputs, design a cheap triage step before expensive analysis.
- Require explicit `noop` or safe-output behavior for known, duplicate, stale, or low-value cases.
- Reserve frontier-model reasoning for ambiguous/high-value cases and final synthesis.
- Prefer pull-on-demand context retrieval over prompt-stuffing large logs or API payloads.
- For high-volume inputs, apply the [High-Volume Triage and Escalation Pattern](workflow-patterns.md#high-volume-triage-and-escalation-pattern): cheap triage first, `noop`/safe output for known/duplicate/stale/low-value cases, frontier reasoning reserved for ambiguous/high-value cases, and context pulled on demand.
- Use deterministic `steps:` plus compact files under `/tmp/gh-aw/` when large data must be preprocessed.

See also: [workflow-patterns.md](workflow-patterns.md), [subagents.md](subagents.md), and [token-optimization.md](token-optimization.md).
See also: [subagents.md](subagents.md) and [token-optimization.md](token-optimization.md).

### 9. Omit unnecessary defaults

Expand Down
3 changes: 1 addition & 2 deletions .github/aw/safe-outputs-runtime.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ description: Safe-output reference for runtime defaults, custom jobs, scripts, a

# Safe Outputs: Runtime and Extensibility


The report-incomplete safe-output is automatically enabled by default and is distinct from `noop`. Use it when required tools or data are unavailable and the task cannot be meaningfully performed (e.g., MCP server crash, missing authentication, inaccessible repository). When an agent emits `report_incomplete`, gh-aw activates failure handling even when the agent process exits 0 — preventing empty outputs from being classified as successful. This ensures every unrecoverable failure is tracked.
The `report-incomplete` safe-output is enabled by default and is distinct from `noop`. Use it when required tools or data are unavailable and the task cannot be meaningfully performed (e.g., MCP server crash, missing authentication, inaccessible repository). When an agent emits `report_incomplete`, gh-aw activates failure handling even when the agent process exits 0 — preventing empty outputs from being classified as successful, so every unrecoverable failure is tracked.

- `jobs:` - Custom safe-output jobs registered as MCP tools for third-party integrations

Expand Down
5 changes: 3 additions & 2 deletions .github/aw/syntax-agentic.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ description: Agentic workflow specific frontmatter fields for GitHub Agentic Wor
- Key names limited to 64 characters
- Values limited to 1024 characters
- Example: `metadata: { team: "platform", priority: "high" }`
- **`github-token:`** - Default GitHub token for workflow (must use `${{ secrets.* }}` syntax)
- **`github-token:`** - GitHub token override (must use `${{ secrets.* }}` syntax). Not a top-level field: set it under `on:` (trigger checks), `tools.github`, or `safe-outputs`.
- **`on.roles:`** - Repository access roles that can trigger workflow (array or `"all"`). Default `[admin, maintainer, write]`; available roles: `admin`, `maintainer`, `write`, `read`, `all`.
- **`bots:`** - Bot identifiers allowed to trigger workflow regardless of role permissions (array; e.g. `[dependabot[bot], renovate[bot], github-actions[bot]]`). The bot must be active (installed) on the repository to trigger.
- **`on.bots:`** - Bot identifiers allowed to trigger workflow regardless of role permissions (array; e.g. `[dependabot[bot], renovate[bot], github-actions[bot]]`). The bot must be active (installed) on the repository to trigger.
- **`strict:`** - Enable enhanced validation for production workflows (boolean, defaults to `true`; strongly recommended)
- Prefer `strict: true`; `strict: false` is dangerous, should be extremely rare, and must be carefully security reviewed before use
- **`max-turns:`** - AWF turn cap applied consistently across all agentic engines (integer or expression, e.g. `${{ inputs.max-turns }}`). The engine-level `engine.max-turns` is a deprecated alias kept for backward compatibility — prefer this top-level field. Not supported by the `gemini` engine.
Expand Down Expand Up @@ -81,6 +81,7 @@ description: Agentic workflow specific frontmatter fields for GitHub Agentic Wor

- Selected variant available as `${{ experiments.<name> }}` and in `{{#if experiments.<name> }}` template blocks
- See [A/B Testing Experiments](experiments.md) for full design guidance
- **`evals:`** - ⚠️ Experimental. BinEval binary (YES/NO) evaluation questions run after safe-outputs and before the conclusion job. Shorthand: a list of `{ id, question, model? }` objects. Extended form: object with `questions`, plus optional `model` (default alias/ID for all questions) and `runs-on`.

- **`imports:`** - Array of workflow specifications to import (array)
- Format: `owner/repo/path@ref` or local paths like `shared/common.md`
Expand Down
11 changes: 1 addition & 10 deletions .github/aw/update-agentic-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,7 @@ See [workflow-editing.md](workflow-editing.md) for the full frontmatter-vs-body

## Cost-Oriented Update Checks

When refining existing workflows, preserve minimal edits while verifying:

- cheap triage runs before escalation for high-volume inputs
- known/duplicate/stale/low-value cases stop with explicit `noop` or safe output
- expensive/frontier reasoning is limited to ambiguous or high-value cases and final synthesis
- large raw logs/payloads are pulled on demand instead of pushed into initial prompts
- sub-agent fan-out stays bounded and worker returns stay compact
- changes are measured with `gh aw audit` (`aic`, input/output/cache token fields) and quality regressions are treated as failures

See also: [token-optimization.md](token-optimization.md), [subagents.md](subagents.md), and [workflow-patterns.md](workflow-patterns.md).
When refining existing workflows, keep edits minimal and confirm the design still follows the [High-Volume Triage and Escalation Pattern](workflow-patterns.md#high-volume-triage-and-escalation-pattern): cheap triage before escalation, `noop`/safe output for known/duplicate/stale cases, frontier reasoning reserved for high-value cases, and context pulled on demand. Keep sub-agent fan-out bounded (see [subagents.md](subagents.md)), then measure the change with `gh aw audit` and treat token or quality regressions as failures (see [token-optimization.md](token-optimization.md)).

## Security Rules

Expand Down
Loading