Skip to content

[side-quest] Extract failure-modes primer from Step 22 into optional side quest - #2949

Merged
pelikhan merged 1 commit into
mainfrom
side-quest/22-failure-modes-4575766b863cd218
Sep 5, 2026
Merged

[side-quest] Extract failure-modes primer from Step 22 into optional side quest#2949
pelikhan merged 1 commit into
mainfrom
side-quest/22-failure-modes-4575766b863cd218

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Caution

Protected files were modified in this change.
This pull request is in request_review mode and requires explicit human scrutiny before merge.

Protected files: README.md

Source file mined: workshop/22-error-handling-and-resilience.md ("Make Your Workflows Resilient to Failure")

Side quest extracted: The step's "Understand common failure modes" section — a self-contained primer covering the four common agentic workflow failure modes (empty data, tool error, timeout, prompt drift), their effects, and the resilience diagram — was hidden inside a longer resilience-techniques walkthrough. It now lives as its own optional detour: workshop/side-quest-22-01-failure-modes.md, expanded with a match-the-fix practice exercise and a self-check prompt against the learner's own workflow runs.

Routing changes for learners:

  • Step 22 keeps a short summary of the four failure modes and their effects, plus a new "Optional Side Quest" callout pointing to the extracted detour.
  • The new side-quest file links back to Step 22 via a "Return to the main adventure" footer.
  • workshop/README.md's "Optional Side Quests" section now lists the new side quest, noting it branches from Step 22.

The main path in Step 22 (apply the three mitigations, compile, push, verify) is unchanged and still works standalone without visiting the side quest.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • registry.npmjs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "registry.npmjs.org"

See Network Configuration for more information.

Generated by 🗺️ Side Quest · copilot · auto · 127.4 AIC · ⌖ 13.6 AIC · ⊞ 8.6K ·

  • expires on Sep 6, 2026, 1:47 PM UTC

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation side-quest workshop labels Sep 5, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Protected files were modified in this pull request and require manual scrutiny before merge.

Please verify that each protected-file change is intentional, policy-compliant, and safe:

  • Protected files: README.md

@pelikhan
pelikhan marked this pull request as ready for review September 5, 2026 15:39
Copilot AI lite review requested due to automatic review settings September 5, 2026 15:39
@pelikhan
pelikhan merged commit 3f55891 into main Sep 5, 2026
1 check passed
@pelikhan
pelikhan deleted the side-quest/22-failure-modes-4575766b863cd218 branch September 5, 2026 15:39
Copilot stopped reviewing on behalf of pelikhan due to an error September 5, 2026 15:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.

Pull request overview

Adds a new “Side Quest” document that teaches common agentic workflow failure modes, and updates the main Step 22 doc + workshop index to reference it.

Changes:

  • Added a new side-quest markdown page covering four failure modes + a practice exercise.
  • Linked the side quest from the Step 22 resilience lesson via an optional callout.
  • Added the side quest to the workshop README side-quest list.
Show a summary per file
File Description
workshop/side-quest-22-01-failure-modes.md New side quest doc introducing four failure modes, visuals, and a practice section
workshop/README.md Adds the new side quest to the side-quest index list
workshop/22-error-handling-and-resilience.md Replaces the embedded failure-mode table/diagram with a TIP linking to the new side quest

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 3/3 changed files
  • Comments generated: 5
  • Review effort level: Lite

Comment on lines +23 to +28
> <details>
> <summary><b>Optional Side Quest:</b> Want a worked example of each failure mode and practice matching failures to fixes before you dive in?</summary>
>
> Work through [Side Quest: Recognizing Common Agentic Workflow Failure Modes](side-quest-22-01-failure-modes.md), then come back here.
>
> </details>
Comment thread workshop/README.md
Comment on lines 106 to +109
- [Self-Hosted Runner Infrastructure Deep Dive](side-quest-24-01-runner-infrastructure.md) — enterprise infrastructure primer covering ephemeral and JIT runners, proxy configuration, and network isolation for air-gapped environments; branches from [Step 24](24-self-hosted-runners.md).
- [Project Future AI Credit Costs with `gh aw forecast`](side-quest-26-01-forecast-costs.md) — full walkthrough of `gh aw forecast`: reading P10/P50/P90 output, using `--period week` and `--days 7`, forecasting all workflows, and deriving a `max-daily-ai-credits` value from the P90 figure; branches from [Step 26](26-manage-costs-and-budgets.md).
- [Skill Injection Strategies — Hint, Fusion, and Inline](side-quest-29-01-skill-injection-strategies.md) — decision table, code examples, and a practice exercise for the hint, fusion, and inline strategies for wiring a `SKILL.md` into a workflow prompt; branches from [Step 29](29-skills-and-domain-knowledge.md).
- [Recognizing Common Agentic Workflow Failure Modes](side-quest-22-01-failure-modes.md) — worked examples of empty data, tool error, timeout, and prompt drift failures with a match-the-fix practice exercise; branches from [Step 22](22-error-handling-and-resilience.md).

| Failure type | Example | Effect |
|---|---|---|
| **Empty data** | No open issues to summarise | Agent produces a vague or empty report |
| **Timeout** | Complex reasoning takes too long | Workflow job is cancelled by Actions |
| **Prompt drift** | Instructions are ambiguous | Agent takes an unexpected code path |

Recognising these patterns helps you write instructions that stay on track — most workflow bugs are one of these four things, not something exotic.
Comment on lines +31 to +51
The diagram below shows how these failure modes map to three mitigations: a defensive brief, a `timeout-minutes` setting, and a fallback [safe-output](https://github.github.com/gh-aw/reference/safe-outputs/).

<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/22-resilience-techniques-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="images/22-resilience-techniques-light.svg">
<img alt="Four failure modes — prompt drift, timeout, tool error, and empty data — each mapped to one of three mitigations: defensive brief, timeout-minutes, and fallback safe-output, which together produce a reliably running workflow" src="images/22-resilience-techniques-light.svg">
</picture>

### Practice: match the failure to the mitigation

Before checking your answer, decide which mitigation (defensive brief, `timeout-minutes`, or fallback safe-output) best addresses each scenario:

1. A run consistently takes 18 minutes to finish reasoning about a large diff, and Actions cancels it.
2. A run finishes cleanly but never calls a safe-output tool because the repository had no activity that day.
3. A run's summary is technically correct but ignores the instruction to flag blockers, because the brief never defined what a "blocker" is.

<details>
<summary>Reveal the answers</summary>

1. **Timeout.** Set `timeout-minutes` to a value that gives the agent headroom, or reduce the size of the input it reasons over.
2. **Empty data.** Add a defensive brief instruction that tells the agent to write a "no activity" report — and always call the safe output — even when nothing changed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation side-quest workshop

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants