entomologist/08f0d7ee7842c439382816d21ec1dea2/description

77 lines
2.9 KiB
Text

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: <https://taskwarrior.org/docs/report/#custom-reports>
* end date (brief): <https://taskwarrior.org/docs/using_dates/#other-dates>
# 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.