review: review_history — all decisions log #8

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

🟢 State-View Slice

Read Model: ReviewHistory

type ReviewDecision struct {
    Email      string
    Decision   string // approved, rejected
    Reason     string
    DecidedBy  string
    DecidedAt  time.Time
}

Projection

Subscribes to: SignupApproved, SignupRejected
Methods: List() []ReviewDecision, GetByEmail(email) *ReviewDecision
Ordered newest first.

Tests

TestReviewHistory_Approved → in list
TestReviewHistory_Rejected → in list with reason
TestReviewHistory_Ordering → newest first

Agent assignment: builder-review

## 🟢 State-View Slice **Read Model:** `ReviewHistory` ```go type ReviewDecision struct { Email string Decision string // approved, rejected Reason string DecidedBy string DecidedAt time.Time } ``` ### Projection Subscribes to: `SignupApproved`, `SignupRejected` Methods: `List() []ReviewDecision`, `GetByEmail(email) *ReviewDecision` Ordered newest first. ### Tests ``` TestReviewHistory_Approved → in list TestReviewHistory_Rejected → in list with reason TestReviewHistory_Ordering → newest first ``` **Agent assignment:** builder-review
ash closed this issue 2026-02-28 08:50:36 +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#8
No description provided.