published Aug 18, 2026, 6:29 AM · updated Aug 18, 2026, 4:53 PM
Summary
The workshop order graph was reviewed across 92 pages (92 nodes, 326 edges). The graph is largely healthy. Three reported cycles and three "weird cycles" are all false positives produced by the heuristic treating bidirectional prerequisite declarations (A lists B as its next step; B lists A as a before-requirement) as loops — these are correct, intentional navigational patterns (error-recovery round-trips, alternative setup paths). One confirmed ordering problem was found.
Mermaid graph
graph TD
node_001["00 00-welcome.md\nWelcome to our Agent Factory Tour"]
node_002["01 01-prerequisites.md\nBefore we start"]
node_003["01-SQ01 side-quest-01-01-terminal-basics.md\nSide Quest: Terminal Basics"]
node_004["01-SQ02 side-quest-01-02-environment-reference.md\nSide Quest: Environment Reference"]
node_005["01-SQ03 side-quest-01-03-permission-errors.md\nSide Quest: Permission Errors"]
node_006["02a 02a-setup-codespace.md\nSet Up a Codespace"]
node_007["02-SQ01 side-quest-02-01-local-terminal.md\nSide Quest: Set Up Your Local Terminal"]
node_008["04 04-github-actions-intro.md\nGitHub Actions in 5 Minutes"]
node_009["05 05-agentic-workflows-intro.md\nWhat Are Agentic Workflows?"]
node_010["05b 05b-agentic-workflows-security.md\nHow Agentic Workflows Stay Safe"]
node_011["05c 05c-agentic-workflows-practice.md\nPractice: Recognize Agentic Workflows"]
node_012["05-SQ01 side-quest-05-01-actions-power-user.md\nSide Quest: Agentic Workflows for GitHub Actions Power Users"]
node_013["05-SQ02 side-quest-05-02-aw-deep-dive.md\nSide Quest: Classify Agentic vs. Standard Workflows"]
node_014["05-SQ03 side-quest-05-03-two-file-structure.md\nSide Quest: The Two-File Structure"]
node_015["06 06-install-gh-aw.md\nInstall the gh-aw CLI Extension"]
node_016["06-SQ01 side-quest-06-01-install-troubleshooting.md\nSide Quest: Install `gh-aw` Troubleshooting"]
node_017["06-SQ02 side-quest-06-02-cca-codespace.md\nSide Quest: Use `gh-aw` with the GitHub Copilot Cloud Agent"]
node_018["06-SQ03 side-quest-06-03-copilot-token.md\nSide Quest: Configure GitHub Copilot Authentication"]
node_019["06-SQ04 side-quest-06-04-install-local.md\nSide Quest: Install `gh-aw` in a Local Terminal"]
node_020["07 07-your-first-workflow.md\nWrite Your First Agentic Workflow"]
node_021["07d 07d-confirm-model-access.md\nConfirm Model Access"]
node_022["07-SQ01 side-quest-07-01-compile-workflow.md\nSide Quest: Using `gh aw compile` to Catch Errors Early"]
node_023["08 08-run-your-workflow.md\nRun and Watch Your Workflow"]
node_024["08b 08b-interpret-your-run.md\nInterpret Your First Run"]
node_025["08-SQ01 side-quest-08-01-codespaces-actions-write.md\nSide Quest: Fix Codespaces `actions:write` Errors When Running `gh aw run`"]
node_026["09 09-agentic-editing.md\nRefine, Test, and Improve Your Workflow"]
node_027["09-SQ01 side-quest-09-01-debug-output.md\nSide Quest: Diagnosing Common Agent Output Patterns"]
node_028["10-SQ01 side-quest-10-01-agent-brief.md\nSide Quest: Writing a Clear Agent Brief"]
node_029["10-SQ02 side-quest-10-02-jailbreak-brief.md\nSide Quest: Jailbreaking the Agent Brief"]
node_030["11-SQ01 side-quest-11-01-frontmatter-deep-dive.md\nSide Quest: Frontmatter Deep Dive — Part A"]
node_031["11-SQ02 side-quest-11-02-yaml-frontmatter.md\nSide Quest: YAML Frontmatter Pitfalls"]
node_032["11-SQ03 side-quest-11-03-better-prompts.md\nSide Quest: Write Better AI Task Briefs"]
node_033["11-SQ04 side-quest-11-04-annotated-workflow.md\nSide Quest: Explore and Adapt an Annotated Workflow"]
node_034["11-SQ05 side-quest-11-05-event-triggers.md\nSide Quest: Event-Driven Triggers in Agentic Workflows"]
node_035["11-SQ06 side-quest-11-06-anthropic-key.md\nSide Quest: Configure an Anthropic API Key"]
node_036["11-SQ07 side-quest-11-07-openai-key.md\nSide Quest: Configure an OpenAI API Key"]
node_037["11-SQ08 side-quest-11-08-frontmatter-tools-outputs.md\nSide Quest: Frontmatter Deep Dive — Part B"]
node_038["11-SQ09 side-quest-11-09-agent-session-phases.md\nSide Quest: Agent Session Phases Explained"]
node_039["12-SQ01 side-quest-12-01-iterate-agent-output.md\nSide Quest: Evaluating and Iterating on Agent Output"]
node_040["13-SQ01 side-quest-13-01-pr-labeler-pattern.md\nSide Quest 13-01: Pattern — Auto-Label PRs by Content"]
node_041["13-SQ01 side-quest-13-01-schedule-expressions.md\nSide Quest: Fuzzy Schedule Expressions"]
node_042["13-SQ02 side-quest-13-02-pr-summary-pattern.md\nSide Quest 13-02: Pattern — Generate a PR Summary Comment"]
node_043["13-SQ03 side-quest-13-03-pr-checklist-pattern.md\nSide Quest 13-03: Pattern — PR Review Checklist"]
node_044["13-SQ04 side-quest-13-04-token-optimization.md\nSide Quest: Observe and Reduce Token Costs"]
node_045["14 14-next-steps.md\nWhat's Next? Keep Exploring"]
node_046["14b 14b-pr-reviewer-workflow.md\nBuild a PR Reviewer with an Agent and Skill"]
node_047["15 15-conditional-logic.md\nMake Your Workflow Smarter with Conditional Logic"]
node_048["15-SQ01 side-quest-15-01-expressions-and-contexts.md\nSide Quest: GitHub Actions Expressions and Contexts"]
node_049["15-SQ02 side-quest-15-02-chaining-conditions.md\nSide Quest: Chaining Conditions — Run an Agent Only When Security Findings Exist"]
node_050["16 16-connect-data-source.md\nConnect a Live Data Source to Your Workflow"]
node_051["16-SQ01 side-quest-16-01-github-output.md\nSide Quest: Passing Data Between Steps with $GITHUB_OUTPUT"]
node_052["16-SQ02 side-quest-16-02-secrets-and-permissions.md\nSide Quest: Storing Credentials with GitHub Secrets"]
node_053["16-SQ03 side-quest-16-03-token-exfiltration.md\nSide Quest: Token and Secret Exfiltration in Agentic Workflows"]
node_054["16-SQ04 side-quest-16-04-deterministic-vs-agentic-data-ops.md\nSide Quest: [Deterministic](https://github.github.com/gh-aw/patterns/deterministic-ops/) vs [Agentic](https://github.github.com/gh-aw/introduction/overview/`#what`-are-agentic-workflows) Data Ops"]
node_055["16-SQ05 side-quest-16-05-long-lived-credentials.md\nSide Quest: Long-Lived Credential Risks in Agentic Workflows"]
node_056["17 17-add-mcp-tools.md\nGive Your Agent More Tools with MCP"]
node_057["17-SQ01 side-quest-17-01-mcp-concepts.md\nSide Quest: How MCP Tool Servers Work"]
node_058["17-SQ02 side-quest-17-02-security-architecture.md\nSide Quest: Agentic Workflow Security Architecture (Explain Like You're 5)"]
node_059["17-SQ03 side-quest-17-03-prompt-injection.md\nSide Quest: [Prompt Injection](https://github.github.com/gh-aw/introduction/architecture/`#threat`-model) Attacks in Agentic Workflows"]
node_060["17-SQ04 side-quest-17-04-permission-escalation.md\nSide Quest: Permission Escalation in [Agentic Workflows](https://github.github.com/gh-aw/introduction/overview/`#what`-are-agentic-workflows)"]
node_061["17-SQ05 side-quest-17-05-supply-chain-mcp.md\nSide Quest: [Supply Chain](https://github.github.com/gh-aw/introduction/architecture/`#threat`-model) Attacks via MCP Tool Servers"]
node_062["17-SQ06 side-quest-17-06-output-injection.md\nSide Quest: Output Injection via Safe Outputs"]
node_063["17-SQ07 side-quest-17-07-repo-poisoning.md\nSide Quest: Repository Poisoning via Agentic Write Access"]
node_064["18 18-share-and-reuse.md\nShare and Reuse Your Agentic Workflows"]
node_065["19 19-research-driven-training-node.md\nBuild a Research-Driven Next Training Node"]
node_066["20 20-persistent-memory.md\nMake Your Workflow Remember Across Runs"]
node_067["20-SQ01 side-quest-20-01-memory-patterns.md\nSide Quest: Choosing Between [Cache Memory](https://github.github.com/gh-aw/reference/cache-memory/) and [Repo Memory](https://github.github.com/gh-aw/reference/repo-memory/)"]
node_068["21 21-inline-sub-agents.md\nSplit Complex Workflows with [Inline Sub-Agents](https://github.github.com/gh-aw/reference/inline-sub-agents/)"]
node_069["21-SQ01 side-quest-21-01-sub-agent-syntax.md\nSide Quest: Sub-Agent Syntax Reference"]
node_070["22 22-error-handling-and-resilience.md\nMake Your Workflows Resilient to Failure"]
node_071["23 23-ab-experiments.md\nTest Your Prompt Ideas with [A/B Experiments](https://github.github.com/gh-aw/experimental/experiments/)"]
node_072["24 24-self-hosted-runners.md\nRun Your Agentic Workflow on a Self-Hosted Runner"]
node_073["24-SQ01 side-quest-24-01-runner-infrastructure.md\nSide Quest: Self-Hosted Runner Infrastructure Deep Dive"]
node_074["25 25-audit-and-observability.md\nAudit and Monitor Your Agentic Workflows"]
node_075["25-SQ01 side-quest-25-01-audit-reference.md\nSide Quest: Audit Reference — Artifacts, Firewall Logs, and Report Contents"]
node_076["26 26-manage-costs-and-budgets.md\nManage Costs and AI Credit Budgets"]
node_077["26-SQ01 side-quest-26-01-forecast-costs.md\nSide Quest: Project Future AI Credit Costs with `gh aw forecast`"]
node_078["27 27-evaluate-workflow-quality.md\nVerify Your Workflow Quality with Evals"]
node_079["28 28-orchestrate-workflows.md\nOrchestrate Multiple Agentic Workflows"]
node_080["29 29-skills-and-domain-knowledge.md\nTeach Your Agent Domain Knowledge with Skills"]
node_081["side-quest-06-03a-copilot-requests-permission side-quest-06-03a-copilot-requests-permission.md\nSide Quest: Method 1 — Copilot Requests Permission"]
node_082["side-quest-06-03b-copilot-github-token side-quest-06-03b-copilot-github-token.md\nSide Quest: Method 2 — COPILOT_GITHUB_TOKEN Secret"]
node_083["side-quest-06-03c-copilot-github-token-ui-only side-quest-06-03c-copilot-github-token-ui-only.md\nSide Quest: Method 2 (UI-only) — COPILOT_GITHUB_TOKEN Secret"]
node_084["side-quest-07d-billing-paths side-quest-07d-billing-paths.md\nSide Quest: Copilot Billing Paths"]
node_085["side-quest-09-01a-pattern-long-plan-chain side-quest-09-01a-pattern-long-plan-chain.md\nSide Quest 09-01a: Pattern — Long `[plan]` Chains"]
node_086["side-quest-09-01b-pattern-empty-results side-quest-09-01b-pattern-empty-results.md\nSide Quest 09-01b: Pattern — Empty `[result]` Data"]
node_087["side-quest-09-01c-pattern-safe-output-blocked side-quest-09-01c-pattern-safe-output-blocked.md\nSide Quest 09-01c: Pattern — [Safe-output](https://github.github.com/gh-aw/reference/safe-outputs/) `limit reached`"]
node_088["side-quest-09-01d-pattern-permission-denied side-quest-09-01d-pattern-permission-denied.md\nSide Quest 09-01d: Pattern — `permission denied`"]
node_089["side-quest-09-01e-pattern-done-no-write side-quest-09-01e-pattern-done-no-write.md\nSide Quest 09-01e: Pattern — \"Done\" but Nothing Written"]
node_090["side-quest-09-01f-debugging-checklist side-quest-09-01f-debugging-checklist.md\nSide Quest 09-01f: Debugging Checklist"]
node_091["side-quest-11-01b-workflow-structure side-quest-11-01b-workflow-structure.md\nSide Quest: Workflow File Structure at a Glance"]
node_092["side-quest-enterprise-setup side-quest-enterprise-setup.md\nSide Quest: Enterprise Setup Considerations"]
node_001 -->|next| node_002
node_002 -->|next| node_006
node_006 -->|before| node_004
node_007 -->|before| node_004
node_006 -->|capability:environment_ready| node_004
node_006 -->|capability:gh_installed| node_004
node_006 -->|capability:gh_authenticated| node_004
node_003 -->|before| node_005
node_006 -->|next| node_008
node_007 -->|capability:environment_ready| node_006
node_007 -->|capability:gh_installed| node_006
node_007 -->|next| node_008
node_002 -->|before| node_007
node_006 -->|capability:environment_ready| node_007
node_006 -->|capability:gh_installed| node_007
node_006 -->|capability:gh_authenticated| node_007
node_008 -->|next| node_009
node_009 -->|next| node_010
node_008 -->|before| node_009
node_010 -->|before| node_009
node_006 -->|capability:environment_ready| node_009
node_006 -->|capability:gh_installed| node_009
node_006 -->|capability:gh_authenticated| node_009
node_010 -->|next| node_011
node_009 -->|before| node_010
node_011 -->|next| node_015
node_009 -->|before| node_011
node_008 -->|before| node_012
node_009 -->|before| node_012
node_009 -->|before| node_013
node_009 -->|before| node_014
node_006 -->|capability:environment_ready| node_014
node_006 -->|capability:gh_installed| node_014
node_006 -->|capability:gh_authenticated| node_014
node_015 -->|next| node_020
node_006 -->|before| node_015
node_009 -->|before| node_015
node_006 -->|capability:environment_ready| node_015
node_006 -->|capability:gh_installed| node_015
node_006 -->|capability:gh_authenticated| node_015
node_006 -->|capability:environment_ready| node_016
node_006 -->|capability:gh_installed| node_016
node_006 -->|capability:gh_authenticated| node_016
node_006 -->|capability:environment_ready| node_017
node_006 -->|capability:gh_installed| node_017
node_006 -->|capability:gh_authenticated| node_017
node_015 -->|before| node_018
node_006 -->|capability:environment_ready| node_018
node_006 -->|capability:gh_installed| node_018
node_006 -->|capability:gh_authenticated| node_018
node_019 -->|next| node_020
node_002 -->|before| node_019
node_009 -->|before| node_019
node_007 -->|before| node_019
node_006 -->|capability:environment_ready| node_019
node_006 -->|capability:gh_installed| node_019
node_006 -->|capability:gh_authenticated| node_019
node_020 -->|next| node_021
node_015 -->|before| node_020
node_021 -->|before| node_020
node_006 -->|capability:environment_ready| node_020
node_006 -->|capability:gh_installed| node_020
node_006 -->|capability:gh_authenticated| node_020
node_021 -->|next| node_023
node_020 -->|before| node_021
node_006 -->|capability:environment_ready| node_022
node_006 -->|capability:gh_installed| node_022
node_006 -->|capability:gh_authenticated| node_022
node_023 -->|next| node_024
node_021 -->|before| node_023
node_006 -->|capability:environment_ready| node_023
node_006 -->|capability:gh_installed| node_023
node_006 -->|capability:gh_authenticated| node_023
node_024 -->|next| node_026
node_023 -->|before| node_024
node_006 -->|capability:environment_ready| node_024
node_006 -->|capability:gh_installed| node_024
node_006 -->|capability:gh_authenticated| node_024
node_023 -->|before| node_025
node_006 -->|capability:environment_ready| node_025
node_006 -->|capability:gh_installed| node_025
node_006 -->|capability:gh_authenticated| node_025
node_026 -->|next| node_045
node_024 -->|before| node_026
node_006 -->|capability:environment_ready| node_026
node_006 -->|capability:gh_installed| node_026
node_006 -->|capability:gh_authenticated| node_026
node_024 -->|before| node_027
node_006 -->|before| node_028
node_024 -->|before| node_028
node_007 -->|before| node_028
node_026 -->|before| node_029
node_028 -->|before| node_029
node_030 -->|next| node_037
node_020 -->|before| node_030
node_006 -->|capability:environment_ready| node_030
node_006 -->|capability:gh_installed| node_030
node_006 -->|capability:gh_authenticated| node_030
node_020 -->|before| node_032
node_026 -->|before| node_032
node_020 -->|before| node_033
node_006 -->|capability:environment_ready| node_033
node_006 -->|capability:gh_installed| node_033
node_006 -->|capability:gh_authenticated| node_033
node_006 -->|capability:environment_ready| node_034
node_006 -->|capability:gh_installed| node_034
node_006 -->|capability:gh_authenticated| node_034
node_006 -->|capability:environment_ready| node_035
node_006 -->|capability:gh_installed| node_035
node_006 -->|capability:gh_authenticated| node_035
node_015 -->|before| node_036
node_004 -->|before| node_036
node_030 -->|before| node_036
node_006 -->|capability:environment_ready| node_036
node_006 -->|capability:gh_installed| node_036
node_006 -->|capability:gh_authenticated| node_036
node_030 -->|before| node_037
node_006 -->|capability:environment_ready| node_037
node_006 -->|capability:gh_installed| node_037
node_006 -->|capability:gh_authenticated| node_037
node_009 -->|before| node_038
node_015 -->|before| node_038
node_006 -->|capability:environment_ready| node_038
node_006 -->|capability:gh_installed| node_038
node_006 -->|capability:gh_authenticated| node_038
node_026 -->|before| node_039
node_006 -->|capability:environment_ready| node_039
node_006 -->|capability:gh_installed| node_039
node_006 -->|capability:gh_authenticated| node_039
node_046 -->|before| node_040
node_006 -->|capability:environment_ready| node_040
node_006 -->|capability:gh_installed| node_040
node_006 -->|capability:gh_authenticated| node_040
node_026 -->|before| node_041
node_006 -->|capability:environment_ready| node_041
node_006 -->|capability:gh_installed| node_041
node_006 -->|capability:gh_authenticated| node_041
node_046 -->|before| node_042
node_006 -->|capability:environment_ready| node_042
node_006 -->|capability:gh_installed| node_042
node_006 -->|capability:gh_authenticated| node_042
node_046 -->|before| node_043
node_006 -->|capability:environment_ready| node_043
node_006 -->|capability:gh_installed| node_043
node_006 -->|capability:gh_authenticated| node_043
node_046 -->|before| node_044
node_074 -->|before| node_044
node_076 -->|before| node_044
node_006 -->|capability:environment_ready| node_044
node_006 -->|capability:gh_installed| node_044
node_006 -->|capability:gh_authenticated| node_044
node_045 -->|next| node_046
node_026 -->|before| node_045
node_046 -->|next| node_047
node_026 -->|before| node_046
node_006 -->|capability:environment_ready| node_046
node_006 -->|capability:gh_installed| node_046
node_006 -->|capability:gh_authenticated| node_046
node_047 -->|next| node_050
node_020 -->|before| node_047
node_026 -->|before| node_047
node_006 -->|capability:environment_ready| node_047
node_006 -->|capability:gh_installed| node_047
node_006 -->|capability:gh_authenticated| node_047
node_048 -->|next| node_050
node_047 -->|before| node_048
node_047 -->|before| node_049
node_006 -->|capability:environment_ready| node_049
node_006 -->|capability:gh_installed| node_049
node_006 -->|capability:gh_authenticated| node_049
node_050 -->|next| node_056
node_015 -->|before| node_050
node_020 -->|before| node_050
node_026 -->|before| node_050
node_006 -->|capability:environment_ready| node_050
node_006 -->|capability:gh_installed| node_050
node_006 -->|capability:gh_authenticated| node_050
node_050 -->|before| node_052
node_020 -->|before| node_053
node_050 -->|before| node_053
node_050 -->|before| node_054
node_050 -->|before| node_055
node_052 -->|before| node_055
node_056 -->|next| node_064
node_015 -->|before| node_056
node_020 -->|before| node_056
node_006 -->|capability:environment_ready| node_056
node_006 -->|capability:gh_installed| node_056
node_006 -->|capability:gh_authenticated| node_056
node_056 -->|before| node_057
node_006 -->|capability:environment_ready| node_057
node_006 -->|capability:gh_installed| node_057
node_006 -->|capability:gh_authenticated| node_057
node_009 -->|before| node_058
node_020 -->|before| node_058
node_056 -->|before| node_058
node_056 -->|before| node_060
node_057 -->|before| node_061
node_061 -->|before| node_062
node_056 -->|before| node_063
node_064 -->|next| node_065
node_026 -->|before| node_064
node_006 -->|capability:environment_ready| node_064
node_006 -->|capability:gh_installed| node_064
node_006 -->|capability:gh_authenticated| node_064
node_065 -->|next| node_066
node_064 -->|before| node_065
node_006 -->|capability:environment_ready| node_065
node_006 -->|capability:gh_installed| node_065
node_006 -->|capability:gh_authenticated| node_065
node_066 -->|next| node_068
node_020 -->|before| node_066
node_056 -->|before| node_066
node_037 -->|before| node_066
node_006 -->|capability:environment_ready| node_066
node_006 -->|capability:gh_installed| node_066
node_006 -->|capability:gh_authenticated| node_066
node_020 -->|before| node_067
node_066 -->|before| node_067
node_068 -->|next| node_070
node_020 -->|before| node_068
node_022 -->|before| node_068
node_006 -->|capability:environment_ready| node_068
node_006 -->|capability:gh_installed| node_068
node_006 -->|capability:gh_authenticated| node_068
node_068 -->|before| node_069
node_022 -->|before| node_069
node_006 -->|capability:environment_ready| node_069
node_006 -->|capability:gh_installed| node_069
node_006 -->|capability:gh_authenticated| node_069
node_070 -->|next| node_071
node_026 -->|before| node_070
node_006 -->|capability:environment_ready| node_070
node_006 -->|capability:gh_installed| node_070
node_006 -->|capability:gh_authenticated| node_070
node_071 -->|next| node_072
node_020 -->|before| node_071
node_022 -->|before| node_071
node_006 -->|capability:environment_ready| node_071
node_006 -->|capability:gh_installed| node_071
node_006 -->|capability:gh_authenticated| node_071
node_072 -->|next| node_074
node_026 -->|before| node_072
node_092 -->|before| node_072
node_006 -->|capability:environment_ready| node_072
node_006 -->|capability:gh_installed| node_072
node_006 -->|capability:gh_authenticated| node_072
node_072 -->|before| node_073
node_074 -->|next| node_076
node_015 -->|before| node_074
node_026 -->|before| node_074
node_006 -->|capability:environment_ready| node_074
node_006 -->|capability:gh_installed| node_074
node_006 -->|capability:gh_authenticated| node_074
node_015 -->|before| node_075
node_074 -->|before| node_075
node_006 -->|capability:environment_ready| node_075
node_006 -->|capability:gh_installed| node_075
node_006 -->|capability:gh_authenticated| node_075
node_074 -->|before| node_076
node_006 -->|capability:environment_ready| node_076
node_006 -->|capability:gh_installed| node_076
node_006 -->|capability:gh_authenticated| node_076
node_006 -->|capability:environment_ready| node_077
node_006 -->|capability:gh_installed| node_077
node_006 -->|capability:gh_authenticated| node_077
node_078 -->|next| node_079
node_023 -->|before| node_078
node_071 -->|before| node_078
node_076 -->|before| node_078
node_006 -->|capability:environment_ready| node_078
node_006 -->|capability:gh_installed| node_078
node_006 -->|capability:gh_authenticated| node_078
node_079 -->|next| node_080
node_046 -->|before| node_079
node_078 -->|before| node_079
node_022 -->|before| node_079
node_006 -->|capability:environment_ready| node_079
node_006 -->|capability:gh_installed| node_079
node_006 -->|capability:gh_authenticated| node_079
node_079 -->|before| node_080
node_022 -->|before| node_080
node_006 -->|capability:environment_ready| node_080
node_006 -->|capability:gh_installed| node_080
node_006 -->|capability:gh_authenticated| node_080
node_006 -->|before| node_081
node_007 -->|before| node_081
node_018 -->|before| node_081
node_082 -->|before| node_081
node_018 -->|before| node_082
node_006 -->|capability:environment_ready| node_082
node_006 -->|capability:gh_installed| node_082
node_006 -->|capability:gh_authenticated| node_082
node_018 -->|before| node_083
node_006 -->|capability:environment_ready| node_083
node_006 -->|capability:gh_installed| node_083
node_006 -->|capability:gh_authenticated| node_083
node_006 -->|capability:environment_ready| node_084
node_006 -->|capability:gh_installed| node_084
node_006 -->|capability:gh_authenticated| node_084
node_027 -->|before| node_085
node_006 -->|capability:environment_ready| node_085
node_006 -->|capability:gh_installed| node_085
node_006 -->|capability:gh_authenticated| node_085
node_027 -->|before| node_086
node_006 -->|capability:environment_ready| node_086
node_006 -->|capability:gh_installed| node_086
node_006 -->|capability:gh_authenticated| node_086
node_027 -->|before| node_087
node_006 -->|capability:environment_ready| node_087
node_006 -->|capability:gh_installed| node_087
node_006 -->|capability:gh_authenticated| node_087
node_027 -->|before| node_088
node_027 -->|before| node_089
node_006 -->|capability:environment_ready| node_089
node_006 -->|capability:gh_installed| node_089
node_006 -->|capability:gh_authenticated| node_089
node_027 -->|before| node_090
node_009 -->|before| node_091
node_020 -->|before| node_091
node_006 -->|capability:environment_ready| node_091
node_006 -->|capability:gh_installed| node_091
node_006 -->|capability:gh_authenticated| node_091
node_002 -->|before| node_092
node_006 -->|capability:environment_ready| node_092
node_006 -->|capability:gh_installed| node_092
Ordering constraints (sample — 326 total)
00-welcome.md→01-prerequisites.md(next link)01-prerequisites.md→02a-setup-codespace.md(next link)02a-setup-codespace.md→side-quest-01-02-environment-reference.md(before prerequisite declared in SQ02)side-quest-02-01-local-terminal.md→side-quest-01-02-environment-reference.md(before prerequisite declared in SQ02)02a-setup-codespace.md→04-github-actions-intro.md(next link)05-agentic-workflows-intro.md→05b-agentic-workflows-security.md(next link)06-install-gh-aw.md→07-your-first-workflow.md(next link)07-your-first-workflow.md→07d-confirm-model-access.md(next link + error-recovery return)
False positives dismissed
| Reported issue | Why dismissed |
|---|---|
Cycle: 07-your-first-workflow.md ↔ 07d-confirm-model-access.md |
Intentional: step 07 sends learners to 07d on error; 07d sends them back after fixing. Not a loop. |
Cycle: 05-agentic-workflows-intro.md ↔ 05b-agentic-workflows-security.md |
Heuristic treats A→B (next) + B lists A (before) as a cycle; this is a correct linear sequence. |
Cycle: 02a-setup-codespace.md ↔ side-quest-02-01-local-terminal.md |
Alternative paths (Codespace vs. local) that each provide the same environment_ready capability — by design. |
Confirmed ordering problem
workshop/side-quest-01-02-environment-reference.md — terminal commands before environment setup
File reviewed: workshop/side-quest-01-02-environment-reference.md
Exact quoted instructions that appear too early:
Run these commands in your terminal to confirm the required tools are installed and accessible:
gh --version git --version(lines 29–34)
The page also references gh aw --version at lines 42–43, and references gh aw commands in the glossary table at line 19.
Missing prerequisite: This side quest is numbered 01-SQ02 (activity order 1.2 — a step-1 side quest), but its own "Before You Start" section says:
"You have a terminal open inside your practice repository (see Set Up a Codespace or the optional Local Terminal side quest)."
Both of those dependencies come from step 2 (02a-setup-codespace.md and side-quest-02-01-local-terminal.md). The heuristic graph confirms this: the page has before_links to both step-2 pages, and its own activity ID places it at step 1.
Why this could confuse or block a learner: A learner who arrives at this side quest from the step-1 prerequisites page (the only place that numerically precedes it) will not yet have a terminal open, will not have gh installed or authenticated, and will not have a practice repository. Running gh --version and git --version will either fail (local machine without tools) or the learner won't know where to run them (no Codespace yet). The page's verify-your-tools section becomes a confusing dead-end.
Concrete suggested fix: Move this side quest's activity ID from 01-SQ02 to 02-SQ02 (or equivalent, after 02a-setup-codespace.md), or update the page-metadata comments so it is clearly positioned after step 2. Alternatively, add a prominent note at the top of the tool-verification section redirecting learners who don't yet have a terminal to complete step 2 first before running any commands — and remove the verification section from any navigation path that arrives before step 2 is complete.
This issue is ready for an agent to resolve.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🧭 Workshop Order Review · 68.9 AIC · ⌖ 10.3 AIC · ⊞ 4.8K · ◷
- expires on Aug 19, 2026, 6:29 AM UTC