Donor management app with household dedupe, pledges and balances, acknowledgement letters, and program-scoped access
donor-management · 3600 s per turn · source
The ask
We're Harbor Lights Community Fund, a small nonprofit, and our donor records are spread across three spreadsheets that are attached: donors, gifts since January 2025, and pledges. People who live at the same address are one household for us, and a few donors got entered twice. Pledges are paid in installments, so I need to see what's still owed on each one, and every gift of $250 or more needs a thank-you letter, so show me which ones still need one. Our program officers should see only the gifts and donors for their own programs (Nia Robinson has Youth Literacy and Scholarships, Omar Haddad has Food Pantry, Grace Kim has Senior Meals), and our board treasurer needs to look at everything without changing anything. I want a dashboard with what we've raised this year, how many donor households we have, outstanding pledges, and letters still owed; send me an admin login and one for Nia.
Seed files the agent must import: donors.csv</code>, <code>gifts.csv</code>, <code>pledges.csv. The agent must leave a RESULT.json with a reachable URL, an admin login, and the named restricted login.
Acceptance checklist
26 binary items. The first 14 are the enterprise baseline shared by every build task (delivery, invitations, roles, server-side authorization, scoped live dashboard, exact lists and exports, audit metadata, validation, persistence); the rest are application-specific. Core items, which together define "first usable": 1, 3, 5, 6, 8, 14, 15, 22.
| Tag | Items |
|---|---|
| Exact | 9 |
| Permission | 4 |
| Automation | 2 |
| Dashboard | 2 |
| Delivery | 2 |
| Rule | 2 |
| Sharing | 2 |
| API | 1 |
| Audit | 1 |
| Persistence | 1 |
The full checklist with per-item "how to check" instructions and expected figures is in checklist.md. Testers see it; the agent never does.
Change requests
Each change is a new one-shot turn on the carried-forward workspace. Only the owner's text below is sent; the tester items are withheld. After each change the full checklist is rerun, so regressions count.
Change 1 · 3 new checklist items
Give me a lapsed donors report: households that gave last year but haven't given anything yet this year, with what they gave last year, and put the count on the dashboard.
Change 2 · 3 new checklist items
When a household's giving this calendar year reaches $1,000, tag them as a major donor automatically.
Change 3 · 3 new checklist items
Our development director needs to see every program's gifts but must not be able to delete any; only I delete gifts. And program officers shouldn't see donors' home addresses or phone numbers.
No published score. Build runs need a human acceptance pass on a live URL, and no arm has completed one for the full set. Automated probes generate a tester sheet; they do not substitute for it. Results will be published as a separately labeled release when an arm completes.