Summary
AWF publishes versioned JSON Schemas for its config file format and its runtime JSONL output artifacts. These URLs should be documented in gh-aw so that workflow authors and downstream consumers can discover and reference them.
Published Schemas
AWF Config Schema
Used for awf.yml / awf.json config file validation. Users can add a $schema field to their config files for editor autocompletion and validation.
| Channel |
URL |
| Latest (main) |
https://raw.githubusercontent.com/github/gh-aw-firewall/main/docs/awf-config.schema.json |
| Pinned to release |
https://github.com/github/gh-aw-firewall/releases/download/<tag>/awf-config.schema.json |
| Latest release shortcut |
https://github.com/github/gh-aw-firewall/releases/latest/download/awf-config.schema.json |
Example usage in awf.yml:
$schema: https://github.com/github/gh-aw-firewall/releases/latest/download/awf-config.schema.json
network:
allowDomains:
- api.github.com
JSONL Output Schemas
AWF emits two JSONL artifact files at runtime. Each line contains a _schema field identifying the record type and AWF version (e.g., "_schema": "audit/v0.26.0").
Audit Log Schema (audit.schema.json)
L7 HTTP/HTTPS traffic decisions (allowed/denied) logged by the Squid proxy.
| Channel |
URL |
| Latest (main) |
https://raw.githubusercontent.com/github/gh-aw-firewall/main/schemas/audit.schema.json |
| Pinned to release |
https://github.com/github/gh-aw-firewall/releases/download/<tag>/audit.schema.json |
Token Usage Schema (token-usage.schema.json)
Per-API-call token usage records emitted by the api-proxy sidecar.
| Channel |
URL |
| Latest (main) |
https://raw.githubusercontent.com/github/gh-aw-firewall/main/schemas/token-usage.schema.json |
| Pinned to release |
https://github.com/github/gh-aw-firewall/releases/download/<tag>/token-usage.schema.json |
Versioning Policy
- Schemas do not carry independent version numbers — they are versioned by the AWF release tag
- The
$id field in each schema is updated at release time to point to the release download URL
- Each JSONL record includes
_schema: "<type>/v<semver>" for self-describing records
- Consumers should use prefix matching (e.g.,
_schema.startsWith("audit/")) for forward compatibility
- Additive changes (new optional fields) are non-breaking; breaking changes are documented in the changelog
Source Locations in gh-aw-firewall
Suggested Action
Add a brief section to the gh-aw documentation (or the AWF config file docs) that references these URLs so workflow authors know where to find them.
Summary
AWF publishes versioned JSON Schemas for its config file format and its runtime JSONL output artifacts. These URLs should be documented in gh-aw so that workflow authors and downstream consumers can discover and reference them.
Published Schemas
AWF Config Schema
Used for
awf.yml/awf.jsonconfig file validation. Users can add a$schemafield to their config files for editor autocompletion and validation.https://raw.githubusercontent.com/github/gh-aw-firewall/main/docs/awf-config.schema.jsonhttps://github.com/github/gh-aw-firewall/releases/download/<tag>/awf-config.schema.jsonhttps://github.com/github/gh-aw-firewall/releases/latest/download/awf-config.schema.jsonExample usage in
awf.yml:JSONL Output Schemas
AWF emits two JSONL artifact files at runtime. Each line contains a
_schemafield identifying the record type and AWF version (e.g.,"_schema": "audit/v0.26.0").Audit Log Schema (
audit.schema.json)L7 HTTP/HTTPS traffic decisions (allowed/denied) logged by the Squid proxy.
https://raw.githubusercontent.com/github/gh-aw-firewall/main/schemas/audit.schema.jsonhttps://github.com/github/gh-aw-firewall/releases/download/<tag>/audit.schema.jsonToken Usage Schema (
token-usage.schema.json)Per-API-call token usage records emitted by the api-proxy sidecar.
https://raw.githubusercontent.com/github/gh-aw-firewall/main/schemas/token-usage.schema.jsonhttps://github.com/github/gh-aw-firewall/releases/download/<tag>/token-usage.schema.jsonVersioning Policy
$idfield in each schema is updated at release time to point to the release download URL_schema: "<type>/v<semver>"for self-describing records_schema.startsWith("audit/")) for forward compatibilitySource Locations in gh-aw-firewall
docs/awf-config.schema.json(generated byscripts/generate-schema.mjs)src/awf-config-schema.json(kept in sync, verified by tests)schemas/schemas/README.mdSuggested Action
Add a brief section to the gh-aw documentation (or the AWF config file docs) that references these URLs so workflow authors know where to find them.