figure out how to make useful reports In task-warrior we had a pair of custom reports, one to list things we did last week and another to list things we were planning to do this coming week. Docs here: * custom reports: * end date (brief): # Done last week > report.weekly.prev.description='Tasks Completed Last Week' > report.weekly.prev.columns=uuid,description.desc,project,assignee,end > report.weekly.prev.sort=end+ > report.weekly.prev.filter=+COMPLETED and -hidden and (end.after=sow - 1 week) and (end.by=eow - 1 week) The "done last week" report filters on a column called `end`, which is a datetime made up by tw indicating when the ticket became COMPLETED. # To do this week > report.selected.external.description='Tasks Selected for This Week' > report.selected.external.columns=project,description.desc,assignee,due > report.selected.external.sort=assignee+/,urgency- > report.selected.external.filter=-COMPLETED and -internal and -hidden and (due.by=eow or +selected or +interrupt) The "to do this week" report looks for the tags "selected" or "interrupt", or a due date this week. # What is to be done ## Done last week I can imagine finding the issues with state=done, running `git log` on their state file, finding the datetime of the transition to done, and selecting the ones where that datetime is in a particular time window. This has the drawback that it's hard to lie about... With taskwarrior I often found myself finishing a task on Week X, but forgetting to mark it complete. Then the Monday of Week X+1 i would mark it complete. If i didn't override the completion-date the task would look like it was completed on Week X+1, not Week X like i wanted. In git we have `git commit --date=DATE`, but that's only usable at commit-time (and awkward to express to ent). We can rewrite history with `git rebase`, but only until we `ent sync`. Maybe the `state` file should have a date in it, in addition to the state word? Or maybe `completion-date` should be a key in a per-issue key-value store? Is that kv store related to tags? Idk... Not sure how to express to ent what completion-dates i want to see. Maybe a new filter type? `ent list finished=2025-07-01..now`? Maybe we can use git tags in the entomologist-data branch somehow? `git log` between tags and look for "state: _ -> done". But how to position the tags on the commits i want? Seems cumbersome. ## To do this week entomologist doesn't have due dates yet, but we should probably add that. entomologist has tags so it's be easy to list "tags=selected,interrupt". Or maybe we should just use "state=inprogress"? ## Misc thoughts It's nice that we can add whatever files we want to the `entomologist-data` branch. We could add a directory of report definitions, and have them be shared across the project, and not have to type them out every time.