Campaign lifecycle: FORMING → RUNNING ⇄ HIATUS → CONCLUDED
- Ngôn ngữ chính
- HTML
- Star
- 0
- Fork
- 0
- Merge trung bình
- 1 giờ 34 phút
- Pull request đã merge (30 ngày)
- 23
Mô tả
`FORMING → RUNNING ⇄ HIATUS → CONCLUDED`.
- [ ] State column + transitions as one function; every transition writes `audit_log`.
- [ ] Signup buttons exist only in FORMING. Starting a campaign closes the roster; **a closed roster never reopens on its own.**
- [ ] Started campaigns skip stages 1 and 2 structurally — a campaign entered directly as RUNNING (the four existing ones) gets its roster from `campaign_members`, not from signups.
- [ ] HIATUS pauses materialisation; RUNNING resumes it from the anchor. CONCLUDED stops it for good.
- [ ] `max_sessions` reached → CONCLUDED, or prompt the GM (organiser's call).
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start by tracing the campaign state column, transition function, signup buttons, materialisation, audit_log, campaign_members, and max_sessions references. Done means all listed lifecycle transitions and roster rules work, audit_log records every transition, HIATUS and CONCLUDED control materialisation correctly, and directly RUNNING campaigns use campaign_members.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- backend, database
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100