Skip to content

Commit 43631a4

Browse files
authored
Merge branch 'main' into prune-campaign-docs
2 parents fa5db47 + 1d0c192 commit 43631a4

9 files changed

Lines changed: 18 additions & 139 deletions

File tree

‎docs/astro.config.mjs‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,6 @@ export default defineConfig({
167167
{ label: 'GitHub Actions Primer', link: '/guides/github-actions-primer/' },
168168
{ label: 'Packaging & Distribution', link: '/guides/packaging-imports/' },
169169
{ label: 'Using MCPs', link: '/guides/mcps/' },
170-
{ label: 'Custom Safe Outputs', link: '/guides/custom-safe-outputs/' },
171-
{ label: 'Threat Detection', link: '/guides/threat-detection/' },
172170
{ label: 'Web Search', link: '/guides/web-search/' },
173171
{ label: 'Ephemerals', link: '/guides/ephemerals/' },
174172
],
@@ -205,7 +203,8 @@ export default defineConfig({
205203
{ label: 'Tools', link: '/reference/tools/' },
206204
{ label: 'Safe Outputs', link: '/reference/safe-outputs/' },
207205
{ label: 'Safe Inputs', link: '/reference/safe-inputs/' },
208-
{ label: 'Custom Safe Outputs', link: '/guides/custom-safe-outputs/' },
206+
{ label: 'Custom Safe Outputs', link: '/reference/custom-safe-outputs/' },
207+
{ label: 'Threat Detection', link: '/reference/threat-detection/' },
209208
{ label: 'Imports', link: '/reference/imports/' },
210209
{ label: 'Templating', link: '/reference/templating/' },
211210
{ label: 'Network Access', link: '/reference/network/' },

‎docs/src/content/docs/guides/deterministic-agentic-patterns.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ Reference in prompts: "Analyze issues in `/tmp/gh-aw/agent/issues.json` and PRs
188188

189189
## Related Documentation
190190

191-
- [Custom Safe Outputs](/gh-aw/guides/custom-safe-outputs/) - Custom post-processing jobs
191+
- [Custom Safe Outputs](/gh-aw/reference/custom-safe-outputs/) - Custom post-processing jobs
192192
- [Frontmatter Reference](/gh-aw/reference/frontmatter/) - Configuration options
193193
- [Compilation Process](/gh-aw/reference/compilation-process/) - How jobs are orchestrated
194194
- [Imports](/gh-aw/reference/imports/) - Sharing configurations across workflows

‎docs/src/content/docs/guides/ephemerals.md‎

Lines changed: 6 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -172,36 +172,6 @@ See [Safe Outputs Reference](/gh-aw/reference/safe-outputs/#hide-older-comments)
172172

173173
Run agentic workflows from a separate "side" repository that targets your main codebase. This isolates AI-generated issues, comments, and workflow runs from your main repository, keeping automation infrastructure separate from production code.
174174

175-
```yaml wrap
176-
safe-outputs:
177-
github-token: ${{ secrets.MAIN_REPO_PAT }}
178-
create-issue:
179-
target-repo: "my-org/main-repo"
180-
title-prefix: "[automation] "
181-
labels: [automation, ai-generated]
182-
```
183-
184-
**Key benefits**:
185-
- **Zero friction** - No changes needed to main repository
186-
- **Clean separation** - AI-generated issues stay separate from organic development
187-
- **Private workflows** - Store sensitive automation logic in private repository
188-
- **Safe experimentation** - Test workflows without affecting production
189-
- **Centralized automation** - Manage workflows for multiple repositories
190-
191-
**Architecture**:
192-
```text
193-
┌─────────────────┐ ┌──────────────────┐
194-
│ Side Repo │ │ Main Repo │
195-
│ (workflows) │ ────────>│ (target code) │
196-
│ │ Uses │ │
197-
│ - automation/ │ PAT │ - src/ │
198-
│ - .github/ │ │ - tests/ │
199-
│ workflows/ │ │ - docs/ │
200-
└─────────────────┘ └──────────────────┘
201-
```
202-
203-
The workflows run in GitHub Actions on the side repository but perform operations (create issues, PRs, comments) on the main repository using cross-repository authentication.
204-
205175
See [SideRepoOps Guide](/gh-aw/guides/siderepoops/) for complete setup and usage documentation.
206176

207177
### Allowed GitHub References
@@ -216,6 +186,7 @@ safe-outputs:
216186
```
217187

218188
**Configuration options**:
189+
219190
- `[]` — Escape all references (prevents all timeline items)
220191
- `["repo"]` — Allow only the target repository's references
221192
- `["repo", "owner/other-repo"]` — Allow specific repositories
@@ -224,12 +195,14 @@ safe-outputs:
224195
**How it works**: References like `#123` become `` `#123` `` and `other/repo#456` becomes `` `other/repo#456` ``, preventing timeline clutter while preserving the information.
225196

226197
**Use cases**:
198+
227199
- **SideRepoOps**: Prevent automation from cluttering main repository timeline
228200
- **Cross-repository operations**: Avoid unwanted cross-references
229201
- **Clean automation**: Maintain readable issue/PR timelines
230202
- **Reporting workflows**: Share information without creating link noise
231203

232204
**Example with SideRepoOps**:
205+
233206
```yaml wrap
234207
safe-outputs:
235208
github-token: ${{ secrets.MAIN_REPO_PAT }}
@@ -266,6 +239,7 @@ safe-outputs:
266239
| **Timeline noise** | Can clutter project tracking | Separate from development work |
267240

268241
**Use cases for ephemeral discussions**:
242+
269243
- Weekly status reports
270244
- Periodic analysis results
271245
- Temporary announcements
@@ -274,6 +248,7 @@ safe-outputs:
274248
- Community updates
275249

276250
**Combining features**:
251+
277252
```yaml wrap
278253
safe-outputs:
279254
create-discussion:
@@ -285,107 +260,12 @@ safe-outputs:
285260
```
286261

287262
This configuration ensures:
263+
288264
1. Only the latest weekly status discussion is open
289265
2. Previous reports are closed when new ones are created
290266
3. All discussions auto-close after 14 days
291267
4. The "Status Updates" category stays clean and focused
292268

293-
## Best Practices
294-
295-
### Combining Expiration Features
296-
297-
Use multiple expiration features together for comprehensive cleanup:
298-
299-
```yaml wrap
300-
on: weekly on monday
301-
stop-after: "+30d" # Stop workflow after 30 days
302-
303-
safe-outputs:
304-
create-discussion:
305-
title-prefix: "[experiment]"
306-
expires: 7 # Close discussions after 7 days
307-
close-older-discussions: true # Close older when creating new
308-
add-comment:
309-
hide-older-comments: true # Minimize old status updates
310-
```
311-
312-
This ensures the workflow stops after 30 days, created discussions expire after 7 days, and older discussions/comments are cleaned up automatically.
313-
314-
### Labeling Ephemeral Content
315-
316-
Use consistent labels to identify and track ephemeral content:
317-
318-
```yaml wrap
319-
safe-outputs:
320-
create-issue:
321-
expires: 7
322-
labels: [ephemeral, automation, expires-7d]
323-
```
324-
325-
This makes it easy to:
326-
- Identify ephemeral content at a glance
327-
- Filter by expiration timeframe
328-
- Audit what content will expire soon
329-
- Track automation-generated content
330-
331-
### SideRepoOps with Reference Escaping
332-
333-
When using SideRepoOps, always configure `allowed-github-references` to prevent timeline noise:
334-
335-
```yaml wrap
336-
safe-outputs:
337-
github-token: ${{ secrets.MAIN_REPO_PAT }}
338-
allowed-github-references: [] # Escape all references
339-
create-issue:
340-
target-repo: "my-org/main-repo"
341-
expires: 7 # Auto-close after 7 days
342-
labels: [automation, ephemeral]
343-
```
344-
345-
This combination ensures:
346-
- Issues are created in the main repo but tracked separately
347-
- No cross-references clutter the main repo timeline
348-
- Content auto-expires after 7 days
349-
- Clear labeling identifies automated content
350-
351-
### Status Update Workflows
352-
353-
For workflows that post repeated status updates, use comment hiding:
354-
355-
```yaml wrap
356-
safe-outputs:
357-
add-comment:
358-
hide-older-comments: true
359-
allowed-reasons: [outdated, resolved]
360-
```
361-
362-
This ensures:
363-
- Only the latest status is prominently visible
364-
- Historical status updates are preserved but minimized
365-
- Timeline stays clean and focused
366-
- Multiple status reasons available (outdated, resolved)
367-
368-
### Maintenance Workflow Monitoring
369-
370-
The auto-generated `agentics-maintenance.yml` workflow handles expiration. Monitor its runs to ensure proper cleanup:
371-
372-
```bash
373-
# View maintenance workflow runs
374-
gh run list --workflow=agentics-maintenance.yml
375-
376-
# Check for failures
377-
gh run list --workflow=agentics-maintenance.yml --status=failure
378-
379-
# View a specific run
380-
gh run view RUN_ID
381-
```
382-
383-
If expiration isn't working as expected:
384-
- Verify the maintenance workflow is enabled
385-
- Check workflow permissions (needs `issues: write` or `discussions: write`)
386-
- Review failed runs for permission errors
387-
- Ensure PAT tokens have appropriate scopes for cross-repository operations
388-
389269
## Related Documentation
390270

391271
- [Triggers Reference](/gh-aw/reference/triggers/) - Complete trigger configuration including `stop-after`

‎docs/src/content/docs/guides/memoryops.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,5 +295,5 @@ echo '{"user": "alice", "email": "alice@example.com"}' > users.json
295295
296296
- [MCP Servers](/gh-aw/guides/mcps/) - Memory MCP server configuration
297297
- [Deterministic Patterns](/gh-aw/guides/deterministic-agentic-patterns/) - Data preprocessing
298-
- [Safe Outputs](/gh-aw/guides/custom-safe-outputs/) - Storing workflow outputs
298+
- [Safe Outputs](/gh-aw/reference/custom-safe-outputs/) - Storing workflow outputs
299299
- [Frontmatter Reference](/gh-aw/reference/frontmatter/) - Configuration options

‎docs/src/content/docs/introduction/architecture.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ gh aw status
785785

786786
## Related Documentation
787787

788-
- [Threat Detection Guide](/gh-aw/guides/threat-detection/) - Configuring threat analysis
788+
- [Threat Detection Guide](/gh-aw/reference/threat-detection/) - Configuring threat analysis
789789
- [Network Permissions](/gh-aw/reference/network/) - Network access control
790790
- [Safe Outputs Reference](/gh-aw/reference/safe-outputs/) - Output processing configuration
791791
- [AI Engines](/gh-aw/reference/engines/) - Engine-specific security features
File renamed without changes.

‎docs/src/content/docs/reference/safe-inputs.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,4 +363,4 @@ Tools provide secret isolation (only specified env vars), process isolation (sep
363363
- [Imports](/gh-aw/reference/imports/) - Importing shared workflows
364364
- [Safe Outputs](/gh-aw/reference/safe-outputs/) - Automated post-workflow actions
365365
- [MCPs](/gh-aw/guides/mcps/) - External MCP server integration
366-
- [Custom Safe Output Jobs](/gh-aw/guides/custom-safe-outputs/) - Post-workflow custom jobs
366+
- [Custom Safe Output Jobs](/gh-aw/reference/custom-safe-outputs/) - Post-workflow custom jobs

‎docs/src/content/docs/reference/safe-outputs.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ The agent requests issue creation; a separate job with `issues: write` creates i
7575
- [**Missing Data**](#missing-data-reporting-missing-data) (`missing-data`) — Report missing data required to achieve goals (max: unlimited, same-repo only)
7676

7777
> [!TIP]
78-
> Custom safe output types: [Custom Safe Output Jobs](/gh-aw/guides/custom-safe-outputs/). See [Deterministic & Agentic Patterns](/gh-aw/guides/deterministic-agentic-patterns/) for combining computation and AI reasoning.
78+
> Custom safe output types: [Custom Safe Output Jobs](/gh-aw/reference/custom-safe-outputs/). See [Deterministic & Agentic Patterns](/gh-aw/guides/deterministic-agentic-patterns/) for combining computation and AI reasoning.
7979

8080
### Custom Safe Output Jobs (`jobs:`)
8181

82-
Create custom post-processing jobs registered as Model Context Protocol (MCP) tools. Support standard GitHub Actions properties and auto-access agent output via `$GH_AW_AGENT_OUTPUT`. See [Custom Safe Output Jobs](/gh-aw/guides/custom-safe-outputs/).
82+
Create custom post-processing jobs registered as Model Context Protocol (MCP) tools. Support standard GitHub Actions properties and auto-access agent output via `$GH_AW_AGENT_OUTPUT`. See [Custom Safe Output Jobs](/gh-aw/reference/custom-safe-outputs/).
8383

8484
> [!NOTE]
8585
> **Internal Implementation**: Custom safe output jobs are internally referred to as "safe-jobs" in the compiler code (`pkg/workflow/safe_jobs.go`), but they are user-facing only through the `safe-outputs.jobs:` configuration. The top-level `safe-jobs:` key is deprecated and not supported.
@@ -1316,7 +1316,7 @@ Specify custom runner for safe output jobs (default: `ubuntu-slim`): `runs-on: u
13161316

13171317
## Threat Detection
13181318

1319-
Auto-enabled. Analyzes output for prompt injection, secret leaks, malicious patches. See [Threat Detection Guide](/gh-aw/guides/threat-detection/).
1319+
Auto-enabled. Analyzes output for prompt injection, secret leaks, malicious patches. See [Threat Detection Guide](/gh-aw/reference/threat-detection/).
13201320

13211321
## Projects, Monitoring, and Orchestration Patterns
13221322

@@ -1352,7 +1352,7 @@ safe-outputs:
13521352

13531353
## Related Documentation
13541354

1355-
- [Threat Detection Guide](/gh-aw/guides/threat-detection/) - Complete threat detection documentation and examples
1355+
- [Threat Detection Guide](/gh-aw/reference/threat-detection/) - Complete threat detection documentation and examples
13561356
- [Frontmatter](/gh-aw/reference/frontmatter/) - All configuration options for workflows
13571357
- [Workflow Structure](/gh-aw/reference/workflow-structure/) - Directory layout and organization
13581358
- [Command Triggers](/gh-aw/reference/command-triggers/) - Special /my-bot triggers and context text

docs/src/content/docs/guides/threat-detection.md renamed to docs/src/content/docs/reference/threat-detection.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Threat Detection
33
description: Configure automated threat detection to analyze agent output and code changes for security issues before they are applied.
44
sidebar:
5-
order: 14
5+
order: 40
66
---
77

88
GitHub Agentic Workflows includes automatic threat detection to analyze agent output and code changes for potential security issues before they are applied. When safe outputs are configured, a threat detection job automatically runs to identify prompt injection attempts, secret leaks, and malicious code patches.
@@ -308,5 +308,5 @@ If the detection process itself fails (e.g., network issues, tool errors), the w
308308

309309
- [Safe Outputs Reference](/gh-aw/reference/safe-outputs/) - Complete safe outputs configuration
310310
- [Security Guide](/gh-aw/introduction/architecture/) - Overall security best practices
311-
- [Custom Safe Outputs](/gh-aw/guides/custom-safe-outputs/) - Creating custom output types
311+
- [Custom Safe Outputs](/gh-aw/reference/custom-safe-outputs/) - Creating custom output types
312312
- [Frontmatter Reference](/gh-aw/reference/frontmatter/) - All configuration options

0 commit comments

Comments
 (0)