signup: waitlist_stats — aggregate statistics #4

Closed
opened 2026-02-28 08:39:57 +00:00 by ash · 0 comments
Owner

🟢 State-View Slice

Read Model: WaitlistStats

type WaitlistStats struct {
    TotalSignups   int
    Pending        int
    Approved       int
    Rejected       int
    Withdrawn      int
}

Projection

Subscribes to all signup + review events. Maintains running counters.

Tests

TestWaitlistStats_InitialZero
TestWaitlistStats_AfterSignups → correct counts
TestWaitlistStats_AfterApproval → pending--, approved++
TestWaitlistStats_AfterWithdraw → pending--, withdrawn++

Agent assignment: builder-signup

## 🟢 State-View Slice **Read Model:** `WaitlistStats` ```go type WaitlistStats struct { TotalSignups int Pending int Approved int Rejected int Withdrawn int } ``` ### Projection Subscribes to all signup + review events. Maintains running counters. ### Tests ``` TestWaitlistStats_InitialZero TestWaitlistStats_AfterSignups → correct counts TestWaitlistStats_AfterApproval → pending--, approved++ TestWaitlistStats_AfterWithdraw → pending--, withdrawn++ ``` **Agent assignment:** builder-signup
ash closed this issue 2026-02-28 08:50:35 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ash/waitlist#4
No description provided.