Architecture
Components
| Component |
Role |
ApplicationService |
Orchestrates end-to-end flow. |
GithubService |
GitHub GraphQL/REST operations: PR discovery/creation, label management, PR listing, tag inspection. |
ChangelogService |
Builds structured changelog section and commits changes. |
AISummarizer |
Optional AI summary generation. |
types.ts |
Shared type contracts. |
index.ts |
Entrypoint; sets outputs & error handling. |
Workflow Diagrams
Development & Release Workflow

Action Internal Sequence (Detailed)

Version Strategy
Let latest tag = vA.B.C. Next version = A.B.(C+1). Major/minor changes require external tooling or manual override (future ADR).
Changelog Section Structure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | ## [version] - YYYY-MM-DD
### AI Summary (optional)
<summary bullets>
### Added
- item (#PR)
### Changed
... details ...
### Fixed
... details ...
### Breaking changes
... details ...
|
Replacement uses a regex anchored to existing ## [<version>] block.
Error Handling
- Merge conflicts logged with a warning.
- AI failures do not abort.
- Missing repository/refs produce thrown errors (fail fast).
Extensibility Points
| Area |
Potential Extension |
| Version policy |
Support conventional commit-based semver bump. |
| Changelog parsing |
Parse PR body standardized template. |
| AI model |
Configurable model & prompt customization. |
| Label taxonomy |
Multi-label classification for changelog categories. |
Non-Goals
- Publishing releases (delegated to semantic-release).
- Semantic diffing of code changes.
- Multi-repo release orchestration.
Risks
| Risk |
Impact |
Mitigation |
| Regex replacement edge cases |
Corrupt changelog |
Unit tests around insertion logic (to add). |
| API rate limits |
Partial data |
Pagination implemented; could add backoff. |
| Inconsistent PR body formatting |
Category misclassification |
Fallback generic category heuristic. |
See ADRs for decisions influencing this design.