Campaign lifecycle: FORMING → RUNNING ⇄ HIATUS → CONCLUDED
- Langage dominant
- HTML
- Étoiles
- 0
- Forks
- 0
- Merge moyen
- 1 h 34 min
- PR mergées (30 j)
- 23
Description
`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).
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Domaine
- backend, database
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100