Skip to content

Commit 26ba615

Browse files
committed
docs(references): daily intelligence update 2026-04-16
- GAP-001: Add pre-steps: field to frontmatter-schema.md (v0.68.3) - GAP-002: Add run-install-scripts: field to frontmatter-schema.md (v0.68.3) - GAP-003: Add on.stale-check: sub-field to frontmatter-schema.md (v0.68.3) - GAP-004: Document cache-memory working-tree sanitization in tools-reference.md - GAP-005: Add Claude Code Remote Tasks section to gh-aw-architecture.md Closes #25, #26, #27, #28, #29 Automated by /aw-daily
1 parent 80bc902 commit 26ba615

4 files changed

Lines changed: 111 additions & 1 deletion

File tree

.claude/skills/gh-aw-report/knowledge-base.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,35 @@ US/EU data residency (2026-04-13). FedRAMP Moderate for US gov. `copilot --remot
104104
### 2026-04-15 -- ecosystem -- GitHub Actions April changes
105105
Workflow reruns capped at 50 (2026-04-10). OIDC for Dependabot/code scanning. Code scanning→Issues linking. Async SBOM exports.
106106

107+
---
108+
109+
## [2026-04-16] Daily Intelligence Update
110+
111+
### gh-aw CLI v0.68.3 — New Frontmatter Fields
112+
- **`pre-steps:`** — Runs custom steps at job start, **before checkout**. Use for token minting or pre-checkout setup. Outputs accessible via `${{ steps.<id>.outputs.<name> }}` for use in `checkout.github-token` to avoid masked-value cross-job boundary issues. Same security restrictions as `steps:`.
113+
- **`run-install-scripts:`** — Boolean (default: `false`). Allows npm pre/post install scripts. Default adds `--ignore-scripts` to all npm install commands (supply chain protection). Setting `true` disables globally; per-runtime scope via `runtimes.node.run-install-scripts`. Compile-time warning (strict mode: error).
114+
- **`on.stale-check:`** — Boolean nested under `on:`, default `true`. When `false`, disables the frontmatter hash check in the activation job. Required for cross-repo org ruleset deployments.
115+
- Source: PR #26607 in github/gh-aw ("Sync github-agentic-workflows.md with v0.68.3", expires 2026-04-18)
116+
117+
### gh-aw Security Fixes (active PRs 2026-04-16)
118+
- **Steganographic injection**: PR #26596 strips markdown link title text to close injection channel
119+
- **XPIA @mentions**: PR #26589 sanitizes @mentions in `create_issue` body
120+
- **cache-memory sanitization**: PR #26587 adds pre-agent working-tree sanitization (neutralizes planted executables/disallowed files)
121+
- **Lock file integrity schema v4**: PR #26594 extends integrity check to detect post-compilation YAML tampering
122+
123+
### GitHub MCP Server (as of 2026-04-16)
124+
- **v0.33.0** (2026-04-14): Granular PRs/issues toolsets, `resolve_review_thread` tool, `list_commits` path/since/until params, configurable server name/title via translation strings, OSS HTTP logging adapter
125+
- **v0.33.1** (2026-04-14): Hotfix release
126+
127+
### Claude Code (as of 2026-04-16)
128+
- **Remote Tasks** (launched March 20, 2026): Define GitHub repo + prompt + schedule → Claude runs autonomously on Anthropic cloud infrastructure. Supports cron scheduling.
129+
- **Remote Sessions**: Start task, close laptop, session continues on Anthropic infrastructure
130+
- **Open-sourced**: Agent layer at `anthropics/claude-code`
131+
- **v2.1.76** (March 14, 2026): Enhanced MCP elicitation support, improved tool discovery
132+
133+
### GitHub Copilot (as of 2026-04-16)
134+
- **Copilot cloud agent per-org control** (April 15, 2026): Can now be enabled for selected organizations via AI Controls page → "Agent" → "Copilot Cloud Agent"
135+
- **REST API version 2026-03-10**: Available with breaking changes to the REST API
136+
107137
---
108138
<!-- Append new entries above this line, newest first -->

.claude/skills/gh-aw-report/references/gh-aw-architecture.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# gh-aw Architecture Reference
22

3-
> Last updated: 2026-04-14. This file captures stable architectural facts about the
3+
> Last updated: 2026-04-16. This file captures stable architectural facts about the
44
> GitHub Agentic Workflows system to reduce web searches on known-stable information.
55
66
## System Overview
@@ -95,6 +95,15 @@ that traditional deterministic CI cannot handle.
9595
- Assign GitHub issue to Copilot → autonomous background work → PR opened for review
9696
- Waitlist removed for Pro/Business/Enterprise (early 2026)
9797

98+
## Claude Code (Anthropic)
99+
100+
- Anthropic's CLI agentic coding tool, integrates with GitHub via MCP servers
101+
- Can serve as the AI engine in gh-aw workflows (alternative to Copilot CLI)
102+
- **Open-sourced** (2026): Agent layer at `anthropics/claude-code`
103+
- **Remote Tasks** (launched March 20, 2026): Define a GitHub repo + prompt + cron schedule → Claude runs autonomously on Anthropic's cloud infrastructure; cron scheduling supported
104+
- **Remote Sessions**: Start a task locally, close laptop; session continues on Anthropic infrastructure
105+
- Directly comparable to gh-aw scheduled workflows for Claude-engine use cases — a native Anthropic alternative that does not require GitHub Actions
106+
98107
## Continuous AI Paradigm
99108

100109
GitHub Next's framing: "Continuous AI" is the agentic evolution of CI.

skills/aw-author/references/frontmatter-schema.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,14 @@ gh-aw workflow files use YAML frontmatter delimited by `---` markers. This is th
5656
| `playwright` | [Tools](#5-tools-tools) | [link](#playwright-tool) |
5757
| `plugins` | [Imports & Dependencies](#10-imports--dependencies) | [link](#plugins) *(deprecated)* |
5858
| `post-steps` | [Steps & Post-Steps](#8-steps--post-steps) | [link](#post-steps) |
59+
| `pre-steps` | [Steps & Post-Steps](#8-steps--post-steps) | [link](#pre-steps) |
5960
| `push-to-pull-request-branch` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#push-to-pull-request-branch) |
6061
| `reaction` | [Triggers](#2-triggers-on) | [link](#reaction) |
6162
| `remove-labels` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#remove-labels) |
6263
| `repo-memory` | [Tools](#5-tools-tools) | [link](#repo-memory-tool) |
6364
| `reply-to-pull-request-review-comment` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#reply-to-pull-request-review-comment) |
6465
| `resolve-pull-request-review-thread` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#resolve-pull-request-review-thread) |
66+
| `run-install-scripts` | [Engine Configuration](#4-engine-configuration-engine) | [link](#run-install-scripts) |
6567
| `run-name` | [Engine Configuration](#4-engine-configuration-engine) | [link](#run-name) |
6668
| `runs-on` | [Engine Configuration](#4-engine-configuration-engine) | [link](#runs-on) |
6769
| `safe-outputs` | [Safe Outputs](#7-safe-outputs-safe-outputs) | [link](#safe-outputs-root) |
@@ -71,6 +73,7 @@ gh-aw workflow files use YAML frontmatter delimited by `---` markers. This is th
7173
| `services` | [Container & Services](#11-container--services) | [link](#services) |
7274
| `skip-if-match` | [Triggers](#2-triggers-on) | [link](#skip-if-match) |
7375
| `skip-if-no-match` | [Triggers](#2-triggers-on) | [link](#skip-if-no-match) |
76+
| `stale-check` | [Triggers](#2-triggers-on) | [link](#stale-check) |
7477
| `source` | [Workflow Identity](#1-workflow-identity) | [link](#source) |
7578
| `startup-timeout` | [Tools](#5-tools-tools) | [link](#startup-timeout) |
7679
| `steps` | [Steps & Post-Steps](#8-steps--post-steps) | [link](#steps) |
@@ -497,6 +500,22 @@ if: github.event.action == 'labeled' && contains(github.event.issue.labels.*.nam
497500
- **Gotchas:** Uses GitHub Actions expression syntax without the `${{ }}` wrapper.
498501
- **Cross-references:** `production-gotchas.md` — `if` guard
499502

503+
#### `stale-check` {#stale-check}
504+
505+
- **Type:** boolean
506+
- **Required:** no
507+
- **Default:** `true`
508+
- **Description:** Controls whether the activation job verifies that the frontmatter hash in the workflow matches its compiled `.lock.yml`.
509+
510+
When `false`, disables the hash check step. This is needed when workflow files are managed outside the default repository context — for example, cross-repo org rulesets where the `.md` source and the compiled `.lock.yml` live in different repositories.
511+
512+
```yaml
513+
on:
514+
schedule:
515+
- cron: '0 9 * * *'
516+
stale-check: false
517+
```
518+
500519
---
501520

502521
## 3. Permissions (`permissions:`)
@@ -803,6 +822,29 @@ environment:
803822
url: "https://app.example.com"
804823
```
805824

