[architecture] Update architecture diagram - 2026-03-31#23657
Conversation
Add pkg/semverutil to package reference, refresh diagram layout to show actual dependency directions (cli→workflow→parser, console←all), and update entry point annotations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Rebuilds and refreshes the gh-aw architecture diagram documentation to reflect the current package set and intended dependency structure as of 2026-03-31.
Changes:
- Updates the diagram header metadata (date + workflow run link) and redraws the ASCII dependency diagram.
- Expands and reorganizes the package reference table (including adding
pkg/semverutil). - Reframes shared primitives (
pkg/constants,pkg/types) and utilities grouping in the diagram.
Comments suppressed due to low confidence (2)
scratchpad/architecture.md:38
- The diagram lists
pkg/semver, but the repository haspkg/semverutil/(and the package reference table below usespkg/semverutil). This looks like an outdated/incorrect package name in the utilities row—please update the diagram label to match the actual package directory/name so readers can find it.
│ ┌──────────┐ ┌─────────────┐ ┌────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │pkg/envutil│ │pkg/repoutil │ │pkg/sliceutil│ │pkg/semver│ │pkg/timeutil│ │pkg/mathutil│ │
│ └──────────┘ └─────────────┘ └────────────┘ └──────────┘ └──────────┘ └──────────┘ │
scratchpad/architecture.md:23
- The arrow between
pkg/parserandpkg/consolecurrently points towardpkg/parser, implyingpkg/consoledepends onpkg/parser. In code,pkg/parserimportspkg/console(andpkg/cli/pkg/workflowdo too), so the dependency direction should be towardpkg/console(or use a non-directional annotation if the intent is just “console is used by core packages”).
│ │ pkg/cli │──▶ │ pkg/workflow │──▶ │ pkg/parser │ │ pkg/console │ │
│ │ Command │ │ Workflow compilation │ │ Markdown/YAML │ ◀─│ Terminal UI │ │
│ │ impls │ │ engine │ │ parsing │ │ rendering │ │
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| │ │ cmd/gh-aw │ │ cmd/gh-aw-wasm │ │ | ||
| │ │ GitHub CLI extension binary │ │ WebAssembly target │ │ | ||
| │ └──────┬──────────────────────┬────────────┘ └──────────────────┬──────────────────────┘ │ | ||
| │ │ │ │ │ |
There was a problem hiding this comment.
The diagram implies cmd/gh-aw depends only on pkg/cli (and possibly pkg/workflow), and that cmd/gh-aw-wasm has a single dependency. However, cmd/gh-aw/main.go directly imports pkg/cli, pkg/console, pkg/constants, pkg/parser, and pkg/workflow, and cmd/gh-aw-wasm/main.go imports both pkg/parser and pkg/workflow. If this diagram is meant to reflect actual package import dependencies (per the overview text), please update the entry-point edges/annotations accordingly; otherwise clarify that the diagram is a simplified layer view.
This issue also appears in the following locations of the same file:
- line 21
- line 36
Full rebuild of the architecture diagram from HEAD
98b01af(2026-03-31).Changes
pkg/semverutilto the package reference tablecmd/gh-aw→pkg/cli→pkg/workflow→pkg/parser, withpkg/consoleused by all core packagescmd/gh-aw-wasmas importing onlypkg/parserandpkg/workflow(no cobra/CLI layer)pkg/constantsandpkg/typeshave zero internal dependenciesPackages (21 total)
2 entry points · 4 core · 2 shared primitives · 13 utilities (including 1 test-only)
References:
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: