Org agenda shows tasks only on the scheduled date, not when those tasks were actually one. There are two cases that I see here:
1. Tasks not done on day scheduled
If a task is scheduled for Sunday, but marked DONE on Monday, the task will be shown in the agenda (as DONE) for Sunday. This task -- if put into a file listed in
org-agenda-files -- will show the behavior:
* DONE this shows up in agenda on Sunday, but not Monday. CLOSED: [2015-09-14 Mon 12:22] SCHEDULED: <2015-09-13 Sun>
2. Recurring tasks that have ever been done
A recurring task shows up (as TODO) on the date it's scheduled on and any dates it will recur on. But it won't show up (as DONE) on dates it was DONE on. This task shows the behavior:
* TODO this task shows up on Monday, and every day after, but not the Sunday it was done on. SCHEDULED: <2015-09-14 Mon +1d> - State "DONE" from "TODO" [2015-09-13 Sun 23:59] :PROPERTIES: :LAST_REPEAT: [2015-09-13 Sun 12:26] :END:
I think these two things are the same behavior -- show tasks as DONE on days they were done on, nevermind when they were scheduled.
I could possibly make a custom view that contains, for a given set of dates, all tasks scheduled for those dates, and all tasks done on those dates, but that would basically be a reimplementation of org agenda. I'd also lose out on all the features built around the agenda.
The org documentation seems to hint that this is not customizable:
As a consequence of shifting the base date [by marking a repeating task done], this entry will no longer be visible in the agenda when checking past dates, but all future instances will be visible.