State changes leave a record
Every task has a work log you can write on. With states turned on, each state change and each stuck reason is also recorded there with a date. Come Friday, the update does not have to come entirely from memory.

For engineering leads
You still write code, and you are also the person who has to know the state of six things you are not writing. Both halves end up in the same list, and the list treats them identically.
01 / The problem
Your own tasks and the ones you are tracking on someone else’s behalf look the same in a flat list. So does a task you are blocked on and a task you have chosen not to start. Everything is a line with a date.
Then the weekly update is due, and you go looking for what happened. The commits are one story and a partial one. The tickets are a different story told in a different shape. What you actually did, and the small unblocking conversations that took half your week and left no artefact, are nowhere at all.
So you write the update from memory, it is thinner than the week really was, and you do it again seven days later.
02 / What helps
Every task has a work log you can write on. With states turned on, each state change and each stuck reason is also recorded there with a date. Come Friday, the update does not have to come entirely from memory.
Stuck carries a line about what it is waiting on, so the things sitting on a review or a decision are visibly different from the things you simply have not started. Colour follows it up the tree, so a branch tells you it needs attention.
Completed work stays, grouped by month and then by list, with repeating tasks folded into a single line. Quarterly reviews and one to ones stop starting with an hour of archaeology.
03 / Getting it
Free to download. Notes you write in the work log are free. The entries state changes leave behind, along with the months of finished work, come with the paid tier.