This document outlines the process for maintaining bidirectional synchronization between local bug documentation in docs/bugs/ and GitHub Issues.
We maintain bugs in two places:
- Local Documentation:
docs/bugs/- Detailed technical documentation - GitHub Issues: Project issue tracker - Community visibility and collaboration
- Create detailed bug report in
docs/bugs/BUG-YYYY-MM-DD-###-title.md - Update
docs/bugs/README.mdbug list table - Create corresponding GitHub Issue:
gh issue create --title "BUG-YYYY-MM-DD-###: Title" \ --body "See docs/bugs/BUG-YYYY-MM-DD-###-title.md for detailed technical information" \ --label "bug,documentation"
- Add GitHub issue number to local bug file header
- Commit changes to git
- Create GitHub Issue with bug label
- Note the issue number (e.g., #42)
- Create local bug file:
docs/bugs/BUG-YYYY-MM-DD-###-title.md - Include GitHub issue reference in header
- Update
docs/bugs/README.mdbug list table - Commit changes to git
Add GitHub sync information to each bug file:
# BUG-YYYY-MM-DD-###: Title
**Status**: Open
**Priority**: High
**Component**: Component Name
**GitHub Issue**: #42
**Created**: YYYY-MM-DD
**Last Sync**: YYYY-MM-DD | Local Status | GitHub Status | Action |
|---|---|---|
| Open | Open | No action needed |
| In Progress | Open + "in progress" label | Add label to GitHub |
| Fixed | Closed + "fixed" label | Close issue with comment |
| Closed | Closed | No action needed |
- Make changes to local markdown file
- Update "Last Sync" date in header
- Add comment to GitHub Issue:
gh issue comment 42 --body "Updated technical documentation in docs/bugs/BUG-YYYY-MM-DD-###-title.md"
- Review GitHub Issue changes
- Update corresponding local bug file
- Update "Last Sync" date
- Commit changes to git
# Create issue from local bug
gh issue create --title "BUG-2025-01-001: Reroute nodes return None" \
--body "Detailed technical info: docs/bugs/BUG-2025-01-001-reroute-execution-data-loss.md" \
--label "bug,high-priority,execution"
# List all bug issues
gh issue list --label "bug"
# Close issue as fixed
gh issue close 42 --comment "Fixed in commit abc123. See updated docs/bugs/ for details."
# Add labels
gh issue edit 42 --add-label "in-progress"
# View issue details
gh issue view 42Create .github/workflows/bug-sync.yml to automate:
- Create GitHub Issue when new bug file added to docs/bugs/
- Update issue labels when bug status changes
- Comment on issues when bug files updated
Create utility scripts in scripts/ directory:
sync-bugs-to-github.py- Push local changes to GitHubsync-bugs-from-github.py- Pull GitHub updates to local filesvalidate-bug-sync.py- Check sync status
Standard GitHub labels for bug categorization:
| Label | Description | Usage |
|---|---|---|
bug |
Bug report | All bug issues |
critical |
Critical priority | System-breaking bugs |
high-priority |
High priority | Major functionality issues |
medium-priority |
Medium priority | Minor functionality issues |
low-priority |
Low priority | Cosmetic/enhancement bugs |
execution |
Execution engine | Graph execution bugs |
ui |
User interface | UI/UX bugs |
file-ops |
File operations | File I/O bugs |
node-system |
Node system | Node creation/editing bugs |
undo-redo |
Undo/redo | Command system bugs |
performance |
Performance | Speed/memory bugs |
in-progress |
Work in progress | Currently being worked on |
needs-repro |
Needs reproduction | Cannot reproduce issue |
duplicate |
Duplicate issue | Duplicate of another issue |
- Discover reroute node execution bug during testing
- Create
docs/bugs/BUG-2025-01-002-new-issue.mdwith full details - Run:
gh issue create --title "BUG-2025-01-002: New Issue" --body "See docs/bugs/BUG-2025-01-002-new-issue.md" --label "bug,high-priority" - Add GitHub issue number to bug file header
- Commit and push changes
- Fix bug in code
- Update local bug file status to "Fixed"
- Run:
gh issue close 42 --comment "Fixed in commit abc123" - Commit local file changes
- Community reports bug via GitHub Issue #45
- Create
docs/bugs/BUG-2025-01-003-community-report.md - Add GitHub Issue #45 reference to header
- Update README.md bug list
- Commit changes
- Dual Tracking: Detailed technical docs + community visibility
- Version Control: Bug documentation versioned with code
- Searchability: Local grep + GitHub search
- Integration: Links between documentation and issue tracking
- Automation: Potential for automated synchronization
- Collaboration: Community can reference detailed technical info