LogoSkills

bug-report Reference

Defines the bug classification system, severity guide, and image analysis criteria.

Bug Report Reference Guide#

Defines the bug classification system, severity guide, and image analysis criteria.


1. Severity Classification#

Classification Criteria#

SeverityLabelIconDescriptionExamples
Critical severity:critical ðŸ”ī App unusable, data loss App crash, ANR, data loss
High severity:high 🟠 Core functionality blocked Login failure, payment error, main screen inaccessible
Medium severity:medium ðŸŸĄ Functionality partially working Button not working, partial UI broken, data not displayed
Low severity:low ðŸŸĒ Minor issues Typo, alignment error, color error

Severity Decision Flow#

Does the app crash or lose data?
├── Yes → ðŸ”ī Critical
└── No → Is core functionality (login, payment, main flow) blocked?
         ├── Yes → 🟠 High
         └── No → Is the feature not working as intended?
                  ├── Yes → ðŸŸĄ Medium
                  └── No → ðŸŸĒ Low (visual/surface-level issue)

2. Bug Type Classification#

UI/UX Bugs ðŸŽĻ#

Sub-typeDescriptionExamples
LayoutLayout brokenOverflow, overlap, alignment error
StyleStyle errorColor, font, margin error
AnimationAnimation issueJank, non-functional, clipped
ResponsiveResponsive issueBroken at different screen sizes

Functional Bugs ⚙ïļ#

Sub-typeDescriptionExamples
NavigationNavigation errorWrong screen transition, back button error
InputInput handling errorKeyboard input, touch not recognized
LogicLogic errorWrong calculation, condition branching error
StateState management errorState not updated, sync issue

Performance Bugs ⚡#

Sub-typeDescriptionExamples
LoadingLoading delaySlow API response, large data
RenderingRendering performanceFrame drops, jank
MemoryMemory issueMemory leak, OOM
BatteryBattery drainExcessive background work

Crash/ANR ðŸ’Ĩ#

Sub-typeDescriptionExamples
CrashApp force closeNPE, unhandled exception
ANRNot respondingMain thread blocking
FreezeScreen frozenInfinite loop, deadlock

Data Bugs 📊#

Sub-typeDescriptionExamples
DisplayIncorrect displayData not shown, wrong value
SyncSync errorServer-client mismatch
PersistenceStorage errorLocal save failure, cache error
ValidationValidation errorInvalid input accepted

3. Impact Area Classification#

Area Labels#

AreaLabelDescription
UIarea:uiFrontend UI components
Backendarea:backendServer API, endpoints
Dataarea:dataData layer, cache
Autharea:authAuthentication/authorization
Paymentarea:paymentPayment related
Navigationarea:navigationRouting, navigation

4. Image Analysis Guide#

Analysis Points#

Items to check when analyzing screenshots:

## Image Analysis Checklist

### UI State
- [ ] Is an error dialog displayed?
- [ ] Is it an empty screen (Empty State)?
- [ ] Is the loading state stuck?
- [ ] Is the layout broken?
- [ ] Has an overflow occurred?

### Text Extraction
- [ ] Error message text
- [ ] Screen title/header
- [ ] Button text
- [ ] Input field content

### Context Identification
- [ ] What screen is this? (list, detail, form, etc.)
- [ ] What action preceded this?
- [ ] What data is involved?

Auto-classification Logic#

## Image-based Auto-classification

### Crash/ANR Detection
-  " App is not responding "   → ðŸ’Ĩ ANR
-  " Force close "   /  " crash "   → ðŸ’Ĩ Crash
- Black screen + error stack → ðŸ’Ĩ Crash

### UI Bug Detection
- Text truncated /  " ... "   → ðŸŽĻ Layout
- Overlapping elements → ðŸŽĻ Layout
- Yellow area (Flutter overflow) → ðŸŽĻ Layout

### Functional Bug Detection
- Error toast/snackbar → ⚙ïļ Function
- Empty list + error icon → ⚙ïļ Data/Function
- Loading spinner persisting → ⚙ïļ Function / ⚡ Performance

5. Required Information Collection#

Reproduction Steps Writing Guide#

# Good example
Given the user is logged in
And on the home screen
When tapping the  " Profile "   tab
Then the app crashes

# Bad example
Crash when going to profile

Environment Information Checklist#

## Required Environment Information

| Item | Description | Example |
|------|-------------|---------|
| OS | Operating system version | iOS 17.2, Android 14 |
| Device | Device model | iPhone 15, Galaxy S24 |
| App Version | App version | 1.2.3 (build 456) |
| Account | Test account (optional) | test@example.com |
| Network | Network status (optional) | WiFi, LTE, Offline |

6. Auto-labeling Rules#

Default Labels#

Automatically applied to all bug issues:

  • bug

Conditional Labels#

ConditionLabel
Severity Criticalseverity:critical, priority:urgent
Severity Highseverity:high, priority:high
Crash relatedcrash, needs-investigation
UI relatedarea:ui
Reproduction uncertainneeds-reproduction

Auto Pipeline#

SeverityPipeline
CriticalIn Progress (immediate handling)
HighTriage (priority classification)
Medium/LowBacklog

7. Additional Information Formats#

Log Attachment Format#

## Logs

\`\`\`
2024-01-15 10:30:45.123 E/Flutter: Error in authentication flow
2024-01-15 10:30:45.124 E/Flutter: Stack trace:
#0      AuthBloc._onLogin (auth_bloc.dart:45)
#1      Bloc.on. < anonymous closure >   (bloc.dart:123)
\`\`\`

Stack Trace Attachment Format#

## Stack Trace

\`\`\`dart
Exception: Network error
  at ApiClient.fetch (api_client.dart:78)
  at UserRepository.getUser (user_repository.dart:34)
  at GetUserUseCase.call (get_user_usecase.dart:22)
\`\`\`