[ordering-review] workshop order graph: environment reference side quest requires terminal before terminal exists

Workshop Order Review · issue · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

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
Loading

Ordering constraints (sample — 326 total)

  • 00-welcome.md01-prerequisites.md (next link)
  • 01-prerequisites.md02a-setup-codespace.md (next link)
  • 02a-setup-codespace.mdside-quest-01-02-environment-reference.md (before prerequisite declared in SQ02)
  • side-quest-02-01-local-terminal.mdside-quest-01-02-environment-reference.md (before prerequisite declared in SQ02)
  • 02a-setup-codespace.md04-github-actions-intro.md (next link)
  • 05-agentic-workflows-intro.md05b-agentic-workflows-security.md (next link)
  • 06-install-gh-aw.md07-your-first-workflow.md (next link)
  • 07-your-first-workflow.md07d-confirm-model-access.md (next link + error-recovery return)

False positives dismissed

Reported issue Why dismissed
Cycle: 07-your-first-workflow.md07d-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.md05b-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.mdside-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.allowed list 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