generated from ginjiruu/go-template
Campaign dormant lifecycle: last GM step-down + owner reactivation #5
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ginjiruu/ttrpg#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A campaign can have no GM — that is a real state called dormant (CONTEXT.md,
"Campaign lifecycle"). The write model must support the last-GM-steps-down
transition and owner reactivation.
Domain rules to implement:
play, but it is not deleted.
appointing a GM. This is a service-level behavior (state-dependent), not a
standing FGA
can_managefor owners.can_delete: owner); deletion isnever automatic.
can_leavecan no longer exclude GMs outright — a GM may leave, with thelast-GM-dormant transition applied (FGA cannot count GMs, so the
last-GM check is a service rule, like the existing join-is-not-a-member
check).
Concrete changes:
dormantalongsideactiveanddeleted(the terminaldelete replaces today's
ended).adventurer) on a dormant campaign.
can_leave/ leave service logic accordingly.