825+
### `run-install-scripts` {#run-install-scripts}
826+
827+
- **Type:** boolean
828+
- **Required:** no
829+
- **Default:** `false`
830+
- **Description:** Allow npm pre/post install scripts to execute during package installation.
831+
832+
By default, gh-aw adds `--ignore-scripts` to all generated `npm install` commands to prevent supply chain attacks via malicious install hooks. Setting this to `true` disables that protection globally for all runtimes that generate `npm install` commands.
833+
834+
```yaml
835+
run-install-scripts: true
836+
```
837+
838+
**⚠️ Security notice:** Emits a supply chain security warning at compile time. In `strict` mode, this is a compile error rather than a warning.
839+
840+
**Per-runtime scope:** To limit the opt-out to a specific runtime rather than all runtimes, use:
841+
842+
```yaml
843+
runtimes:
844+
node:
845+
run-install-scripts: true
846+
```
847+
806848
---
807849

808850
## 5. Tools (`tools:`)
@@ -1542,6 +1584,33 @@ safe-outputs:
15421584

15431585
## 8. Steps & Post-Steps
15441586

1587+
### `pre-steps` {#pre-steps}
1588+
1589+
- **Type:** object | array
1590+
- **Required:** no
1591+
- **Default:** none
1592+
- **Description:** Custom workflow steps that run at the **very beginning** of the agent job, before the repository is checked out.
1593+
1594+
```yaml
1595+
pre-steps:
1596+
- name: Mint app token
1597+
id: app-token
1598+
uses: actions/create-github-app-token@v2
1599+
with:
1600+
app-id: ${{ vars.APP_ID }}
1601+
private-key: ${{ secrets.APP_KEY }}
1602+
```
1603+
1604+
**Use cases:**
1605+
- **Token minting** that must happen before checkout (avoids masked-value cross-job boundary issues when the token is used in `checkout.github-token`)
1606+
- Environment preparation that must precede repository access
1607+
1608+
**Step outputs** are available via `${{ steps.<id>.outputs.<name> }}` and can be referenced in `checkout.github-token` and other pre-checkout fields.
1609+
1610+
Same security restrictions apply as for `steps:` — runs outside the firewall sandbox with standard GitHub Actions security but no network egress controls.
1611+
1612+
- **Cross-references:** `production-gotchas.md` — post-steps feature; see also `steps` and `post-steps`
1613+
15451614
### `steps`
15461615

15471616
- **Type:** object | array

skills/aw-author/references/tools-reference.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,8 @@ tools:
307307
| `scope` | string | `workflow` | `workflow` or `repo` |
308308
| `allowed-extensions` | array | `[".json", ".jsonl", ".txt", ".md", ".csv"]` | Allowed file types |
309309

310+
**Pre-agent working-tree sanitization:** Before the agent job starts, `cache-memory` automatically scans the restored cache for planted executables and disallowed file types. Any neutralized files are logged as warnings in the workflow output. This protects against cache-poisoning attacks where a malicious actor could insert executable files or disallowed content into the cache between workflow runs.
311+
310312
### Repo Memory (`repo-memory:`)
311313

312314
```yaml

0 commit comments

Comments
 (0)