| name | development-workflow |
| description | Documents how feature requests and bug fixes flow through the automation system. Use when asked about the development process, how to submit a feature request, how bugs get fixed, or how the automations work together. Triggers on "how do I submit a feature", "how do bugs get fixed", "development process", "automation workflow", "how does the backlog work", "how are issues handled", "what automations exist". |
Development Workflow
How to Submit a Feature Request
- Create a GitHub Issue using the Feature Request template.
- Fill in: description (what + why), priority, affected area.
- The Feature Planner triages unlabeled issues on its next manual run:
- If the issue has sufficient detail → labels are added (
status:backlog +
priority + type) and it enters the automation queue.
- If detail is insufficient →
needs-human label is added with a comment
asking specific questions.
- Respond to the questions. The Needs-Human Requeue automation detects
your response (within 30 min) and removes
needs-human.
- The Feature Planner re-triages on its next run.
- The Feature Builder picks up
status:backlog issues and implements them.
How to Report a Bug
- Create a GitHub Issue using the Bug Report template.
- Fill in: description, steps to reproduce, expected vs actual, priority.
- Same triage flow as features (Feature Planner → labels → queue).
- The Bug Fixer picks up
bug + status:backlog issues and fixes them.
How Bugs Get Fixed Automatically
Several automations detect bugs and create issues:
| Source | Automation | What it detects |
|---|
| Production errors | Incident Responder | Sentry errors (every 15 min) |
| Post-deploy regressions | Post-Merge Verifier | Smoke test failures (on PR merge) |
| Design violations | UI Verifier | Design spec mismatches + Storybook visual regressions (on PR merge) |
| Performance degradation | Performance Monitor | Latency/error/size regressions (weekly) |
These automations create issues with bug + status:backlog labels. The Bug Fixer
picks them up, implements a fix, and opens a PR. The PR Reviewer reviews and merges.
How Features Get Built Automatically
- Feature Planner (manual trigger) triages unlabeled issues or decomposes
the product spec into new issues with
status:backlog labels.
- Feature Builder (cron, every 30 min) picks up the highest-priority
non-bug
status:backlog issue, implements it, and opens a PR.
- For UI components, the Feature Builder creates co-located
*.stories.tsx
files and runs visual regression tests (pnpm test:visual) to generate
baselines.
- PR Reviewer (cron, every 15 min) reviews the PR, fixes CI failures
if needed, and merges. Checks that UI component PRs include Storybook stories.
The Full Automation Roster
| Automation | Trigger | Role |
|---|
| Feature Planner | Manual | Triages unlabeled issues, decomposes specs into issues |
| Feature Builder | Cron (30 min) | Implements features/enhancements from backlog |
| Bug Fixer | Cron (30 min) | Implements bug fixes from backlog |
| PR Reviewer | Cron (15 min) | Reviews and merges PRs |
| PR Shepherd | Cron (6 hours) | Cleans up stale/conflicted PRs |
| Incident Responder | Cron (15 min) | Triages Sentry errors into bug issues |
| Post-Merge Verifier | On PR merge | Smoke-tests production after merge |
| UI Verifier | On PR merge | Checks design spec compliance |
| Performance Monitor | Weekly | Checks latency, errors, build size |
| Needs-Human Requeue | Cron (30 min) | Re-queues issues after user responds |
| Automation Auditor | Weekly | Audits label hygiene, doc freshness |
| Daily Metrics | Daily | Snapshots project metrics |
| Weekly Recap | Weekly | Summarizes week's progress |
Label Reference
Status labels (lifecycle)
status:backlog — ready for automation pickup
status:in-progress — being worked on by an automation or human
status:in-review — PR open, awaiting review
status:done — completed and merged
Priority labels
priority:1 — foundation (blocks other work)
priority:2 — core features (product value)
priority:3 — polish (nice to have)
Type labels
feature — new functionality
enhancement — improvement to existing functionality
bug — defect or regression
chore — internal quality, no user-visible change
performance — performance-related issue
Flag labels
needs-human — needs user input; re-queue automation removes when user responds
ona-user — PR created via interactive Ona session (no issue reference required)
Storybook and Visual Regression
Every UI component in src/components/ has a co-located *.stories.tsx file.
Storybook serves as the visual source of truth for the design system.
For developers:
- Run
pnpm storybook to browse components in isolation.
- When creating or modifying a component, update its story file.
- Run
pnpm test:visual to check for visual regressions against committed baselines.
- After intentional visual changes, regenerate baselines with
pnpm test:visual --update-snapshots.
For automations:
- The Feature Builder creates stories for new UI components and runs visual regression tests.
- The PR Reviewer checks that UI component PRs include corresponding stories.
- The UI Verifier runs Storybook visual regression after merge to detect unintended changes.
- The Bug Fixer updates stories and baselines when fixing UI bugs.
Issue Lifecycle
Created (unlabeled)
→ Feature Planner triages
→ Sufficient: status:backlog + priority + type
→ Feature Builder / Bug Fixer implements
→ status:in-progress
→ PR opened
→ status:in-review
→ PR Reviewer merges
→ status:done
→ Insufficient: needs-human + questions
→ User responds
→ Needs-Human Requeue removes needs-human
→ Feature Planner re-triages