[architecture] Update architecture diagram - 2026-05-01#29488
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the repository architecture documentation by regenerating the package dependency diagram and refreshing the package reference table to reflect current layering (entry points, core, utilities).
Changes:
- Regenerated the ASCII architecture diagram with three explicit layers.
- Updated the package reference table to include entry points and additional packages with descriptions/layer classification.
- Refined overview text to describe the layered organization.
Show a summary per file
| File | Description |
|---|---|
scratchpad/architecture.md |
Refreshes the architecture ASCII diagram and the package reference table to reflect the current package set and layering. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (1)
scratchpad/architecture.md:49
- In the diagram, the
pkg/semverutillabel is truncated topkg/semverut, and this row also appears to be missing the closing right-side frame│, breaking the ASCII diagram formatting.
│ │pkg/constants │pkg/repoutil│ │pkg/semverut│ │ pkg/types │ │pkg/typeutil│ │pkg/envutil │
- Files reviewed: 1/1 changed files
- Comments generated: 4
| # Architecture Diagram | ||
|
|
||
| > Last updated: 2026-04-30 · Source: [🏗️ Architecture Diagram: Full rebuild — gh-aw package architecture (2026-04-30)](https://github.com/github/gh-aw/issues) | ||
| > Last updated: 2026-05-01 · Source: [Architecture Diagram Issue](https://github.com/github/gh-aw/issues) |
There was a problem hiding this comment.
The “Source” link points to the generic issues index rather than the specific architecture diagram issue for this update, which makes it hard to trace the generated diagram back to its source. Please link to the exact issue (or PR/run artifact) that produced this diagram.
| > Last updated: 2026-05-01 · Source: [Architecture Diagram Issue](https://github.com/github/gh-aw/issues) | |
| > Last updated: 2026-05-01 · Source: [Architecture Diagram Issue](https://github.com/github/gh-aw/issues/1234) |
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ | ||
| │ │pkg/fileutil│ │pkg/gitutil │ │ pkg/logger │ │pkg/stringut│ │pkg/sliceutil │ pkg/tty │ │ | ||
| │ │File path & │ │Git repo │ │Namespace │ │String │ │Slice helper│ │TTY detect│ │ | ||
| │ │operations │ │operations │ │debug logs │ │utilities │ │functions │ │ │ │ | ||
| │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ | ||
| │ │ | ||
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ | ||
| │ │pkg/constants │pkg/repoutil│ │pkg/semverut│ │ pkg/types │ │pkg/typeutil│ │pkg/envutil │ | ||
| │ │Shared consts │Repo slug & │ │Semver │ │Shared type │ │Type convert│ │Env var │ │ | ||
| │ │& type aliases │URL helpers │ │primitives │ │definitions │ │utilities │ │utilities │ │ | ||
| │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ |
There was a problem hiding this comment.
In the diagram, the pkg/stringutil label is truncated to pkg/stringut and the row is missing the closing right border character, which breaks the ASCII box formatting and makes the package name inaccurate.
This issue also appears on line 49 of the same file.
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ | |
| │ │pkg/fileutil│ │pkg/gitutil │ │ pkg/logger │ │pkg/stringut│ │pkg/sliceutil │ pkg/tty │ │ | |
| │ │File path & │ │Git repo │ │Namespace │ │String │ │Slice helper│ │TTY detect│ │ | |
| │ │operations │ │operations │ │debug logs │ │utilities │ │functions │ │ │ │ | |
| │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ | |
| │ │ | |
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ | |
| │ │pkg/constants │pkg/repoutil│ │pkg/semverut│ │ pkg/types │ │pkg/typeutil│ │pkg/envutil │ | |
| │ │Shared consts │Repo slug & │ │Semver │ │Shared type │ │Type convert│ │Env var │ │ | |
| │ │& type aliases │URL helpers │ │primitives │ │definitions │ │utilities │ │utilities │ │ | |
| │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ | |
| │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────┐ │ | |
| │ │pkg/fileutil│ │pkg/gitutil │ │ pkg/logger │ │pkg/stringutil│ │pkg/sliceutil│ │ pkg/tty │ │ | |
| │ │File path & │ │Git repo │ │Namespace │ │String │ │Slice helper │ │TTY detect│ │ | |
| │ │operations │ │operations │ │debug logs │ │utilities │ │functions │ │ │ │ | |
| │ └────────────┘ └────────────┘ └────────────┘ └─────────────┘ └─────────────┘ └──────────┘ │ | |
| │ │ | |
| │ ┌──────────────┐ ┌────────────┐ ┌─────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ | |
| │ │pkg/constants │ │pkg/repoutil│ │pkg/semverutil│ │ pkg/types │ │pkg/typeutil│ │pkg/envutil │ │ | |
| │ │Shared consts │ │Repo slug & │ │Semver │ │Shared type │ │Type convert│ │Env var │ │ | |
| │ │& type aliases│ │URL helpers │ │primitives │ │definitions │ │utilities │ │utilities │ │ | |
| │ └──────────────┘ └────────────┘ └─────────────┘ └────────────┘ └────────────┘ └────────────┘ │ |
| │ │ | ||
| │ ┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐ │ | ||
| │ │ pkg/cli │──▶│ pkg/workflow │──▶│ pkg/parser │ │ | ||
| │ │ Command implementations │ │ Workflow compiler engine │ │ Markdown/YAML frontmatter│ │ |
There was a problem hiding this comment.
The pkg/parser description in the diagram runs into the right border (frontmatter│), which suggests the text exceeds the box width and breaks the ASCII alignment. Consider shortening/wrapping the text or widening the box so the border characters stay aligned.
| │ │ Command implementations │ │ Workflow compiler engine │ │ Markdown/YAML frontmatter│ │ | |
| │ │ Command implementations │ │ Workflow compiler engine │ │ Markdown/YAML parsing │ │ |
| | cmd/gh-aw | Entry Point | Main CLI binary (`gh aw` extension) | | ||
| | cmd/gh-aw-wasm | Entry Point | WebAssembly compilation target | | ||
| | pkg/cli | Core | Command implementations (compile, run, audit, logs, mcp, etc.) | | ||
| | pkg/workflow | Core | Workflow compiler engine — markdown→GitHub Actions YAML | |
There was a problem hiding this comment.
The workflow description uses inconsistent casing/spacing (markdown→GitHub Actions YAML) compared to the rest of the table (e.g., “Markdown …” with spaces). For consistency and readability, consider using “Markdown → GitHub Actions YAML”.
| | pkg/workflow | Core | Workflow compiler engine — markdown→GitHub Actions YAML | | |
| | pkg/workflow | Core | Workflow compiler engine — Markdown → GitHub Actions YAML | |
Updates
scratchpad/architecture.mdwith the latest full-rebuild architecture diagram generated from analyzing all 22 packages in the repository.Changes
Related to architecture diagram issue created in this workflow run.