# Phase 4 Workflow Explanation

1. QA creates a bug with severity, repro details, browser/device/os metadata, and screenshot.
2. Bug is assigned to a developer; assignment event dispatches notification.
3. Developer moves status through in_progress/resolved.
4. QA approves or rejects fix.
5. If regression is found, QA reopens bug.
6. Reopen increments `reopen_count`, logs history event, and generates developer penalty.
7. Timeline is visible from bug detail with action-by-action history entries.
8. QA dashboard aggregates open/critical bugs, tester performance, and developer penalty totals.
