EDIT TO ADD
The overall export is slightly more complex as it involves parsing and filtering out lines that are no longer relevant. This is done by calling org-export-as with the following code block:
#+name: get-task-list-as-exported-text
#+begin_src emacs-lisp :exports code
(defun my-filter-out-done-lines (s backend info)
"Filter out lines ending in :done"
(apply 'concat
(--remove (s-matches? (rx ":done" (zero-or-more blank) eol) it)
(s-slice-at (rx bol "-") s))))
; headline _back-end _info
(defun my-filter-out-old-completed-todos (s backend info)
"Filter out DONE items if they where completed over a week ago."
(let ((date (plist-get info :with-date))
(todo (plist-get info :with-todo-keywords))
(todo-type (org-element-property :todo-type s))
(output s))
;; getting there
(setq my-global-debug-var
(add-to-list 'my-global-debug-var
(list :string s
:date date
:todo todo
:todo-type todo-type)))
;; strip ~~~\n lines
(let ((start (string-match "~+\n" output)))
(if start
(concat (substring s 0 start)
(substring s (match-end 0)))
output))))
(org-export-define-derived-backend 'my-status-report 'ascii
:options-alist
'((:with-todo-keywords nil)
(:num nil))
:filters-alist
'((:filter-plain-list . my-filter-out-done-lines)
(:filter-headline . my-filter-out-old-completed-todos)))
;; Snarf the weeks activities
(save-excursion
(goto-char (point-min))
(when (re-search-forward "* Tasks")
(goto-char (match-beginning 0))
(org-export-as 'my-status-report t nil t )))
#+end_src