Changelog
Overview
Write standardized changelog entries after completing changes. Focus on WHY not WHAT.
Config Loading
- Check if
.project-orchestrator/project.ymlexists - If yes: use
config.services[name].changelogfor the correct file path - If no: look for
CHANGELOG.mdin the service directory or project root
When to Trigger
After completing:
- Bug fixes
- New features
- Refactors affecting behavior
- API changes
- Configuration changes
Skip for: typo fixes, comment-only changes, test-only changes
Format
markdown1### YYYY-MM-DD - Brief Title 2 3**Summary:** One-line description. 4 5**What prompted the change:** 6- Motivation or problem 7 8**Problem solved:** 9- What this enables
Location
Write to the affected service's changelog path from config.services[name].changelog.
If no changelog path is configured:
- Check if
{service_path}/CHANGELOG.mdexists - If not, check if
CHANGELOG.mdexists at project root - If neither exists, ask the user where to write the entry
Multiple services? Write entry to EACH affected service's changelog.
Checklist
- Date format: YYYY-MM-DD (not "Jan 17")
- Title: Brief, describes outcome (not implementation)
- Summary: One line, WHY not WHAT
- Prompted: What problem existed
- Solved: What's now possible
- 10-20 lines max
- Written to correct service changelog
Red Flags
| Bad | Good |
|---|---|
| "Updated code" | "Fix bookmark sync failing silently" |
| "Fixed bug" | "Prevent duplicate records on import" |
| Lists files changed | Explains behavior change |
| 50+ lines | 10-20 lines |
| Entry in root README | Entry in service CHANGELOG.md |
Example
markdown1### 2026-01-17 - Fix SSE reconnection dropping notifications 2 3**Summary:** SSE connections now preserve undelivered notifications during reconnect. 4 5**What prompted the change:** 6- Users reported missing notifications after connection drops 7 8**Problem solved:** 9- Notifications queue during disconnect and deliver on reconnect