Skip to content

Commit 7c43b15

Browse files
docs: add Product Requirements Document for Event Badging
Signed-off-by: AdeyinkaOresanya <adeyinkaoresanya@gmail.com>
1 parent ff9c6e7 commit 7c43b15

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

docs/PRDs/event-badging-PRD.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Product Requirements Document (PRD): Event Badging
2+
3+
## Overview
4+
5+
Event Badging is a process within the CHAOSS Badging Program that allows event organizers to apply for a DEI-related badge. Applications are submitted via the Badging website and reviewed by assigned reviewers through a GitHub Issue–based workflow managed by a badging bot.
6+
7+
This process is reviewer-driven, asynchronous, and fully auditable via GitHub.
8+
9+
---
10+
11+
## Goals
12+
13+
- Enable event organizers to apply for CHAOSS Event Badging
14+
- Facilitate structured peer review using checklists
15+
- Ensure transparent scoring and badge assignment
16+
- Automate issue creation, review tracking, and badge awarding
17+
18+
---
19+
20+
## Users
21+
22+
- **Applicant**: Submits an event for badging
23+
- **Reviewer**: Reviews the event application
24+
- **Badging Bot**: Automates workflow actions
25+
- **Badging lead/maintainer**: Oversees the badging process
26+
27+
---
28+
29+
## Assumptions
30+
31+
- GitHub is the source of truth for review activity
32+
- GitHub authentication is required to apply
33+
- Reviews are conducted through GitHub Issues
34+
- A minimum of two reviewers is required
35+
36+
---
37+
38+
## Functional Requirements
39+
40+
### 1. Application Submission
41+
42+
- User fills and submits the Event Badging form on the Badging website
43+
- On submission, the user is redirected to GitHub for authentication
44+
- GitHub requests authentication and authorization
45+
- GitHub sends a temporary authorization code
46+
- The server exchanges the code for an access token
47+
- The system uses the access token to perform GitHub actions
48+
49+
---
50+
51+
### 2. Issue Creation
52+
53+
- The badging bot automatically creates a GitHub Issue in the `event-diversity-and-inclusion` repository
54+
- The issue contains the submitted event application details
55+
- The badging bot posts a thank-you comment acknowledging the application
56+
- The bot begins listening for issue-related events
57+
58+
---
59+
60+
### 3. Reviewer Assignment & Checklist
61+
62+
- When a reviewer is assigned to the issue:
63+
- The badging bot posts a review checklist as a comment
64+
- Checklist headings are non-checkable
65+
- Review items are checkable
66+
- When two reviewers are assigned:
67+
- The issue is automatically labeled `review-begin`
68+
69+
---
70+
71+
### 4. Scoring and Results
72+
73+
- When the badging lead comments `/result`:
74+
- The badging bot calculates the percentage score
75+
- Only checked boxes are counted
76+
- The bot posts:
77+
- Total percentage score
78+
- Number of reviewers assigned
79+
80+
---
81+
82+
### 5. Badge Assignment & Closure
83+
84+
- When a reviewer comments `/end`:
85+
- The badging bot:
86+
- Assigns the appropriate badge
87+
- Labels the issue `review-end`
88+
- Closes the issue
89+
90+
---
91+
92+
## Non-Functional Requirements
93+
94+
- Checklist parsing must be accurate and deterministic
95+
- Review calculations must be reproducible
96+
- Workflow must be resilient to partial failures
97+
- Actions must be traceable via GitHub issue history
98+
99+
---
100+
101+
## Dependencies
102+
103+
- GitHub OAuth
104+
- GitHub App
105+
- GitHub Issues API
106+
107+
---
108+
109+
## Out of Scope
110+
111+
- Manual badge assignment
112+
- Review outside GitHub
113+
- Fewer than two reviewers
114+
115+
---
116+
117+
## Success Metrics
118+
119+
- Successful badge issuance after completed reviews
120+
- Accurate checklist parsing and scoring
121+
- Reduced reviewer confusion
122+
- Clear audit trail per application
123+
124+
---
125+
126+
## Notes
127+
128+
Event Badging is a review-driven process and differs significantly from Project Badging in both workflow and automation requirements. The two processes share authentication and infrastructure but must remain logically independent.

0 commit comments

Comments
 (0)