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
2 changes: 1 addition & 1 deletion workshop/side-quest-09-01-debug-output.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You will diagnose five common output patterns one at a time. Each micro-step inc
|---|---|---|
| Long `[plan]` chain | How to turn planning loops into concrete tool calls | [09-01a](side-quest-09-01a-pattern-long-plan-chain.md) |
| Empty tool results | How to separate permission issues from filter issues | [09-01b](side-quest-09-01b-pattern-empty-results.md) |
| Safe-output `limit reached` | How to decide between raising `max` and tightening guidance | [09-01c](side-quest-09-01c-pattern-safe-output-blocked.md) |
| [Safe-output](https://github.github.com/gh-aw/reference/safe-outputs/) `limit reached` | How to decide between raising `max` and tightening guidance | [09-01c](side-quest-09-01c-pattern-safe-output-blocked.md) |
| `permission denied` | How to map failures to [`permissions`](https://github.github.com/gh-aw/reference/permissions/) vs [`safe-outputs`](https://github.github.com/gh-aw/reference/safe-outputs/) | [09-01d](side-quest-09-01d-pattern-permission-denied.md) |
| "Done" with no write | How to clarify write conditions and fallback behavior | [09-01e](side-quest-09-01e-pattern-done-no-write.md) |

Expand Down
2 changes: 1 addition & 1 deletion workshop/side-quest-09-01c-pattern-safe-output-blocked.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- page-journey: all -->
<!-- page-adventure: side-quest -->
# Side Quest 09-01c: Pattern — Safe-output `limit reached`
# Side Quest 09-01c: Pattern — [Safe-output](https://github.github.com/gh-aw/reference/safe-outputs/) `limit reached`

## 🎯 What You'll Do

Expand Down
2 changes: 1 addition & 1 deletion workshop/side-quest-09-01f-debugging-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ You will apply a repeatable seven-step triage flow whenever a run produces unexp
1. Open the live log in **Actions** and scan for `[error]` lines first.
2. Check `[plan]` density. More than four consecutive plan lines without a tool call usually means your brief is underspecified.
3. Inspect `[tool]` and `[result]` lines to confirm expected data is returned.
4. Look for `limit reached` safe-output errors, such as `E002: add-comment limit reached — 1 of 1 already used this run`, and decide whether to increase `max` or tighten "post once" guidance.
4. Look for `limit reached` [safe-output](https://github.github.com/gh-aw/reference/safe-outputs/) errors, such as `E002: add-comment limit reached — 1 of 1 already used this run`, and decide whether to increase `max` or tighten "post once" guidance.
5. Read the run summary and compare it to your expected write behavior.
6. Open the [safe-output record](https://github.github.com/gh-aw/reference/safe-outputs/) in the job details and treat it as source of truth for writes.
7. If behavior is still unclear, ask the `agentic-workflows` skill to diagnose your workflow with a pasted snippet.
Expand Down
6 changes: 3 additions & 3 deletions workshop/side-quest-10-02-jailbreak-brief.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ This mimics the format of a high-priority system instruction, betting that the a

## Why gh-aw reduces the risk

gh-aw can combine five defence layers. Four are core, and `threat-detection` is an optional fifth layer you enable under `safe-outputs:`. Here is the short version, in three groups:
gh-aw can combine five [defence layers](https://github.github.com/gh-aw/introduction/architecture/#security-model). Four are core, and `threat-detection` is an optional fifth layer you enable under `safe-outputs:`. Here is the short version, in three groups:

- **Compiled task brief** — The task brief is baked in before any data arrives. Issue bodies and PR descriptions reach the agent as structured tool call results, competing with an authoritative baseline rather than replacing it.
- **[Compiled task brief](https://github.github.com/gh-aw/reference/compilation-process/#overview)** — The task brief is baked in before any data arrives. Issue bodies and PR descriptions reach the agent as structured tool call results, competing with an authoritative baseline rather than replacing it.
- **Minimal `permissions:` + `safe-outputs`** — The `GITHUB_TOKEN` enforces declared permission boundaries; `safe-outputs` removes write tool paths that were never declared, so a jailbreak instruction to push a commit has no execution path.
- **`network.allowed` + optional [agentic threat detection](https://github.github.com/gh-aw/reference/threat-detection/)** — The network layer blocks data exfiltration to unlisted endpoints; if you enable `threat-detection` under `safe-outputs:`, a separate detection job reviews agent output in an isolated sandbox before any declared write lands.
- **`network.allowed` + optional [agentic threat detection](https://github.github.com/gh-aw/reference/threat-detection/)** — The [network layer](https://github.github.com/gh-aw/reference/network/#configuration) blocks data exfiltration to unlisted endpoints; if you enable `threat-detection` under `safe-outputs:`, a separate detection job reviews agent output in an isolated sandbox before any declared write lands.

<details>
<summary>Detailed breakdown of each layer</summary>
Expand Down