Notification fan-out service
Greenfield notification fan-out service in Go: an event (e.g. 'order shipped') fans out to a user's channels — email, SMS, push, in-app — each with its own provider and per-channel user preferences and quiet hours. You're directing an AI agent. Lay out the build plan: how you model the fan-out, the delivery guarantees per channel, retry/dedup, and acceptance criteria. What does a careless 'send notifications to all the user's channels' prompt miss?
plan_channel_sends(tasks: list[str], enabled_channels: list[str], quiet_start_hour: int, quiet_end_hour: int) → list[str][["e1|u1|email|23","e1|u1|sms|23","e1|u1|push|10"],["email","sms","push"],22,7]out["e1:u1:email","e1:u1:push"][["e2|u2|sms|9","e2|u2|sms|9","e2|u2|in_app|9"],["sms"],22,7]out["e2:u2:sms"]Treat the AI’s output as a draft to verify, not an answer to trust. Name the specific flaw and the input that triggers it, say how you’d catch it (tests, edge cases, reading critically), and how you’d re-prompt or decompose to get it right.
Vibe & agentic: describe the solution in plain language (or narrate it) and the coach grades your approach.